1

私には3つのチームがあり、2人のプレーヤー、3人のプレーヤー、7人のプレーヤーがいます。割り当てられるのを待っている傍観者に座っている18人のプレーヤーがいます。

各プレイヤーには独自のスキルレベルがあります。つまり、レベル1がレベル10を倒すことはありません。

チームのバランスをそれぞれ10人にしたいと思います。そして、3チームすべてのスキルをできるだけ同等にしようと思っています。しかし、私はすでにチームにいるプレーヤーを削除したくありません。

しかし、これをどのように達成するかはわかりません。簡単な答えがあるのか​​、それとも計算に費用がかかるのかどうかもわかりません。

スキルレベルは私がすでに持っている数字です。チームにはすべて同数のプレーヤーがいます。これは、スキルレベルが唯一の変化する数であることを意味します。

例はです。チーム1には3人のプレーヤーがいて、合計スキルレベルは4です。チーム2には6人のプレーヤーがいて、合計スキルレベルは8です。チーム3には8人のプレーヤーがいて、合計スキルレベルは9です。

割り当てる必要のあるプレーヤーが13人いるので、チームはそれぞれ10人です。そして、トータルスキルレベルを合わせてみたいです。

4

3 に答える 3

1

ここで確固たる答えを出すことは不可能です。なぜなら、本当に重要なのは、ランク付けスキームがどれほど正確であるか、そしてそれがいくつかの論理的特性を満たしているかどうかであるからです。

相加性:ランキングが完璧なものであれば、ある意味で相加的である可能性があります。私の考えは橋から来ていますが、プレイヤーをランク付けしてグループを形成できるタスクならどれでも当てはまります。したがって、ランク10とランク1のプレーヤーがチームを組んだときに、ランク5と6のプレーヤーから形成されたペアに適しているとよいでしょう。(ブリッジのランキングは、私が読んだことから、ログの意味でより正確に加算される可能性があります。)

相乗効果:グループ内の他のメンバーよりもうまく連携できるものはありますか?繰り返しになりますが、これはランキングの問題です。1人の人のランキングが他の人のランキングよりも優れている可能性があるためです。ここにはしばしば相乗効果の側面があります。例として橋を避けて、ゴルフが頭に浮かぶものです。2人をゴルフコースにまとめます。1人が常に話しているタイプで、もう1人が集中するために沈黙が必要な場合、論理的には一緒にプレーするのは不十分です。

于 2013-03-05T03:25:08.370 に答える
1

これは、平均(「合計スキルレベル」)がほぼ等しくなるように、数値の(マルチ)セット(「スキルレベル」)を同じサイズのブロック(「チーム」)に分割しようとしているように私にはわかりますできるだけ。

これを解決するために、スキルレベルの合計をプレーヤーの数で割った平均スキルレベルを計算することから始めます。これをこの数と呼びますs。チームの合計がありm、それぞれにkプレーヤーがいて、プレーヤーの合計が与えられるm*k場合、各チームの目標スキルレベルはですk*s

あなたのチームはすでに部分的に満たされているので、あなたの例に基づいてあなたが抱えている問題

私には3つのチームがあり、2人のプレーヤー、3人のプレーヤー、7人のプレーヤーがいます。割り当てられるのを待っている傍観者に座っている18人のプレーヤーがいます。

次のとおりです。

  • 現在のスキルレベルのチームAには、次のaような8人のプレーヤーが必要です。p1 + ... + p8 + a = 10*s
  • 現在のスキルレベルのチームBには、次のbような7人のプレーヤーが必要です。q1 + ... + q7 + b = 10*s
  • 現在のスキルレベルのチームCには、次のcような3人のプレーヤーが必要です。r1 + r2 + r3 + c = 10*s

強引な解決策については、最初にチームCのプレーヤーを見つけ、次に残りのプレーヤーを使用してチームAとBを解決します。

より賢い解決策については、これが実際には部分和問題であることを認識し、それを解決するためによく知られたアルゴリズムの1つを使用する必要があります。リンク先の記事で説明されている動的計画法ソリューションをお勧めします。

于 2013-03-05T04:46:48.233 に答える
0

良い答えが得られる実用的なアプローチは、すべてのプレーヤーが割り当てられるまで、最高ランクのプレーヤーを最低ランクのチームに割り当てることです。ここで、プレーヤーのランクを合計してチームのランクを計算します。

于 2013-03-05T01:55:45.333 に答える