ゲームのバランス/公平性を計算したり、数学的に証明したりすることは可能ですか?


40

この質問は、ビデオゲームではなくゲーム全般に焦点を当てています。昨日、ボードゲームの見本市に行き、ゲームの公正さを計算する方法があるかどうかを自問しました。確かに、それらのいくつかは幸運のかなりの部分を必要としますが、いくつかのキャラクターが圧倒されているかどうかを計算することが可能かもしれません。特にロールプレイングゲームやトレーディングカードゲームで。たとえば、「マジック:ザギャザリング」の作成者は、印象的な数の利用可能なカードがあるため、「すべてを打ち負かす1枚のカード」がないことをどのように確認できますか?


2
副次的な注意事項として、勝つために厳密にプレイすることは、ゲームをにとって面白くしないゲームですワンスアポンアタイムはそのような特に注目すべき例の1つですが、一般に、ゲームの「ソーシャル」カテゴリ全体がそれらでいっぱいです。
マーティンソーカ

3
MtGクリエイターは多くのプレイテストを行いますが、それでも解決しない場合(最初のターンで勝つことができるコンボがある場合もあります)、トーナメント(警告、TVTropes)からカード禁止します
リオリ

1
さて、たくさんのシミュレーション/データを収集します。それが彼らがStarCraft 2でバランスをとる方法です...彼らはどのユニットが最も使用され、どのレースが最も勝つかを測定します。データ収集は複雑なゲームの鍵であり、統計は数学と同様に優れています。あなたが心理的な効果も同様にキャプチャするので、私が言うのはさらに良いです。それが、あなたが予想するほど多くの数学者がポーカーをプレイしていない理由です。
アレキサンダーソン

最高のドイツのボードゲームのいくつかは、ゲーム理論を専門とする数学者(例えばReiner Knizia)によって開発されており、それが示しています。特にKniziaのゲームは非常にバランスが取れています。
コンラッドルドルフ

これまでのところ、MTGの作成者はこれに頻繁に失敗し、はるかに圧倒されることが判明したカードをリリースしました(多くの場合、考慮していない他のカードとの相互作用のため)。
フィリップ

回答:


34

はい、理論的には可能です-それはこの主題を扱うゲーム理論の良い部分です。

しかし、それはめったに実用的ではなく、それでもほとんどがランダマイザーを含まないゲーム(Chess、Reversi、Goなど)のためだけです。組み合わせ爆発により、マジック・ザ・ギャザリングのようなより複雑なゲームのそのような証明に必要な理論的時間は、宇宙の現在の年齢よりも簡単に数桁長くなります。

最終的に、自明ではないゲームでは、ゲームのバランスや公平性を証明するという概念を捨て、代わりに常識、デザイナーの本能、ゲームシステムの再利用、テスト全体の組み合わせを採用する必要があります。


11
これに加えて、公平であることが証明されたゲームは、そのプレーヤーによって必ずしも公正であると認識されるわけではありません。そして、それはほとんどの場合本当に重要な認識です。
ネヴァーマインド

4
また、チェスも囲Goも公平であることが「証明」されていません。チェスでは、白人のプレーヤーが有利であるかどうかわかりません Goでは、国によってコミが異なります。そのため、 beはせいぜい1つを除いてすべてで公平ではありません
BlueRaja-ダニーPflughoeft

4
@BlueRaja:ゲーム理論は、ゲームの公平性、たとえばナッシュ均衡を分析するためのツールを提供します。ペイオフが等しい場合、ゲームは公平です。ペイオフが等しくない場合、ゲームは公平ではありません。キャッチは、すべてのゲームが独自のナッシュ均衡を持っているわけではなく、ほとんどの興味深いゲームは、たとえそれがあったとしても計算上扱いやすいゲームではないということです(おそらく「面白い」の定義による)。しかし、ゲーム理論はこの領域を完全にカバーしています。

5
実際、ゲームが完全にランダムであっても、公平であることが証明できます。たとえば、コインを裏返します:私が勝った頭、あなたが勝った尾。公平性の数学的定義は、長期的にE(ProfitOrLoss)= 0です。上記のJoe Wreschnigのコメントが最も正確です。
kfmfe04

1
@ BlueRaja-DannyPflughoeft:Goのコミの違い:スコアリングも少し異なるため、両方の効果を検討する場合にのみ比較が意味があることに注意してください。
ピータージャーケンズ

5

簡単な答え:定義されていない場合でも、利用可能な動きの数が有限であるゲームは、可能なゲームの数が有限です。「ゲームツリーの複雑さ」が有限であるゲームでは、理論的には、考えられるすべてのゲームを分析して、各プレイヤーが勝つゲームの数が等しいかどうかを判断できます。

簡単に言えば、プレイヤー1がゲームのすべての可能なプレイのちょうど半分に勝った場合、ゲームはバランスが取れています。これが当てはまらない場合、ゲームはどちらかのプレイヤーに偏っています。

ただし、この単純なルールは実際に実行するのは非常に不可能です。たとえば、Goには、既知の宇宙に存在すると考えられる原子の数よりも多く、10 ^ 170の可能なゲームのゲームツリーの複雑さがあります。網羅的なゲームツリーをコンパイルすることは不可能と考えられています。ただし、プレイおよび記録されたゲームのライブラリは数百万単位であり、ゲームに「先駆けの優位性」があることを示唆しています(通常、ホワイトに1.5ポイントの「コミ」を与えることで軽減されます)。

対照的に、ゲームツリー全体の複雑さが大きい場合でも、M、N、Kのすべてのゲーム(M幅、N高さのグリッドボードで、オブジェクトはプレーヤーが配置することでK個のピース​​の列を作成し、ショートカットがあるため、それらの移動/削除)は解決されます。ゲームツリーの「ブランチ」全体が、常に1人のプレイヤーまたは他のプレイヤーを失うものとして識別できます。残りのブランチは、識別可能なパターンに従います。三目並べは明らかな例です。可能なゲームが300,000に制限されていることに加えて、一方のプレイヤーまたは他方のプレイヤーが移動を行わず、明らかに他のプレイヤーが次の移動で勝つことができるゲームは16のみです。そのため、ゲームツリーは小さく始まり、プレイヤーが実際に作る可能性が高いゲームを考えると小さくなります。

運の要素を持つゲームでは、ゲームツリーの複雑さは、各プレイヤーが利用できる決定の数を超えて膨らみます。チェス、チェッカー、囲Go、オセロなどのように、ゲームはもはや「完全な情報」でプレイされないため、その時点で完全にプレイしたプレイヤーが既知の情報を与えられても、ゲームに負ける可能性があります。ランダム要素。これらのゲームには「解決策」がありません。ただし、通常はまだ有限のゲームツリーが存在するため、理論的にはゲームを徹底的に分析できます。通常、これはまだ実行不可能です。代わりに、確率を含むゲームが確率的に分析されて「ベストベット」戦略が識別され、これらの戦略が他のプレイヤーが使用する戦略(同じ戦略を含む)に関係なく、それらを使用するプレイヤーに有利であることが示された場合、

一般に、次のルールが適用されます。ゲームのデザインが本質的に以下の1つ以上の不平等につながる場合、ゲームにはバイアスがあります。

  • 各プレイヤーの合計移動数
  • そのプレイヤーに少なくとも1回以上の移動を許可する、任意の時点で使用可能な移動の数
  • プレイヤーの力の開始強度
  • 有限のリソースまたは特定された戦略的重要性のある領域へのアクセス

現在、ゲームのデザインは1つの不平等を導入するかもしれませんが、別の不平等を補おうとします。または、ゲームのデザインは、偏りを生じる可能性のある領域でランダム性を可能にする場合があります。これらの場合、長期にわたってほぼ同等の強さのプレイヤー間のゲームの経験的分析のみがバイアスを実証できます。

ボードゲームのバイアスの詳細については、http://www.geekdo.comのフォーラムをお試しください。ゲームでの実証されたバイアス、およびゲーム開発全般でのこのバイアスを回避する方法について、いくつかの議論がありました。


3

すべてのゲームが非常に異なって複雑であるため、ゲームがどれほど公平であるかを評価するための事前に作成された数式はありません。

さまざまなゲームパラメータを実際に比較して、キャラクターがどれだけ優れているかのパワースコアを作成することはできません(ゲームが非常に単純でない限り)。これらはすべてゲームプレイに異なる影響を与え、実装方法に依存するためです(例:強さが活力にどのように関係するかを評価しますか?キャラクターの特殊攻撃に数値を与える方法は?)

ゲームをテストする必要があります。たくさん。自分でゲームをプレイし、他の人がそれをプレイし、バトル/ゲームの結果をファイルに保存して統計を作成し、特定のキャラクターが勝つ頻度、状況などを評価します。その後、リプレイをチェックするための何らかの方法を実装してくださいまたは、ゲームプレイを分析して、そのようなキャラクターが圧倒される理由を確認し、それに応じて変更を適用します。

実際、テスト以外の選択肢はありません。これがベータ版が存在する理由の1つです(たとえば、ベータ版としてのStarcraft2は、ゲームの結果に基づいて3つのレースのバランスを取る機会をBlizzardに与えました)。

要約すると、ゲームをプレイし、他の人にプレイしてもらいます(ベータ版の開始はオプションです)。リプレイまたは自動分析によってゲームのバランスが崩れている理由を確認し、それに応じて変更する必要があるものを変更します。それがあなたが公正に近づく唯一の方法です。


1
ゲームテストするための+1 。ビデオゲームやボードゲームではベータテストが重要です。ゲームをテストする人が多くなればなるほど、誰かが壊れたカードやスペルをすべて破壊する可能性が高くなります。
-thedaian

2
誰がダウン投票したのか、なぜそうなのか?
ジェシーエモンド

1
テストはスポットオンです。新しいカードを導入しますか?ランダム化されたデッキの大規模なシミュレーションを実行して、勝利したデッキの一部である頻度を確認します。勝利したプレーの大部分が新しいカードに関連していた場合は、トーンを下げてもう一度試してください。
waterwizard11

2

ゲームがバランスの取れた、または公平であることを証明できるようにするには、バランスまたは公平が最初に意味するものを定義する必要があります。これらはかなり曖昧な用語で、さまざまなものを含むことができます。たとえば、ゲームの「バランス」は次のことを意味することがよくあります。

  • いくつかの異なる側面のそれぞれが勝つために同じチャンスを持っています
  • ゲームの進行は一貫してより困難になります
  • ゲーム内で行われた決定は、一部/ほとんど/すべての場合で同一のコスト/ペイオフ比を提供します

等々。

一般に、私はこのようなことを数学的に証明するのが好きですが、ロジックやテストを通じて何かを証明するには、まずそれを明確に定義する必要があります。ゲームのルールを適切に理解できれば、バランスのいくつかの側面を数学で簡単にテストできます。他の人は、単に経験的なテストを実施しないと判断がはるかに困難です。主な問題は、ほとんどのゲームデザイナーがゲームの仕組みを実際に理解していないことです。通常、ゲームルールを周囲のシミュレーションにマージするため、後者を正確にモデル化することは非常に困難です。


1

理論的には可能ですが、ほとんどのゲームでは非常に難しいため、不可能と考えることができます。

1つのアプローチ:ゲームを通常の形式に変換します。通常の形式のゲームとは、各プレーヤーと機能の戦略のセットであり、選択した組み合わせに対してどの程度の結果が得られるかを示します。ランダム係数は、別のプレーヤーとしてモデル化できます。

次に、支配的/支配的な戦略(常に実行すべきことと実行すべきでないこと)を探すことができます。支配的な戦略が含まれていない場合、ゲームは少なくとも興味深いものです。

それから、各プレイヤーが自分のために保証できるものを見ることができます。「MY」の選択肢ごとに、考えられる最悪の結果を見て、これが最良の選択肢を選びます。

プレイヤー間で大きく異なる場合、ゲーム内で腐ったものがあります。

見るべき他の事柄があります(支配的な混合戦略(いくつかの確率で各選択肢を選択する)、ナッシュ均衡(すべてのプレイヤーが他のプレイヤーが行うことを知ったら、すべての人にとってローカルに最適な組み合わせ))。

しかし、最初のステップはほとんどのゲームで非常に複雑であるため、通常はそれほど便利ではありません。しかし、複雑な詳細を遠ざけたり、戦略を認識可能な戦略セット(初期ビルドオーダーなど)に置き換えたり、実際にプレイしたゲームからの統計的な近似によって結果を置き換えたり、ゲームの問題について何かを伝えることができる場合に使用できます。このトカゲのようなものはSCで行うと思います。

ゲームのもう1つの形式は、プレイヤーが交代で他の人が行うすべてのこと(チェス)を知るゲームです。そこでは、ゲームの状態ツリーを検索することで、支配的な戦略を検索しようとすることができます(そして、通常は巨大であるため、使用するには複雑すぎます)。そして、多くのゲームには完全な知識がなく、事態は非常に複雑です。

別のアプローチとして、ゲーム内のものを見て、それらを比較してみてください。

別のアプローチ:チーム戦闘(特に大規模な参加者がいる場合)では、フォースフォースシミュレーションを使用しようとすることができます(私はこれを使用したことがなく、ゲームをapropriteモデルに変換するために高数学(微分方程式)とハードワークが必要です)。

したがって、私の結論として、ゲームのサブシステムのバランスを取るために多くのことができ、ゲームが出ているとき(およびベータテスト中)、結果を分析することで多くのことができますが、すべてを同じにしない限り、ゲームのバランスを証明することはほとんど不可能です。

PS:初期属性を計算するために一緒に使用できる複数の属性で1つの属性を置き換え、すべてをよりランダムにすることで同一性を隠すことができます。

ミスを犯しやすいことに注意してください(例:速い小さな攻撃と大きな遅い攻撃)。d6-18で18スローすると0-90になり、d10-10で10スローすると0-90になりますd91-1で1スローになります結果は0〜90ですが、それらはすべて異なる分布を持っています。

PS2:ある賢明な人は、実際のバランスは重要ではなく、バランスが重要だと言いました。


支配的な戦略コンセプトは非常に重要です。どんな状況でも支配的な戦略が存在するということは、本質的に不公平を意味しますが、通常はバランスの問題ではなく、設計に冗長性をもたらします。しかし、設計者は、すべての要素に明確な目的を持つ機会を与えるために、支配的な戦略を回避できる必要があります。
キロタン

忘れてしまったこと:プレイヤーがそれを知っていても、それを実行するのが本当に難しい限り、支配的な戦略の存在は問題である必要はありません。単純化した例では、ヘッドショットはFPSの支配的な戦略ですが、多くのプレーヤーはヒットしやすいため重心に向かいますが、最適なボットは常にヘッドショットに行きます。
user470365

1

数学的に正しい答えを得るための良い答えがたくさんありますが、別の角度を試してみましょう:コードで許可されている場合は、非常に多くのゲームをシミュレートし、次の戦略があるかどうかを確認できます頻繁に勝ちます。

モンテカルロシミュレーションまたは遺伝的アルゴリズムに精通している場合があります。ここのアイデアは関連していました。ゲームをプレイするにはAIが必要であり、重要な測定が必要です。AIを大規模なトーナメントで互いに行き来させ、多くの場合、さまざまな開始変数を使用して、結果を測定します。

クラス/武器のバランスを取るために、そのようなアプローチを常に試してみたかったのですが、それは非常に楽しいことです。


1

計算理論の観点から、これに答えることは一般的に不可能だと思わます。プログラムの特性について質問することであり、ライスの定理が適用される場合があります。私の想定では、ゲームはc ++のようなチューリング完全言語で書かれたプログラムを指すということです。また、ゲームが公正であるかどうか計算または証明するということは、c ++プログラム(ゲームプログラム)を読み取り、すべての可能な入力に対して有限の時間終了するc ++プログラムが存在することを意味します。または不公平。

簡単な検索により、決定論的でありながら決定不能なゲームを作成できることが示されています。スライド7を参照してください

「アルゴリズムを使用したコンピューターはゲームをプレイし、ゲームをプレイすることさえ学びます。ただし、アルゴリズムの固有の有限性は、マシンのゲームプレイ能力に制限を課します。決定可能なルールがありますが、計算可能な勝利戦略はありません。」

人間の脳は、明らかにコンピュータよりも「強力」です。なぜなら、過去の知識を獲得して適用でき、プログラムの無限ループを見つけることでホールティング問題のような結果と矛盾することがあるためです。しかし、これをどのように行うかはよく知られておらず、アルゴリズムで正確かつ明確に記述することはできません。


0

私は本当にマーティン・ソイカの答えにコメントしたかったのですが、評判がありません。彼は、ゲーム理論にゲームの公平性の計算が含まれていることは正しいです(たとえば、白と黒の両方が同点かどうか完全にプレーするチェスゲームの場合、それは未解決の問題です)。

MtGの場合、公平かどうかを計算することは完全に実行不可能ですが、計算が実行不可能であることを数学的に証明した人はいません。

それが公平であることを証明することは簡単に可能かもしれません-最初に行く人がランダムで、誰もが同じルールでプレーするなら、それは公平です。最初に行く人は常に勝つかもしれませんが、誰が最初に行くかがかなり決まっている場合、ゲームは公平です。


109文字を削除し、これをコメントに変換します。
ジェシードーシー

-2

「公正」が意味するものは曖昧です、説明させてください:

ゲームRock-paper-cissors(http://en.wikipedia.org/wiki/Rock-paper-scissors)を考えてみてください:あなたによると、それは公平だと思います(私も同じです)。

さて、ゲームを考えてみましょう:じゃんけん井戸-井戸は岩と紙を打ち、井戸は紙に負けます。不均衡ですよね?井戸はかなり圧倒されているようです。2つの武器を打ち負かし、1つに対して負けます。

しかし、それはまったく圧倒されていないと言うことができます:対戦相手が2つの武器を倒すために井戸を使用する可能性が高いことがわかっている場合、紙をより頻繁に選ぶことで行動できます。

したがって、圧倒される可能性のある潜在的な問題に対する答えがあります。より頻繁に論文を選択するだけです。しかし、あなたは対戦相手がそれを知っていて、かなり頻繁に紙を使うかもしれないことを知っているので、はさみをもっと頻繁に使うべきだと思います。等、実際には圧倒されず、異なるルールを持つ異なるゲームです。

ゲーム理論、特に不完全な情報を持つゲームについて読むことをお勧めします(http://en.wikipedia.org/wiki/Game_theory)。


5
どのアイテムの組み合わせが関係していても、両方のプレイヤーが同等であるため、Rock-Paper-Scissorsバリアントは明らかに公平です。ほとんどのボードゲームでは、一人のプレイヤーが最初に動きます。
Random832

-1。それが公平かどうかは、知られているか知られていないか(そして、知られていなければ、知ることができるか、知ることができない)、ゲーム理論は曖昧さなしに「公正」を定義するための多くのツールを提供します。

たとえば、「The Gathering」の作成者は、「すべてを打ち負かす1枚のカード」がないことをどのように確認できますか->この文を強調して、著者に「公正」の概念を示しようとしました正しくありません。そうでなければ、例えば、マジックのようなゲームでは、人々は通常、相手と同じカードを持っていないので、人々が同時に始めても(実際はわかりません)、公平ではないかもしれません。そして、ゲームの「じゃんけん」の類推は考慮するのが最善ではないかもしれませんが、それは私のポイントを説明しています。
ジョンキャッスル

@JohnCastleこれはOPの公正の評価を議論する場所ではありません。それは議論であり、これは議論掲示板ではないからです(そのためにチャットを使用してください)。例外は、あなたの投稿が質問に答え、その一部としてOPの公平性の概念を議論する場合です。
doppelgreener

@JonathanHobbs、正しく定義されていない場合、どのように公平性を証明できますか?私の投稿が実際に答えではないことは事実です-メイン投稿のすぐ下に投稿すべきでしたが、気づきませんでした-しかし、質問に答える前に公平性を定義することが重要だと思います。
ジョンキャッスル
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.