(これはの「上端」で10ヶ月以上前からの私の質問 cs.stackexchange上を。
その質問と私は尋ねた「下端」以上の8ヶ月前にここで、
私も上の恵みを持って、両方の応答がない。
これらは、 あるスクリーンショット。それは正しくレンダリングていない場合には)この記事は、どのように見えるかの
動機セクションの先頭には:
私はかどうか--ない不思議開始シェーファーの二分法の定理は
に拡張することができる約束その一環として-constraints、私が探した
最も単純な答えは簡単ではありませんそのため約束-制約:
シェーファーの定理がすでに適用されていることを回避するには、約束が失敗する入力タプルが少なくとも1つ必要です。その定理と同じ理由で、all-trueおよびall-falseはNOを与える必要があり、YESを与える複数の入力が存在する必要があります。特に、可能な入力は4つを超える必要があるため、promise-constraintは少なくとも3つの変数を超える必要があります。単純なものを取得するには、それがちょうど3つの変数を超えており、対称的であると仮定します。入力のどれが真であり、どれが真ではないか。その場合、2-trueはYESを与え、1-trueは失敗し、1-trueはYESを与え、2-trueは失敗します。各変数を反転するだけで、それらは同等に困難です。したがって、短い正式なステートメントと「より良い」名前を提供するために、後者を使用します。
動機セクションの終わり
私の質問
レッツ「正1.2イン3-SAT」ことを約束問題の
入力がの構文持っている3-SATを否定することなく、
場合必見出力YES:入力された1-で-3充足
場合必見出力NO :入力はNAE充足可能ではありません 。 その問題の複雑さは何ですか? 1つのpromise-constraintで変数が2回発生するかどうかを選択できます。
(1つのpromise-constraintで3回発生する変数は、
自動的に必須出力NOインスタンスになります。)
明らかに、恒等関数は約束問題から正の1-in-3-SAT
と正のNAE-SATへの縮小
であるため、GC(O(m)、coNLOGTIME)は約束の問題を解決できます。
ただし、
肯定的な1.2-in-3-SATの「単純な」NP硬さの証明を組み合わせて妨害することに
つながる一見重要な観察が
あります。少なくとも1つのpromise-constraintを複数回満たす変数のセットの場合、
これらの変数がすべて真である1対3の満足のいく割り当てはありません。
逆に、各promise-constraintを最大で1回満たす変数のセットの場合、
1-in-3-satisting割り当て、可能であればそれを変更して、そのセット内のすべての変数をtrueにすると、NAEを満たす割り当てが得られます。特に、2つの1で3を満たす課題の分離
は、常にNAEを満たす課題です。その結果について詳しく説明するには、
前提と正1.2-で-3-SATは持っているガジェットをするような、道具約束制約Cという
ガジェットは、すなわち、「お互いと同じようにCの変数を表し、解釈します」
。その場合、Cの変数xとyのそれぞれについて、Cが(x、y)=(a、b)の
ようなYES入力と(x、y)=(b、 a)次に、x = yのような入力がありますが、NOは与えられません。
特に、そのようなガジェットはpromise-coloringを実装することさえできません。
また、1-in-3-satisfying割り当ての補完は常にNAE-satisfying割り当てであり、ポジティブ1.2-in-3-SATが持つガジェットの種類に対してより弱い制限を課します。
2 o(m)