Axioms in computational complexity theory
計算複雑性理論 において、 ブルーム公理 または ブルーム 複雑性公理は、 計算可能関数 の集合における複雑性尺度の望ましい特性を規定する 公理 である 。この公理は 1967年に マヌエル・ブルームによって初めて定義された。 [1]
重要なのは、 ブルームの高速化定理 と ギャップ定理は 、これらの公理を満たす任意の複雑性尺度に対して成立することです。これらの公理を満たす最もよく知られた尺度は、時間(すなわち実行時間)と空間(すなわちメモリ使用量)です。
意味
まず、すべての部分計算可能関数 を列挙する。つまり、 これらの関数に計算可能な 番号を 割り当てる 。例えば、特定のプログラミング言語を指定し、それに基づいて 辞書式順序で n 番目に構文的に有効なプログラムを に割り当てる 。2つのプログラムが 全く同じ部分関数を計算しても、番号が異なる場合があります。これにより、それぞれの「複雑さ」を区別することができます。
φ
0
,
φ
1
,
…
{\displaystyle \varphi _{0},\varphi _{1},\dots }
φ
n
{\displaystyle \varphi _{n}}
φ
n
,
φ
m
{\displaystyle \varphi _{n},\varphi _{m}}
抽象的に言えば、プログラムの「複雑さ」を測定するということは 、任意のプログラム入力 に対して、 その入力に対する 計算の複雑さ/コストがとなるような 関数 を見つけることを意味します。プログラムが で停止しない 場合 、 は 未定義である必要があります。そうでない場合、 は 明確な自然数である必要があります。これにより、最初の公理が得られます。
φ
n
{\displaystyle \varphi _{n}}
Φ
n
{\displaystyle \Phi _{n}}
x
{\displaystyle x}
φ
n
{\displaystyle \varphi _{n}}
Φ
n
(
x
)
{\displaystyle \Phi _{n}(x)}
φ
n
{\displaystyle \varphi _{n}}
x
{\displaystyle x}
Φ
n
(
x
)
{\displaystyle \Phi _{n}(x)}
Φ
n
(
x
)
{\displaystyle \Phi _{n}(x)}
と の ドメイン は 同一です。
φ
i
{\displaystyle \varphi _{i}}
Φ
i
{\displaystyle \Phi _{i}}
さらに、計算可能でない複雑性尺度は実用上は興味深くないため、ある意味で計算可能であるべきである。このことから第二の公理が得られる。
任意の が与えられたときに が成り立つかどうかを判定する プログラムがあります 。 が定義されていない場合、定義により すべての に対して が偽となることに注意してください 。つまり、集合は 再帰的 です 。
i
,
x
,
c
∈
N
{\displaystyle i,x,c\in \mathbb {N} }
Φ
i
(
x
)
≤
c
{\displaystyle \Phi _{i}(x)\leq c}
Φ
i
(
x
)
{\displaystyle \Phi _{i}(x)}
Φ
i
(
x
)
≤
c
{\displaystyle \Phi _{i}(x)\leq c}
c
∈
N
{\displaystyle c\in \mathbb {N} }
{
(
i
,
x
,
c
)
∈
N
3
|
Φ
i
(
x
)
=
c
}
{\displaystyle \{(i,x,c)\in \mathbb {N} ^{3}|\Phi _{i}(x)=c\}}
これらは ブルーム公理 です。 ブルーム複雑度尺度 は、ブルーム公理を満たす
組み合わせです。
(
φ
,
Φ
)
{\displaystyle (\varphi ,\Phi )}
ブルーム複雑度測度と任意の計算可能関数 が与えられたとき、 を で囲まれた 複雑度クラス の関数のクラスと 定義します 。つまり、 は 計算可能関数 から構成され 、 が存在するような 関数が存在します 。
f
{\displaystyle f}
C
[
f
]
{\displaystyle C[f]}
f
{\displaystyle f}
C
[
f
]
{\displaystyle C[f]}
ϕ
{\displaystyle \phi }
φ
n
{\displaystyle \varphi _{n}}
∀
x
,
Φ
n
(
x
)
≤
f
(
x
)
{\displaystyle \forall x,\;\Phi _{n}(x)\leq f(x)}
計算量クラスの定義は、ほぼすべての入力に対して によって 有界となる関数のクラスと緩和されることがあります 。つまり、 は 計算可能関数 の全体から成り、 有限個を除くすべての に対して となる が 存在するということです 。
C
¯
[
f
]
{\displaystyle {\bar {C}}[f]}
f
{\displaystyle f}
C
¯
[
f
]
{\displaystyle {\bar {C}}[f]}
ϕ
{\displaystyle \phi }
φ
n
{\displaystyle \varphi _{n}}
Φ
n
(
x
)
≤
f
(
x
)
{\displaystyle \Phi _{n}(x)\leq f(x)}
x
{\displaystyle x}
例
時間計算量はブルーム計算量の尺度です。 かどうかを判断するには 、ステップ をシミュレートします 。ステップが完了する前にマシンが停止した場合は TRUE を出力し、そうでない場合は FALSE を出力します。
Φ
i
(
x
)
≤
c
{\displaystyle \Phi _{i}(x)\leq c}
φ
i
(
x
)
{\displaystyle \varphi _{i}(x)}
c
{\displaystyle c}
c
{\displaystyle c}
同様に、空間の複雑さ、またはそれらの計算可能な組み合わせは、Blum の複雑さの尺度です。
(
φ
,
φ
)
{\displaystyle (\varphi ,\varphi )}
2 番目の公理を満たしていないため、複雑性の尺度では
あり ません。
プロパティ
すべてのステートメントは、「任意の Blum 複雑性尺度について ...」で始まることを前提としています。
(
φ
,
Φ
)
{\displaystyle (\varphi ,\Phi )}
任意の関数を計算するのに、任意の困難な方法があります。 が計算可能な全 、および任意の部分計算可能な に対して、 となるような ものが存在し 、任意の に対して 、 が定義されている場合、 となります 。 [2] : Thm. 3.18
f
{\displaystyle f}
ϕ
{\displaystyle \phi }
φ
n
{\displaystyle \varphi _{n}}
ϕ
=
φ
n
{\displaystyle \phi =\varphi _{n}}
x
{\displaystyle x}
φ
n
(
x
)
{\displaystyle \varphi _{n}(x)}
Φ
n
(
x
)
>
h
(
x
)
{\displaystyle \Phi _{n}(x)>h(x)}
計算量クラスが任意に高い関数が存在する: 任意の全計算可能関数に対して 、全計算可能関数は に含まれない 。 [2] : Thm. 3.20
f
{\displaystyle f}
C
¯
[
f
]
{\displaystyle {\bar {C}}[f]}
ブルームのスピードアップ定理 。
ギャップ定理 : 任意の全計算可能関数が与えられた場合、 となる 全計算可能関数が存在する 。
g
{\displaystyle g}
f
{\displaystyle f}
C
[
f
]
=
C
[
g
∘
f
]
{\displaystyle C[f]=C[g\circ f]}
構成は構成的である。つまり、定理の証明は、 を計算するプログラムが与えられたときに 、 を計算するプログラムを出力するという単純なプログラムである 。 [2] : Thm. 3.26
f
{\displaystyle f}
g
{\displaystyle g}
McCreightとMeyerの和定理: [3] を全計算可能関数とし、任意の に対して 、 有限個を除くすべての に対してとなるものと する 。すると、全計算可能関数が存在し、 となる 。
f
(
n
,
x
)
{\displaystyle f(n,x)}
n
∈
N
{\displaystyle n\in \mathbb {N} }
f
(
n
+
1
,
x
)
>
f
(
n
,
x
)
{\displaystyle f(n+1,x)>f(n,x)}
x
{\displaystyle x}
F
{\displaystyle F}
C
[
F
]
=
∪
n
∈
N
C
[
f
(
n
,
⋅
)
]
{\displaystyle C[F]=\cup _{n\in \mathbb {N} }C[f(n,\cdot )]}
圧縮定理: [2] : Thm. 3.28 を全計算可能関数とする。 任意
の に対して、以下の条件を満たす 全計算可能関数が存在する。
g
(
x
,
n
)
{\displaystyle g(x,n)}
f
{\displaystyle f}
n
∈
N
{\displaystyle n\in \mathbb {N} }
が定義されている場合 、 となります 。この条件は、出力サイズに複雑さが積み重なるのを避けるために使用されます。
φ
n
(
x
)
{\displaystyle \varphi _{n}(x)}
φ
f
(
n
)
(
x
)
<
x
{\displaystyle \varphi _{f(n)}(x)<x}
となるような任意の プログラムについて、 ほぼすべての に対して が成り立ちます 。これにより普遍的な下限が得られます。
m
{\displaystyle m}
φ
m
=
φ
f
(
n
)
{\displaystyle \varphi _{m}=\varphi _{f(n)}}
Φ
m
(
x
)
≥
Φ
n
(
x
)
{\displaystyle \Phi _{m}(x)\geq \Phi _{n}(x)}
x
{\displaystyle x}
Φ
f
(
n
)
(
x
)
≤
g
(
x
,
Φ
n
(
x
)
)
{\displaystyle \Phi _{f(n)}(x)\leq g(x,\Phi _{n}(x))}
ほぼすべての に対して となる 。これにより、存在論的上限が得られる。
x
{\displaystyle x}
複雑度クラス
計算可能関数全体 の計算 複雑性クラスは 次のように定義できる。
f
{\displaystyle f}
C
(
f
)
:=
{
φ
i
∈
P
(
1
)
|
∀
x
.
Φ
i
(
x
)
≤
f
(
x
)
}
{\displaystyle C(f):=\{\varphi _{i}\in \mathbf {P} ^{(1)}|\forall x.\ \Phi _{i}(x)\leq f(x)\}}
C
0
(
f
)
:=
{
h
∈
C
(
f
)
|
c
o
d
o
m
(
h
)
⊆
{
0
,
1
}
}
{\displaystyle C^{0}(f):=\{h\in C(f)|\mathrm {codom} (h)\subseteq \{0,1\}\}}
C
(
f
)
{\displaystyle C(f)}
は、 未満の計算可能関数全体の集合です 。は 、 未満の 計算可能関数 全体の集合です。これらの関数を 集合上の 指示関数 と見なすと、 は集合の計算可能クラスと考えることができます。
f
{\displaystyle f}
C
0
(
f
)
{\displaystyle C^{0}(f)}
f
{\displaystyle f}
C
0
(
f
)
{\displaystyle C^{0}(f)}
参考文献
^ Blum, Manuel (1967). 「機械に依存しない再帰関数の計算量理論」 (PDF) . Journal of the ACM . 14 (2): 322– 336. doi :10.1145/321386.321395. S2CID 15710280.
^ abcd Smith, Carl H. (1994)、 「抽象複雑性理論」 、 計算理論への再帰的入門 、ニューヨーク、NY:Springer New York、pp. 68– 90、 doi :10.1007/978-1-4419-8501-9_4、 ISBN 978-1-4612-6420-0
^ McCreight, EM; Meyer, AR (1969-05-05). 「計算上の境界によって定義される計算可能関数のクラス:予備報告」 . 第1回ACM計算理論シンポジウム議事録 . STOC '69. ニューヨーク州ニューヨーク: Association for Computing Machinery: 79–88 . doi :10.1145/800169.805423. ISBN 978-1-4503-7478-1 。
Boas、Peter van Emde (1975)、Bečvář、Jíří (編)、 「Ten years of Speedup」 、 コンピュータ サイエンスの数学的基礎 1975 第 4 回シンポジウム、マリアンスケー ラズニェ、1975 年 9 月 1 ~ 5 日 、vol. 32、ベルリン、ハイデルベルク:シュプリンガー ベルリン ハイデルベルク、pp. 13–29 、 doi :10.1007/3-540-07389-2_179、 ISBN 978-3-540-07389-5
ブリッジズ、ダグラス・S. (1994)、 「抽象複雑性理論」 、 Computability 、第146巻、ニューヨーク、ニューヨーク州:Springer New York、pp. 93– 115、 doi :10.1007/978-1-4612-0863-1_7、 ISBN 978-1-4612-6925-0