1

レーシング ゲームのドライバーのリストがあり、それぞれ 3 人のドライバーのチームにドライバーを割り当てたいと考えています。各ドライバーにはレーティング (通常、およそ 500 から 5000 の間の数値で、高いほど良い) があり、このレーティングを使用してすべてのチームを均等に一致させたいと考えています。同様に、各チームのドライバーの平均レーティングが可能な限り近い値であることを意味します。

ただし、重要な追加の制約が 1 つあります。各チームを、高ランク (高評価) のドライバー 1 人、中ランクのドライバー 1 人、低ランクのドライバー 1 人で構成する必要があります。これは、レースの最終的なスコアに影響するため、重要です。中位のドライバー 3 人をチームに参加させることでチームは公平になりますが (平均レーティングは他のチームと同様になる可能性があります)、最終的なスコアリングは、毎回上位のドライバー 1 人と下位のドライバー 1 人がいるという仮定に基づいています。そうでない場合、採点は公平ではありません。

要約すると、要件は次のとおりです。

  • 最大 39 個のドライバーのリストから始めます。
  • ドライバーを 3 人のドライバーからなる最大 13 チームに割り当てます。
  • 各チームの平均評価を他のチームとできる限り等しく保つ
  • 毎回、高ランクのドライバー 1 人、中位のドライバー 1 人、低ランクのドライバー 1 人で構成されていることを確認してください。

追加の制約がなければ、各チームの平均評価を等しくしようとする最適化アルゴリズム (または力ずくの方法) を非常に簡単に思いつくことができます。しかし、その場合、同じランクのドライバーが 3 人いるチームが多くなる可能性がありますが、これは私が望んでいることではありません。この最適化問題に制約を追加するにはどうすればよいですか?

力ずくで解決できたとしても (13 チームで最大 39 人のドライバーが可能だと思いますか?)、どのソリューション (== チームと割り当てられたドライバーのリスト) が最適かを判断する方法はまだわかりません。各ソリューションの「スコア」または「適合性」を判断するにはどうすればよいですか?

4

2 に答える 2

0

制限があります - 3 人のドライバー/チーム、最大 39 人のドライバー、レーティングの分類は低/中/高、各チームの各クラスのドライバーは 1 人です。

したがって、ドライバーの数は 3xN です。そうですか?

そして、最適化するターゲットがあります - 媒体は最大限に近くなければなりません。最適化する数値 (前述の適合度) として、これらの媒体の標準の 2 乗を使用します。

Teams Mediums=M i , i - チーム番号
N -チームの数
A - すべてのミディアムまたはすべてのドライバーの平均 (同じ数)
A=sum(ドライバーのレート)/(3*N)
S(標準の二乗)= 合計((M i -A) 2

標準自体は sqrt と見なすことができますが、実際には必要ありません。

各クラスに N 人のドライバーがいます。次に、すべてのトライアドの組み合わせを試して、S を下げます。

手っ取り早い方法として、次のことがわかります:(最高の 1 クラスのドライバーと、最悪の 2 および 3 クラスのドライバーを取り上げます。残りのドライバーで繰り返します。それは、私の次のアドバイスに従わない場合です)

問題は、通常、優れたドライバー間の差は、悪いドライバー間の差よりも大きいということです。そして、1stドライバーのチームは、通常、絶対に最高になります。この状況を回避したい場合は、レート ゲイン アルゴリズムを変更して、ドライバーが 500 から 5000 の間で比較的均等に広がるようにする必要があります。

于 2013-04-16T11:07:48.567 に答える