ビジービーバー

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索

ビジービーバー(英:busy beaver)とは、計算可能性理論で扱われるある種のチューリングマシンである。この名称は「仕事人間」を意味する英語の慣用句に由来する。ビジービーバーは空のテープから処理を開始し、可能な限り走り続けるが、最終的には停止する。これは停止するチューリングマシンのクラスが消費し得る時間と領域(テープ)の長さの上限を与える。

ビジービーバー関数はこの上限を数値化するものであり、計算不能関数の一例でもある。この関数はいかなる計算可能関数よりも急速に増大するということを証明できる。ビジービーバー関数の概念は、ティボール・ラドーによる1962年の論文 "On Non-Computable Functions" の中で、「ビジービーバー・ゲーム」という名称で初めて導入された。

ビジービーバー・ゲーム[編集]

ティボール・ラドーは、1962年の論文で以下のように「ビジービーバー・ゲーム」を導入した。

記号 {0, 1} と n 個の動作状態(それぞれ 1, 2, …, n で表すか、または A, B, C …などと書く)を持つチューリングマシンを考える。なお、動作状態にはもう一つ「停止」状態もあるとする。

彼が定義したチューリングマシンは次の通り。

  • 二つの方向に動作可能な無限長(または端のない)テープの上で動作する。
  • このマシンには「遷移関数」があり、次の二つの入力を取る。
  1. マシンの現状態
  2. 現在の位置におけるテープ上の記号
そして三つの出力を持つ。
  1. テープの現在位置から読み出された記号を上書きするための記号(たまたま入力と同じ記号になる場合もある)
  2. テープ上を移動すべき方向(「左」または「右」)
  3. 遷移先の状態(たまたま現状態と同じ状態になる場合はあるし、または「停止」状態を指す可能性もある)
以上より、このチューリングマシンは、その「プログラム」を次のような5つの情報を有限個並べた表として書けるようなマシンである。
(現状態、現記号、次に書くべき記号、移動方向、次状態)
  • このマシンは「停止」状態に達したときに停止する。

さて、空のテープ(ここでは全てのセルに 0 が書かれたテープを「空テープ」と呼ぶ)から処理を始めよう。マシンを走らせて(遷移関数を繰り返し起動する)、マシンがいずれ停止したならば、テープに書かれた 1 の数を数えよう。

n-状態ビジービーバー(BB-n と書く)ゲームは、停止するまでにテープに 1 を最も多く出力するような n-状態チューリングマシンを見つけ出そう、というゲームである。

ラドーは次のように書いている。「この競技の参加希望者は、停止する n-状態チューリングマシンの記述と併せて、そのチューリングマシンが停止するまでに走行するステップ数を事前申請しなければならない。申請先は公正な審判員とし、審判員はその有効性を確認しなければならない。参加者が停止までに要するステップ数を申請することは重要である。なぜなら、もし申請がなく、そのチューリングマシンが停止しなかったら、審判員にはそのチューリングマシンが「永久に停止しない」のかどうかを証明する手段(アルゴリズム)がないからである。もし参加者が有限なステップ数とチューリングマシンを併せて申請するならば、審判員は(十分な時間は与えられるとして)それだけのステップ数にて実際にマシンが停止するかどうかを判定できる(とはいえ、審判員は巨大なステップ数のために勝者の判定には困難を覚えるかも知れない)。」

ビジービーバー関数 Σ(n)[編集]

ビジービーバー関数 Σ(n) は、「状態」 (Turing-instructions[1]) の個数を表す数字 n と空テープが与えられた時に、ビジービーバー・ゲームの「優勝」チューリングマシンが印字する 1 の個数として定義される。

ラドーは n-状態ビジービーバー・ゲームには well-defined な「優勝」マシンが存在することを示した:

n 個の状態と二つの記号を用いるチューリングマシンは有限個しかない(この場合は [4(n+1)]2n[2])。更にこのうちの幾つかは停止することが自明である。すなわち、すべての n について、n-状態かつ 2-記号の停止するチューリングマシンが少なくとも一つ存在する。

ここで以下の定義を加える:

  • 前述の性質(二方向の無限長のテープ、5タプルで定義される遷移関数、等々)を持ち、n-状態かつ2-記号の停止するチューリングマシンの有限で空でない集合を E_n と書く。
  • チューリングマシン M を空テープから走らせた後で、テープ上に残された 1 の個数を \sigma(M) と書く。これは E_n に含まれる全ての M について定義される。
  • \Sigma(n) = \max \{ \sigma(M) | M \in E_n \} (あらゆる n-状態 2-記号チューリングマシンが書いた 1 の個数の中で最大の個数)

En に含まれる)全ての停止する M について、σ(M) は非負整数であり、かつ、En は空でない有限集合なので、 全ての n について Σ(n) は well-defined な負でない有限の数である。

この Σビジービーバー関数 であり、σ(M) = Σ(n) を満たす(つまり最大値を与える)ような n-状態 2-記号マシン Mビジービーバー と呼ぶ。なお、n-状態ビジービーバーは一つとは限らない。つまり σ(M1) = σ(M2) = Σ(n) というようなことは有り得る。

Σの計算不能性[編集]

ラドーは続けて、Σ を押さえ込むような計算可能関数は存在しないことを証明した。つまり、全ての計算可能関数 f について何らかの n が存在し(実は無限個の n があることを示せる)、f(n) < Σ(n) を満たす(証明は後述)。特に、Σ自身は計算不能である。

加えてこのことは、与えられた候補が優勝ビジービーバーであるかを判定するような一般的なアルゴリズムは存在しないことを意味する。なぜなら、もしそのようなアルゴリズムがあれば、全ての候補マシンを並べてテストするだけで Σ の値を容易に決定できてしまうからである。

入力として n を受け取り Σ(n) を計算するような単一のアルゴリズム A は存在しないものの(Σは計算不能なので)、n までの全ての自然数について Σ(n) を「計算」するようなアルゴリズム An は存在する(計算可能関数#例を参照のこと)。さらに、n が十分に小さいならば、ビジービーバー関数の特殊値を実用的に計算することもできる。例えば、Σ(0) = 0, Σ(1) = 1, Σ(2) = 4 を示すのは難しくないし、次第に困難にはなるが、Σ(3) = 6 と Σ(4) = 13 (オンライン整数列大辞典の数列 A028444) を示すこともできる。n > 4 についての Σ(n) は未算出だが、4098 と 10^{1439} いう下限値がそれぞれ n = 5 と n = 6 について得られている。n = 12 については、Dewdney[1984] は次のいささか大きな下限を紹介している:

\Sigma(12) \ \ \geq \ \ 6 \ \cdot \ 4096^{4096^{4096^{~.~^{~.~^{~.~^{4096^{4}}}}}}} > 4096 \uparrow \uparrow 166

ここで指数の塔には 4096 が 166 回出現し、指数の塔の頂上に 4 が乗る。

最大シフト数関数[編集]

シェン・リンは Σ(3) = 6 であることを証明した(ラドーとの共著論文 Computer Studies of Turing Machine Problems [1965年])。

この証明に際し、彼は停止する n-状態チューリングマシンに関連するもう一つの極限関数である最大シフト数関数(maximum shifts function) を導入した。 以下を定義する:

  • s(M) = En に含まれる全ての M について、停止するまでに M がシフトする回数
  • S(n) = \max \{ s(M) | M \in E_n \} (あらゆる n-状態 2-記号チューリングマシンの中で最大のシフト回数)

これらのチューリングマシンは遷移関数を起動するごと(言い換えれば「ステップ」ごと)にシフトしなければならないので[3](「停止」状態に遷移する場合も含む)、最大シフト数関数は同時に最大ステップ数関数でもある。

さて、もし S(n) の値が判るなら、全ての n-状態チューリングマシンを S(n) ステップだけ順次走らせて、テープ上に最多の 1 を印字して止まったマシンを見いだすことができる。それがビジービーバーであり、そのマシンが書いた 1 の数こそが Σ(n) ということになる(なぜなら、停止するすべての n-状態チューリングマシンは S(n) ステップ以内で停止するはずであるため)。

このように、最大シフト数関数の研究は、ビジービーバー関数の研究と密接に関連している。

既知の値[編集]

Σ(n) と S(n) の正確な値が判明しているのは n < 5 である場合に限られる。5-状態ビジービーバーについては、現時点で知られている優勝候補は 4,098 個の 1 を 47,176,870 ステップで出力するが(Heiner Marxen と Jurgen Buntrock、1989年)、他に約40個の非正則な振る舞いをするチューリングマシンが残されている。これらは停止しないと信じられているが、停止しないことの証明がいまだ得られていない。6-状態ビジービーバーの現時点における候補は 101439 を超える 1 を 102879 を超えるステップにて出力する(Terry and Shawn Ligocki、2007年)。前述したように、これらのビジービーバーはすべて2-記号チューリングマシンである。

Milton Greenは、1964年の論文 "A Lower Bound on Rado's Sigma Function for Binary Turing Machines" の中で、ある種のマシンの集合を構成し次のことを示した。

\Sigma(2k+4) > 3\ \uparrow^k 3 > A(k,k) (\uparrowクヌースの矢印表記 であり、Aアッカーマン関数)

従って、

\Sigma(10) > 3 \uparrow\uparrow\uparrow 3 = 3 \uparrow\uparrow 3^{3^3} = 3^{3^{3^{.^{.^{.^3}}}}} (3^{27} = 7,625,597,484,987 個の数が指数の塔の中に現れる)

これに対して、現在知られている Σ(6) の限界値は 10^{1439} < 3^{3^{3^3}} であり、比較上大変小さい。

一般化[編集]

如何なる計算モデルにおいても、ビジービーバーの単純な類似物が存在する。例えば、n-状態 m-記号チューリングマシンへの一般化は次のような一般ビジービーバー関数の定義を導く。

  1. Σ(n, m):空テープを与えられた n-状態 m-記号マシンが、停止するまでに印字しうる 0 でない記号の最大個数。
  2. S(n, m):空テープを与えられた n-状態 m-記号マシンが停止するまでに実行しうる最大ステップ数。

例として、これまで発見された中で最も長く走る 3-状態 3-記号マシンは、停止するまでに 119,112,334,170,342,540 ステップ走行する。 また、6-状態 2-記号マシンに対し、各ステップ毎にテープ上の値を反転する機能を付加した場合、最も長く走るマシンは 6,147 個の 1 を 47,339,970 ステップで印字する。したがって、SRTM(6) ≧ 47,339,970 かつ ΣRTM(6) ≧ 6,147 である。

同様に、レジスタマシンについても Σ 関数の類似物を定義できる。この場合は、所与の数の命令を実行した後に停止する時点で、いずれかのレジスタ上に存在できる最も大きな数、と言った形になる。

応用[編集]

ビジービーバー関数はやり応えのある数学ゲームというだけでなく、深遠な応用を持つ。十分大きな n について S(n) の値が得られれば、それを用いて数多の数学上の未解決問題を機械的に解くことができる[4]

数学上の予想の中で、可算無限個のケースの中から反例を見つけ出せればその予想の否定を証明できるようなものを考える(例えばゴールドバッハ予想などが該当)。それらの予想について値を増分しながらテストするようなコンピュータプログラムを書く(ゴールドバッハ予想なら、4 以上の偶数全てについて、二つの素数の和として表せるかを順次調べる)。このプログラムを n-状態チューリングマシンでシミュレートする(もしくは、well-definedなプログラム言語であればその言語版のビジービーバー関数を定義できるので、そちらで代替してもよい)。もし反例(先の例で言えば、二つの素数の和で表せない偶数)を見付けたならば、停止して結果を表示する。反例が見付からなければプログラムは永遠に走り続ける(このプログラムは反例を見つけた場合にしか停止しないものとする)。

さて、今このプログラムは n-状態チューリングマシンでシミュレートしているので、もし S(n) がわかるなら、単にそのステップ数だけそのプログラムを走らせれば、そのプログラムが停止するのかどうかが(有限の時間内で)判明する。そして S(n) ステップだけ走った後でなおマシンが停止しないなら、それはもはや決して停止しないと言えるので、所与の予想には反例が存在しないことがわかる(二つの素数の和で表せない 4 以上の偶数は存在しない、等)。これはその予想が真であることを証明する。

このように、S(n) の特殊値(または上限値)を用いれば、理論的には様々な数学上の未解決問題を機械的に解ける。しかしながら、ビジービーバー問題に関してこれまで得られた結果に鑑みて、二つの理由からこれは現実的ではない。

  • ビジービーバー関数(及び最大シフト数関数)の値を証明するのは極めて難しい。これまでに証明できたのは 5 状態にも満たない極端に小さなマシンに関する値のみだが、実用的なマシンを構築するには少なくとも 20~50 状態は必要だろうと推測される。
  • ビジービーバー関数(及び最大シフト数関数)の値は非常に速く増大する。S(6) > 102879 の段階で既に、特殊な専用チューニングを施さなければシミュレートを走り切らせることがおぼつかない状況である。同様に、S(10) > \Sigma(10) > 3 \uparrow\uparrow\uparrow 3 も巨大な数であることを我々は知っている。したがって、例えば S(30) あたりの値がわかったとしても、いかなるマシンであれ、それだけのステップ数だけ走らせる方法などまったく存在しないだろう。

S(n) と Σ(n) が計算不能であることの証明[編集]

S(n) が計算可能関数であると仮定し、S(n) を求めるチューリングマシンを EvalS と呼ぼう。このマシンは n 個の 1 が印字されたテープから処理を開始して、S(n) 個の 1 をテープ上に生成してから停止するものとする。併せて Clean という名のチューリングマシンを用意し、これはあらかじめテープ上に書かれた 1 をすべて消去するマシンとする。もう一つ Double という名のチューリングマシンを用意し、これは n + n を求めるマシンとする。つまり n 個の 1 が書かれたテープから処理を開始して、2n 個の 1 をテープ上に生成したのち停止する。 さて、このような状況で、Double | EvalS | Clean という複合マシンを用意して、このマシンの状態個数を n0 と書く。さらに、 Create_n0 という名のチューリングマシンを用意し、これは空テープに対して n0 個の 1 を印字するものとする。このマシンが n0 個の状態を持つようにするのは容易である(i 状態は 1 を印字し、テープヘッドを右に一つ移動し、状態を i + 1 に切り替える。ただし、n0 に達したならば停止する)。n0n0 の和 (n0 + n0) を N と書こう。

ここで今度は BadS という名の複合マシンを用意し、この内容は Create_n0 | Double | EvalS | Clean とする。このマシンは N 状態を持つことに注意する。空テープから処理を開始し、まず n0 個の一連の 1 を印字し次にこれを二倍して、N 個の一連の 1 を生成する。BadS はそれから S(N) 個の 1 をテープに書き、最後に全ての 1 を消去して停止する。しかしながら、この消去処理は少なくとも S(N) ステップだけ動作するので、BadS の動作時間は S(N) よりも厳密に大きいことになり、これは関数 S(n) の定義と矛盾する。

Σ(n) が計算不能であることも同様にして証明できる。上の証明に出てきた EvalS マシンを EvalΣ マシンに替え、CleanIncrement ―テープ上最初に出てくる 0 を探して順次 1 で置き換える単純なチューリングマシン―で代替すればよい。

S(n) が計算不能であることは、停止問題に帰着して証明することも容易である。S(n) は停止するチューリングマシンが実行可能な最大ステップ数なので、それを越えて走り続けるマシンは決して停止しない。したがって、与えられた任意の n 状態チューリングマシンを S(n) ステップだけ走らせてみて、それがいまだ停止しないなら、それはもはや決して停止しない。以上より、S(n) の値が計算できれば停止問題が解けてしまうことになるが、停止問題が計算不能であることは別途証明されているので、S(n) もまた計算不能であることが従う。

ビジービーバーであるチューリングマシンの例[編集]

3-状態ビジービーバーの状態表とその「走行」について、チューリングマシンの例(en)を参照。

以下の表は、次に挙げる値を生成するビジービーバーの実例である。Σ(1) と S(1)、Σ(2) と S(2)、Σ(3) (ただし S(3) は生成しない)、Σ(4) と S(4)、及び既知の最も優れた Σ(5) と S(5)、Σ(6) と S(6) の下限。

表の中で、列は現状態を表し、行はテープから読み込まれた現記号に対応する[5]。表の中身は(記述順に)テープに印字すべき記号、移動する方向、及び遷移先の状態を表す。

各マシンは状態 A と空テープ(0 で埋まったテープ)から処理を開始する。従って最初にテープから読み込まれる記号は 0 である。

結果の見方:(下線位置から動作を開始し、太字の位置で停止する)

1-状態, 2-記号[編集]

A
0 P1,R,H
1 未使用

結果: 0 0 1 0 0 (1 ステップ、合計 1個の "1")

2-状態, 2-記号[編集]

A B
0 P1,R,B P1,L,A
1 P1,L,B P1,R,H

結果: 0 0 1 1 1 1 0 0 (6 ステップ、合計 4個の "1")

3-状態, 2-記号[編集]

A B C
0 P1,R,B P0,R,C P1,L,C
1 P1,R,H P1,R,B P1,L,A

結果: 0 0 1 1 1 1 1 1 0 0 (14ステップ、合計 6個の "1").

注:前の他のマシンと異なり、これはΣについて勝者だが、S については違う。(S(3) = 21)

4-状態, 2-記号[編集]

A B C D
0 P1,R,B P1,L,A P1,R,H P1,R,D
1 P1,L,B P0,L,C P1,L,D P0,R,A

結果: 0 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 (107ステップ、合計13個の "1")

現時点にて 5-状態, 2-記号の勝者と信じられているもの[編集]

A B C D E
0 P1,R,B P1,R,C P1,R,D P1,L,A P1,R,H
1 P1,L,C P1,R,B P0,L,E P1,L,D P0,L,A

結果: 47,176,870ステップにて8191個の "0" に混じって4098個の "1" を出力。

現時点における 6-状態, 2-記号の最高記録者[編集]

A B C D E F
0 P1,R,B P1,L,C P1,L,D P1,L,E P1,L,A P1,L,E
1 P0,L,E P0,R,A P0,R,C P0,L,F P1,L,C P1,R,H

結果: ≈2.584 × 102879 ステップにて ≈4.640 × 101439個の "1" を出力。

S(n, m) と Σ(n, m) の値と下限について[編集]

以下の表で示すのは、一般ビジービーバー問題におけるS(n, m) と Σ(n, m) に関する既知の値または下限である。既知の正確な値は単なる数字で表し、既知の下限には大なりイコール(≧)を付けている。註:"???"と書かれた場所の値は、その升の左方向と上方向に存在する中で最大の値(または下限)が下限となる。これらのマシンは未調査か、または一旦得られた下限がより小さいマシンに抜かれたために取り消されたかのいずれかである。

これらの値を達成したチューリングマシンの実例はHeiner MarxenのサイトPascal Michelのサイトで見ることができる。これらのウェブサイトでは、他にもチューリングマシンに関する研究や正確な値についての証明などが紹介されている。

S(n,m) の値:

2-状態 3-状態 4-状態 5-状態 6-状態
2-記号 6 21 107 ≧ 47,176,870 ≧ 2.5 × 102879
3-記号 ≧ 38 ≧ 119,112,334,170,342,540 ≧ 1.0 × 1014072  ???  ???
4-記号 ≧ 3,932,964 ≧ 5.2 × 1013036  ???  ???  ???
5-記号 ≧ 1.9 × 10704  ???  ???  ???  ???
6-記号 ≧ 2.4 × 109866  ???  ???  ???  ???

Σ(n,m) の値:

2-状態 3-状態 4-状態 5-状態 6-状態
2-記号 4 6 13 ≧ 4,098 ≧ 4.6 × 101439
3-記号 ≧ 9 ≧ 374,676,383 ≧ 1.3 × 107036  ???  ???
4-記号 ≧ 2,050 ≧ 3.7 × 106518  ???  ???  ???
5-記号 ≧ 1.7 × 10352  ???  ???  ???  ???
6-記号 ≧ 1.9 × 104933  ???  ???  ???  ???

関連項目[編集]

脚注[編集]

  1. ^ 訳注:Turing-instructions:チューリングマシンのプログラム。ここで言う「状態」は、テープから読み取った記号ごとに対応する動作指示を記述する形を採るので、すなわちプログラムでもある。#ビジービーバーであるチューリングマシンの例を参照
  2. ^ 記号の個数を m とおけば、[2m(n+1)]mn
  3. ^ 訳注:ここで言うシフトとはテープ上を移動する操作のことか?
  4. ^ グレゴリー・チャイティン、1987年
  5. ^ 訳注:例えば現状態がAで入力が記号0なら、0行A列が交差する位置のマス目の中身を実行する

参考文献[編集]

  • Rado, Tibor (1962), On non-computable functions, Bell System Technical Journal, Vol. 41, No. 3 (May 1962), pp. 877-884. ラドーはこの中でビジービーバー問題を初めて定義し、それが計算不能であることと如何なる計算可能関数よりも急速に増大することを証明した。
  • Lin, Shen and Rado, Tibor (1965), Computer Studies of Turing Machine Problems, Journal of the ACM, Vol. 12, No. 2 (April 1965), pp. 196-212. リンはラドーの下で博士課程を学ぶ学生だった。この論文はリンの学位論文の一部として書かれた。リンは、すべての3-状態 2-記号チューリングマシンは、21ステップで停止しないなら、以後決して停止しないことを証明し、そこから Σ(3) = 6 かつ S(3) = 21 であることを示した。(ほとんどはコンピュータプログラムによって自動的に証明しているが、40 は人手で調べている)
  • Brady, Allen H. (1983), The determination of the value of Rado's noncomputable function Sigma(k) for four-state Turing machines, Mathematics of Computation, Vol. 40, No. 162 (April 1983), pp. 647-665. ブレイディは Σ(4) = 13 かつ S(4) = 107 であることを証明している。ブレイディは停止しない 3-状態 2-記号チューリングマシンについて二つの新たなカテゴリを定義した。「クリスマス・ツリー」と「カウンタ」である。彼はあるコンピュータプログラムを用いて、107ステップを越えて走行するマシンは、27個を除いてすべてがクリスマス・ツリーかカウンタの変種であることを示し、つまり停止しないことを証明した。残りの27個("holdouts" と呼ばれる)については、ブレイディ自身の手作業によって停止しないことが証明された。
  • Machlin, Rona and Stout, Quentin F. (1990), The complex behavior of simple machines, Physica D, No. 42 (June 1990), pp. 85-98. マチリンとスタウトはビジービーバー問題を取り上げ、ビジービーバーを特定するための様々な技法を展開している(彼らはこれを 4-状態 2-記号チューリングマシンに適用し、それによってブレイディの証明を検証した)。彼らは 4-状態 2-記号 以下のマシンについて既知であるすべての S の値を用いて、チャイティンの停止確率(Ω) の変種の値を推定した。
  • Marxen, Heiner and Buntrock, Jurgen (1990), Attacking the Busy Beaver 5, Bulletin of the EATCS, No 40 (February 1990), pp. 247-251. マルクセンとバントロックはΣ(5) の下限が 4098 かつ S(5) の下限が 47,176,870 であることを示し、彼らがマシンを見付けるために用いた手法を詳述しつつ、他の多くのマシンが停止しないことを証明した。
  • Green, Milton W. (1964), A Lower Bound on Rado's Sigma Function for Binary Turing Machines, in Preceedings of the IEEE Fifth Annual Symposium on Switching Circuits Theory and Logical Design, pp. 91-94. グリーンは状態の個数全てについてマシンを再帰的に構成し、それらの得点を計算する(σを計算する)帰納的関数を導いて、Σ の下限を与えた。この関数が増大する速さはアッカーマン関数のそれと比較できる。
  • Busy beaver programs are described by Alexander Dewdney in Scientific American, August 1984, pages 19-23, also March 1985 p. 23 and April 1985 p. 30.
  • Dewdney, Alexander K. A computer trap for the busy beaver, the hardest working Turing machine, Scientific American, 251 (2), 10-17, 1984.
  • Chaitin, Gregory J. (1987), Computing the Busy Beaver Function, In T. M. Cover and B. Gopinath, Open Problems in Communication and Computation, Springer, 1987, pp. 108-112.
  • Brady, Allen H. (1995), The Busy Beaver Game and the Meaning of Life, p 237-254, appearing in Herken, Rolf (ed)., The Universal Turing Machine: A Half-Century Survey, 2nd edition (1995), Springer-Verlag, Wien New York. この中でブレイディは(4-状態について)この問題の歴史を紹介し「ビジービーバー・ゲーム」と呼んだ。彼は他のゲームについても言及している(例えば セル・オートマトンライフゲームなど). 特に興味深いのは247頁にある「二次元ビジービーバー・ゲーム」である。参考文献を19本挙げている。
  • テイラー・ブース英語版, Sequential Machines and Automata Theory, Wiley, New York, 1967. Cf Chapter 9, Turing Machines. 難しい本で、電気系の専門職・技術職向けに書かれている。再帰や部分再帰を論じ、チューリングマシンや停止問題に言及する。ブースは脚注の中でビジービーバーをラドーの業績として紹介している。ブースはまたラドーのビジービーバー問題を第9章396頁の「宿題」3, 4, 5, 6 の中で定義している。この中で問題 3 は「すべての n について、ビジービーバーが解決不能であることを示せ」である。

外部リンク[編集]