出典 しゅってん : フリー百科 ひゃっか 事典 じてん 『ウィキペディア(Wikipedia)』
計算 けいさん 理論 りろん (けいさんりろん、Theory Of Computation)または計算 けいさん 論 ろん は、理論 りろん 計算 けいさん 機 き 科学 かがく と数学 すうがく の一部 いちぶ で、計算 けいさん 模型 もけい やアルゴリズム を理論 りろん 的 てき にあつかう学問 がくもん である。計算 けいさん 複雑 ふくざつ 性 せい 理論 りろん 、計算 けいさん 可能 かのう 性 せい 理論 りろん を含 ふく む。ここでいう計算 けいさん (Computation)とは、数学 すうがく 的 てき に表現 ひょうげん できる、あらゆる種類 しゅるい の情報処理 じょうほうしょり のこと。
計算 けいさん を厳密 げんみつ に研究 けんきゅう するため、計算 けいさん 機 き 科学 かがく では計算 けいさん 模型 もけい と呼 よ ばれるコンピュータの数学 すうがく 的 てき 抽象 ちゅうしょう 化 か を行 おこな う。その手法 しゅほう はいくつかあるが、最 もっと も有名 ゆうめい なものはチューリングマシン である。チューリングマシンは、言 い ってみれば無限 むげん のメモリを持 も つコンピュータであるが、一 いち 度 ど にアクセスできるメモリ範囲 はんい は非常 ひじょう に限 かぎ られている。チューリングマシンは十分 じゅうぶん な計算 けいさん 能力 のうりょく を持 も つモデルでありながら、単純 たんじゅん で定式 ていしき 化 か しやすく、様々 さまざま な証明 しょうめい に使 つか い易 やす いため、計算 けいさん 機 き 科学 かがく 者 しゃ がよく利用 りよう する。無限 むげん のメモリというのは非 ひ 現実 げんじつ 的 てき な特徴 とくちょう と思 おも われるかもしれないが、より適切 てきせつ な表現 ひょうげん を使 つか うならば「無 む 制限 せいげん 」のメモリであって、読 よ み書 か きしようとした時 とき にそれができればよく、それに対応 たいおう する「無限 むげん な実体 じったい 」とでも言 い うべきものが必要 ひつよう なわけではない。「チューリングマシンで、ある問題 もんだい が解 と ける」とは必 かなら ず有限 ゆうげん のステップで計算 けいさん が終了 しゅうりょう することを意味 いみ し、よってそれに必要 ひつよう なメモリの量 りょう は有限 ゆうげん である。よって、チューリングマシンで解 と くことが出来 でき る問題 もんだい は、現実 げんじつ のコンピュータであっても必要 ひつよう なだけのメモリがあれば解 と くことが出来 でき る[1] 。
計算 けいさん 可能 かのう 性 せい 理論 りろん [ 編集 へんしゅう ]
計算 けいさん 可能 かのう 性 せい 理論 りろん は、ある問題 もんだい がコンピュータで解 と くことができるかどうかを扱 あつか う。チューリングマシンの停止 ていし 問題 もんだい は計算 けいさん 可能 かのう 性 せい 理論 りろん における、ある意味 いみ で最 もっと も重要 じゅうよう な成果 せいか である。定式 ていしき 化 か しやすく、かつチューリングマシンで解 と けない問題 もんだい の具体 ぐたい 例 れい であり、数学 すうがく 基礎 きそ 論 ろん との関係 かんけい もある。同時 どうじ に、静的 せいてき に無限 むげん ループの検出 けんしゅつ を確実 かくじつ に行 おこな う方法 ほうほう は無 な いことを示 しめ している、といったように実 じつ 応用 おうよう 的 てき な意義 いぎ もある。
計算 けいさん 複雑 ふくざつ 性 せい 理論 りろん [ 編集 へんしゅう ]
計算 けいさん 複雑 ふくざつ 性 せい 理論 りろん は、問題 もんだい がコンピュータで解 と けるかどうかだけでなく、その問題 もんだい の困難 こんなん さを扱 あつか う。時間 じかん 計算 けいさん 量 りょう と空間 くうかん 計算 けいさん 量 りょう という2つの観点 かんてん がある。時間 じかん 計算 けいさん 量 りょう とは計算 けいさん にかかるステップ数 すう 、空間 くうかん 計算 けいさん 量 りょう は計算 けいさん に必要 ひつよう とされるメモリ量 りょう に相当 そうとう する。
あるアルゴリズム が必要 ひつよう とする時間 じかん と空間 くうかん を分析 ぶんせき するため、時間 じかん や空間 くうかん を問題 もんだい の入力 にゅうりょく 量 りょう の関数 かんすう として表現 ひょうげん する。例 たと えば、長 なが い数列 すうれつ から特定 とくてい の数 かず を見 み つけ出 だ すという問題 もんだい は、数列 すうれつ が長 なが くなればなるほど難 むずか しくなる。数列 すうれつ に
n
{\displaystyle n}
個 こ の数 かず があるとき、その数列 すうれつ がソートされていなければ、一 いち 個 こ 一 いち 個 こ の数 かず を確認 かくにん していくしかない。この場合 ばあい 、この問題 もんだい の解法 かいほう の時間 じかん 計算 けいさん 量 りょう は入力 にゅうりょく 量 りょう に比例 ひれい して増大 ぞうだい するといえる。
これを単純 たんじゅん 化 か するため、O記法 きほう が使 つか われる。こうすることで特定 とくてい のマシンの実装 じっそう を前提 ぜんてい とすることなく、問題 もんだい の本質 ほんしつ 的 てき な計算 けいさん 量 りょう を扱 あつか うことができる。従 したが って、上 うえ の例 れい の時間 じかん 計算 けいさん 量 りょう は
O
(
n
)
{\displaystyle O(n)}
となる。
計算 けいさん 機 き 科学 かがく の中 なか でも最 もっと も重要 じゅうよう な未 み 解決 かいけつ の問題 もんだい は、NP と呼 よ ばれる計算 けいさん 複雑 ふくざつ 性 せい クラスの問題 もんだい が効率 こうりつ 的 てき に解 と けるかどうかである。詳 くわ しくは、P≠NP予想 よそう を参照 さんしょう して欲 ほ しい。
ここでは例 れい として、計算 けいさん 可能 かのう 性 せい がチューリングマシンと同等 どうとう な計算 けいさん モデル (「チャーチ=チューリングのテーゼ 」の記事 きじ を参照 さんしょう )のいくつかを示 しめ す。
ラムダ計算 けいさん
計算 けいさん を1つの初期 しょき ラムダ式 しき (入力 にゅうりょく を分離 ぶんり したい場合 ばあい は2つのラムダ式 しき )と有限 ゆうげん 個 こ のラムダ項 こう で表 あらわ す。各 かく ラムダ項 こう は前 まえ のラムダ項 こう にβ べーた 簡約 かんやく を適用 てきよう したものである。
組合 くみあわ せ論理 ろんり
ラムダ計算 けいさん とよく似 に ているが、例 たと えばラムダ計算 けいさん では正規 せいき の形式 けいしき ではない不動点 ふどうてん 演算 えんざん 子 こ Y は組合 くみあわ せ論理 ろんり では正規 せいき に組 く み込 こ まれているといった違 ちが いがある。
μ みゅー 再帰 さいき 関数 かんすう
複数 ふくすう の自然 しぜん 数 すう を引数 ひきすう として1つの自然 しぜん 数 すう を返 かえ す関数 かんすう であり、原始 げんし 再帰 さいき 関数 かんすう に基 もと づいて構築 こうちく され、それにμ みゅー 再帰 さいき を施 ほどこ したもの。
マルコフアルゴリズム
文字 もじ 列 れつ に一種 いっしゅ の文法 ぶんぽう 規則 きそく を適用 てきよう する文字 もじ 列 れつ 書 か き換 か え系 けい 。
レジスタマシン
コンピュータを抽象 ちゅうしょう 化 か したもの。多 おお くの場合 ばあい 、無限 むげん サイズの自然 しぜん 数 すう を格納 かくのう できるレジスタを持 も ち、命令 めいれい 数 すう は非常 ひじょう に少 すく ない。チューリングマシンと比較 ひかく すると無限 むげん のメモリが欠 か けているが、レジスタが無限 むげん サイズの自然 しぜん 数 すう を格納 かくのう できるので、それで代替 だいたい される。
P′′
(en:P′′ )チューリングマシンと同様 どうよう 、無限 むげん 長 ちょう のテープに記号 きごう を記録 きろく するが、チューリングマシンにおける有限 ゆうげん 状態 じょうたい オートマトンに相当 そうとう するものを、固定 こてい 長 ちょう でループの記述 きじゅつ が可能 かのう な命令 めいれい の列 れつ によって記述 きじゅつ する。これを元 もと に、命令 めいれい セットを理論 りろん 向 む けから実装 じっそう 向 む けに大幅 おおはば にアレンジして設計 せっけい されたプログラミング言語 げんご がBrainfuck である。
計算 けいさん 理論 りろん は、チューリングマシンより弱 よわ い(制限 せいげん された)計算 けいさん モデルを対象 たいしょう とすることもある。これらに関 かん する理論 りろん を、「オートマトン(の)理論 りろん 」と呼 よ ぶことがある(この文脈 ぶんみゃく では「オートマトン 」とは、チューリングマシンより弱 よわ い(制限 せいげん された)機械 きかい の総称 そうしょう である)。
正規 せいき 表現 ひょうげん は文字 もじ 列 れつ パターンを指定 してい するのによく使 つか われる。また、それと等価 とうか な有限 ゆうげん オートマトン は回路 かいろ 設計 せっけい などに使 つか われる。文脈 ぶんみゃく 自由 じゆう 文法 ぶんぽう はプログラミング言語 げんご の構文 こうぶん を定義 ていぎ するのに使 つか われる。非 ひ 決定 けってい 性 せい プッシュダウン・オートマトン は文脈 ぶんみゃく 自由 じゆう 文法 ぶんぽう と等価 とうか である。原始 げんし 再帰 さいき 関数 かんすう は再帰 さいき 関数 かんすう のサブクラスを定義 ていぎ したものである。モデルが異 こと なれば得意 とくい 分野 ぶんや も異 こと なる。
また、形式 けいしき 言語 げんご とその文法 ぶんぽう と、計算 けいさん モデルとの間 あいだ には対応 たいおう する関係 かんけい があり、計算 けいさん 可能 かのう 性 せい =表現 ひょうげん 力 りょく について包含 ほうがん 関係 かんけい があることが知 し られている。チョムスキー階層 かいそう 及 およ び形式 けいしき 言語 げんご の階層 かいそう の記事 きじ を参照 さんしょう のこと。
マイケル・シプサ、『計算 けいさん 理論 りろん の基礎 きそ 』、渡辺 わたなべ 治 おさむ 他 た 訳 やく 、共立 きょうりつ 出版 しゅっぱん 、2000年 ねん 、ISBN 4-320-02948-8
Michael Sipser (2006年 ねん ). Introduction to the Theory of Computation 2ed . PWS Publishing. ISBN 0-534-94728-X Part Two: Computability Theory, chapters 3–6, pp.123–222.
Eitan Gurari (1989年 ねん ). An Introduction to the Theory of Computation . Computer Science Press. ISBN 0-7167-8182-4 無料 むりょう 版 ばん はこちら: http://www.cse.ohio-state.edu/~gurari/theory-bk/theory-bk.html
Hein, James L: Theory of Computation. Sudbury, MA: Jones & Bartlett, 1996. 入門 にゅうもん 書 しょ
Hopcroft, John E., and Jeffrey D. Ullman: Introduction to Automata Theory, Languages, and Computation. 2ed Reading, MA: Addison-Wesley, 2001.
Taylor, R. Gregory: Models of Computation. New York: Oxford University Press, 1998. 上級 じょうきゅう 者 しゃ 向 む け
Hartley Rogers, Jr, Theory of Recursive Functions and Effective Computability , MIT Press, 1987, ISBN 0-262-68052-1
Computability Logic : 対話 たいわ 型 がた 計算 けいさん の理論 りろん 。
^ ただし、厳密 げんみつ にはここの議論 ぎろん はそんなに単純 たんじゅん ではない。たとえば無 む 理数 りすう である「2の平方根 へいほうこん の全 すべ ての桁 けた を求 もと める」ことは不可能 ふかのう だが、「それを計算 けいさん し続 つづ ける停止 ていし しないチューリングマシン」を構成 こうせい すること自体 じたい は不可能 ふかのう ではない。