16

チームベースのゲームで個々のプレーヤーにスコアを付けるアルゴリズムに取り組んでいます。問題は、決まったチームが存在しないことです.10人のプレーヤーがプレーしたいときはいつでも、彼らは2つの(やや)均等なチームに分けられ、お互いにプレーします. このため、チームにスコアを付けても意味がなく、代わりに個々のプレーヤーの評価に頼る必要があります。

考慮したい問題がいくつかあります。

  • 新規プレイヤーは、レーティングがベテラン プレイヤーと同じようにカウントされる前に、「実際の」レーティングに到達するために何らかの暫定的なランキングが必要です。
  • システムは、チームがプレイヤーのスキルレベルの組み合わせで構成されている可能性があることを考慮する必要があります。1 つは非常に良い、1 つは良い、2 つは平凡、1 つは非常に悪いです。したがって、プレーヤーの評価の単純な「平均」ではおそらく十分ではなく、何らかの方法で重み付けする必要があるでしょう。
  • レーティングはゲームごとに調整されるため、アルゴリズムは「レーティング期間」ごとではなく、ゲームごとに基づく必要があります。良い解決策が見つかれば、これは変わるかもしれません ( Glicko が評価期間を使用していることは承知しています)。

プレイヤーを検証する他の手段があるため、このアルゴリズムではチートは問題になりません。

TrueSkillGlickoおよびELO(現在使用しているもの)を見てきました。TrueSkill/Glicko のアイデアは、レーティングの正確さを判断するために使用される偏差があるというアイデアが好きですが、ランダムなチームの視点を考慮したアルゴリズムはなく、ほとんどが 1v1 または FFA ゲームに基づいているようです.

勝ったチームの各プレーヤーが負けたチームのすべてのプレーヤーを打ち負かしたかのようにプレーヤーを評価することがどこかで提案されました (25 の「デュエル」)。しかし、それが正しいアプローチであるかどうかはわかりません。本当に下手なプレーヤーが勝ったチームにいて、勝ったとき、負けたチームのとても上手なプレーヤーに対して。

どんな提案でも大歓迎です!

編集:私は確立されたプレーヤーのためのアルゴリズムと初心者をランク付けする何らかの方法を探しています.2つを組み合わせたものではありません. 混乱させて申し訳ありません。

AI はなく、プレイヤーはお互いにプレイするだけです。ゲームは勝敗によって決定されます(引き分けはありません)。

4

8 に答える 8

5

暫定ランキングシステムは常に不完全ですが、より優れたシステム(Eloなど)は、確立されたプレーヤーのレーティングよりも迅速に暫定レーティングを調整するように設計されています。これは、他のプレイヤーとのほんの数ゲームで能力評価を確立しようとすると、本質的にエラーが発生しやすいことを認めています。

初心者プレイヤーの暫定レーティングを確立するための入力として、相手チームのすべてのプレイヤーの平均レーティングを使用する必要があると思いますが、Nゲーム対Nプレイヤーではなく、1つのゲームとして扱います。各ゲームは実際には1つのデータサンプルであり、Eloシステムはこれらのゲームの累積を処理して、通常のランキングシステムに切り替える前に、時間の経過とともに個々のプレーヤーのランキング推定を改善します。

簡単にするために、他のチームの一部のメンバーの新しいプロビジョニングレーティングを計算するときに、相手チームのメンバーの確立されたレーティングと暫定的なレーティングを区別しません(Eloがこれを要求しない限り)。これらの評価はすべてエラーを意味しているため、ランキングの見積もりを改善する上でおそらくほとんど価値のない不要な複雑さを追加しても意味がありません。

于 2010-06-20T11:43:42.707 に答える
2

まず、完璧なシステムが見つかる可能性は非常に低いです。どのシステムにもどこかに欠陥があります。

そして、あなたの質問に答えるために: おそらくここにあるアイデアが役立つでしょう: OkBridge のリーマン評価.

この評価システムは、OKBridge と呼ばれるインターネット ブリッジ サイトで (1993 年から!) 使用されています。Bridge はパートナーシップ ゲームであり、通常は 2 人のチームが別の 2 人のチームと対戦します。レーティング システムは、個々のプレイヤーを評価するように考案されており、多くの人がさまざまなパートナーとプレイするという事実に対応しています。

于 2010-06-20T14:03:24.780 に答える
2

この分野のバックグラウンドがなければ、ランキング システムは基本的に統計モデルのように思えます。優れたモデルは、時間の経過とともに一貫したランキングに収束し、目標はできるだけ早く収束することです。いくつかの考えが浮かびますが、そのうちのいくつかは他の投稿で触れられています。

  1. 明らかに、確立されたプレーヤーには実績があり、新しいプレーヤーにはありません。したがって、一貫性のないプレーヤーの場合、不確実性は非常に高くなる可能性がありますが、おそらく新しいプレーヤーの方が不確実性は高くなります. また、これはおそらく、ゲームが主に生来のスキルを使用するか、後天的なスキルを使用するかによって異なります。各プレイヤーに「分散」パラメーターが必要だと思います。分散は、真の分散と「温度」の 2 つの部分で構成されます。温度は、時間の経過とともに温度が下がるシミュレーテッド アニーリングのようなものです。おそらく、十分な数のゲームがプレイされた後、温度はゼロまで冷えます.
  2. 関係する複数の側面はありますか? サッカーのように、優れたシューター、優れたパサー、優れたボール コントロールなどがあります。基本的に、これらはシステムの自由度になります (私のサッカーのアナロジーでは、それらは完全に独立している場合とそうでない場合があります)。正確なモデルはこれらを考慮しているように見えますが、もちろん、これらを暗黙的に処理するブラック ボックス モデルを使用することもできます。ただし、システムの自由度の数を理解することは、ブラック ボックスの選択に役立つと思います。
  3. チームをどのように分割しますか?あなたのチーム化アルゴリズムは、対等なチームを作るモデルを暗示しています。このモデルを使用して、各プレーヤーの重み付けや期待されるパフォーマンス レベルを作成できます。プレーヤーのスキルにさまざまな側面がある場合、ある側面でのパフォーマンスが予想よりも大幅に優れているプレーヤーに追加のポイントを与えることができます。
  4. ゲームは本当に勝つか負けるか、それともスコア差が影響する可能性はありますか? 同点ではないと言ったので、これはおそらく当てはまりませんが、少なくとも近いスコアは、結果の不確実性が高いことを意味する可能性があります.
  5. モデルをゼロから作成する場合は、変更する意図で設計します。少なくとも、調整可能なパラメーターがいくつかあり、自動調整でさえあると思います。たとえば、プレイヤー数とゲーム数が増えると、初期温度と初期レーティングの値がよくわかります (統計を追跡していると仮定します)。しかし、より多くのゲームをプレイすればするほど、より良いモデルを構築できると私は確信しています。

ランダムな考えの集まりですが、楽しい問題のように思えます。

于 2010-06-20T23:50:05.533 に答える
1

数年前の Game Developer Magazine に、Microsoft の TrueSkill チームの何人かによる記事があり、そこでの決定の背後にある理由のいくつかを説明していました。Xbox Live のチーム ゲームについて明確に言及しているので、少なくともある程度は関連性があるはずです。この記事への直接のリンクはありませんが、バックナンバーはこちらから注文できます: http://www.gdmag.com/archive/oct06.htm

この記事で覚えている特定のポイントの 1 つは、たとえば、最も多くのキルを獲得したプレイヤーに多くのポイントを与えるのではなく、チーム全体にスコアを付けることでした。それは、自分のスコアを最大化しようとするのではなく、チームの勝利に貢献することを人々に奨励することでした.

プレイヤースキルの正確な評価への収束を加速しようとするパラメータの微調整についても議論があったと思いますが、これはあなたが興味を持っているように聞こえます.

それが役立つことを願っています...

于 2010-06-20T14:18:52.240 に答える
0

「得点」はどのように解決されますか?、

チームが合計25ポイント(チーム内のすべてのプレーヤーのスコア)を獲得する場合、プレーヤーのスコアをチームの合計スコア* 100で割って、そのプレーヤーがチームに対して行った割合(または両方のすべてのポイント)を取得できます。チーム)。

このデータを使用してスコアを計算できます。パーセンテージがチームメンバー(または両方のチームのメンバー)の90%未満の場合は、プレーヤーを初心者として扱い、異なる重み係数を使用してスコアを計算します。

簡単なコンセプトの方がうまくいくこともあります。

于 2010-06-20T11:52:17.850 に答える
0

最初の質問には、非常に「ゲーム的な」解決策があります。正確な評価のために十分なデータを提供する一定量のゲームを終了するまで、プレーヤーがまだスコアを確認できない最初の数ゲームの初心者ロビーを作成することができます。
もう1つのオプションは、最初のバリエーションですが、より単純です。開始スコアを決定するために使用されるAIに対して単一の一致を与えます(例については、地震のライブを見てください)。

于 2010-06-20T12:09:36.803 に答える
-2

10人のプレイヤーがプレイしたいときはいつでも、彼らは2つの(ある程度)均等なチームに分けられ、お互いにプレイします。

これは、各チームの平均スキルレベルが等しい(したがって重要ではない)ことと、各チームが勝つ可能性が等しいことの両方を意味するため、興味深いものです。この制約が当てはまると仮定すると、個々のプレーヤーの勝ち負けの単純なカウントは、他のプレーヤーと同じくらい良い尺度になるはずです。

于 2010-06-30T10:32:14.647 に答える