2021年11月15日 「11.5 チューリング・マシーン」 を読む >> 目次に もどる


 チューリング・マシーン についての技術的な説明は、たとえ要約であっても この エッセー の ページ 数では記述するのが むずかしいので、技術的な説明は 「いざない」 を読んでもらうことにして、本 エッセー では チューリング・マシーン が なんのために考案されたのかを述べてみます。

 チューリング・マシーン について、ゲーデル 氏は次のように言ったそうです──「(『計算可能性』 について) 最も完成度の高いやりかたは、チューリング 氏が示した機械の概念に還元する」 と。チューリング・マシーン とは、計算可能性を定式化するために、チューリング 氏が考えた概念的な計算機械です──現代の コンピュータ と比べて言えば、チューリング・マシーン は 「コンピュータ」 そのものではなくて、プログラム (アルゴリズム) のことです。チューリング 氏は、計算可能な関数を 「チューリング・マシーン で計算可能な関数」 として定義しました。チューリング・マシーン では、その動作指示 (すなわち、関数の値) が あらかじめ用意されている動作指示の一覧表を用意しておき、もし 或る入力例に対して、マシーン が最終状態 (「停止」) に到達しなければ、その入力例は 「未定義 (undefined)」 であるということです。

 任意の (x1, ・・・, xn) ∈ Nn について、P (x1, ・・・, xn) が成立するかどうか──元を並べる関数があるかどうか──を決定する アルゴリズム の作成を 「決定問題 (decision problem)」 と云います。もし、このような アルゴリズム を作ることができるなら、P は帰納的 (計算可能) であるということです (特徴関数を思い起こしてください)。同じように、集合 S ⊆ N についても、任意の (x1, ・・・, xn) ∈ Nn に対して、(x1, ・・・, xn)∈ S が成立するかどうかを決定する アルゴリズム の作成も 「決定問題」 と云います。もし、集合が自然数以外の元 (メンバー) であれば、ゲーデル 数を使って自然数に対応することができます。そして、決定できる アルゴリズム を作ることができれば、「決定可能 (decidable、あるいは solvable) と云い、そうでなければ 「決定不能 (undecidable、あるいは unsolvable)」 と云います。そして、チューリング・マシーン が停止できるかどうかを判断する アルゴリズム は存在するかどうか──すなわち、なんらかの アルゴリズム は チューリング・マシーンが停止することを判断できるかどうか──という問題が 「停止問題 (halting problem)」 と云われています。その答えは否定的でした──プログラム が停止するか否かを決定する プログラム を作成できない、ということです。つまり、「『決定可能』 を決定する」 プログラム を作成することはできないということ。チューリング・マシーン は概念的な計算機械ではあるけれど、ゲーデル 氏の 「不完全性定理」 を具体的な一般手続きとして示した究極形ですね。 □

 




  << もどる HOME すすむ >>
  目次にもどる