概要 計算複雑性理論において、量化ブール式問題 (QBF )は、 存在量化子 と全称量化子の 両方を各変数に適用できるブール充足可能性問題 の一般化です。言い換えれば、ブール変数の集合に対する量化された文形式が真か偽かを問う問題です。例えば、以下はQBFの例です。
∀ x ∃ y ∃ z ( ( x ∨ z ) ∧ y ) {\displaystyle \forall x\ \exists y\ \exists z\ ((x\lor z)\land y)} QBF は、多項式空間と無制限の時間で決定論的または非決定論的なチューリング マシン によって解ける問題のクラスであるPSPACE の標準的な完全問題です。 [ 1 ] 抽象構文木 の形式で式が与えられた場合、この問題は、式を評価する相互再帰的な手順のセットによって簡単に解くことができます。このようなアルゴリズムは、最悪の場合には線形である木の高さに比例する空間を使用しますが、量化子の数に対して指数関数的な時間を使用します。
MA ⊊ PSPACE が広く信じられているように、QBF は決定論的多項式時間でも確率的 多項式時間でも解くことができず、与えられた解を検証することさえできません (実際、充足可能性問題とは異なり、解を簡潔に指定する方法は知られていません)。AP = PSPACEであるため、交代チューリングマシンを使用して線形時間で解くことができます。ここで、 AP は交代マシンが多項式時間で解くことができる問題のクラスです。[ 2 ]
画期的な結果IP = PSPACE が示されたとき(対話型証明システム を参照)、それは問題の特定の算術化を解くことによって QBF を解くことができる対話型証明システムを示すことによって行われた。[ 3 ]
QBF式には、有用な標準形がいくつか存在します。例えば、すべての量化子を式の先頭に移動させ、全称量化子と存在量化子を交互に配置する多項式時間多対一還元 が存在することが示されています。また、IP = PSPACEの証明で有用であることが証明された別の還元では、各変数の使用箇所と、その変数を束縛する量化子の間に、全称量化子を1つだけ配置します。これは、算術演算の特定の部分式における積の数を制限する上で非常に重要でした。
完全量化ブール式は、プレネックス正規形 と呼ばれる非常に特定の形式を持つと想定できます。これは、量化子のみを含む部分と、通常 で表される非量化ブール式を含む部分の 2 つの基本部分から構成されます。ϕ {\displaystyle \displaystyle \phi } . もしあるならn {\displaystyle \displaystyle n} ブール変数の場合、式全体は次のように記述できます。
∃ x 1 ∀ x 2 ∃ x 3 ⋯ Q n x n ϕ ( x 1 、 x 2 、 x 3 、 … 、 x n ) {\displaystyle \displaystyle \exists x_{1}\forall x_{2}\exists x_{3}\cdots Q_{n}x_{n}\phi (x_{1},x_{2},x_{3},\dots ,x_{n})} すべての変数が何らかの量化子の範囲 内にある場合。ダミー変数を導入することで、前置正規形の任意の式を、存在量化子と全称量化子が交互に現れる文に変換できます。ダミー変数を使用するy 1 {\displaystyle \displaystyle y_{1}} 、
∃ x 1 ∃ x 2 ϕ ( x 1 、 x 2 ) ↦ ∃ x 1 ∀ y 1 ∃ x 2 ϕ ( x 1 、 x 2 ) {\displaystyle \displaystyle \exists x_{1}\exists x_{2}\phi (x_{1},x_{2})\quad \mapsto \quad \exists x_{1}\forall y_{1}\exists x_{2}\phi (x_{1},x_{2})} 2番目の文は同じ真理値 を持つが、制限された構文に従っている。完全量化ブール式が前置標準形であると仮定することは、証明においてよく見られる特徴である。
QBFソルバー
世間知らず QBFがTQBFに含まれるかどうか(つまり真であるかどうか)を判定する単純な再帰アルゴリズムがあります。
Q 1 x 1 Q 2 x 2 ⋯ Q n x n ϕ ( x 1 、 x 2 、 … 、 x n ) 。 {\displaystyle Q_{1}x_{1}Q_{2}x_{2}\cdots Q_{n}x_{n}\phi (x_{1},x_{2},\dots ,x_{n}).} 式に量指定子が含まれていない場合は、そのまま式を返します。そうでない場合は、最初の量指定子を取り除き、最初の変数の2つの可能な値をチェックします。
A = Q 2 x 2 ⋯ Q n x n ϕ ( 0 、 x 2 、 … 、 x n ) 、 {\displaystyle A=Q_{2}x_{2}\cdots Q_{n}x_{n}\phi (0,x_{2},\dots ,x_{n}),} B = Q 2 x 2 ⋯ Q n x n ϕ ( 1 、 x 2 、 … 、 x n ) 。 {\displaystyle B=Q_{2}x_{2}\cdots Q_{n}x_{n}\phi (1,x_{2},\dots ,x_{n}).} もしQ 1 = ∃ {\displaystyle Q_{1}=\exists } 、そして返すA ∨ B {\displaystyle A\lor B} 。 もしQ 1 = ∀ {\displaystyle Q_{1}=\forall } 、そして返すA ∧ B {\displaystyle A\land B} [ 4 ]
このアルゴリズムの実行速度はどのくらいですか?初期QBFの各量化子に対して、アルゴリズムは線形に小さい部分問題に対して2回の再帰呼び出しを行います。そのため、アルゴリズムの実行時間は指数関数的O(2 n ) となります。
このアルゴリズムはどのくらいのスペースを使用しますか? アルゴリズムの各呼び出し内で、A と B の計算の中間結果を格納する必要があります。再帰呼び出しごとに 1 つの量指定子が削除されるため、再帰の深さは量指定子の数に比例します。量指定子のない式は、変数の数に比例するスペースで評価できます。最初の QBF は完全に量指定されているため、少なくとも変数と同じ数の量指定子があります。したがって、このアルゴリズムはO ( n + log n ) = O ( n ) のスペースを使用します。これにより、TQBF 言語は PSPACE 複雑性クラス の一部になります。
最先端の QBF は PSPACE 完全であるにもかかわらず、これらのインスタンスを解くためのソルバーが多数開発されています (これは、単一の存在量化子バージョンであるSATの状況に似ています。NP 完全で あるにもかかわらず、多くの SAT インスタンスをヒューリスティックに解くことが可能です)。[ 5 ] [ 6 ] 量化子が 2 つしかない場合、2QBF として知られるケースは、特に注目されています。[ 7 ]
QBF ソルバーの競技会 QBFEVAL は、2004 年以来ほぼ毎年開催されています。[ 5 ] [ 6 ] ソルバーは、QDIMACS フォーマットと QCIR または QAIGER フォーマットのいずれかでインスタンスを読み込む必要があります。[ 8 ] 高性能な QBF ソルバーは、一般的に QDPLL ( DPLL の一般化) または CEGAR を使用します。[ 5 ] [ 6 ] [ 7 ] QBF ソルビングの研究は、1998 年に QBF 用のバックトラッキング DPLL の開発から始まり、2002 年に節学習と変数除去が導入されました。[ 9 ] そのため、1960 年代から開発されている SAT ソルビングと比較すると、QBF は 2017 年現在では比較的新しい研究分野です。[ 9 ]
代表的なQBFソルバーには以下のようなものがあります。
CADETは、増分決定法に基づいて、1つの量化子交替に制限された量化ブール式を解き( スコレム関数を 計算する機能も備えている)、その答えを証明する機能も備えている。[ 10 ] CAQE - 量化ブール式のためのCEGARベースのソルバー。2021年現在、最近のQBFEVALの受賞者。[ 11 ] DepQBF - 量化ブール式のための探索ベースのソルバー[ 12 ] sKizzo - 記号的スコレム化を使用し、充足可能性証明書を抽出し、ハイブリッド推論エンジン を使用し、抽象分岐を実装し、限定量化子を処理し、有効な割り当てを列挙した史上初のソルバーであり、QBFEVAL 2005、2006、2007 の受賞者です。[ 13 ]
アプリケーション QBFソルバーは、(人工知能における)安全計画を含む計画に適用できます。後者はロボット工学の応用において重要です。[ 14 ] QBFソルバーは、SATベースのソルバーに必要なエンコーディングよりも短いため、境界付きモデル検査 にも適用できます。 [ 14 ]
QBFの評価は、存在量化変数を制御するプレイヤーと全称量化変数を制御するプレイヤー間の2人対戦ゲームと見なすことができます。このため、QBFは 反応合成 問題をエンコードするのに適しています。[ 14 ] 同様に、QBFソルバーはゲーム理論 における敵対的ゲームをモデル化するために使用できます。たとえば、QBFソルバーを使用して地理 ゲームの勝利戦略 を見つけることができ、その後、対話的に自動的にプレイできます。[ 15 ]
QBFソルバーは形式的等価性チェック に使用でき、ブール関数の合成にも使用できます。[ 14 ]
QBFとしてエンコードできるその他の問題の種類には、以下のようなものがあります。
連言標準形 の不充足式の節が最小不充足部分集合に属するかどうか[ 9 ] [ 16 ] 、および充足式中の節が最大充足部分集合に属するかどうかを検出する[ 16 ]。 適合計画の符号化[ 9 ] ASP関連の問題[ 9 ] 抽象的議論[ 9 ] 線形時相論理 モデル検査[ 9 ] 非決定性有限オートマトン 言語の包含[ 9 ] 分散システムの合成と信頼性[ 9 ]
拡張機能 確率的充足可能性問題(SSATとして知られる)は、ランダム化R量化子を追加し、全称量化を最小化、存在量化を最大化とみなし、式で表される確率が与えられた閾値を超えるかどうかを問うTQBFの拡張である。[ 17 ]
QBFはヘンキン量化子 を持つように拡張することもできます。[ 8 ]
PSPACEの完全性 TQBF 言語は、複雑性理論 において、標準的なPSPACE 完全 問題として扱われます。PSPACE 完全であるということは、言語が PSPACE に属し、かつPSPACE 困難である ことを意味します。上記のアルゴリズムは、TQBF が PSPACE に属することを示しています。TQBF が PSPACE 困難であることを示すには、複雑性クラス PSPACE に属する任意の言語が多項式時間で TQBF に還元できることを示す必要があります。つまり、
∀ L ∈ P S P A C E 、 L ≤ p T Q B F 。 {\displaystyle \forall L\in {\mathsf {PSPACE}},L\leq _{p}\mathrm {TQBF} .} これは、PSPACE言語Lの場合、入力x がLに含まれるかどうかは、f ( x ) {\displaystyle f(x)} TQBF には、入力の長さに対して多項式時間で実行する必要がある関数f が含まれています。記号的には、
x ∈ L ⟺ f ( x ) ∈ T Q B F 。 {\displaystyle x\in L\iff f(x)\in \mathrm {TQBF} .} TQBFがPSPACE困難であることを証明するには、f の指定が必要です。
そこで、LがPSPACE言語であると仮定します。これは、Lが多項式空間決定性チューリングマシン (DTM)によって決定可能であることを意味します。これは、LをTQBFに還元する上で非常に重要です。なぜなら、そのようなチューリングマシンの構成はブール式で表現でき、ブール変数はマシンの状態とチューリングマシンテープ上の各セルの内容を表し、チューリングマシンのヘッドの位置は式の順序によって式に符号化されるからです。特に、私たちの還元では、変数を使用します。c 1 {\displaystyle c_{1}} そしてc 2 {\displaystyle c_{2}} これは、L の DTM の 2 つの可能な構成を表し、自然数 t は QBF を構築します。ϕ c 1 、 c 2 、 t {\displaystyle \phi _{c_{1},c_{2},t}} これは、L の DTM がエンコードされた構成から変更できる場合に限り真である。c 1 {\displaystyle c_{1}} エンコードされた構成へc 2 {\displaystyle c_{2}} t ステップ以内で。関数f は、L の DTM から QBF を構築します。ϕ c 始める 、 c 受け入れる 、 T {\displaystyle \phi _{c_{\text{start}},c_{\text{accept}},T}} 、 どこc s t 1 r t {\displaystyle c_{start}} これはDTMの初期構成です。c 受け入れる {\displaystyle c_{\text{accept}}} は DTM の受理構成であり、T は DTM がある構成から別の構成へ移動するために必要な最大ステップ数です。T = O (exp( n k )) となることがわかっています。ここ で nは 入力の 長 さ です。これ は、関連する DTM の可能な構成の総数を制限するからです。もちろん、DTM が到達可能な構成の数を超えるステップ数を必要とすることはありません。c 1 c c e p t {\displaystyle c_{\mathrm {accept} }} ループに入らない限り、到達することはありませんc 1 c c e p t {\displaystyle c_{\mathrm {accept} }} ともかく。
証明のこの段階で、入力式w (もちろんエンコードされている) がc 始める {\displaystyle c_{\text{start}}} ) は、QBF がϕ c 始める 、 c 受け入れる 、 T {\displaystyle \phi _{c_{\text{start}},c_{\text{accept}},T}} つまり、f ( w ) {\displaystyle f(w)} はTQBFに含まれる。この証明の残りの部分は、fが 多項式時間で計算できることを証明する。
のためにt = 1 {\displaystyle t=1} 計算ϕ c 1 、 c 2 、 t {\displaystyle \phi _{c_{1},c_{2},t}} これは単純明快です。一方の構成が他方の構成に1ステップで変化するか、変化しないかのどちらかです。私たちの式が表すチューリングマシンは決定論的であるため、これは問題になりません。
のためにt > 1 {\displaystyle t>1} 計算ϕ c 1 、 c 2 、 t {\displaystyle \phi _{c_{1},c_{2},t}} 再帰的な評価を伴い、いわゆる「中間点」を探します。m 1 {\displaystyle m_{1}} この場合、式を次のように書き換えます。
ϕ c 1 、 c 2 、 t = ∃ m 1 ( ϕ c 1 、 m 1 、 ⌈ t / 2 ⌉ ∧ ϕ m 1 、 c 2 、 ⌈ t / 2 ⌉ ) 。 {\displaystyle \phi _{c_{1},c_{2},t}=\exists m_{1}(\phi _{c_{1},m_{1},\lceil t/2\rceil }\wedge \phi _{m_{1},c_{2},\lceil t/2\rceil }).} これは、c 1 {\displaystyle c_{1}} 到達できるc 2 {\displaystyle c_{2}} t のステップで、c 1 {\displaystyle c_{1}} 中間点に達するm 1 {\displaystyle m_{1}} でt / 2 {\displaystyle t/2} 階段、それ自体が到達するc 2 {\displaystyle c_{2}} でt / 2 {\displaystyle t/2} 手順。後者の質問への答えは、もちろん前者の質問への答えにもなります。
ここで、t は T によってのみ制限されますが、T は入力の長さに対して指数関数的(したがって多項式ではない)です。さらに、各再帰層は、式の長さを実質的に2倍にします。(変数m 1 {\displaystyle m_{1}} (これは中間点の 1 つにすぎません。t が大きいほど、途中に停車する場所が増える、と言ってもよいでしょう。)したがって、再帰的に評価するのに必要な時間はϕ c 1 、 c 2 、 t {\displaystyle \phi _{c_{1},c_{2},t}} この方法では、式が指数関数的に大きくなる可能性があるため、指数関数的に大きくなる可能性もあります。この問題は、変数を使用して普遍的に定量化することで解決されます。c 3 {\displaystyle c_{3}} そしてc 4 {\displaystyle c_{4}} 構成ペア (例:{ ( c 1 、 m 1 ) 、 ( m 1 、 c 2 ) } {\displaystyle \{(c_{1},m_{1}),(m_{1},c_{2})\}} )、これにより、再帰的な層によって数式の長さが拡大するのを防ぎます。これにより、次の解釈が得られます。ϕ c 1 、 c 2 、 t {\displaystyle \phi _{c_{1},c_{2},t}} :
ϕ c 1 、 c 2 、 t = ∃ m 1 ∀ ( c 3 、 c 4 ) ∈ { ( c 1 、 m 1 ) 、 ( m 1 、 c 2 ) } ( ϕ c 3 、 c 4 、 ⌈ t / 2 ⌉ ) 。 {\displaystyle \phi _{c_{1},c_{2},t}=\exists m_{1}\forall (c_{3},c_{4})\in \{(c_{1},m_{1}),(m_{1},c_{2})\}(\phi _{c_{3},c_{4},\lceil t/2\rceil }).} この式のバージョンは、実際には多項式時間で計算できます。なぜなら、そのどのインスタンスも多項式時間で計算できるからです。全称量化された順序対は、どの選択でも、( c 3 、 c 4 ) {\displaystyle (c_{3},c_{4})} 作られる、ϕ c 1 、 c 2 、 t ⟺ ϕ c 3 、 c 4 、 ⌈ t / 2 ⌉ {\displaystyle \phi _{c_{1},c_{2},t}\iff \phi _{c_{3},c_{4},\lceil t/2\rceil }} 。
したがって、∀ L ∈ P S P A C E 、 L ≤ p T Q B F {\displaystyle \forall L\in {\mathsf {PSPACE}},L\leq _{p}\mathrm {TQBF} } したがって、TQBFはPSPACE困難である。TQBFがPSPACEに属するという上記の結果と合わせると、TQBFがPSPACE完全言語であることの証明が完了する。
(この証明は、Sipser 2006 pp. 310–313 にほぼ準拠している。Papadimitriou 1994 にも証明が掲載されている。)
この構成は対数空間で実行できるため、TQBF は対数空間多対一還元 という意味で PSPACE 完全である。[ 18 ]
注釈と参考文献 ↑ M. Garey & D. Johnson (1979). Computers and Intractability: A Guide to the Theory of NP-Completeness . WH Freeman, San Francisco, California. ISBN 0-7167-1045-5 。 ↑ A. Chandra 、 D . Kozen、 L. Stockmeyer (1981)。 「Alternation」 。Journal of the ACM。28 ( 1 ): 114– 133。doi : 10.1145 / 322234.322243。S2CID 238863413 。 {{cite journal}}: CS1 maint: 複数の名前: 著者リスト (リンク)↑ Adi Shamir (1992). "Ip = Pspace" . Journal of the ACM . 39 (4): 869– 877. doi : 10.1145/146585.146609 . S2CID 315182 . ↑ Arora, Sanjeev; Barak, Boaz (2009)、 「空間複雑性」 、 Computational Complexity 、ケンブリッジ:ケンブリッジ大学出版局、pp. 78–94 、 doi : 10.1017/cbo9780511804090.007 、 ISBN 978-0-511-80409-0 S2CID 262800930、2021年5月26日 取得 {{citation}}: CS1メンテナンス: ISBNを使用した作業パラメータ (リンク)1 2 3 "QBFEVAL ホームページ" . www.qbflib.org . 2021-02-13 に取得. 1 2 3 "QBFソルバー | Beyond NP" . beyondnp.org . 2021-02-13 に取得 . 1 2 Balabanov, Valeriy; Roland Jiang, Jie-Hong; Scholl, Christoph; Mishchenko, Alan; K. Brayton, Robert (2016). "2QBF: Challenges and Solutions" (PDF) . International Conference on Theory and Applications of Satisfiability Testing : 453– 459. Archived (PDF) from the original on 13 February 2021 – via SpringerLink. 1 2 "QBFEVAL'20" . www.qbflib.org . 2021年5月29日 取得 . 1 2 3 4 5 6 7 8 9 Lonsing, Florian (2017 年 12 月). "QBF ソルビング入門" (PDF) . www.florianlonsing.com . 2021 年 5 月 29 日 取得 . ↑ Rabe、Markus N. (2021-04-15)、 MarkusRabe/cadet 、 2021-05-06 取得 ↑ Tentrup、Leander (2021-05-06)、 ltentrup/caqe 、 2021-05-06 取得 ↑ "DepQBF Solver" . lonsing.github.io . 2021-05-06 に取得. ↑ "sKizzo - QBFソルバー" . www.skizzo.site . 2021年5月6日 取得 . 1 2 3 4 Shukla, Ankit; Biere, Armin; Seidl, Martina; Pulina, Luca (2019). 量化ブール式の応用に関する調査 (PDF) . 2019 IEEE 31st International Conference on Tools for Artificial Intelligence. pp. 78– 84. doi : 10.1109/ICTAI.2019.00020 . 2021 年 5 月 29 日 取得 . ↑ Shen, Zhihe. QBFソルバーを用いたゲームとパズルの解決 (PDF) (学位論文)。ボストンカレッジ。 1 2 Janota, Mikoláš; Marques-Silva, Joao (2011). On Deciding MUS Membership with QBF . Principles and Practice of Constraint Programming – CP 2011. Vol. 6876. pp. 414–428 . doi : 10.1007/978-3-642-23786-7_32 . ISBN 978-3-642-23786-7 。↑ Christor Papadimitriou. Games Against Nature, Journal for Computer and system Sciences 31, pages 288-301, 1985. ↑ 「CS 221: 計算複雑性」 (PDF) 。 2010年7月20日に オリジナル (PDF) からアーカイブされました。 ↑ クロム、メルヴェン R. (1967)。 「すべての論理和が 2 値となる一次式のクラスの決定問題」。 数学論理と数学に関する研究 。 13 ( 1–2 ): 15–20 . 土井 : 10.1002/malq.19670130104 。 。↑ Aspvall, Bengt; Plass, Michael F.; Tarjan, Robert E. (1979). "特定の量化ブール式の真偽をテストするための線形時間アルゴリズム" (PDF) . Information Processing Letters . 8 (3): 121– 123. doi : 10.1016/0020-0190(79)90002-4 . 。↑ Chen, Hubie (2009 年 12 月). "論理、複雑性、代数の出会い". ACM Computing Surveys . 42 (1). ACM: 1–32 . arXiv : cs/0611018 . doi : 10.1145/1592451.1592453 . S2CID 11975818 . ↑ Lichtenstein, David (1982-05-01). "平面公式とその用途" . SIAM Journal on Computing . 11 (2): 329– 343. doi : 10.1137/0211025 . ISSN 0097-5397 . S2CID 207051487 . Fortnow & Homer (2003) は、PSPACE と TQBF の歴史的背景についていくつか述べている。 Zhang(2003)はブール式の歴史的背景について述べている。 Arora, Sanjeev. (2001). COS 522: 計算複雑性 . 講義ノート、プリンストン大学。2005年10月10日取得。 Fortnow, Lance & Steve Homer. (2003年6月). 計算複雑性の短い歴史. 欧州理論計算機科学協会紀要 、計算複雑性コラム、80. 2024年5月14日取得。 Papadimitriou, CH (1994). 計算複雑性。Reading : Addison-Wesley. Sipser, Michael. (2006). 計算理論入門. ボストン: Thomson Course Technology. 張林濤 (2003). 真理の探求:ブール式の充足可能性の手法 . 2005年10月10日取得。
外部リンク 定量化ブール式ライブラリ(QBFLIB) 量化ブール式に関する国際ワークショップ