全プロセスの詳細解説
-
状態数をどれだけ与えても、有限機械が0と1の数を対応付けられない理由 8 ステップ
このページにあるパリティマシンは2つの状態を持ち、101101という6つのシンボルを読み込んでも、3つ目の状態を必要とすることは決してありません。600万個のシンボルを与えても、やはり必要なのは2つの状態だけです。では、固定された数の状態を持つ機械にできないこととは何でしょうか?アンド、機械を見つけられなかったというだけでなく、機械が存在しないことをどのように証明するのでしょうか?
-
手元にある機械を観察してみましょう。パリティは状態 e から始まり、1 を読み込むたびに反転します。6つのシンボルを読み終えた後、機械は再び e に戻り、入力は受理されます。途中で累積されたものは何もありません。6番目のシンボルにおける機械の状態は、1番目のシンボルにあった時と全く同じ状態です。
-
それが利用できるリソースのすべてです。DFAのメモリとは、自身が現在存在する状態そのものであり、それ以外にはありません。カウンターも、スタックも、書き込めるテープもありません。任意の接頭辞を読み終えた後、機械がその接頭辞について知っていることのすべては、全 k 個の状態のうち現在どの状態を占めているかということだけです。
-
そこで、明らかにそれ以上の能力を必要とするものを見つけてみましょう。任意の個数の 0 の後に、それと全く同じ個数の 1 が続く文字列を考えます。01 は該当し、0011 も該当しますが、001 は該当せず、0110 も該当しません。
-
k 個の状態を持つDFAがこれを認識すると仮定します。機械がどのような構造をしているかを尋ねてはいけません――それが明かされることはありません。ただ、0個から k 個までの 0 で構成される k+1 個の接頭辞を機械に与え、それぞれがどの状態に機械を留めるかを記録するだけです。
-
鳩ノ巣原理です。接頭辞の数が状態の数よりも多いため、そのうちの2つは同じ状態に行き着きます。i が j より小さいとして、それらを 0ⁱ と 0ʲ と呼びましょう。その瞬間から、機械は両者を区別できなくなります。設計が不十分だからではありません。状態だけが機械の持つすべてであり、その2つの文字列が全く同じ状態をもたらしたからです。
-
ここで、両方の接頭辞の続きに同じもの、すなわち i 個の 1 を与えます。開始状態が同じで、シンボルも同じであるため、終了状態も同じになり、判定結果も同じになります。機械にはそれ以外の挙動をとる余地がありません。
-
しかし、2つの判定結果は異なっていなければなりません。0ⁱ1ⁱ は個数が一致しているため言語に属しますが、0ʲ1ⁱ は j が i と異なるため属しません。一方は受理され、他方は拒否されなければなりませんが、機械は両者に同じ答えを出してしまいます。崩れ去るのは、そのような機械が存在するという前提です。
-
この論証をもう一度読み返し、そこに現れなかったものに注目してください。それは k の具体的な値です。パリティマシン自身のサイズである2であっても、20億であっても、いずれにせよ k+1 個の接頭辞は k 個の状態数より多くなります。ただし、n に上限を設けると、言語は途端に有限状態言語になります。N まで対応させるには 2N+2 個の状態が必要となるため、N = 10 の場合は 22 個、N = 100 の場合は 202 個となります。
解答
どのようなサイズであっても、これを受理する有限オートマトンは存在しません。この証明は機械がどのように構成されているかについての知識を一切必要とせず、k+1 個のものが k 個の場所に入る際には必ず2つ以上が同じ場所を共有しなければならないこと、そして状態を共有することは記憶の消失(忘却)を意味することのみに依拠しています。パリティマシンはこれと同じ現象を縮小版で示しています。0、続いて 00、さらに 000 を入力しても、3つすべてが機械を e の状態に留めます。なぜなら、この機械は 0 を全く見ていないからです。
難しさの本質は上限の有無にあります。N までを対応させることは簡単で、2N+2 個の状態があればよく、到達したいシンボルが1つ増えるごとにもう1対の状態を追加すれば済みます。しかし、その数はどこまでも増え続けるため、特定の N に対する機械は存在しても、すべての N に対応する単一の機械は存在しません。このギャップこそが「有限メモリ」の意味するところであり、DFAの次に来るものがスタック(境界のない記憶装置)を追加することで定義される理由です。スタックが追加されたのは、まさにその欠如がもたらす限界を解消するためです。 -
参考文献 (2)
- Insight block 3 — the nerve-net model the finite automaton descends from: W. S. McCulloch and W. Pitts, "A logical calculus of the ideas immanent in nervous activity." Bulletin of Mathematical Biophysics 5(4), 115–133, 1943.
- Insight block 1 — the theorem that fixes the minimum state count: A. Nerode, "Linear automaton transformations." Proceedings of the American Mathematical Society 9(4), 541–544, 1958.