2つの数量詞()を使用した式の確認-2QBF
SATソルバーは、1つの数量詞でブール式の有効性をチェックする強力な方法を提供します。 たとえば、有効性を確認するには、SATソルバーを使用してが充足可能かどうかを判断できます。有効性を確認するには、SATソルバーを使用してが充足可能かどうかを判断できます。(ここではブール変数のベクトルで、はブール式です。)φ (X )∀ X 。φ (X )¬ φ (X )X = (X 1、··· 、XのN)N φ∃x.φ(x)∃x.φ(x)\exists x . \varphi(x)φ(x)φ(x)\varphi(x)∀x.φ(x)∀x.φ(x)\forall x . \varphi(x)¬φ(x)¬φ(x)\neg \varphi(x)x=(x1,…,xn)x=(x1,…,xn)x=(x_1,\dots,x_n)nnnφφ\varphi QBFソルバーは、任意の数の数量詞を持つブール式の妥当性をチェックするように設計されています。 2つの量指定子を持つ数式がある場合はどうなりますか?有効性をチェックするための効率的なアルゴリズムはありますか。QBFに一般的なアルゴリズムを使用するよりも優れたアルゴリズムですか。具体的には、という形式の式があり(または)、およびその有効性を確認したい。これに適したアルゴリズムはありますか? 編集4/8:このクラスの式は2QBFとしても知られていることがわかったので、2QBFに適したアルゴリズムを探しています。∃ X 。∀ Y 。ψ (x 、y )∀x.∃y.ψ(x,y)∀x.∃y.ψ(x,y)\forall x . \exists y . \psi(x,y)∃x.∀y.ψ(x,y)∃x.∀y.ψ(x,y)\exists x . \forall y . \psi(x,y) さらに専門化する:私の場合、という形式の式があり有効性を確認したい。ここで、はビット出力を生成する関数です。QBFの一般的なアルゴリズムよりも効率的に、この特定の種類の式の有効性をチェックするアルゴリズムはありますか?f 、g k∀x.∃y.f(x)=g(y)∀x.∃y.f(x)=g(y)\forall x . …