与えられたブール式が計算上満足できるものであるかどうかを決定する問題は、実際に式の解を見つけることとは計算的に異なりますか?
言い換えれば、ブール変数の「正しい設定」を明示的に決定せずに、特定の式が満足できることを見つける別の方法はありますか?それとも、すべての可能な証明が多項式時間で「正しい設定」に短縮されますか?
私の無知を許して、私は工学部の学生です。ウィキペディアは、SATまたはUNSATを見つけるだけの行為がNP完全であることを示唆しているようです。
与えられたブール式が計算上満足できるものであるかどうかを決定する問題は、実際に式の解を見つけることとは計算的に異なりますか?
言い換えれば、ブール変数の「正しい設定」を明示的に決定せずに、特定の式が満足できることを見つける別の方法はありますか?それとも、すべての可能な証明が多項式時間で「正しい設定」に短縮されますか?
私の無知を許して、私は工学部の学生です。ウィキペディアは、SATまたはUNSATを見つけるだけの行為がNP完全であることを示唆しているようです。
回答:
コメントで述べたように、ブール式の充足可能性を決定する方法はすべて、満足のいく変数割り当てを見つける方法に簡単に変換できます。これは、すべてのNP完全問題が下方自己還元可能であるためです。
ウィキペディアから:
SATの問題は自己還元可能です。つまり、SATのインスタンスが解決可能である場合に正しく応答する各アルゴリズムを使用して、満足のいく割り当てを見つけることができます。まず、与えられた式について質問します。答えが「いいえ」の場合、式は満足できません。それ以外の場合、部分的にインスタンス化された式、つまり最初の変数がに置き換えられたについて質問され、それに応じて簡略化されます。答えが「はい」の場合は、それ以外の場合はです。他の変数の値は、同じ方法で後で見つけることができます。合計で、アルゴリズムの回の実行が必要です。は、内の個別の変数の数です。