私は次
の問題に直面しています。たとえば、 uがソーシャルネットワークユーザーであり、友人のリストF(u)があるとします。パーティションは関数F->Gであり、Gは高校、大学、職場などのグループのセットです。F
を分割するアルゴリズムを考え出す必要があります:
- 入力はFであり、Fのすべてのf ( uの各友達の友達のリスト)のF (f)でもあります。
- 実行中、アルゴリズムはuの質問をすることができます(たとえば、「特定のユーザーvに最適なグループは何ですか?」)。
- 質問の量は最小限に抑える必要があります(最小限の数は実際には明確な数ではありませんが、友人の数の5%はほぼ正しいように思われます)。
明らかに、結果のパーティションは最適ではありませんが、後の改良の開始点として受け入れられるはずです。
どんな考えでも大歓迎です
編集:いいえ、宿題ではありません。宿題には、より明確に定義された要件と目標機能があると思います。とにかくいいえ、これは実際に私が直面している現実の問題です。
また、私はそれを少し単純化したかもしれませんが、実際にはユーザーは多くのグループの一部である可能性があります(したがって、F-> P(G)のようになります。ここで、P(G)はGの場合のパワーグループです)、より良いアルゴリズムそれを行うことができるでしょう。