一般に、多変量多項式の充足可能性は3-SATと同等であることを知っています。ただし、2次の場合に優れた手法があるかどうか、特に多項式の時間解があるかどうかは疑問です。
より一般的な質問になると思いますが、充足可能性の問題が効率的に解決できる多変量多項式のクラスはありますか?
一般に、多変量多項式の充足可能性は3-SATと同等であることを知っています。ただし、2次の場合に優れた手法があるかどうか、特に多項式の時間解があるかどうかは疑問です。
より一般的な質問になると思いますが、充足可能性の問題が効率的に解決できる多変量多項式のクラスはありますか?
回答:
二次多項式に、線形代数を含む実数根があるかどうかを判断できます。お気づきのように、一般的なケースは難しいはずです。
最初の観察のすべてのためのいずれかであればまたはのすべてのため(これは連続することによって、以下)。したがって、すべてのxについてであるかどうかを判断できれば十分です。一般に、これはヒルベルトの17番目の問題の複雑性理論バージョンに関連しています。多項式p (x )が有理関数の二乗和と正の定数c(これはArtinの定理です)としてを記述できる場合に限り、実数に対して正です。この分解を見つけたり、意思決定の問題を解決したりすることは、一般的に最も困難ですが、スペクトル定理の魔法のため、2次のケースは簡単です。一般的なケースの詳細については、Devanur、Lipton、Vishnoi、およびMonique Laurentの調査をご覧ください。
書きます。ここで、は次数2の同次であり、は線形で、は定数です。q (x 0、x )= p 2(x )+ x 0 p 1(x )+ c x 2 0を定義しましょうの均質化を行います。ここで、は追加の変数です。
請求。
「if」の方向は簡単です。自明ではない方向で、すべてのxについてと想定し、x 0 ≠ 0と想定します 。q (x 0、x )= x 2 0 q ( 1 、x QED
ので、という通知も場合、連続してP (X )> 0のすべてのためのx、次いでQ (X 0、X )≥ 0全てについて(X 0、X )(含むX 0 = 0) 。
以来、均一である、我々は書くことができ、Q (X 0、X )= Y T Q Y、Qは対称行列であり、Y = (X 0、Xが)。上記により、すべてのxについてp (x )> 0の場合、Qは正の半定値です。また、Q (X 0、X )> 0のすべてのためのx 0 ≠ ifとのカーネル場合にのみ Qは超平面の部分集合である { Y = (0 、X ):X ∈ R N }。これらの条件は両方とも、 QのSVDを計算することによって多項式時間で決定できます。
これは、一部の多項式で機能するアプローチですが、すべての多項式で機能するとは限りません。
すべての多重線形二次多項式で機能することが保証されています。また、p (⋯ 、x 、⋯ )にx 2項が含まれないような変数がある場合にも機能することが保証されています。しかし、フォームの多項式のためのP (X 、⋯ 、Z )= C X ⋅ X 2 + ⋯ + C Z ⋅ Z 2 + P '(X 、⋯ 、Z )ここで、は多線形二次多項式(つまり、すべての変数が二乗されているように見える多項式)であり、ヒューリスティックのみを提示できます。多くの場合、ヒューリスティックは実際には問題なく動作する可能性がありますが、証拠はありません。
(私はどこかにここに潜んでいるよりきれいな解決策があるはずだと思います...)
してみましょうフィールドです。仮定P (X 、Y 、Z 、⋯ )∈ F [ X 、Y 、Z 、⋯ ]は、フィールド内の係数を持つ多変量二次多項式であるF。xの因数を取り除いて、
ことを通知なければならない線形/アフィン、Rは二次である必要があり、そしてCは定数(でなければならないC ∈ F)。私たちは、への値の割り当て知りたいのx 、yの、Zは、⋯ことになり
ここで、を(xの)この2次方程式の判別式、つまり、
元の多項式を使用すると値の割り当てを見つけることができる場合にのみ充足されなすΔ (Y 、Zは、⋯ )正方形(すなわち、平方剰余)であるF。Δ (y 、z 、⋯ )自体が多変量2次多項式であることに注意してください(qはアフィンでrは2次であるため)。
この時点で、(簡単なケース)またはc ≠ 0(難しいケース)に基づいて、ソリューションアプローチが分岐します。
場合、この方程式を解くのは簡単です。基本的には線形方程式です(他のすべての変数を修正すると、xは線形になります)。
その結果、この問題が特に簡単に解決できる特別なクラスの多項式があります。変数が存在する多項式は、簡単にするために、xと呼ぶことにして、x 2がpに現れないようにします。そのクラスの場合、上記のc = 0となり、問題を解決するには次のアルゴリズムで十分です。
にy 、z 、⋯への値の割り当てがあり、q (y 、z 、⋯ )≠ 0となるかどうかを確認します。qは線形なので、これは簡単に確認できます。
yesの場合、その後に値の任意のこのような割り当てを選択し。次に、x = − r (y 、z 、⋯ )q (y 、z 、⋯ )− 1を設定します。定義により、q (y 、z 、⋯ )≠ 0なので、q (y 、z 、⋯ )は逆になります(フィールドで作業しているため)ので、このような値x存在します。これはすぐに値を代入生み出す作るPゼロを、私たちは完了です。
ない場合には、我々が知っているの変数に対する値のすべての可能な割り当てのためのp。事実上、そもそもpがxに依存することはなかったため、これをxの関数と考えるのは誤りでした。または、別の言い方をすると、pから1つの変数を削除し、元の問題の新しいインスタンスを取得します。メソッドをr (y 、z 、。例外: pが単一変数の関数(つまり、 p (x ))の場合、この場合、 pは充足可能ではないと結論付けることができます(その変数のすべての可能な値に対して、まったくゼロです)。
このアルゴリズムは簡単なケースを扱います。つまり、pに現れる変数が少なくとも1つ存在するが、x 2がpに現れない多項式です。この場合、アルゴリズムは多項式時間で実行され、多項式をゼロにする変数への値の割り当てが存在するかどうかを判断します。
ハードケースに戻ります。簡単なケースに当てはまらない場合は、
ここで、には二乗項がありません(多線形です)。この場合に使用できるメソッドを見てみましょう。
これが解決できる状況の1つです。変数の組が存在すると仮定しよう- C X / C yは、正方形(平方剰余で)にあるF、たとえば、- C X / C Y = α 2。その後、我々は、変数の変化を適用することができ、Y " = Y + α のxを。便利なことに、
ドル
この変数の変更をにプラグインすると、
つまり、
省略部分が含まれていない場合(以降用語C X ⋅ X 2及びα 2 のC Y ⋅ X 2項はキャンセル)。事実上、x 2項を削除したので、上記の方法をp (x 、y ′、⋯ )に適用できます。通知することをP (X 、Y '、⋯ )= 0の場合に限りある充足P (Xです。我々は、このゼロになる解決策を見つけたとき、我々は、のバック解決することができ、Y、我々はへの割り当てを得る X 、Y 、Z 、⋯なす P (X 、Y 、Z 、⋯ )= 0。
変数のペアが2乗項を排除できない可能性はありますか?もしにおける平方剰余(正方形)であり、F、我々は、少なくとも3つの変数がある場合は、不可能である:- C X / C 、Z = (- 1 )× (- C X / CのY)× (− c y / c z)、そして2次の非残差と2次の非残差の積は2次の残差であるため、少なくとも1つの− c、 − c y / c z、または − c x / c zは2次残差であるため、2乗項の少なくとも1つをキャンセルできます。ただし、 − 1が2次の残差である場合、または変数が1つまたは2つしかない場合は、2乗項を削除できない場合があります。それが残りの難しいケースです。(唯一の1または2の変数の状況はそう本当に難しい場合は、どこで、取り扱いが困難ではありません - 1平方非剰余であり、各変数は中乗表示される場所のp。)この困難なケースに対する一般的な解決策はありません。
ただし、この困難なケースでも機能することが多いヒューリスティックを提案できます。
どのフィールドでも、すべてのフィールド要素の約半分は正方形(二次剰余)です。あなたがランダムフィールド要素を選択した場合、それは程度の確率で、正方形になります1 / 2。我々は、値を選択した場合したがって、Y 、Z 、...ランダムに、我々は、(ヒューリスティック)を予測することができるΔ (Y 、Zを、⋯ )確率を有する正方形であるべきである1 / 2、場合Δは(Y 、Zは、⋯ )は、のように作用しますランダム関数。これは、次のヒューリスティックアルゴリズムを示唆しています。
削除する変数をランダムに選択します。たとえば、です。
値をランダムに選択します。
場合に正方形であるFは、式P (X 、Y 、Zは、⋯ )= 0のための溶液有するX、すなわちX = (- Q (Y 、Zを、⋯ )± √(Fに特性2がないと仮定)これは、私たちの変数への代入を与えるxは、Y、Z、...作ることP(X、Y、Z、⋯)=0を我々が終わったので、。
場合正方形ではない、ステップ1に戻ります。
多くの手順を実行しても解決策が見つからない場合は、方程式が不満足であると推測する可能性があります(ただし、これはヒューリスティックであるため、推測が間違っている可能性があります)。
このアルゴリズムは、残りの多くの困難な多項式でうまく機能する可能性がありますが、常に機能するという証拠はありません。特に、考えられるすべての判別多項式は、それらの値が常に非正方形(二次非残差)であるという特性がある可能性があり、その場合、上記のアルゴリズムは失敗します。
あなたの質問はあなたが働いているフィールドを特定していません。あなたがで働いているならば、Sasho Nikolovは素晴らしい答えを出しました、しかしそれは有限のフィールドに拡張されません-したがって、有限体Fの場合。完全な解決策はありませんが、アルゴリズムは、特定の多項式のクラス(まだ処理方法がわからない)を除くすべての多線形二次多項式で機能します。それは近いと感じます。すべての2変量多項式についてこの問題を解決する拡張機能が見つかれば、以下の手法で残りの問題を解決できます。
が一変量の場合、つまりp (x )= a x 2 + b x + cの場合、問題は簡単です。単にb 2 − 4 a cがFの正方形であるかどうかをテストします。
が2変量の場合、つまりp (x 、y )= a x 2 + b y 2 + c x y + d x + e y + fの場合、次の手順を使用できます。
を0 に「強制」するための変換を最初に行います。これは、以下の場合に特に便利です。
場合、何もする必要はありません。
場合、xとyの役割を交換できます。
または、およびb ≠ 0と仮定します。場合- B /非正方さF私がねじ込まれています、と私は(このケースでは、私はあきらめて家に行く)ソリューションを持っていません。それ以外の場合は、変数の変更を適用しますx ′ = √、Y'=X+と定義 pは'(X 、Y )= P (X '、Y ')、その気付か Pを'(X 、Yは)全く有していない X 2項を(それが後のキャンセル変数の変更)。pが p ′に等式であることに注意してください( p ′(xは、変数の変更を適用することにより、p (x 、y )の解に即座に変換できます(逆も同様)。
このステップの後、項のない多項式ができます。したがって、一般性を失うことなく、a = 0と見なすことができます(p (x 、y )にはx 2項がありません)。
はx 2項がないため、次のように書き直すことができます
便利なことに、これは線形関数です。したがって、次のようにして、p (x 、y )= 0の解があるかどうかをテストできます。
が存在するかどうかを確認例えばQ (Y )≠ 0。便宜上、次数の考慮により、q (y )が線形/アフィンであることを確認できるため、これは簡単に確認できます。
はいの場合は、 を q (y )≠ 0のような任意の値にします。これで、 x = − r (y )q (y )− 1とすることができます。以来 Q (Y )≠ 0、逆にこれは代入できますので、存在すると確信してのx 、yの作る Pゼロを、私たちは完了です。
いいえの場合、ことがわかります。次数を考慮すると、rは2次多項式でなければなりません。したがって、アルゴリズムをr(変数が1つ少ない)に再帰的に適用できます。解決策が存在するであろうP (X 、Y )= 0 ifと解決策がある場合のみ、R (yは)= 0。
不幸な場合を除き、これは、アルゴリズムのハンドル、すべての二変数多項式を非正方形です。
次に、3変量2次多項式があるとします。奇妙なことに、このケースは実際には簡単です。
すべてがゼロ以外の場合、かわいいトリックを使用してx 2項を削除します。検索α 、β Y、Z ' = γ X + zの多項式得、pは'なるように B ⋅ β 2 + C ⋅ γ 2 = - (例えば、使用してここにアルゴリズムを、そのような βを、γが常に存在することが保証されています)。今変化の変数変換適用 X ' = X、 Y ' = β X +を。変換を注意深く選択したおかげで、 p ′(x 、y 、z )には x 2項がないことに注意してください。
ここからはスムーズに航行できます。我々は書ける
ここで、は線形、rは2次です。場合qが同じようにゼロである、我々は上の再帰R。そうでなければ、我々は任意の値を選ぶことができ、Yは、ZメイクことQ (Y 、Z )≠ 0、次いでし、直ちに解決するために、X前のように、。
(2変数の場合が3変数または1変数の場合よりも難しいように見えるのは興味深いことではありませんか?)
これらのアイデアを3つ以上の変数を持つ多変量2次多項式に拡張する方法を理解できると思います。
このアルゴリズムは多項式時間で実行されます。残念ながら、私が失敗し、あきらめざるを得ない不幸な多項式のクラスがあります。残りの2変量2次多項式のクラスを処理する方法を誰かが見ることができますか?
これは質問に対する完全な回答を与えるものではありませんが、多変量2次多項式の潜在的な解の空間を理解する興味深い方法を提供します。
ましょ多変量二次多項式です。(D x + h )T(D x + h )= x T D T D x + x T D T h + h T D x + h T hであることに注意してください。Dが対角行列の場合、次のようになります。
元の方程式に戻りますが、一般性を失うことなく、Aは対称であると仮定でき、多項式時間で計算できる一意の正定平方根を持っていることに注意してください。このルートをDとすると、次のようになります。
したがって、
したがって、解はノルムのベクトルにアフィン変換を適用することで取得できます√。