二次多変量多項式に解があるかどうかを判断するための効率的なアルゴリズムは何ですか?


8

一般に、多変量多項式の充足可能性は3-SATと同等であることを知っています。ただし、2次の場合に優れた手法があるかどうか、特に多項式の時間解があるかどうかは疑問です。

より一般的な質問になると思いますが、充足可能性の問題が効率的に解決できる多変量多項式のクラスはありますか?


1
多項式の充足可能性問題とは何ですか?
Sasho Nikolov 2013

おそらく「次の多項式をゼロにする変数への値の割り当てはありますか?」
Jeffε

2
あなたが興味を持っているパラメーターの典型的な範囲について何を教えていただけますか?重要なパラメーターには、n(変数の数)とF(作業しているフィールド)が含まれます。すべてが満たされなければならない複数の多項式が与えられた場合、それも関連します(問題を変更します)。
DW

実際の制約のない問題の解決策を追加しました。ただし、線形制約を追加するだけでも問題はNP困難になり、@ DWで述べたように、フィールドが何であるかが重要になります。たとえば、正の半明確性やSVDのようなものが意味をなさない有限のフィールドで私の答えを機能させる方法がわかりません。
Sasho Nikolov 2013

充足可能性とは、より一般的に実現可能性と呼ばれるもの、つまり、多項方程式系がある分野で解を持つかどうかという問題を意味します。
Nick

回答:


9

二次多項式p:RnRに、線形代数を含む実数根があるかどうかを判断できます。お気づきのように、一般的なケースは難しいはずです。

最初の観察p(x)0のすべてのためxRnのいずれかであればp(x)>0またはp(x)<0のすべてのためx(これは連続することによって、以下)。したがって、すべてのxについてp(x)>0であるかどうかを判断できれば十分です。一般に、これはヒルベルトの17番目の問題の複雑性理論バージョンに関連しています。多項式p x xp(x)が有理関数の二乗和と正の定数c(これはArtinの定理です)としてpを記述できる場合に限り、実数に対して正です。この分解を見つけたり、意思決定の問題を解決したりすることは、一般的に最も困難ですが、スペクトル定理の魔法のため、2次のケースは簡単です。一般的なケースの詳細については、Devanur、Lipton、Vishnoi、およびMonique Laurentの調査をご覧くださいc

書きます。p(x)=p2(x)+p1(x)+cここで、p2は次数2の同次であり、p1は線形で、cは定数です。q x 0x = p 2x + x 0 p 1x + c x 2 0を定義しましょうq(x0,x)=p2(x)+x0p1(x)+cx02の均質化を行います。pここで、x0は追加の変数です。

請求p(x)>0x00:q(x0,x)>0

「if」の方向は簡単です。自明ではない方向で、すべてのxについてと想定し、x 00と想定します 。q x 0x = x 2 0 q 1 xp(x)>0xx00 QED

q(x0,x)=x02q(1,xx0)=x02p(xx0)>0.

ので、という通知も場合、連続してP X > 0のすべてのためのx、次いでQ X 0X 0全てについてX 0X (含むX 0 = 0) 。q(x0,x)p(x)>0xq(x0,x)0(x0,x)x0=0

以来、均一である、我々は書くことができ、Q X 0X = Y T Q YQは対称行列であり、Y = X 0Xが。上記により、すべてのxについてp x > 0の場合、Qは正の半定値です。また、Q X 0X > 0のすべてのためのx 0qq(x0,x)=yTQyQy=(x0,x)p(x)>0xQq(x0,x)>0 ifとのカーネル場合にのみ Qは超平面の部分集合である { Y = 0 X X R N }。これらの条件は両方とも、 QのSVDを計算することによって多項式時間で決定できます。x00Q{y=(0,x):xRn}Q


佐々木さん、ありがとうございます。多項式に慣れていないので、この方法を自分で思いついたわけではありません。このサイトで、置換行列が多項式時間のベクトル空間にあるかどうかを検出することについて、別の質問をしました。私自身はこの多項式問題を解くことにまで質問を減らしたので、あなたの答えと組み合わせて、これを行う多項式時間アルゴリズムがあります。興味がある場合は、このリンクで質問を見ることができます
Nick

ニック、私は質問を見ました、そしてそれは興味深いものです。しかし、私が覚えている限りでは、そこでの削減(残念ながらなくなった)により、置換行列の質問が削減され、線形不等式制約の対象となる2次多項式が解かれました。具体的には、ポリトープの直径を決定する必要がありました。これは難しい問題だと思います。上記の私の解決策は、私が知る限り、線形不等式制約を処理しません。
Sasho Nikolov 2013

2

これは、一部の多項式で機能するアプローチですが、すべての多項式で機能するとは限りません。

すべての多重線形二次多項式で機能することが保証されています。また、p x )にx 2項が含まれないような変数がある場合にも機能することが保証されています。しかし、フォームの多項式のためのP X Z = C XX 2 + + C ZZ 2 + P 'X Z xp(,x,)x2p(x,,z)=cxx2++czz2+p(x,,z)ここで、は多線形二次多項式(つまり、すべての変数が二乗されているように見える多項式)であり、ヒューリスティックのみを提示できます。多くの場合、ヒューリスティックは実際には問題なく動作する可能性がありますが、証拠はありません。p

(私はどこかにここに潜んでいるよりきれいな解決策があるはずだと思います...)


してみましょうフィールドです。仮定P X Y Z F [ X Y Z ]は、フィールド内の係数を持つ多変量二次多項式であるFxの因数を取り除いてFp(x,y,z,)F[x,y,z,]Fx

p(x,y,z,)=cx2+q(y,z,)x+r(y,z,).

ことを通知なければならない線形/アフィン、Rは二次である必要があり、そしてCは定数(でなければならないC F)。私たちは、への値の割り当て知りたいのx yのZはことになりqrccFx,y,z,

cx2+q(y,z,)x+r(y,z,)=0.

ここで、を(xの)この2次方程式の判別式、つまり、Δx

Δ(y,z,)=q(y,z,)24cr(y,z,).

元の多項式を使用すると値の割り当てを見つけることができる場合にのみ充足されなすΔ Y Zは正方形(すなわち、平方剰余)であるFΔ y z 自体が多変量2次多項式であることに注意してください(qはアフィンでrは2次であるため)。y,z,Δ(y,z,)FΔ(y,z,)qr

この時点で、(簡単なケース)またはc 0(難しいケース)に基づいて、ソリューションアプローチが分岐します。c=0c0


場合、この方程式を解くのは簡単です。基本的には線形方程式です(他のすべての変数を修正すると、xは線形になります)。c=0x

その結果、この問題が特に簡単に解決できる特別なクラスの多項式があります。変数が存在する多項式は、簡単にするために、xと呼ぶことにして、x 2pに現れないようにします。そのクラスの場合、上記のc = 0となり、問題を解決するには次のアルゴリズムで十分です。pxx2pc=0

  • y z への値の割り当てがありq y z 0となるかどうかを確認しますqは線形なので、これは簡単に確認できます。qy,z,q(y,z,)0q

    • yesの場合、その後に値の任意のこのような割り当てを選択し。次に、x = r y z q y z 1を設定します。定義により、q y z 0なのでq y z は逆になります(フィールドで作業しているため)ので、このような値xy,z,x=r(y,z,)q(y,z,)1q(y,z,)0q(y,z,)x存在します。これはすぐに値を代入生み出す作るPゼロを、私たちは完了です。x,y,z,p

    • ない場合には、我々が知っているの変数に対する値のすべての可能な割り当てのためのp。事実上、そもそもpxに依存することはなかったため、これをxの関数と考えるのは誤りでした。または、別の言い方をすると、pから1つの変数を削除し、元の問題の新しいインスタンスを取得します。メソッドをr y z p(x,y,z,)=r(y,z,)ppxxp。例外: pが単一変数の関数(つまり、 p x )の場合、この場合、 pは充足可能ではないと結論付けることができます(その変数のすべての可能な値に対して、まったくゼロです)。r(y,z,)pp(x)p

このアルゴリズムは簡単なケースを扱います。つまり、pに現れる変数が少なくとも1つ存在するが、x 2pに現れない多項式です。この場合、アルゴリズムは多項式時間で実行され、多項式をゼロにする変数への値の割り当てが存在するかどうかを判断します。xpx2p


ハードケースに戻ります。簡単なケースに当てはまらない場合は、

p(x,,z)=cxx2++czz2+p(x,,z).

ここで、には二乗項がありません(多線形です)。この場合に使用できるメソッドを見てみましょう。p(x,,z)

これが解決できる状況の1つです。変数の組が存在すると仮定しよう- C X / C yは、正方形(平方剰余で)にあるF、たとえば、- C X / C Y = α 2。その後、我々は、変数の変化を適用することができ、Y " = Y + α のxを。便利なことに、x,ycx/cyFcx/cy=α2y=y+αx

ドル(y)2=(y+αx)2=y2+2αxy+α2x2=y2+2αcdotxycx/cyx2.

この変数の変更をにプラグインすると、p

p(x,y,)=cxx2+cyy2+2αcyxycy(cx/cy)x2+,

つまり、

p(x,y,)=cyy2+2αcyxy+

省略部分が含まれていない場合(以降用語C XX 2及びα 2 のC YX 2項はキャンセル)。事実上、x 2項を削除したので、上記の方法をp x y )に適用できます。通知することをP X Y '= 0の場合に限りある充足P Xx2cxx2α2cyx2x2p(x,y,)p(x,y,)=0です。我々は、このゼロになる解決策を見つけたとき、我々は、のバック解決することができ、Y、我々はへの割り当てを得る X Y Z なす P X Y Z = 0p(x,y,)=0yx,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つのc1Fcx/cz=(1)×(cx/cy)×(cy/cz)c y / c z、またはc x / c zは2次残差であるため、2乗項の少なくとも1つをキャンセルできます。ただし、1が2次の残差である場合、または変数が1つまたは2つしかない場合は、2乗項を削除できない場合があります。それが残りの難しいケースです。(唯一の1または2の変数の状況はそう本当に難しい場合は、どこで、取り扱いが困難ではありません - 1平方非剰余であり、各変数は中乗表示される場所のpcx/czcy/czcx/cz11p。)この困難なケースに対する一般的な解決策はありません。


ただし、この困難なケースでも機能することが多いヒューリスティックを提案できます。

どのフィールドでも、すべてのフィールド要素の約半分は正方形(二次剰余)です。あなたがランダムフィールド要素を選択した場合、それは程度の確率で、正方形になります1 / 2。我々は、値を選択した場合したがって、Y Z ...ランダムに、我々は、(ヒューリスティック)を予測することができるΔ Y Zを確率を有する正方形であるべきである1 / 2、場合ΔはY Zは)は、のように作用しますランダム関数。これは、次のヒューリスティックアルゴリズムを示唆しています。F1/2y,z,Δ(y,z,)1/2Δ(y,z,)

  1. 削除する変数をランダムに選択します。たとえば、です。x

  2. 値をランダムに選択します。y,z,

  3. 場合に正方形であるFは、式P X Y Zは= 0のための溶液有するX、すなわちX = - Q Y Zを± Δ(y,z,)Fp(x,y,z,)=0xFに特性2がないと仮定)これは、私たちの変数への代入を与えるxはYZ...作ることPXYZ=0を我々が終わったので、。x=(q(y,z,)±Δ(y,z,))/(2c)Fx,y,z,p(x,y,z,)=0

  4. 場合正方形ではない、ステップ1に戻ります。Δ(y,z,)

多くの手順を実行しても解決策が見つからない場合は、方程式が不満足であると推測する可能性があります(ただし、これはヒューリスティックであるため、推測が間違っている可能性があります)。

このアルゴリズムは、残りの多くの困難な多項式でうまく機能する可能性がありますが、常に機能するという証拠はありません。特に、考えられるすべての判別多項式は、それらの値が常に非正方形(二次非残差)であるという特性がある可能性があり、その場合、上記のアルゴリズムは失敗します。Δ()


これはの多線形多項式には問題ないようですが、一般的にx 2項があり、分解はx 2 + x q + rになります。ここでqrはあなたの答えとpx2x2+xq+rqr
同じです

ああ、そうです。@SashoNikolov、ありがとうございます。項を含む一部の多項式では機能するが、すべてではない場合があるヒューリスティックアルゴリズムを追加しました。x2
DW

私は実際にいくつかの既知のトリックで、現実を超える解決策を持っていると思います。
Sasho Nikolov 2013

1

あなたの質問はあなたが働いているフィールドを特定していません。あなたがで働いているならば、Sasho Nikolovは素晴らしい答えを出しました、しかしそれは有限のフィールドに拡張されません-したがって、有限体Fの場合。完全な解決策はありませんが、アルゴリズムは、特定の多項式のクラス(まだ処理方法がわからない)を除くすべての多線形二次多項式で機能します。それは近いと感じます。すべての2変量多項式についてこの問題を解決する拡張機能が見つかれば、以下の手法で残りの問題を解決できます。RF


が一変量の場合、つまりp x = a x 2 + b x + cの場合、問題は簡単です。単にb 24 a cFの正方形であるかどうかをテストします。pp(x)=ax2+bx+cb24acF


が2変量の場合、つまりp x y = a x 2 + b y 2 + c x y + d x + e y + fの場合、次の手順を使用できます。pp(x,y)=ax2+by2+cxy+dx+ey+f

を0 に「強制」するための変換を最初に行います。これは、以下の場合に特に便利です。a

  • 場合何もする必要はありません。a=0

  • 場合、xyの役割を交換できます。b=0xy

  • または、およびb 0と仮定します。場合- B /非正方さF私がねじ込まれています、と私は(このケースでは、私はあきらめて家に行く)ソリューションを持っていません。それ以外の場合は、変数の変更を適用しますx = a0b0b/aFY'=X+x=b/axと定義 pは'X Y = P X 'Y '、その気付か Pを'X Yは全く有していない X 2項を(それが後のキャンセル変数の変更)。p p ′に等式であることに注意してください( p xy=x+yp(x,y)=p(x,y)p(x,y)x2ppは、変数の変更を適用することによりp x y )の解に即座に変換できます逆も同様)。p(x,y)p(x,y)

このステップの後、項のない多項式ができます。したがって、一般性を失うことなく、a = 0と見なすことができますp x y にはx 2項がありません)。x2a=0p(x,y)x2

x 2項がないため、次のように書き直すことができますpx2

p(x,y)=q(y)x+r(y).

便利なことに、これは線形関数です。したがって、次のようにしてp x y = 0の解があるかどうかをテストできます。xp(x,y)=0

  • が存在するかどうかを確認例えばQ Y 0。便宜上、次数の考慮により、q y が線形/アフィンであることを確認できるため、これは簡単に確認できます。yq(y)0q(y)

    • はいの場合は、 q y 0のような任意の値にします。これで、 x = r y q y 1とすることができます。以来 Q Y 0、逆にこれは代入できますので、存在すると確信してのx yの作る Pゼロを、私たちは完了です。yq(y)0x=r(y)q(y)1q(y)0x,yp

    • いいえの場合、ことがわかります。次数を考慮すると、rは2次多項式でなければなりません。したがって、アルゴリズムをr(変数が1つ少ない)に再帰的に適用できます。解決策が存在するであろうP X Y = 0 ifと解決策がある場合のみ、R yは= 0p(x,y)=r(y)rrp(x,y)=0r(y)=0

不幸な場合を除き、これは、アルゴリズムのハンドル、すべての二変数多項式を非正方形です。b/a


次に、3変量2次多項式があるとします。奇妙なことに、このケースは実際には簡単です。

p(x,y,z)=ax2+by2+cz2+.

すべてがゼロ以外の場合、かわいいトリックを使用してx 2項を削除します。検索α β YZ ' = γ X + zの多項式得、pは'a,b,cx2なるように B β 2 + C γ 2 = - 例えば、使用してここにアルゴリズムを、そのような βをγが常に存在することが保証されています)。今変化の変数変換適用 X ' = X Y ' = β X +をα,βFbβ2+cγ2=aβ,γx=xy=βx+yz=γx+z。変換を注意深く選択したおかげで、 p x y z には x 2項がないことに注意してください。p(x,y,z)=p(x,y,z)p(x,y,z)x2

ここからはスムーズに航行できます。我々は書ける

p(x,y,z)=q(y,z)x+r(y,z),

ここで、は線形、rは2次です。場合qが同じようにゼロである、我々は上の再帰R。そうでなければ、我々は任意の値を選ぶことができ、YはZメイクことQ Y Z 0、次いでし、直ちに解決するために、X前のように、。qrqry,zq(y,z)0x

(2変数の場合が3変数または1変数の場合よりも難しいように見えるのは興味深いことではありませんか?)

これらのアイデアを3つ以上の変数を持つ多変量2次多項式に拡張する方法を理解できると思います。


このアルゴリズムは多項式時間で実行されます。残念ながら、私が失敗し、あきらめざるを得ない不幸な多項式のクラスがあります。残りの2変量2次多項式のクラスを処理する方法を誰かが見ることができますか?


0

これは質問に対する完全な回答を与えるものではありませんが、多変量2次多項式の潜在的な解の空間を理解する興味深い方法を提供します。

ましょ多変量二次多項式です。D x + h TD x + h = x T D T D x + x T D T h + h T D x + h T hであることに注意してください。Dが対角行列の場合、次のようになります。xTAx+bTx+c=0(Dx+h)T(Dx+h)=xTDTDx+xTDTh+hTDx+hTh

(Dx+h)T(Dx+h)=xTD2x+2hTDx+hTh

元の方程式に戻りますが、一般性を失うことなく、Aは対称であると仮定でき、多項式時間で計算できる一意の正定平方根を持っていることに注意してください。このルートをDとすると、次のようになります。xTAx+bTx+c=0AD

xTAx+bTx+c=0xTDTDx+bTx+bT(D1)2b4=bT(D1)2b4c

したがって、

(Dx+bTD12)T(Dx+bTD12)=bT(D1)2b4c

したがって、解はノルムのベクトルにアフィン変換を適用することで取得できますxbT(D1)2b4c=bTA1b4c


を複雑な値にすることはできませんか?D
Sasho Nikolov

それは良い点ですが、私はそれについて十分に考えていなかったようです。しかし、私はあなたが解決策を明確に解くことができるという事実を気に入っています。
Nick

しかし、が複素数の場合、複素数解が存在することだけがわかり、そのような解は常に存在します(代数の基本定理のため)。だから、ここで実際に何かを学んでいるとは思いませんD
Sasho Nikolov '12 / 12/13

確かに、それは実際には、いくつかの球に適用されるアフィン変換としての解空間の説明を提供するだけです。おそらく、それが問題を解決する他の方法の出発点になるかもしれません。
Nick
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.