人の男性と人の女性がいるとします。各人には属性がます。各人は、候補者が持つべき属性のセットを示します。マッチングはペアのセットです。各ペアは1人の男性を1人の女性にバインドします。マッチングの満足度は、最も不運な人が満足する属性の数です。
最大満足度のマッチングを効率的に解決できますか、それともハードですか?
人の男性と人の女性がいるとします。各人には属性がます。各人は、候補者が持つべき属性のセットを示します。マッチングはペアのセットです。各ペアは1人の男性を1人の女性にバインドします。マッチングの満足度は、最も不運な人が満足する属性の数です。
最大満足度のマッチングを効率的に解決できますか、それともハードですか?
回答:
問題の決定版から始めましょう。「満足度レベル」kが与えられた場合、全員が少なくともk個の望ましい属性を持つ人物に一致する一致が存在しますか。これは、男性と女性がお互いに満足度kを得る場合、男性と女性を接続するグラフの2部マッチングを解決するだけです。(実行時間はO(mn ^ 2)のように見えます。)元の問題を取得するには、kに対してバイナリ検索を実行します(実行時間に追加のlog(m)係数がある場合)。
私の答えがセルジュのものと矛盾するので、私は質問を誤解したかもしれません。私の理解では、線形ボトルネック割り当て問題について質問しています。これはO(n ^ 2.5)で解決されることが知られています。
最も完全な情報源は[1]ですが、私は本のスタイルが本当に好きではありません。ウェブサイトもあります:http : //www.assignmentproblems.com/linearBNAP.htm
編集:明確にするために、最大コストのエッジが最小化されるような割り当てが必要です。コストは、一致する男性または女性のいずれかに割り当てられていない属性の最大数になります。
EDIT2:私は引用した本からの参照のみを提供できます。それらの3つは次のとおりです。
利用可能なアルゴリズムのいくつかをリストしているので、あなたは本を手に入れようとするべきです。
[1] Rainer Burkard、Mauro Dell'Amico、Silvano Martelloによる割り当ての問題
以下のコメントでTsuyoshiが指摘しているように、問題の解決策が安定したマッチングでなければならない理由はありません。したがって、この回答のアプローチはおそらく機能しません。特に私はトメールの答えが正しいと信じているので。
あなたの結婚問題のバージョンは、ネクタイの最小後悔の安定した結婚問題と同等であるようです。そこでは、みんなが他のセックスのメンバーを可能な絆でランク付けし、目標は最小の「幸せ」を最大化することです。
[1]:デビッドマンラブ、ロバートW.アーヴィング、岩間和夫、宮崎修一、森田康史:安定した結婚のハードバリアント。理論。計算。サイエンス。276(1-2):261-279(2002)。ポストプリント。
これは最小コストの最大2部マッチングのバリエーションではありませんか?各エッジの重みは、満足する属性の数に等しく、重みの合計が最小になる最大の一致を見つける代わりに、最小のエッジの重みが最大化されているものが必要です。
この理解が正しければ、Busacker–Gowen [ 1 ]と同様の拡張パスアルゴリズムが機能すると思います。(重みの合計に関して)常に最も安価な拡張パスを見つける代わりに、(最小エッジを最大化する)最良の拡張パスを見つけます。これも、標準の最短パスアルゴリズム(EdmondsとKarpの重み調整を使用するBusacker–Gowenのバージョンで使用されるダイクストラのアルゴリズムなど)にわずかな変更を加えるだけで実行できるはずです。