Immerman-Szelepcsényiの定理は s(n)≥logn の場合に NSPACE(s(n)) (テープ長に上限のある非決定性チューリングマシンが受理できる言語のクラス) が、否定について閉じていることを示す定理です。
Neil ImmermanとRóbert Szelepcsényi1が1987年にそれぞれ独立して示し、この成果により両者は1995年にGödel賞を受賞しました。
このように、Immerman-Szelepcsényiの定理は、計算量複雑性の理論上とても重要な定理となっています。
Immerman-Szelepcsényiの定理の証明は、テープ長に上限のある非決定性有限チューリングマシン (NTM) の様相 (configuration) の総数が入力の長さとそのNTMの大きさで抑えられることを活かして、次のようなNTMを構成することで実現されます。
- ある様相から到達可能な様相の総数を数え上げた上で、
- その総数のステップ中に、受理状態に到達可能かを判定する。
この記事ではImmerman-Szelepcsényiの定理を[Uezato, 2024]を参考に証明したいと思います。
方針は論文に書いてある通りで特に目新しい部分はありません。自分の備忘録として残しておきます。
想定読者: 情報科学の基本的な部分を理解しており、計算量複雑性の理論などに関心があることを想定しています。
準備
非決定性チューリングマシン (NTM)
非決定性チューリングマシン (Nondeterministic Turing Machine, NTM) として、c-bounded k-working-tapes log-space NTM M=(k,c,Q,qinit,QF,Σ,Γ,□,Δ) を定義します2。
Mの各要素は次のような意味になります。
- kは作業テープ (working tape) T1,T2,…,Tkの数です。
- cはテープ長の上限のための定数で、各テープの長さは C=⌈clog∣w∣⌉ (wは入力文字列、 ⌈x⌉ は天井関数) によって抑えられます。
- Qは状態の有限集合で、qinit∈Qは初期状態、QF⊆Qは受理状態の集合になります。
- Σは入力のアルファベットで、Γはテープのアルファベット、□∈Γは作業テープの空の部分を埋めるための記号です。
- Δは遷移規則で、各規則は pτ∣θq もしくは pκ↦κ′∣θq という形を取ります (ここで p,q∈Q, τ∈Σ∪{⊢,⊣}, κ,κ′∈Γ∪{⊢,⊣}, θ∈{−1,+1,0})。
w∈Σ∗ を入力文字列とします。
M上の文字列 ⊢w⊣ で有効な様相 (valid configuration) とはタプル ⟨q,i,(T1,i1),(T2,i2),…,(Tk,ik)⟩ のことで、それぞれの値は次のような意味です。
- q∈Q は現在の状態、i∈N (0≤i≤∣w∣+2) は文字列 ⊢w⊣ 上の位置を表します。
- 各 x∈{1,2,…,k} について (Tx,ix) は、
- Tx∈(⊢ΓC⊣) は x 番目の作業テープを表します (C は上で定義しました)。
- ix∈N (0≤ix≤C+2) は x 番目の作業テープのヘッドの位置を表します。
注意: ⊢,⊣は文字列、テープの先端と終端を表す記号で Σ,Γに含まれないものとします。
M上の文字列⊢w⊣で有効な様相全体からなる集合を ValidM(w) と書くことにします (また、M を省略して Valid(w) とします)。
有効な様相の定義から、Valid(w) の大きさは c (C=c⌈log∣w∣⌉) と k と入力文字列の長さ ∣w∣ で次のように計算できます。
∣Valid(w)∣=∣Q∣×(∣w∣+2)×(∣Γ∣C×(C+2))k
入力文字列 w について、I(w) を文字列 ⊢w⊣ での初期様相として、次のように定義します。
I(w)=⟨qinit,0,(⊢□C⊣,0),(⊢□C⊣,0),…,(⊢□C⊣,0)⟩
ξ=⟨q,i,(T1,i1),…,(Tk,ik)⟩ を文字列 ⊢w⊣ で有効な様相とします。
遷移規則 δ∈Δ について、有効な様相での遷移関係 δ を次のように定義します。
ξδ⟨q,i+θ,(T1,i1),…,(Tk,ik)⟩δ=pτ∣θq∈Δ(⊢w⊣)[i]=τ
ξδ⟨q,i,(T1,i1),…,(Tx[ix]:=κ′,ix+θ),…,(Tk,ik)⟩δ=pκ↦κ′∣θq∈Δκ=Tx[ix]
ここで Tx[ix]:=κ′ は Tx の ix 番目の位置に κ′ を書き込んだ新しいテープを表します。
また、遷移規則 δ∈Δ は省略されて単に ⇒ と書かれる場合があり、さらにこの推移的閉包を ⇒∗ と書きます。
c-bounded k-working-tapes log-space NTM 全体からなる集合を NLOG(c,k) と書くことにします。
c と k が重要ではない場合、単に NLOG と書くことがあります。
M∈NLOG と文字列 w について、M(w,ξ) を ⊢w⊣ 上での ξ から到達可能な、有効かつ受理される様相全体からなる集合とします。
つまり、M(w,ξ) は次のような集合になります。
M(w,ξ)={ξ′∣ξ⇒∗ξ′,ξ′=⟨qacc,i,T⟩,qacc∈QF}
さらに、M の受理する言語 L(M) を M(w,ξ) を用いて、 L(M)={w∣M(w,I(M))=∅} と定義します。
NLOG について、Immerman-Szelepcsényiの定理を示すにあたって用いる命題をいくつか述べておきます。
命題1: M∈NLOG(c,k) とする。 文字列 w について、高々
∣Valid(w)∣ までの数値を記憶するには、O(c⋅k)⌈log∣w∣⌉ の長さの追加の作業テープが必要である。
証明:
∣Valid(w)∣=∣Q∣×(∣w∣+2)×(∣Γ∣C×(C+2))k で C=c⌈log∣w∣⌉ なので、log∣Valid(w)∣=(k⋅c⋅log∣w∣)log∣Γ∣+⋯=O(c⋅k)log∣w∣ となり、O(c⋅k)⌈log∣w∣⌉ の長さの作業テープに ∣Valid(w)∣ までの数値が記録できることが確認できる。
□
命題2: M∈NLOG(c,k) とする。 N∈NLOG(O(c⋅k),k+1) で、L(N)=L(M) かつ任意の入力文字列に対して N
の計算が停止するようなものが存在する。
証明:
M の到達可能な様相の数は高々 B=∣ValidM(w)∣ である。
そのため、B 以上の長さの実行パスは同じ様相に複数回到達しており、受理されるかどうかの判定に関わらないことが分かる。
そこで、実行パスの長さを数える追加のテープを用意して、B 以上になったものを非受理として停止させることで、計算が必ず停止するようにできる。
そして、この追加のテープの長さは「命題1」より O(c⋅k)⌈log∣w∣⌉ の長さとなるため、そのようなNTMは N∈NLOG(O(c⋅k),k+1) となる。
□
Immerman-Szelepcsényiの定理
まず始めに、Immerman-Szelepcsényiの定理のステートメントを確認します。
定理 (Immerman-Szelepcsényi):
s(n)≥logn とし、NSAPCE(s(n)) を入力文字列の長さ n に対して s(n)-bounded NTM (s(n) に比例する作業テープの長さのNTM) で受理できる言語全体からなる言語クラス、co-NSPACE(s(n)) を s(n)-bounded NTMで受理できる言語の補言語全体からなる言語クラスとする。
このとき、NSPACE=co-NSPACE。
ここで重要な考察として、s(n)-bounded NTMの有効な様相の総数は NLOG(c,k) の場合と同様に s(n)⌈log∣w∣⌉ の適当な定数倍の長さのテープで数えられるということです。
よって NSPACE(logn)=co-NSPACE(logn)、つまり NLOG=co-NLOG により、 Immerman-Szelepcsényiの定理を示すことができます。
証明
というわけで、証明の方針を説明します。
M∈NLOG(c,k) について、L(M)=Σ∗∖L(M) であるような M∈NLOG(O(c⋅k),k+∂) を構成することで、定理を示すことができます。
ここで ∂ は M に依存しない定数です。
では M はどのように構成するのかというと、次の二段階に分けて行います。
- ある様相 START から到達可能な様相の総数 C を計算する。
- その C ステップ以内に到達できる様相の中に受理状態のものがあるかを調べる。
そして、これらは ∣Valid(w)∣ までの数値を記録できる ∂ 個の変数を使って NTM で計算できます。
具体的な方法は[Uezato, 2024]のLemma 11で疑似コードを使って説明しています。
また、1については[Immerman, 1988]のLemma 2で、2についてはLemma 1で詳細に説明されています。
あとがき
今回はImmerman-Szelepcsényiの定理について説明しました。
すごく有名な定理ではありませんが、計算量複雑性の理論では重要な定理だと思います。
例えば、プッシュダウンオートマトン (文脈自由言語) は否定について閉じていません。
一方、有限状態オートマトン (正規言語) や線形拘束オートマトン (文脈依存言語) は否定について閉じています3。
このように否定について閉じているかはチョムスキー階層の上下に依存するものではありません。
Immerman-Szelepcsényiの定理は、この疑問に対して、この程度の計算力があれば否定について閉じている、と言える根拠を与えるものだと考えられます。
また、この定理の証明はとても構成的なことも興味深いところだと思います。
具体的に、あるNTMの言語の補言語を受理するNTMの構成の方法が説明されているので、実際にそのようなNTMを構成してみたら面白いのではないかと考えています。
しかし、説明している方法をそのまま行っても、およそ現実的な時間では計算できないと思うので、効率的に計算するにはどうしたらいいのか、というのも気になっています4。
自分がImmerman-Szelepcsényiの定理に興味を持ったのは[Uezato, 2024]を読んだためでした。
この論文では、肯定・否定先読みと後方参照を持つ正規表現の言語クラスが NLOG と一致することを示しています。
その中で、オラクルによって多重にネストしたNTMを1重に潰すのに、このImmerman-Szelepcsényiの定理を用いています。
これも面白い話だったので、この話もいつかできたらと思います。
それでは、最後まで目を通していただきありがとうございました。
参考文献
[Uezato, 2024]:
Uezato, Yuya. "Regular Expressions with Backreferences and Lookaheads
Capture NLOG." arXiv preprint arXiv:2404.17492 (2024).
https://arxiv.org/abs/2404.17492
[Immerman, 1988]:
Immerman, Neil. "Nondeterministic space is closed under complementation." SIAM Journal on computing 17.5 (1988): 935-938.
https://ieeexplore.ieee.org/document/5270
- [Kuroda, 1964]
Kuroda, S-Y. "Classes of languages and linear-bounded automata." Information and control 7.2 (1964): 207-223.
https://www.sciencedirect.com/science/article/pii/S0019995864901202