貪欲な選択とマトロイド(greedoids)


7

貪欲なアプローチについての資料を調べていたとき、マトロイド(貪欲)に関する知識が問題への適切なアプローチに役立つことを知りました。マトロイドについて読んだ後、私はマトロイドが何であるかを大まかに理解しました。しかし、与えられた最適化問題を解決するためにマトロイドの概念をどのように使用しますか?

たとえば、活動選択問題を考えてみましょう。問題を解決するためにマトロイド理論を使用する手順は何ですか?


1
コーメンらを見てみましょう。貪欲なアルゴリズムとマトロイドに関する章があります。
Juho

この点に関する質問の読み方わかりませんが、マトロイドとグレドイドは同じではないことに注意してください。
ラファエル

回答:


6

関係は、最適化問題の根底にある構造をマトロイドとして表すことができる場合、正則貪欲アルゴリズムを使用して、任意の正の重み関数の合計を最適化できることです。最適化の目標がこのパラダイムに適合する場合、貪欲なアプローチで問題を解決できます。

正のエッジの重みを持つ最小スパニングツリー問題を考えます¹。その問題に対応するマトロイドが存在することを示します。これは、それが貪欲に、つまり前記マトロイドの標準的な貪欲アルゴリズムによって解決できることを意味します。

LET持つ無向グラフであるエッジコスト関数。次に、とG=(V,E,c)c:ER+(E,I)

I={FE(V|F,F) is a forest} ²

マトロイドです。したがって、エッジの重みの合計最大化するの要素を見つけることができます。これはたまたま最小のスパニングツリーです。正規の貪欲アルゴリズムは、歴史的な理由から、このコンテキストではクラスカルのアルゴリズムと呼ばれていることに注意してください。Ic(e)=(maxeEc(e))c(e)

証拠

  1. 表示するには:はマトロイドです。3つのプロパティを確認する必要があります(E,I)

    • I空のグラフはフォレストです。
    • 場合、のすべてのサブセットである -任意の森与え、削除エッジがサイクルを導入することはできません。したがって、フォレストのすべてのサブグラフはフォレストです。FIFI
    • すべてのについて、なるようにがあることを意味します-任意のフォレストとより小さいフォレスト考えます。そのようなはないと仮定します。ことを意味し、その中のすべてのエッジ中のエッジによって誘発されるカットで嘘 ³。しかないので このようなカットでは、のエッジの少なくとも1つのペアがカットを共有します。これは、がフォレストであることと矛盾します。F1,F2I|F1|>|F2|eF1F2F2{e}IF1F2eF1F2|F2|F1 F1
  2. 表示:で最大の重みを持つ要素は、最小全域木です。まず、がに従って最大の重みを持つことは明らかであるため、定義により、に従って最小の重みも持ち。表示する必要があるのは、それがスパニングツリーであることだけです。そうでない場合でも、(正の重みで)エッジを追加できるという意味では、最大ではなく、最大の重みと矛盾します。FIGFccc


  1. すべてのウェイトに最小ウェイト+ 1を追加することで、負のエッジウェイトを処理できます。
  2. 森は木の互いに素労働組合です。
  3. 複数のエッジを持つカットがある場合に限り、グラフにはサイクルが含まれます。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.