では、この問題を解決するためのソフトウェアを書きたいと思います。
ビジネス オーナーが一定時間、テーブルで他のビジネス オーナーと話すネットワーキング イベントがあります。イベントには n 人が参加し、1 つのテーブルに座ることができる人数は s で、テーブルは t あります。
割り当てられた時間が経過した後、すべての人が何らかの方法でシャッフルして、新しい人と話すことができるようにします. アイデアは、イベントに参加するすべての人に、冗長な接続をできるだけ少なくして他の人と話す機会を与えることです (完全なグラフ)。
グラフが 100% 完全である必要はありませんが、可能な限り近い方がよいでしょう。
変数を要約するには (現実的な値で):
n - the number of people attending the event (20-40)
s - the number of people who can sit at one table(5-8)
t - the number of tables (4-10)
c - the number of shuffles (what ever is required for the setup)
したがって、グラフ理論の経験はまったくありませんが、これは問題を解決するための大まかなアイデアです。
- 可能なすべての接続のリストを形成します。それらの (n* (n-1))/2 があります。
- テーブルが適切な人数になるまで、一度に 1 つの接続されていない接続を追加してテーブルを作成します。
- 冗長接続を作成しない接続を追加してみてください
- 人が複数のテーブルに座る結果になる場合は、テーブルに接続を追加しないでください。
- すべての接続が使用されるまで、これを繰り返します。
これがどのように機能するか/実装するかについて考えるのに苦労しています。誰かが私にアドバイスをくれたり、正しい方向に向けてくれることを願っていました。
ありがとう