0

マッチングの問題があり、それを解決する方法を設計しました。アルゴリズムが存在するかどうかを知る必要があります。存在する場合は名前です。次の状況について、よく調べましたが、何も見つかりません。私が最も近いのはラウンドロビンですが、それはまったく同じではありません。

いくつかのネットワークの問題に似ていますが、一般的には最適なルートを見つけられず、適切なルートに落ち着くだけです。私は最も最適なものが必要です。

これは長い読み物であり、SO に対する珍しい要求ですが、どこにもその名前が見つかりません。

問題 私はアイテムの山を持っています。各アイテムは、1 つ以上の他のアイテムに潜在的に接続できます。各アイテムは一度だけペアリングできます。各接続には値があります。

接続値が最も高くなるペアの組み合わせを見つける必要があります。

私のソリューション は、すべてのアイテムのすべてのペアを見つけてマップに保存し、最初のアイテムを取得して、マップ値の最初のアイテムとペアにします。次のアイテムを取り、最初の未使用のアイテムとペアにします。未使用のアイテムがなくなるまでこれを続けます。この組み合わせまたはペアの合計値を保存します。可能であれば、ペアの最後のペアを変更してください。保存された組み合わせと比較し、ペアが変更できなくなったときに新しい組み合わせをさらに保存する場合は、それを削除して新しい最後のペアを変更し、より多くの可能なペアを見つけます。これは、組み合わせリストのサイズがゼロになるまで続きます

最後に保存された組み合わせが最良の組み合わせです。(フィン)

4

2 に答える 2

3

この問題は、基本的に最大加重マッチングです。

二部グラフの場合、最大一致を見つけるのは簡単です。任意のグラフの場合、それは難しくなりますが、それでも実行可能です。ウィキペディアは、ブロッサム アルゴリズムと呼ばれる Edmonds によるアルゴリズムを提案しています。

あなたのアルゴリズムに関しては、あなたが何をしているのか正確には明らかではありませんが、貪欲な割り当てとそれに続く山登りのように見えます。あなたのアルゴリズムが最適な結果をもたらすとは限らないことを懸念しています。これを実際に証明しましたか?局所的最小値にとどまらないことをどのように知っていますか?

于 2013-04-27T04:31:45.613 に答える
0

あなたは安定結婚問題を解決するGale-Shapley アルゴリズムを探していると思います。

于 2013-04-27T04:32:15.763 に答える