厳密アルゴリズムで使用される近似アルゴリズム


11

近似アルゴリズムでは、一定の係数まで出力が得られる場合があります。これは正確なアルゴリズムよりも少し満足度が低いです。

ただし、時間の複雑さでは定数要素は無視されます。

以下のトリックが可能であるか、いくつかの問題を解決するために、使用された場合、私は疑問に思うので、B

  1. 問題を解く近似アルゴリズムを使用して、定数係数内の解Sを取得します。S
  2. 正確なアルゴリズムを使用して問題解決します。その実行時間はSの重みに依存しますが、Sが正しい解である限り機能します。BSS

このように、近似は正確なアルゴリズムの「サブプロシージャ」であり、ステップ1で失われた定数係数はステップ2で飲み込まれます。


クロスポストから数学SE
sdcvvc

あなたは何を意味明確になりとの重量SBS
岡本良夫

これは具体性のために、非公式である:あり、検索の問題Aは、最適化問題として考えた(解決策はいくつかの重量を運ぶようにする)とされるB Aは関係の合成です。BB
sdcvvc

答えはコレクションになります。ですから、コミュニティwikiにする方が適切だと思います。
岡本芳雄

big-listタグを追加するだけで十分です。コミュニティWikiをIMHOにする必要はありません。
Gopi、2011

回答:


12

パラメータ化された複雑さの例は、ネムハウザーとトロッターの定理を使用した頂点カバー問題のカーネル化です。

最小頂点カバー問題では、無向グラフGが与えられ、最小サイズのGの頂点カバーを見つける必要があります。無向グラフの頂点カバーは、すべてのエッジに接する頂点サブセットです。

以下は、最初のフェーズで近似を使用する正確なアルゴリズムです。

フェーズ1:最小頂点カバー問題の整数線形計画法を設定します。線形計画緩和の基本的な最適解は半整数である(つまり、すべての座標が0、1、または1/2のいずれかである)ことがわかっています(または簡単に示すことができます)。このような基本的な最適解は、線形計画法の通常の多項式時間アルゴリズムで見つけることができます(または、この特別なケースでは、ネットワークフロー問題として定式化できるため、多項式時間で組み合わせて解くことができます)。このような基本的な最適解があるので、元の整数線形計画問題の実行可能な解を得るために切り上げます。Sを対応する頂点サブセットとします。Sは、指定された最小頂点カバーインスタンスの2近似であることに注意してください。

フェーズ2:Sによって(たとえば、徹底的な検索によって)誘導されたサブグラフで最小の頂点カバーを見つけます。NemhauserとTrotterによる定理は、このサブグラフには元の入力グラフの最適解が含まれていると述べています。したがって、このアプローチの正確さは次のとおりです。

このアルゴリズムの固定パラメータアルゴリズムについては、ニーダーマイヤーの本を参照してください。


11

1つの例は、ツリー分解と小さなツリー幅のグラフに関連しています

B

B

B


B

BB


ツリー幅の例は原則として機能しますが、ツリー幅を概算することは非常に難しいため、実際に実行するのは困難です(クリークを概算できるため)
Suresh Venkat

8

正確な解に収束する近似アルゴリズムの例は、LPを解くための楕円体アルゴリズムです。係数が有理の場合、実行可能なポリトープの2つの頂点間の最小距離を計算できます。現在、楕円体アルゴリズムは、最適解を含む必要がある、より小さな楕円体を繰り返し計算します。楕円体がそのような単一の頂点のみを含むのに十分な大きさになると、基本的に最適な頂点が見つかります。これがLPが弱多項式である理由です。

k

最後に、フィールドをさらに進める-変更手法に従う多くのアルゴリズム(ランダムなサンプルを取り、その後、修正を行って必要なものを取得する)は、このようなフレームワークに分類されます。かわいい例の1つは、ランダムサンプリングを使用して中央値を計算するアルゴリズムです(MotwaniとRaghavanによる本を参照)。多くのそのような例があります-間違いなく計算幾何学のランダム化された増分アルゴリズムの多くはこのフレームワークに分類されます。


4

多くの出力依存アルゴリズムはこの手法を採用しています。たとえば、このテクニックを使用できる簡単な問題を次に示します。

問題。配列A [1 .. n ] が与えられます。ここで、各要素は、Aがソートされた場合の位置から最大でkの位置にあります。

たとえば、以下に示すA [1..7]は、k = 2の入力配列になります。

kが不明であると仮定して 、配列をO(n log k)時間でソートするアルゴリズムを設計します。

問題の出典:Algo Muse Archive。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.