コンピュータサイエンスの概念
計算複雑性理論 において 、 多項式階層 ( 多項式時間階層 とも呼ばれる)は、 クラス NP と co-NP を一般化する複雑性クラス の 階層 である。 [1] 階層内の各クラスは PSPACE 内に含まれます。階層は、 オラクルマシン または 交互チューリングマシンを使用して定義できます。これは、 数理論理学 の 算術階層 と 解析階層 のリソース制限付き対応物です。階層内のクラスの和集合は PH で表されます 。
階層内のクラスには、量指定子の順序に制限がある式に対して量指定ブール式 が成り立つかどうかを尋ねる完全な問題( 多項式時間削減 に関して)があります 。階層内の同じレベルまたは連続するレベルのクラス間の等価性は、そのレベルへの階層の「崩壊」を意味することが知られています。
定義
多項式階層のクラスには同等の定義が複数あります。
Oracleの定義
多項式階層のオラクル定義では、次のように定義します。
Δ
0
ポ
:=
Σ
0
ポ
:=
Π
0
ポ
:=
ポ
、
{\displaystyle \Delta _{0}^{\mathsf {P}}:=\Sigma _{0}^{\mathsf {P}}:=\Pi _{0}^{\mathsf {P}}:={\mathsf {P}},}
ここで Pは 多項式時間 で解ける 決定問題 の集合である 。i ≥ 0に対して定義する。
Δ
私
+
1
ポ
:=
ポ
Σ
私
ポ
{\displaystyle \Delta _{i+1}^{\mathsf {P}}:={\mathsf {P}}^{\Sigma _{i}^{\mathsf {P}}}}
Σ
私
+
1
ポ
:=
いいえ
ポ
Σ
私
ポ
{\displaystyle \Sigma _{i+1}^{\mathsf {P}}:={\mathsf {NP}}^{\Sigma _{i}^{\mathsf {P}}}}
Π
私
+
1
ポ
:=
c
o
いいえ
ポ
Σ
私
ポ
{\displaystyle \Pi _{i+1}^{\mathsf {P}}:={\mathsf {coNP}}^{\Sigma _{i}^{\mathsf {P}}}}
ここで、は クラスAの完全な問題に対する オラクル によって拡張された チューリングマシン によって多項式時間で解ける 決定問題 の集合です。クラス とも 同様の定義になります。たとえば、、 およびは、 NP完全な問題に対するオラクルを備えた決定性チューリングマシンによって多項式時間で解ける問題のクラスです。 [2]
ポ
あ
{\displaystyle {\mathsf {P}}^{\rm {A}}}
いいえ
ポ
あ
{\displaystyle {\mathsf {NP}}^{\rm {A}}}
c
o
いいえ
ポ
あ
{\displaystyle {\mathsf {coNP}}^{\rm {A}}}
Σ
1
ポ
=
いいえ
ポ
、
Π
1
ポ
=
c
o
いいえ
ポ
{\displaystyle \Sigma _{1}^{\mathsf {P}}={\mathsf {NP}},\Pi _{1}^{\mathsf {P}}={\mathsf {coNP}}}
Δ
2
ポ
=
ポ
いいえ
ポ
{\displaystyle \Delta _{2}^{\mathsf {P}}={\mathsf {P^{NP}}}}
多項式階層の存在論的/普遍的定義では、 Lを 言語 (つまり、 決定問題、{0,1} * のサブセット) とし 、 pを 多項式 とし 、次のように定義する。
∃
p
ら
:=
{
x
∈
{
0
、
1
}
∗
|
(
∃
わ
∈
{
0
、
1
}
≤
p
(
|
x
|
)
)
⟨
x
、
わ
⟩
∈
ら
}
、
{\displaystyle \exists ^{p}L:=\left\{x\in \{0,1\}^{*}\ \left|\ \left(\exists w\in \{0,1\}^{\leq p(|x|)}\right)\langle x,w\rangle \in L\right.\right\},}
ここで、は バイナリ文字列 x と w のペアを1 つのバイナリ文字列として標準的にエンコードしたものです。言語 L は、 文字列の順序付きペアの集合を表します。最初の文字列 x は のメンバーであり 、2 番目の文字列 wは、 x が のメンバーである ことを証明する 「短い」( ) 証拠です 。言い換えると、 となる 短い証拠 w が 存在する場合のみ となります。同様に、次のように定義します。
⟨
x
,
w
⟩
∈
{
0
,
1
}
∗
{\displaystyle \langle x,w\rangle \in \{0,1\}^{*}}
∃
p
L
{\displaystyle \exists ^{p}L}
|
w
|
≤
p
(
|
x
|
)
{\displaystyle |w|\leq p(|x|)}
∃
p
L
{\displaystyle \exists ^{p}L}
x
∈
∃
p
L
{\displaystyle x\in \exists ^{p}L}
⟨
x
,
w
⟩
∈
L
{\displaystyle \langle x,w\rangle \in L}
∀
p
L
:=
{
x
∈
{
0
,
1
}
∗
|
(
∀
w
∈
{
0
,
1
}
≤
p
(
|
x
|
)
)
⟨
x
,
w
⟩
∈
L
}
{\displaystyle \forall ^{p}L:=\left\{x\in \{0,1\}^{*}\ \left|\ \left(\forall w\in \{0,1\}^{\leq p(|x|)}\right)\langle x,w\rangle \in L\right.\right\}}
ド・モルガンの法則 が成り立つことに注意してください : および 、ここで L c は L の補数です 。
(
∃
p
L
)
c
=
∀
p
L
c
{\displaystyle \left(\exists ^{p}L\right)^{\rm {c}}=\forall ^{p}L^{\rm {c}}}
(
∀
p
L
)
c
=
∃
p
L
c
{\displaystyle \left(\forall ^{p}L\right)^{\rm {c}}=\exists ^{p}L^{\rm {c}}}
Cを 言語のクラスと
する。これらの演算子を、定義によって言語のクラス全体に作用するように拡張する。
∃
P
C
:=
{
∃
p
L
|
p
is a polynomial and
L
∈
C
}
{\displaystyle \exists ^{\mathsf {P}}{\mathcal {C}}:=\left\{\exists ^{p}L\ |\ p{\text{ is a polynomial and }}L\in {\mathcal {C}}\right\}}
∀
P
C
:=
{
∀
p
L
|
p
is a polynomial and
L
∈
C
}
{\displaystyle \forall ^{\mathsf {P}}{\mathcal {C}}:=\left\{\forall ^{p}L\ |\ p{\text{ is a polynomial and }}L\in {\mathcal {C}}\right\}}
ここでも、ド・モルガンの法則が成り立ちます。 また 、 。
c
o
∃
P
C
=
∀
P
c
o
C
{\displaystyle {\mathsf {co}}\exists ^{\mathsf {P}}{\mathcal {C}}=\forall ^{\mathsf {P}}{\mathsf {co}}{\mathcal {C}}}
c
o
∀
P
C
=
∃
P
c
o
C
{\displaystyle {\mathsf {co}}\forall ^{\mathsf {P}}{\mathcal {C}}=\exists ^{\mathsf {P}}{\mathsf {co}}{\mathcal {C}}}
c
o
C
=
{
L
c
|
L
∈
C
}
{\displaystyle {\mathsf {co}}{\mathcal {C}}=\left\{L^{c}|L\in {\mathcal {C}}\right\}}
クラス NP と co-NPは 、 、 、 と定義できます。 ここで、 P はすべての実行可能(多項式時間)決定可能な言語のクラスです。多項式階層は再帰的に次のように定義できます。
N
P
=
∃
P
P
{\displaystyle {\mathsf {NP}}=\exists ^{\mathsf {P}}{\mathsf {P}}}
c
o
N
P
=
∀
P
P
{\displaystyle {\mathsf {coNP}}=\forall ^{\mathsf {P}}{\mathsf {P}}}
Σ
0
P
:=
Π
0
P
:=
P
{\displaystyle \Sigma _{0}^{\mathsf {P}}:=\Pi _{0}^{\mathsf {P}}:={\mathsf {P}}}
Σ
k
+
1
P
:=
∃
P
Π
k
P
{\displaystyle \Sigma _{k+1}^{\mathsf {P}}:=\exists ^{\mathsf {P}}\Pi _{k}^{\mathsf {P}}}
Π
k
+
1
P
:=
∀
P
Σ
k
P
{\displaystyle \Pi _{k+1}^{\mathsf {P}}:=\forall ^{\mathsf {P}}\Sigma _{k}^{\mathsf {P}}}
、および に 注意してください 。
N
P
=
Σ
1
P
{\displaystyle {\mathsf {NP}}=\Sigma _{1}^{\mathsf {P}}}
c
o
N
P
=
Π
1
P
{\displaystyle {\mathsf {coNP}}=\Pi _{1}^{\mathsf {P}}}
この定義は、多項式階層と 算術階層 の密接な関係を反映しており、 R と RE はそれぞれ P と NP に類似した役割を果たします 。 解析階層も同様の方法で定義され、 実数 のサブセットの階層を与えます 。
交代チューリングマシンの定義
交代チューリングマシンは 、 非最終状態が存在状態と普遍状態に分割された非決定性チューリングマシンです。現在の構成から最終的に受け入れるには、存在状態にあり、最終的に受け入れる構成に遷移できる場合、または普遍状態にあり、すべての遷移が最終的に受け入れる構成である場合、または受け入れ状態にある場合が必要です。 [3]
を、初期状態が存在状態であり、マシンが取ることができるすべてのパスが存在状態と普遍状態の間で最大 k -1回入れ替わるような、多項式時間で交代チューリングマシンによって受け入れられる言語のクラスと 定義します。 同様に定義しますが、初期状態は普遍状態です。 [4]
Σ
k
P
{\displaystyle \Sigma _{k}^{\mathsf {P}}}
Π
k
P
{\displaystyle \Pi _{k}^{\mathsf {P}}}
存在状態と普遍状態の間のスワップが最大で k -1回であるという要件を省略し、交代チューリングマシンが多項式時間で動作することだけを要求すると、クラス APの定義が得られ、これは PSPACE に等しくなります 。 [5]
多項式階層におけるクラス間の関係
多項式時間階層と同等の可換図。矢印は包含を表します。
多項式階層内のすべてのクラスの和集合が複雑性クラス PH です。
定義は以下の関係を暗示します:
Σ
i
P
⊆
Δ
i
+
1
P
⊆
Σ
i
+
1
P
{\displaystyle \Sigma _{i}^{\mathsf {P}}\subseteq \Delta _{i+1}^{\mathsf {P}}\subseteq \Sigma _{i+1}^{\mathsf {P}}}
Π
i
P
⊆
Δ
i
+
1
P
⊆
Π
i
+
1
P
{\displaystyle \Pi _{i}^{\mathsf {P}}\subseteq \Delta _{i+1}^{\mathsf {P}}\subseteq \Pi _{i+1}^{\mathsf {P}}}
Σ
i
P
=
c
o
Π
i
P
{\displaystyle \Sigma _{i}^{\mathsf {P}}={\mathsf {co}}\Pi _{i}^{\mathsf {P}}}
算術階層や解析階層では包含が適切であることが知られていますが、これらの包含が適切であるかどうかは未解決の問題です。ただし、すべてが適切であると広く信じられています。 、または のいずれかの場合 、階層は レベル k に縮小します 。すべての 、に対して 。 [6] 特に、未解決の問題に関連する次の意味があります。
Σ
k
P
=
Σ
k
+
1
P
{\displaystyle \Sigma _{k}^{\mathsf {P}}=\Sigma _{k+1}^{\mathsf {P}}}
Σ
k
P
=
Π
k
P
{\displaystyle \Sigma _{k}^{\mathsf {P}}=\Pi _{k}^{\mathsf {P}}}
i
>
k
{\displaystyle i>k}
Σ
i
P
=
Σ
k
P
{\displaystyle \Sigma _{i}^{\mathsf {P}}=\Sigma _{k}^{\mathsf {P}}}
P = NP であるのは、 P = PH の場合に限ります 。 [7]
NP = co-NP の場合 、 NP = PH です。( co-NP は です 。)
Π
1
P
{\displaystyle \Pi _{1}^{\mathsf {P}}}
NP = PH の場合は、 PH が 第 2 レベル に 崩壊する とも呼ばれます。P = NP の 場合は、 PHが P に 崩壊することに対応します 。
コンピュータサイエンスにおける未解決の問題 :
P
=
?
N
P
{\displaystyle {\mathsf {P}}{\overset {?}{=}}{\mathsf {NP}}}
第一レベルへの崩壊の問題は、一般的に非常に難しいと考えられています。ほとんどの研究者は、第二レベルへの崩壊さえも信じていません。
他のクラスとの関係
コンピュータサイエンスにおける未解決の問題 :
P
H
=
?
P
S
P
A
C
E
{\displaystyle {\mathsf {PH}}{\overset {?}{=}}{\mathsf {PSPACE}}}
P 、 NP 、 co-NP 、 BPP 、 P/poly 、 PH 、 PSPACE を含む複雑性クラスの ハッセ図
多項式階層は、 指数階層 と 算術階層 の類似物です(複雑さははるかに低くなります) 。
PH がPSPACE 内に含まれていることは分かっています が、2つのクラスが等しいかどうかは分かっていません。この問題の有用な定式化の1つは、 有限構造上の2階論理が 関係の関係(つまり、2階変数)上の 推移閉包 演算子の追加によって追加のパワーを獲得しない場合にのみ、 PH = PSPACE である、というものです。 [8]
多項式階層に 完全な問題 がある場合、その階層には有限個の異なるレベルしかありません。PSPACE 完全な問題が存在するため、PSPACE = PHの場合、PSPACE完全な問題はある k に対して完全な問題 になるため、多項式階層は必ず崩壊することがわかります 。 [9]
Σ
k
P
{\displaystyle \Sigma _{k}^{\mathsf {P}}}
多項式階層の各クラスには、 -完全問題(多項式時間の多対一還元の下で完全な問題)が含まれます。さらに、多項式階層の各クラスは -還元 の下で閉じています 。つまり、階層内のクラス C と言語について 、 であれば も成り立ちます。これら 2 つの事実を合わせると、 が に対して完全問題である場合 、 であり 、 であることが示されます 。たとえば、 です 。言い換えると、言語が Cの何らかの神託に基づいて定義されている場合、その言語は C に対する完全問題に基づいて定義されていると想定できます 。したがって、完全問題は、それが完全であるクラスの「代表」として機能します。
≤
m
P
{\displaystyle \leq _{\rm {m}}^{\mathsf {P}}}
≤
m
P
{\displaystyle \leq _{\rm {m}}^{\mathsf {P}}}
L
∈
C
{\displaystyle L\in {\mathcal {C}}}
A
≤
m
P
L
{\displaystyle A\leq _{\rm {m}}^{\mathsf {P}}L}
A
∈
C
{\displaystyle A\in {\mathcal {C}}}
K
i
{\displaystyle K_{i}}
Σ
i
P
{\displaystyle \Sigma _{i}^{\mathsf {P}}}
Σ
i
+
1
P
=
N
P
K
i
{\displaystyle \Sigma _{i+1}^{\mathsf {P}}={\mathsf {NP}}^{K_{i}}}
Π
i
+
1
P
=
c
o
N
P
K
i
{\displaystyle \Pi _{i+1}^{\mathsf {P}}={\mathsf {coNP}}^{K_{i}}}
Σ
2
P
=
N
P
S
A
T
{\displaystyle \Sigma _{2}^{\mathsf {P}}={\mathsf {NP}}^{\mathsf {SAT}}}
Sipser -Lautemann の定理は、 BPP クラス が多項式階層の第 2 レベルに含まれていることを述べています。
カンナンの定理は、任意の k に対して 、 SIZE (n k )に含まれないことを述べています 。
Σ
2
{\displaystyle \Sigma _{2}}
戸田の定理は 、多項式階層が P #P に含まれていることを述べています。
問題
における自然な問題の例としては、 回路の最小化が あります 。数値 k と ブール関数 f を 計算する回路 A が与えられたとき、同じ関数 fを計算するゲート数が最大で k の 回路があるかどうかを判定します 。C を すべてのブール回路の集合とします。言語
Σ
2
P
{\displaystyle \Sigma _{2}^{\mathsf {P}}}
L
=
{
⟨
A
,
k
,
B
,
x
⟩
∈
C
×
N
×
C
×
{
0
,
1
}
∗
|
B
has at most
k
gates, and
A
(
x
)
=
B
(
x
)
}
{\displaystyle L=\left\{\langle A,k,B,x\rangle \in {\mathcal {C}}\times \mathbb {N} \times {\mathcal {C}}\times \{0,1\}^{*}\left|B{\text{ has at most }}k{\text{ gates, and }}A(x)=B(x)\right.\right\}}
は多項式時間で決定可能である。言語
C
M
=
{
⟨
A
,
k
⟩
∈
C
×
N
|
there exists a circuit
B
with at most
k
gates
such that
A
and
B
compute the same function
}
{\displaystyle {\mathit {CM}}=\left\{\langle A,k\rangle \in {\mathcal {C}}\times \mathbb {N} \left|{\begin{matrix}{\text{there exists a circuit }}B{\text{ with at most }}k{\text{ gates }}\\{\text{ such that }}A{\text{ and }}B{\text{ compute the same function}}\end{matrix}}\right.\right\}}
は回路最小化言語です。 なぜなら、 L は 多項式時間で決定可能であり、 が与えられた場合 、 すべての 入力 x に対してとなる 回路 B が 存在する 場合のみ、 となるからです 。
C
M
∈
Σ
2
P
(
=
∃
P
∀
P
P
)
{\displaystyle {\mathit {CM}}\in \Sigma _{2}^{\mathsf {P}}(=\exists ^{\mathsf {P}}\forall ^{\mathsf {P}}{\mathsf {P}})}
⟨
A
,
k
⟩
{\displaystyle \langle A,k\rangle }
⟨
A
,
k
⟩
∈
C
M
{\displaystyle \langle A,k\rangle \in {\mathit {CM}}}
⟨
A
,
k
,
B
,
x
⟩
∈
L
{\displaystyle \langle A,k,B,x\rangle \in L}
の完全な問題は、 k – 1 個の量指定子の交替を 伴う量指定ブール式の充足可能性 です ( QBF k または QSAT k と略記)。これは、の ブール充足可能性問題 のバージョンです。この問題では、変数が k 個 の集合 X 1 , ..., X k に分割された ブール式 f が与えられます。以下が真であるかどうかを判定する必要があります。
Σ
k
P
{\displaystyle \Sigma _{k}^{\mathsf {P}}}
Σ
k
P
{\displaystyle \Sigma _{k}^{\mathsf {P}}}
∃
X
1
∀
X
2
∃
X
3
…
f
{\displaystyle \exists X_{1}\forall X_{2}\exists X_{3}\ldots f}
つまり、 X 1
の変数への値の割り当てがあり、 X 2 のすべての値の割り当てに対して、 X 3 の変数への値の割り当てが存在する 、... f は真ですか? 上記の変形は に対して完全です 。 最初の量指定子が「すべてに対して」、2 番目が「存在する」などの変形は に対して完全です。 各言語は、 k – 1 交替の制限を削除することによって得られる問題、つまり PSPACE 完全問題 TQBF のサブセットです 。
Σ
k
P
{\displaystyle \Sigma _{k}^{\mathsf {P}}}
Π
k
P
{\displaystyle \Pi _{k}^{\mathsf {P}}}
多項式階層の 2 番目以降のレベルに対して完全であることが知られている Garey/Johnson スタイルの問題のリストは、この概要に記載されています。
参照
参考文献
一般的な参考文献
アローラ、サンジーヴ、バラク、ボアズ (2009)。複雑性理論:現代的アプローチ。ケンブリッジ大学出版局 。ISBN 978-0-521-42426-4 セクション 1.4「文字列としてのマシンと汎用チューリングマシン」および 1.7「定理 1.9 の証明」
AR Meyer と LJ Stockmeyer 。「平方化を伴う正規表現の同値性問題には指数空間が必要」。1972 年、第 13 回 IEEE スイッチングおよびオートマトン理論シンポジウム の議事録 、125 ~ 129 ページ。多項式階層を導入した論文。
LJ Stockmeyer . 多項式時間階層. 理論計算機科学 , 第3巻, pp. 1–22, 1976年.
C. Papadimitriou . 計算複雑性. Addison-Wesley, 1994. 第17章 多項式階層 、pp. 409–438。
Michael R. Garey と David S. Johnson (1979)。 コンピュータと扱いにくさ: NP 完全性理論のガイド 。WH Freeman。ISBN 0-7167-1045-5 。 セクション7.2: 多項式階層、pp. 161–167。
引用
^ アローラとバラク、2009、pp.97
^ 多項式時間階層における完全性の概要、M. Schaefer、C. Umans
^ アローラとバラク、pp.99–100
^ アローラとバラク、pp.100
^ アローラとバラク、pp.100
^ アローラとバラク、2009、定理5.4
^ Hemaspaandra, Lane (2018). 「17.5 複雑性クラス」。Rosen, Kenneth H. (編)。 離散数学と組合せ数学のハンドブック 。離散数学とその応用 (第 2 版)。CRC プレス。pp. 1308–1314。ISBN 9781351644051 。
^ フェラロッティ、フラヴィオ;ヴァン・デン・ブッシュ、ヤン。ヴィルテマ、ジョニ (2018)。 「二次推移閉包ロジック内の表現力」。 DROPS-IDN/V2/Document/10.4230/LIPIcs.CSL.2018.22 。ダグシュトゥール城 - ライプニッツ情報センター。 土井 : 10.4230/LIPIcs.CSL.2018.22 。 S2CID 4903744。
^ アローラとバラク、2009年、主張5.5