凸性と効率的なアルゴリズム。


8

[2011年7月21日編集:他の例を求めるために質問を編集しました]

この質問は、ヒューリスティックな観察の文書化された議論またはより多くの例を求めています。

効率的なアルゴリズムを認めるいくつかの数学的問題は、本質的に凸状であるように見えます。私は線形および半定プログラムと、これらに帰着するさまざまな組み合わせ問題を考えています。

まず、凸型/接続型の場合の効率的なアルゴリズムを認める他の問題のファミリーはありますか?(論理理論の決定手順の例に特に感謝します)次に、「多くの効率的なアルゴリズムの下に潜むことは凸構造である」などの意見を論じている記事または記事のセクションへのポインターをいただければ幸いです。

[編集、2011年7月21日:以下を追加。]

いくつかの説明を追加したいと思います。以前に含めなかったのは残念です。私は論理的な決定問題に興味があります。いくつかの論理的な問題の接続部分について、効率的な決定手順が存在するように思えます。2つの例を示します。

量指定子のない1次理論の効率的なソルバー(等価のSMTソルバー、解釈されていない関数との同等性、差分演算など)は、通常、論理積フラグメントの効率的なソルバーを備えており、さまざまな手法を使用して分離と否定に対処します。プログラムの静的分析では、一般的に使用される(そして効率的な)抽象化は、整数間隔、アフィン等式、八角形、または多面体に基づいています。述語ベースの抽象化とプログラム検証には、デカルト抽象化と呼ばれるものがあります。これは、任意のブールの組み合わせではなく、述語の結合を直感的に持つことです。これらのすべてのケースは、問題の接続部分を利用して効率を上げることについてであるように私には見えます。

線形の実数演算の1次理論の接続部分は、凸多面体を表現できます。これが私が最初に凸型プログラミングについて尋ねた理由です。

(理論的または実用的な意味で)効率的な解決策が凸または連言の副問題に基づいている他の問題や例について知りたいです。別の一般的な条件がある場合(Sureshはサブモジュール性について言及しています)、その条件と、その条件を悪用するソリューションの問題について言及してください。


「声に出して考える招待状」は通常、CW :)としてマークされます。これについての考え?
Suresh Venkat

2
@Suresh、「声を出して考える招待状」は、拡張された議論や勧誘意見などのように聞こえ、おそらくQAよりもチャットに適しています。議論/非建設的な部分として閉じる必要があると思います。一方、IMHOでは、参照要求部分はCWである必要はありません。「大声で考える」部分を削除することをお勧めします。
カヴェ

2
問題のあるフレーズを編集しました。
Vijay D

3
あなたの質問の複雑さの1つは、最近の研究により、部分モジュラ性も効率的なアルゴリズムにつながるものであることが示唆されていることです。もちろん、部分モジュラー性は凸性とは異なる概念です
Suresh Venkat '07 / 07/04

2
f{01}Rf^[01]R

回答:


10

質問1について。

あなたが挙げた例、線形プログラムとSDP(どちらも凸円錐上の線形プログラム)は、凸プログラムに一般化することができます:凸の実行可能なセット上の凸関数の最小化。凸の存在のおかげで効率的な「その他の問題のファミリー」を探しているので、自然に落とすのは凸関数の部分であり、凸集合だけを見てください。これは凸型ジオメトリの領域であり、ここには多くのアルゴリズムがあります。

標準的なお気に入りの1つは次のとおりです。

マーティン・ダイアー、アラン・フリーズ、ラビ・カンナン。凸ボディのボリュームを近似するためのランダム多項式時間アルゴリズム

ここでの難しさは、次元が入力の一部であることです(そうでなければなりません)。一方、単純なアルゴリズムはグリッド上のポイントをサンプリングし、実行時間の指数の次元を固定します。凸性が役立つ理由は直感的です。凸性は分離結果を提供します。Farkasの補題のように、点は閉じた凸状円錐内にあるか、超平面でそれらを分離できると言います。ここでの関連性は、ある点が凸状の本体にあるのに対して、その周囲の点の集まりは本体にないことを知っているということです。ここから、入力の巨大な部分を削除して、そこからサンプリングを行う必要はありません。おそらく私は、上記の論文が体内で優れたサンプリングアルゴリズムを生成することによって推定を行うことを明確にする必要があります(どちらも有用です)。最後に確認しました これに対する決定論的な類似物はまだありません。私はグーグルでステータスが変更されたかどうかを確認しました(変更されていないようです)。興味があるかもしれないいくつかの参照が含まれているこれらのメモが提供されました:http://www.cs.berkeley.edu/~sinclair/cs294/n16.pdf。私はこのクラスを受講したことがなく、ほんの少しだけ見ていたので、何か問題があれば申し訳ありませんが、そこにある参照は少なくともあなたにとって価値があるようです。

凸面形状を利用するアルゴリズムのその他の例については、Jiri Matousekの著書「離散幾何学の講義」の各セクション(各章の!)を締めくくる「参考文献と注釈」のサブセクションが1つの見どころです。

よく引用されており、トピックが含まれているように思われるもう1つのこと(ただし、目次を超えて自分で調べたことはありません。一方、Matousekは..もう一方の手では)は、「幾何学的アルゴリズムと組み合わせGrotschel、Lovasz、およびSchrijverによる最適化」。(はい、その Lovaszです。)

これらの参考文献にはたくさんの知識があると思いますので、次の質問に移ります。

質問2について。

コンベクシティがパワフルであることは確かですが、あなたが求めるようなコメントは見たことがありません。

これについての逸話があります。問題に凸性を「注入」する1つの方法は、単純に..凸状のもので近似/モデル化することです。(例:ランク制約を行列のノルムで置き換え、整数(非凸で接続されていない)を実数の凸集合で置き換えます。)このことについての主要なテキストは、ボイド&ヴァンデンバーグの「凸最適化」です。しかし、ボイドのビデオを見ていると、誰かが彼に「凸型=効率的」という質問をすると、彼はすぐにSVDと言いました。SVDは、ランクが制約された最小化問題として記述できることに注意してください。とにかく、ボイドでさえこのようなコメントを修正するのは非常に早いというのが私のポイントです。

とは言っても、凸状の構造に個人的に驚いた2つの場所を共有したいと思っています(専門家はここで目を丸めて居眠りできます)。1つ目は、いわゆる「二乗和」問題と呼ばれ、非凸多項式の最小化問題です。多項式の補間プロパティのおかげで、これらをSDPとして書き換えることができます。Pablo Parriloによるこのトピックに関するいくつかの美しいコースノートがあります。あなたは彼のウェブページでそれとより多くの情報を見つけることができ、ノア・スタインによるこのMOの投稿で他のいくつかの情報を見つけることができます:https//mathoverflow.net/questions/32533/is-all-non-convex-optimization-heuristic/32634#32634

もう1つの美しい場所は、指数関数的な家族です。さて、これらが最大エントロピー(凸最適化問題)の解決策であることがわかると、これはすべて「明らか」ですが、凸構造が指数関数ファミリの動作にどれだけの情報を提供しているかは驚くべきものです(ここで参照するのは、WainwrightとJordanのグラフィカルに関する本です)モデル)。これは、この種のモデリングで人々が行ういくつかのことを正当化します。


親愛なるマタス、あなたの例とあなたの思慮深い答えをありがとう。しかし、凸型プログラミングとは真に異なる問題、できれば離散型の問題について疑問に思っていました。
ビジェイD

(あなたの編集に従って)私はあなたが実際に望んだものを完全に逃したようです!! 残念ながら、あなたの質問に固有のものはありませんが、次のMOの質問に興味があるかもしれません: mathoverflow.net/questions/45558/the-logic-of-convex-sets
matus
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.