μ みゅー 再帰 さいき 関数 かんすう (ミューさいきかんすう、英 えい : μ みゅー -recursive function )または帰納的 きのうてき 関数 かんすう (きのうてきかんすう)とは、数理 すうり 論 ろん 理学 りがく と計算 けいさん 機 き 科学 かがく において、直観 ちょっかん 的 てき に「計算 けいさん 可能 かのう 」な自然 しぜん 数 すう から自然 しぜん 数 すう への部分 ぶぶん 関数 かんすう のクラスである。計算 けいさん 可能 かのう 性 せい 理論 りろん では、μ みゅー 再帰 さいき 関数 かんすう はチューリングマシン で計算 けいさん 可能 かのう な関数 かんすう と正確 せいかく に一致 いっち することが示 しめ されている。μ みゅー 再帰 さいき 関数 かんすう は原始 げんし 再帰 さいき 関数 かんすう (原始 げんし 帰納 きのう 的 てき 関数 かんすう )と密接 みっせつ な関連 かんれん があり、その帰納的 きのうてき 定義 ていぎ (後述 こうじゅつ )は原始 げんし 再帰 さいき 関数 かんすう に基 もと づいている。ただし、μ みゅー 再帰 さいき 関数 かんすう が全 すべ て原始 げんし 再帰 さいき 関数 かんすう とは言 い えない。そのような例 れい としてアッカーマン関数 かんすう がある。
また、ラムダ計算 けいさん で記述 きじゅつ される再帰 さいき 関数 かんすう やマルコフアルゴリズム で計算 けいさん できる関数 かんすう も同 おな じである。
計算 けいさん 複雑 ふくざつ 性 せい 理論 りろん では、全 ぜん 再帰 さいき 関数 かんすう の集合 しゅうごう をR と称 しょう する。
μ みゅー 再帰 さいき 関数 かんすう (または部分 ぶぶん μ みゅー 再帰 さいき 関数 かんすう )は、有限 ゆうげん 個 こ の自然 しぜん 数 すう の引数 ひきすう をとり、1つの自然 しぜん 数 すう を返 かえ す部分 ぶぶん 関数 かんすう である。μ みゅー 再帰 さいき 関数 かんすう は初期 しょき 関数 かんすう を含 ふく み、合成 ごうせい や原始 げんし 再帰 さいき やμ みゅー 作用素 さようそ において閉 と じている、部分 ぶぶん 関数 かんすう の最小 さいしょう のクラスである。
原始 げんし 再帰 さいき 関数 かんすう も同 おな じような形式 けいしき で定義 ていぎ されるが、全域 ぜんいき 関数 かんすう という点 てん が異 こと なる。また、原始 げんし 再帰 さいき 関数 かんすう は、3つの基本 きほん 関数 かんすう (定数 ていすう 関数 かんすう 、後者 こうしゃ 関数 かんすう 、射影 しゃえい 関数 かんすう )と2つの作用素 さようそ (合成 ごうせい と原始 げんし 再帰 さいき )で定義 ていぎ されるが、μ みゅー 再帰 さいき 関数 かんすう にはさらにμ みゅー 作用素 さようそ が登場 とうじょう する。これはアッカーマン関数 かんすう のように原始 げんし 再帰 さいき 関数 かんすう でない全域 ぜんいき 再帰 さいき 関数 かんすう を定義 ていぎ するためである。μ みゅー 再帰 さいき 関数 かんすう においてμ みゅー 作用素 さようそ は計算 けいさん を終了 しゅうりょう させる。μ みゅー 作用素 さようそ は無 む 制限 せいげん 探索 たんさく 演算 えんざん 子 こ として働 はたら き、(全域 ぜんいき 関数 かんすう の定義 ていぎ から)無制限 むせいげん ではあるが何 なん らかの手段 しゅだん (帰納的 きのうてき 定義 ていぎ など)で最終 さいしゅう 的 てき に数 かず を生成 せいせい し計算 けいさん を終 お わらせるのである。
しかし、無 む 制限 せいげん μ みゅー 作用素 さようそ 自身 じしん が部分 ぶぶん 的 てき な場合 ばあい (つまり、ある数 かず について数 かず を返 かえ せないことがある場合 ばあい )、それを使 つか って定義 ていぎ された関数 かんすう も部分 ぶぶん 関数 かんすう となり、一部 いちぶ の数 かず については値 ね が定義 ていぎ されない。この場合 ばあい 、無 む 制限 せいげん という性質 せいしつ 上 じょう 、μ みゅー 作用素 さようそ は永遠 えいえん に探索 たんさく を続 つづ け、計算 けいさん を終了 しゅうりょう して数 かず を返 かえ すことがない。アルゴリズムによっては、"u" という記号 きごう で 「決定 けってい 不能 ふのう (undecided)」を表 あらわ し、計算 けいさん を終了 しゅうりょう させるとする場合 ばあい もある(例 たと えば、Kleene (1952) pp. 328ff)。換言 かんげん すれば、部分 ぶぶん μ みゅー 再帰 さいき 関数 かんすう は部分 ぶぶん μ みゅー 作用素 さようそ を使 つか うため、全域 ぜんいき 的 てき でない可能 かのう 性 せい がある。全域 ぜんいき μ みゅー 再帰 さいき 関数 かんすう (total μ みゅー -recursive functions)は部分 ぶぶん μ みゅー 再帰 さいき 関数 かんすう の部分 ぶぶん 集合 しゅうごう である。
以下 いか の定義 ていぎ は Kleene (1952) p. 219 に基 もと づいている。最初 さいしょ の3つの関数 かんすう (1)-(3)を「初期 しょき 関数 かんすう (initial functions)」または「基本 きほん 関数 かんすう (basic functions)」と呼 よ ぶ。その他 た の記号 きごう 体系 たいけい については「記号 きごう 体系 たいけい 」の節 ふし を参照 さんしょう されたい。
(1) 定数 ていすう 関数 かんすう (Constant function): 任意 にんい の自然 しぜん 数 すう
n
{\displaystyle n}
と
k
{\displaystyle k}
について:
f
(
x
1
,
…
,
x
k
)
=
n
{\displaystyle f(x_{1},\ldots ,x_{k})=n}
.
定数 ていすう
n
{\displaystyle n}
は、「初期 しょき オブジェクト・ゼロ(initial object 0)」と呼 よ ばれるオブジェクトに後者 こうしゃ 関数 かんすう を繰 く り返 かえ し適用 てきよう することで生成 せいせい されることがある。
(2) 後者 こうしゃ 関数 かんすう (Successor function)S : 既 すで に生成 せいせい されたオブジェクトから別 べつ のオブジェクト
n
+
1
{\displaystyle n+1}
または
n
′
{\displaystyle n'}
(
n
{\displaystyle n}
の後者 こうしゃ )への逐次 ちくじ 的 てき 経路 けいろ
S
(
x
)
=
d
e
f
f
(
x
)
=
x
′
=
x
+
1
{\displaystyle S(x){\stackrel {\mathrm {def} }{=}}f(x)=x'=x+1\,}
(3) 射影 しゃえい 関数 かんすう (Projection function)Pi k (Identity function Ii k とも):
1
≤
i
≤
k
{\displaystyle 1\leq i\leq k}
であるような全 すべ ての自然 しぜん 数 すう
i
{\displaystyle i}
について:
P
i
k
=
d
e
f
f
(
x
1
,
…
,
x
k
)
=
x
i
{\displaystyle P_{i}^{k}{\stackrel {\mathrm {def} }{=}}f(x_{1},\ldots ,x_{k})=x_{i}}
.
(4) 合成 ごうせい 作用素 さようそ (Composition operator): 置換 ちかん (substitution)とも呼 よ ばれ、関数 かんすう
h
(
x
1
,
…
,
x
m
)
{\displaystyle h(x_{1},\ldots ,x_{m})}
と
1
≤
i
≤
m
{\displaystyle 1\leq i\leq m}
であるような
i
{\displaystyle i}
それぞれについての関数 かんすう
g
i
(
x
1
,
…
,
x
k
)
{\displaystyle g_{i}(x_{1},\ldots ,x_{k})}
をとり、
x
1
,
…
,
x
k
{\displaystyle x_{1},\ldots ,x_{k}}
を以下 いか のようにマップする関数 かんすう を返 かえ す操作 そうさ である。
f
(
x
1
,
…
,
x
k
)
=
h
(
g
1
(
x
1
,
…
,
x
k
)
,
…
,
g
m
(
x
1
,
…
,
x
k
)
)
{\displaystyle f(x_{1},\ldots ,x_{k})=h(g_{1}(x_{1},\ldots ,x_{k}),\ldots ,g_{m}(x_{1},\ldots ,x_{k}))}
.
(5) 原始 げんし 再帰 さいき 作用素 さようそ (Primitive recursion operator): 関数 かんすう
g
(
x
1
,
…
,
x
k
)
{\displaystyle g(x_{1},\ldots ,x_{k})}
と
h
(
y
,
z
,
x
1
,
…
,
x
k
)
{\displaystyle h(y,z,x_{1},\ldots ,x_{k})}
をとり、以下 いか のような関数 かんすう
f
{\displaystyle f}
を返 かえ す操作 そうさ である。
f
(
0
,
x
1
,
…
,
x
k
)
=
g
(
x
1
,
…
,
x
k
)
{\displaystyle f(0,x_{1},\ldots ,x_{k})=g(x_{1},\ldots ,x_{k})}
,
f
(
y
+
1
,
x
1
,
…
,
x
k
)
=
h
(
y
,
f
(
y
,
x
1
,
…
,
x
k
)
,
x
1
,
…
,
x
k
)
{\displaystyle f(y+1,x_{1},\ldots ,x_{k})=h(y,f(y,x_{1},\ldots ,x_{k}),x_{1},\ldots ,x_{k})}
.
(6) μ みゅー 作用素 さようそ : 関数 かんすう
f
(
y
,
x
1
,
…
,
x
k
)
{\displaystyle f(y,x_{1},\ldots ,x_{k})}
をとり、
x
1
,
…
,
x
k
{\displaystyle x_{1},\ldots ,x_{k}}
を引数 ひきすう とする関数 かんすう
μ みゅー
y
f
(
y
,
x
1
,
…
,
x
k
)
{\displaystyle \mu yf(y,x_{1},\ldots ,x_{k})}
を返 かえ す操作 そうさ である。関数 かんすう
f
{\displaystyle f}
は自然 しぜん 数 すう
{
0
,
1
,
.
.
.
n
}
{\displaystyle \{0,1,...n\}}
から自然 しぜん 数 すう
{
0
,
1
,
.
.
.
n
}
{\displaystyle \{0,1,...n\}}
への数 かず 論 ろん 的 てき 関数 かんすう か、または値域 ちいき
{
0
,
1
}
{\displaystyle \{0,1\}}
で真偽 しんぎ を示 しめ す述語 じゅつご としての指示 しじ 関数 かんすう である。
どちらの場合 ばあい でも、関数 かんすう
μ みゅー
y
f
{\displaystyle \mu yf}
は、
f
(
0
,
x
1
,
…
,
x
k
)
,
f
(
1
,
x
1
,
…
,
x
k
)
,
.
.
.
,
f
(
y
,
x
1
,
…
,
x
k
)
{\displaystyle f(0,x_{1},\ldots ,x_{k}),f(1,x_{1},\ldots ,x_{k}),...,f(y,x_{1},\ldots ,x_{k})}
が全 すべ て値 ち を返 かえ すとき、
f
(
y
,
x
1
,
…
,
x
k
)
=
0
{\displaystyle f(y,x_{1},\ldots ,x_{k})=0}
となるような自然 しぜん 数 すう
y
{\displaystyle y}
があれば、そのうちの最小 さいしょう のものを返 かえ す。もしそのような
y
{\displaystyle y}
がなければ、
μ みゅー
y
f
{\displaystyle \mu yf}
はそのときの引数 ひきすう
x
1
,
…
,
x
k
{\displaystyle x_{1},\ldots ,x_{k}}
の組 く み合 あ わせに対 たい して定義 ていぎ されない。
部分 ぶぶん μ みゅー 再帰 さいき 関数 かんすう 同士 どうし を比較 ひかく する演算 えんざん 子 こ として
≃
{\displaystyle \simeq }
(strong equality)がある。部分 ぶぶん 関数 かんすう
f
{\displaystyle f}
と
g
{\displaystyle g}
について、
f
(
x
1
,
…
,
x
k
)
≃
g
(
x
1
,
…
,
x
l
)
{\displaystyle f(x_{1},\ldots ,x_{k})\simeq g(x_{1},\ldots ,x_{l})}
が成 な り立 た つのは、任意 にんい の引数 ひきすう の組 く み合 あ わせについて、両 りょう 関数 かんすう の定義 ていぎ が存在 そんざい して値 ね が同 おな じであるか、さもなくばどちらも未定義 みていぎ である場合 ばあい だけである。
決定 けってい 可能 かのう 性 せい の問題 もんだい [ 編集 へんしゅう ]
ここである疑問 ぎもん が生 しょう じる。ここで説明 せつめい されている計算 けいさん のアルゴリズムは停止 ていし しないのか、である。ここでは「計算 けいさん 不能 ふのう 」な関数 かんすう を扱 あつか っているのだろうか。計算 けいさん 可能 かのう かどうかはどうやって決定 けってい されるのか。クリーネは以下 いか のように記 しる している。
まず、以下 いか のような「効率 こうりつ 的 てき に決定 けってい 可能 かのう な述語 じゅつご 」について考 かんが える。
ε いぷしろん yR(x,y) = IF (Ey)R(x,y) THEN ε いぷしろん ="least y such that R(x,y)" ELSE 0.
クリーネは次 つぎ のように提案 ていあん している。「命題 めいだい R(x,0), R(x,1), R(x,2), ... を順 じゅん に調 しら べていき、真 しん であるものを探 さが す。我々 われわれ が満足 まんぞく するまで…
「しかし、もし NOT_(Ey)R(x,y) であるような x であれば、探索 たんさく は際限 さいげん なく続 つづ き何 なに も得 え られないだろう。アレフ0 の全 ぜん 命題 めいだい の評価 ひょうか を完了 かんりょう することは人間 にんげん 計算 けいさん 機 き には不可能 ふかのう である。
「 だがそれにもかかわらず、R(x,y) をうまく選択 せんたく すれば、ε いぷしろん yR(x,y) を効率 こうりつ 的 てき に計算 けいさん 可能 かのう かもしれない…何 なん らかの効率 こうりつ 的 てき な手続 てつづ きをとれば。
「したがって、述語 じゅつご (Ey)R(x,y) を効率 こうりつ 的 てき に決定 けってい 可能 かのう である場合 ばあい のみ、関数 かんすう ε いぷしろん yR(x,y) を効率 こうりつ 的 てき に計算 けいさん 可能 かのう である」(Kleene pp. 317-318)
そこで、我々 われわれ の採用 さいよう しているアルゴリズムが「決定 けってい 可能 かのう 」かどうかをどうやって判断 はんだん すればよいだろうか。「停止 ていし 判定 はんてい 」アルゴリズムを使 つか って停止 ていし するかどうかを調 しら べられるだろうか。そのような判定 はんてい が不可能 ふかのう であるという証明 しょうめい は非常 ひじょう に複雑 ふくざつ である。重要 じゅうよう な点 てん は、クリーネが全 すべ ての全域 ぜんいき 再帰 さいき 関数 かんすう をゲーデル数 すう によって数 かぞ え上 あ げ、カントールの対角線 たいかくせん 論法 ろんぽう を使 つか って、それ以上 いじょう の再帰 さいき 関数 かんすう が定義 ていぎ 可能 かのう であることを示 しめ したことである。
結論 けつろん から言 い えば、μ みゅー 再帰 さいき 関数 かんすう の停止 ていし 判定 はんてい はμ みゅー 再帰 さいき 関数 かんすう の体系 たいけい では不可能 ふかのう であり、チューリングマシンの停止 ていし 問題 もんだい と実質 じっしつ 的 てき に同 おな じ問題 もんだい であることが判 わか っている。
他 た の計算 けいさん 可能 かのう 性 せい モデルとの等価 とうか 性 せい [ 編集 へんしゅう ]
クリーネは以下 いか の最終 さいしゅう 定理 ていり で、「チューリングマシンによる計算 けいさん 可能 かのう 関数 かんすう 」と「部分 ぶぶん μ みゅー 再帰 さいき 関数 かんすう 」が等価 とうか であることを示 しめ した。
次 つぎ のクラスの部分 ぶぶん 関数 かんすう は同一 どういつ の広 ひろ がりを持 も つ。すなわち、同 おな じメンバーを持 も つ。
(a) 部分 ぶぶん 再帰 さいき 関数 かんすう
(b) 何 なん らかの機械 きかい で計算 けいさん 可能 かのう な関数 かんすう
(c) 1/1 関数 かんすう (チューリングマシンを一方向 いちほうこう のテープと1つのシンボルだけに制限 せいげん したもの)
さらに、これらは私 わたし が定義 ていぎ した関数 かんすう Ψ ぷさい とも同一 どういつ の広 ひろ がりを持 も つ。(Kleene p. 376)
クリーネはこれを証明 しょうめい するために、5つの原始 げんし 再帰 さいき 関数 かんすう の作用素 さようそ とμ みゅー 作用素 さようそ をチューリングマシンでエミュレートできることを示 しめ し、逆 ぎゃく にチューリングマシンの動作 どうさ を数値 すうち 化 か することでその動作 どうさ をμ みゅー 再帰 さいき 関数 かんすう で表現 ひょうげん できることを示 しめ した。
正規 せいき 形 がた 定理 ていり [ 編集 へんしゅう ]
クリーネの正規 せいき 形 がた 定理 ていり (英語 えいご : Kleene's_T_predicate#Normal_form_theorem ) は、次 つぎ を主張 しゅちょう する: 原始 げんし 再帰 さいき 関数 かんすう
U
(
y
)
{\displaystyle U(y)\!}
と
T
(
y
,
e
,
x
1
,
…
,
x
k
)
{\displaystyle T(y,e,x_{1},\ldots ,x_{k})\!}
について、k 個 こ の自由 じゆう 変数 へんすう を持 も つμ みゅー 再帰 さいき 関数 かんすう
f
(
x
1
,
…
,
x
k
)
{\displaystyle f(x_{1},\ldots ,x_{k})\!}
があり、以下 いか を満足 まんぞく する e が存在 そんざい する。
f
(
x
1
,
…
,
x
k
)
≃
U
(
μ みゅー
y
T
(
y
,
e
,
x
1
,
…
,
x
k
)
)
{\displaystyle f(x_{1},\ldots ,x_{k})\simeq U(\mu y\,T(y,e,x_{1},\ldots ,x_{k}))}
.
ここで、e は関数 かんすう f のインデックス またはゲーデル数 すう である。つまり、任意 にんい のμ みゅー 再帰 さいき 関数 かんすう は原始 げんし 再帰 さいき 関数 かんすう に1回 かい だけμ みゅー 作用素 さようそ を適用 てきよう することで定義 ていぎ される。
ミンスキー(1967)は、ここで定義 ていぎ された U が基本 きほん 的 てき に万能 ばんのう チューリングマシンと等価 とうか であると述 の べた。
Stephen Kleene (1952) Introduction to Metamathematics . Walters-Noordhoff & North-Holland, with corrections (6th imprint 1971); Tenth impression 1991, ISBN 0-7204-2103-9 .
Soare, R. Recursively enumerable sets and degrees. Springer-Verlag 1987.
Marvin L. Minsky (1967), Computation: Finite and Infinite Machines , Prentice-Hall, Inc. Englewood Cliffs, N.J.
On pages 210-215 Minsky shows how to create the μ みゅー -operator using the register machine model, thus demonstrating its equivalence to the general recursive functions.
George Boolos, John Burgess, Richard Jeffrey (2002), Computability and Logic: Fourth Edition , Cambridge University Press, Cambridge, UK. Cf pp. 70-71.