凸性と効率的なアルゴリズム。
[2011年7月21日編集:他の例を求めるために質問を編集しました] この質問は、ヒューリスティックな観察の文書化された議論またはより多くの例を求めています。 効率的なアルゴリズムを認めるいくつかの数学的問題は、本質的に凸状であるように見えます。私は線形および半定プログラムと、これらに帰着するさまざまな組み合わせ問題を考えています。 まず、凸型/接続型の場合の効率的なアルゴリズムを認める他の問題のファミリーはありますか?(論理理論の決定手順の例に特に感謝します)次に、「多くの効率的なアルゴリズムの下に潜むことは凸構造である」などの意見を論じている記事または記事のセクションへのポインターをいただければ幸いです。 [編集、2011年7月21日:以下を追加。] いくつかの説明を追加したいと思います。以前に含めなかったのは残念です。私は論理的な決定問題に興味があります。いくつかの論理的な問題の接続部分について、効率的な決定手順が存在するように思えます。2つの例を示します。 量指定子のない1次理論の効率的なソルバー(等価のSMTソルバー、解釈されていない関数との同等性、差分演算など)は、通常、論理積フラグメントの効率的なソルバーを備えており、さまざまな手法を使用して分離と否定に対処します。プログラムの静的分析では、一般的に使用される(そして効率的な)抽象化は、整数間隔、アフィン等式、八角形、または多面体に基づいています。述語ベースの抽象化とプログラム検証には、デカルト抽象化と呼ばれるものがあります。これは、任意のブールの組み合わせではなく、述語の結合を直感的に持つことです。これらのすべてのケースは、問題の接続部分を利用して効率を上げることについてであるように私には見えます。 線形の実数演算の1次理論の接続部分は、凸多面体を表現できます。これが私が最初に凸型プログラミングについて尋ねた理由です。 (理論的または実用的な意味で)効率的な解決策が凸または連言の副問題に基づいている他の問題や例について知りたいです。別の一般的な条件がある場合(Sureshはサブモジュール性について言及しています)、その条件と、その条件を悪用するソリューションの問題について言及してください。