半正定値プログラミングに基づくアルゴリズムによる多項式高速化


17

これは、A。Palによる最近の質問のフォローアップです。多項式時間で半正定値プログラムを解く

私はまだ、半正定値プログラム(SDP)の解を計算するアルゴリズムの実際の実行時間について困惑しています。ロビンが上記の質問に対するコメントで指摘したように、SDPは一般に多項式時間で解くことはできません。

SDPを慎重に定義し、原始実行可能領域がどれだけ適切に制限されているかを条件とする場合、楕円法を使用して、SDPの解決に必要な時間に多項式限界を与えることができます(セクション3.2を参照)L.Lovász半正定プログラムおよび組み合わせ最適化)。そこに与えられた限界は、一般的な「多項式時間」であり、ここでは、より粗くない限界に興味があります。

動機は、量子分離可能性問題に使用される2つのアルゴリズムの比較から得られます(実際の問​​題はここでは関係ないので、古典的な読者の読みを止めないでください!)。アルゴリズムは、SDPにキャストできるテストの階層に基づいており、階層内の各テストはより大きなスペースで行われます。つまり、対応するSDPのサイズが大きくなります。比較したい2つのアルゴリズムは、次のトレードオフが異なります。最初のアルゴリズムでは、ソリューションを見つけるために階層のより多くのステップを登る必要があり、2番目のアルゴリズムでは、階層のステップはより高いが、より少なく登る必要があるそのうちの。このトレードオフの分析では、SDPの解決に使用されるアルゴリズムの正確な実行時間が重要であることは明らかです。これらのアルゴリズムの分析は、Navascuésなどによって行われます。中arXivの:0906.2731、彼らが書く場所:

... 個の変数と行列サイズnの SDPの時間の複雑さは(アルゴリズムの反復からわずかな追加コストが発生します)。mnO(m2n2)

、別の紙の問題に対するこのアプローチは、最初に提案された、著者らは、同じバウンド与えるが、彼らはより慎重用語「使用算術演算の回数」の代わりに「時間の複雑さを」。

私の質問は2つあります。

  • どのアルゴリズム/バインドがNavascuéset alです。参照する?
  • Lovászの「多項式時間」という表現を、より粗くない(同じ仮定を維持する)ものに置き換えることはできますか?

1
私の理解では、楕円法は時間多項式の加算誤差内にある答えを与えたということです。ほとんどの問題では、 1/2十分だと思われるかもしれません。ϵlog(1/ϵ)ϵ=Ω(1/2n)
スレシュヴェンカト

@SureshVenkat:そうです、楕円法は、入力行列のサイズ、制約のサイズ、および時間多項式で機能し。問題は、質問で言及したアプリケーションでは、「多項式」だけでは不十分であるため、より正確な境界が必要なことです。log(1/ϵ)
アレッサンドロコセンティーノ

回答:


12

私は特に半正定値プログラムのための楕円法の詳細に精通していませんが、線形プログラムであっても、楕円法の分析はかなり微妙です。

  • まず、理想的な楕円アルゴリズムの反復回数を制限する必要があります。してみましょうで使用ellispoidも楕円アルゴリズムの番目の反復、とlet cの私はその重心こと。理想的なアルゴリズムでは、分離/メンバーシップオラクルは、最適点x を含むが重心c iを含まない半空間h iを提供します。次楕円EのI + 1を含む最小の楕円であるE IH のIiごとに、EiichバツcE+1EhN次元です。したがって、妥当な開始楕円体が与えられると、反復回数はnおよびlog1/ε)の多項式になりますEihiからEi+1を計算するには、(粗い)On2算術演算が必要です。したがって、算術演算の数もnlogvolEi+1)<(11n)vol(Ei)nnlog(1/ε)Ei+1EihiO(n2)nlog(1/ε

  • ただし、これらの算術演算の一部は平方根です!理想的な楕円体の係数は次数2 iの無理数であるため、妥当な時間にE i + 1を正確に計算する見込みはありません。だからではなく、一方が近い外側の近似を計算E IE I有限精度算術演算を使用して、各反復で。Grötschel、Lovasz、およびSchrijver は、i番目の反復で(たとえば)10 iビットの精度を使用すると、  まだv o l E2E+1 EE10、最大で一定の係数によって反復の数が増えるので。ただし、i番目の反復中の各算術演算(分離オラクルによって実行される演算を含む)にはOipolylogi時間が必要です。volE+1<O11nvolEO ポリログ 

要するに、楕円方法の総実行時間は非常に正方形算術演算の数。算術演算の数はおよびlog 1 / ε )の多項式であるため、実行時間も同様です。nログ1/ε


答えてくれてありがとう。私が正しく集計している場合、これは私が持っているものです(非常に大雑把に):(N。算術演算の)× O I polylog I (各演算時間)。nlog 1 / ϵ )の多項式である場合を除き、繰り返しの数に制限はありません。おそらく私の質問ではあまり明確ではありませんでしたが、反復の数のより正確な限界(nnのようなもの)に興味があります=1n。反復のOn2×Oポリログnログ1/ϵn、...)。n2
アレッサンドロコセンティーノ

もう1つ:分析のどこかに制約の数も表示されるべきではありませんか?また、これは線形プログラムに固有ですか?
アレッサンドロコセンティーノ

1
また、分離オラクルの実行時間を考慮する必要があります。そこに制約の数が表示されます。明示的なLPの場合、分離オラクルは1つずつ制約を試行します。暗黙的に表されたLPの場合、より複雑です。
ジェフ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.