簡略化された最大多様性問題


7

最大多様性問題は、選択を要求します メートル リストのアイテム ん アイテム間のメトリック距離として定義される多様性が最大化されるようなアイテム。

私はもっ​​と簡単な方法で問題を解決できると思っていました。私の場合、私はリストを持っていますんそれぞれが特定の一意でないキーを持つアイテム。選びたいメートルキーごとのアイテムの最大数が最小化されるように、私のリストのアイテム。

たとえば、私のリストが:

('a', 5), ('b', 4), ('c', 2), ('a', 6), ('b', 5)

そして、私たちは選択しなければなりません メートル=3 アイテムの場合、最適なソリューションは、キーごとに1つのアイテムを含むリストです。

これを行うためのアルゴリズムは、最大多様性問題のアルゴリズムよりも簡単ですか?


1
何を試しましたか?どこで行き詰まりましたか?私たちはあなたにソリューションを手渡すだけではありません。理解してほしい。ただし、現状では問題の原因がわからないため、お役に立てません。関連する議論についてはこちらをご覧ください。質問の改善方法がわからない場合は、コンピュータサイエンスチャットで質問してみてください。また、参照用の質問もご覧ください。
— ラファエル

@Raphael-私はCS専攻ではないので、私自身の調査で最大多様性問題について読むようになりましたが、これは少々やり過ぎのようです。私はいくつかのヒューリスティックを考えましたが、非常に効率的ではないと思います。これは私が直面している現実の問題であり、いかなる種類の割り当てでもありません。
— nbubis

ある場合 k キーが異なる場合、鳩の巣の原則は、最大の多様性が少なくとも ⌈メートル/k⌉; そしてこれは達成可能です。
— Yuval Filmus

@Yuvalfilmus-はい。問題はその方法です。
— nbubis

実際、私はそれが常に達成可能であると考えています。しかし、貪欲な戦略がうまくいくはずです。
— Yuval Filmus

回答:


3

次のアルゴリズムが機能するはずです。

アルゴリズムはいくつかのラウンドで進行します。各ラウンドで、メートル』残りのアイテムの数になります。キーごとに1つのアイテムを取るメートル』アイテム、およびこれらのアイテムを削除します。取ったらメートル』アイテム、アルゴリズムは終了します。それ以外の場合は、次のラウンドに進みます。

正当性の証明(または反例)は読者に任せます。


ありがとう!私は自分の答えを追加しましたが、これは同じ解決策を単一のパスで与えるはずです。
— nbubis

3

もう少し考えてみると、これを解決するための「ワンパス」アルゴリズムがあると思います。

そこにおいて ん アイテム k キー、 ん私各キーのアイテム。選びたいメートル私≤ん私、 そのような Σメートル私=メートル、そして 最高メートル私 最小化されます。

明らかに、すべての場合 ん私 我々は持っています ん私>メートル/k、単に選択します メートル私=メートル/k。それ以外の場合は、次のアルゴリズムを使用します。

  1. 各キーのアイテム数を数える(ん私)、昇順に並べ替えます。
  2. ながら ん私≤メートル/k セットする メートル私=ん私
  3. すべてのために ん私>メートル/k、選択 メートル私=⌈メートル−Σj<私メートルjk−私+1⌉

このアルゴリズムは O(ん) リストの長さでは、異なるキーの数が比較で無視できると仮定しています。

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