スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

ガンダムウォー一部考察の誤りについて

去る1月22日にガンダムウォー東京大会予選に参加させていただきました。個人的な内容はおいておきまして・・・以前に考察しておりました、ガンダムウォーのシード参加者に関する考察で一部間違いを見つけました。仙台大会も残っておりますので、改めて書かせていただきます。

公式HPより転記
● シード権選手の組み合わせ
シード権選手は、3回戦より組み合わせに加わります。
その際のシード権選手の成績は「勝ち点6、対戦相手の勝ち点3、対戦相手の勝率5割、勝率10割」となります。

「対戦相手の勝ち点3」という重要な部分を勘違いしておりました。分かりやすく書き直すと、「仮想対戦相手のそれぞれの勝ち点3」ということだそうです。「対戦相手の勝ち点の合計を6」がもっと分かりやすいですかね?何で気づいたかというと、3回戦のマッチングで上位卓が見渡す限りシード者同士の対戦ばかりだったからおかしいな?と思ったからです。(苦笑)

以前の考察を書き直してみます。
1回戦からの参加者で2戦2勝で1回戦の対戦相手が2回戦目に勝利した人は「対戦相手の得点の合計が6点」となりますのでシード者と当たる可能性が高くなります。
≒2戦2勝者で3回戦のマッチングで1回戦からの参加者同士の場合は、お互いに3回戦開始時点で相手得点の合計が3点でオポが低い可能性が高い・・・
≒2戦2勝者で3回戦のマッチングで1回戦からの参加者がシード者と当たって勝利した場合は3回戦終了時においてオポがかなり高く有利な状況であることが推察されます。
ドロップアウトなどの高さもあって実際の2人分の相手得点の合計の期待値は13.5点より下がりますが
シード者の2人合計で6点というのは7.5点も低いことに変わりはありませんので、4回戦、5回戦と進むにつれてどうしても相手得点の合計が低くなっていく傾向が出てしまいます。全勝のシード者が1位に入る確率は、やはり低いといわざるを得ません。

ブロックの参加者数にもよりますが、シード者だと1敗したら通過は無理・・・という状況に気づき、見切りをつけてドロップアウトする人や意図的な引き分けが増えていく可能性があります。併設イベントがあったりして、ドロップアウトしてもイベントの主旨的に容認できるものであればよいのですがあまり望ましいことではないと思われます。シードをなくせば4勝1敗の参加者にも予選通過の可能性が出ますがシード制度は店舗への集客に寄与するために一概になくしてよいものではありません。6回戦にすれば5勝1敗でも勝ち残りの目が大きくなるかもしれませんが開催時間の関係もあるでしょう。難しいですね・・・。最終戦に引き分けた場合如何なる引き分けもお互いに敗北扱いの0点にするというルールもありですかね?(このルールであれば現在作成しているシステムでも対応できる!)
その他思いついたことを更に列挙してみます。4勝1敗から必ず1名以上予選通過者を出す。切り番参加者を予選通過者とする。最終戦まで戦った参加者の中からランダムで1名予選通過者を出す。えーと・・・OMW%ルールを採用する・・・(苦笑・・・)ガンダムウォーは大好きなTCGなので今後も盛り上がって欲しいです・・・。

ではでは・・・。
スポンサーサイト

N回戦目での不戦勝は、対戦相手の獲得ポイントはN点とします。について

これは以前の日記でちょっとだけ触れましたがブシロードさんのショップ大会の簡易オポーネントによる
順位の算出方法に書いてあるルールです。これはどうなんだろう?と思ったので考察してみたいと思います。

そもそも、簡易オポーネントは店舗が公式のルールを使っていたらめんどくさくてやってられない!ことになるため、メーカー側が公式ルールの変わりにもう少しやりやすいこんなルールを使ってもらってもいいですよ!という救いの手ともいえるものだと思います。言い換えると
1、店舗の手間が少なく大会運営を行えること。
2、公式ルールでなくても参加者に悪い印象を与えないこと。(不公平感が無いこと)
を満たすものではならないといえるのでは無いでしょうか?

確かにオポネントマッチウィンパーセンテージを手計算するよりも店舗の負担は少なく済みます。対戦相手の獲得ポイントの合計の大きい方をより上位とします。という部分は店舗も参加者も違和感ない人も多いと思いますが、「N回戦目での不戦勝は、対戦相手の獲得ポイントはN点とします。」というのはどうなのでしょうか?

4回戦のスイスドローとした場合、参加者が獲得する得点の期待値は6.0点です。1回戦目に不戦勝になった人は相手得点として1.0点となりますが、通常の対戦で勝った人が獲得する得点の期待値は、4.5点となります。

1回戦目に不戦勝になった人で全勝者の相手得点の合計の期待値は1.0+6.0+7.5+9.0=23.5点
全勝者の相手得点の合計の期待値は4.5+6.0+7.5+9.0=27.0点
実に3.5点の差が出来ます。この3.5点という差はかなり大きく、1勝(3点)以上の差が出てしまいます。1回戦不戦勝になると、4回戦固定などの大会で、全勝者を1名まで絞らないような大会方式をとっている店舗では1位になることが難しくなります。1敗の場合での上位入賞もきつくなります。不戦勝となったのも運とはいえますが、参加者の立場からすると戦ってもいないのに1位が取れなくなることに対する不満というものが出るレベルといえます。

2回戦目に不戦勝となった人で3戦目、4戦目を勝つ人の期待値はちょっと計算がややこしいです。
1回戦は負けているはずなので1回戦の対戦相手得点の期待値は7.5点となります。
2回戦目は簡易ルール適用で2.0点となります。
3回戦の対戦相手は1勝1敗のはずなので、対戦相手得点の期待値は4.5点となります。
4回戦の対戦相手は2勝1敗のはずなので、対戦相手得点の期待値は6.0点となります。
相手得点の合計の期待値は7.5+2.0+4.5+6.0=20.0点となります。

参考までに1敗の人の相手得点の合計の期待値を出してみます。
1回戦に負けて1敗の場合(サブマリン)
7.5+3.0+4.5+6.0=21.0点

2回戦に負けて1敗の場合
4.5+9.0+4.5+6.0=24.0点

3回戦に負けて1敗の場合
4.5+6.0+10.5+6.0=27.0点

4回戦に負けて1敗の場合
4.5+6.0+7.5+12.0=30.0点

これらの平均を取ると
(21+24+27+30)/4=25.5点となります。

一般的に言われている「サブマリンは不利」というのが当てはまることが分かるかと思います。相手得点の合計の期待値が20.0点ということで通常のサブマリンと比べて期待値が1.0点低くなります。

3回戦以降の不戦勝者については上位に食い込む可能性はほとんどありませんので獲得する相手得点がどうなろうかあまり関係が無い様に思いますが・・・勢いで考察を続けます。

3回戦目に不戦勝となった人で4戦目を勝つ人の期待値

1回戦は負けているはずなので1回戦の対戦相手得点の期待値は7.5点となります。
2回戦も負けているはずなので2回戦の対戦相手得点の期待値は6.0点となります。
3回戦目は簡易ルール適用で3.0点となります。
4回戦の対戦相手は1勝2敗のはずなので、対戦相手得点の期待値は3.0点となります。
相手得点の合計の期待値は7.5+6.0+3.0+3.0=19.5点となります。

2敗の人の相手得点の合計の期待値を参考までに(ううっ・・・面倒くさい・・・)
ケースとしては4C2で6通りですので・・・

1回戦2回戦に負けて2敗の場合
7.5+6.0+1.5+3.0=18.0点

1回戦3回戦に負けて2敗の場合
7.5+3.0+4.5+6.0=21.0点

1回戦4回戦に負けて2敗の場合
7.5+3.0+4.5+9.0=24.0点

2回戦3回戦に負けて2敗の場合
4.5+9.0+7.5+3.0=24.0点

2回戦4回戦に負けて2敗の場合
4.5+9.0+4.5+9.0=27.0点

3回戦4回戦に負けて2敗の場合
4.5+6.0+10.5+9.0=30.0点

これらの平均を取ると
(18+21+24+24+27+30)/6=24点となります。

3回戦目に不戦勝≒「1回戦2回戦に負けて2敗の場合」ですので18.0-19.5=-1.5
?あれ?3回戦目に不戦勝をするとオポとしては1.5点得になりますね。

4回戦も同様に考えます

4回戦目に不戦勝となった人で4戦目を勝つ人の期待値

1回戦は負けているはずなので1回戦の対戦相手得点の期待値は7.5点となります。
2回戦も負けているはずなので2回戦の対戦相手得点の期待値は6.0点となります。
3回戦も負けているはずなので2回戦の対戦相手得点の期待値は4.5点となります。
4回戦目は簡易ルール適用で4.0点となります。
相手得点の合計の期待値は7.5+6.0+4.5+4.0=22.0点となります。

3回戦目に不戦勝≒「4回戦だけ勝つ場合」ですので
7.5+6.0+4.5+0.0=18.0点  18.0-22.0=-4.0
4回戦目に不戦勝をするとオポとしては4.0点も得になります。

まとめてみます。

1回戦の不戦勝者に与える仮想対戦相手得点の期待値は4.5点が望ましい。
⇒1点与えるのでは3.5点足りない。
2回戦の不戦勝者に与える仮想対戦相手得点の期待値は3.0点が望ましい。
⇒2点与えるのは1点足りない。
3回戦の不戦勝者に与える仮想対戦相手得点の期待値は1.5点が望ましい。
⇒3点与えるのは1.5点多い。
4回戦の不戦勝者に与える仮想対戦相手得点の期待値は0点が望ましい。
⇒4点与える必要は無く1点も与える必要は無い。
回戦が増えるごとに与える得点を増していくのはどうなんだろう?ということがよく分かるかと思います。
むしろ回戦数が増えていくごとに与える点数を減らしていかなければなりません。

2、公式ルールでなくても参加者に悪い印象を与えないこと。(不公平感が無いこと)

という部分においては満たせていない簡易ルールであることが分かりました。大会参加者が感じる不公平感は大会参加意欲や店舗での購買活動に直結する場合がありえます。

ちなみにこの値も法則性がありますね!計算式がひらめきました!
N回戦のスイスドローで勝者の獲得得点T(3点)、K回戦目の不戦勝とすると・・・

K回戦目の不戦勝者に与える仮想対戦相手得点の期待値は「(N-K)T/2」点が望ましい。

ということが言えると思います。
(5回戦スイスドローの1回戦不戦勝であれば(5-1)3/2で6点が理想的な獲得得点となります。)

「N回戦目での不戦勝は、対戦相手の獲得ポイントはN点とします。」を不公平なく書き換えるとすると・・・
「全体でN回戦の大会においてK回戦目での不戦勝における対戦相手の獲得ポイントは1.5(N-K)点とします。」

やっぱり小数点が発生しますしちょっと複雑になりますね・・・店舗の人の手間をかけずに手作業で行うにはギリギリのレベルかと思います。「最終回戦の不戦勝を0点として、1回戦戻るごとに1.5点づつプラスしてください」
と表現すればもう少し分かりやすくなるかもしれません。(5回戦の最終戦の不戦勝は0点、4回戦の不戦勝は1.5点、3回戦の不戦勝は3.0点・・・)
問題点としては勝者が1人になるまで続ける大会の場合で階段が崩れたりすると回戦数が少なくなる可能性もあり、獲得する相手得点が変わったりしてきますので、最終順位の計算時のみに使用する(タイブレイカーは使用しない)ことが必要です。

ですのでブシロードさんのTCGの大会運営をフォローする為に
・OMW%での順位計算、タイブレーク使用を可能とする⇒対応済み
・N回戦目での不戦勝の対戦相手の獲得ポイントはN点にできるようにする。
・N回戦のスイスドローで勝者の獲得得点Tとして、K回戦目の不戦勝者に
与える仮想対戦相手得点の期待値として「(N-K)T/2」点にできるようにする。

このあたりをシステム対応できるようにしていければと思っています。OMW%を自動計算できる仕組みがあれば簡易ルールを使わなくなる店舗さんが増えるかもしれませんが染み込んだルールは継続して使っていきたい・・・と思う店舗もあるかと思います。システムが本来OMW%のルールで大会運営出来るように提唱して使ってもらうことは問題なくても今まで使用していたルールを使用できなくして店舗に対して不便と感じさせることはするべきでは無いかなと。
ブシロードさんから店舗への現状の微妙な簡易オポーネント提示が変更されれば
・N回戦目での不戦勝の対戦相手の獲得ポイントはN点にできるようにする。
は本当の意味で不要となるかもしれませんが・・・・

ではでは。

店舗でシステムを使用してもらう為の改善いろいろ・・・

現在、一般的なTCGを販売・大会開催する店舗さんが店内大会で使用することを考えたシステム改善を続けています。

現場の声や意見を聞くことが大切ということで秋葉原のグランドパンダキャニオンさん、錦糸町のトレジャー×トレジャーさんにシステムを導入させていただいていろいろとご意見を頂いています。実際にヴァイスの大会等に立ち合わせていただいたときにもいろいろと気づくことがありました。以下気づけた事象を

①「システムへの参加者登録にお店の人が結構時間がかかってしまった」
実際には大会運営だけしていればいいというわけではなく、シングルを購入する人がいたり他の業務の合間に運営を行うようなことも多々あるわけです。お店の人の手間を減らすために便利ツールが逆に時間を奪うようなことがあっては本末転倒です。
・お店単位の顧客を登録しておいて参加者として簡単に呼び出せる機能や、
・同一TCGの前回大会の参加者を丸ごとコピーする機能(同じ参加者が多いはず)
・とりあえず番号だけ振って1回戦を開始してから名前を振る仕組み
等を実現できるように進めています。

場合によっては参加者がPC端末上でお店の発行したID番号を入力することで大会エントリーが出来る仕組みまでいければ・・・と思っています。その後、ポイントなどをためられるようにして店内レーティングを行えるようになればお店の集客にも寄与できると思いますし、使ってもらう意義も大きくなると思います。同じ種類のTCGにとらわれず、お店の開催している全大会規模でのレーティングとかを行えば、ある参加者がメインで行っているTCGとは別のTCGに取り組んでもらうチャンスが生まれたりして面白いのでは?と思いました。お店側としても売上に貢献するきっかけとなるしメーカー側にとってもユーザー獲得の手段となりえるのかな?と。
この仕組みが出来れば全国規模のレーティングにも転用できます。新しいTCGのレーティングの仕組みなどに携わることができればいいなぁと思ったりしています。

②階段対戦の2回目を踏んでしまった参加者の救済は出来ないのか?
店員さんからの意見でした。ヴァイス等の1本勝負4回戦の大会で、相手得点の合計を簡易オポ計算として使用している場合などでは参加者が対戦相手の得点の合計を強く意識する傾向があります。実際に2回目の階段を偶然にも踏んでしまった参加者が出たために気づけました。マッチングの運とはいえ、お店側への不満につながりかねない事象と思いましたのでこの部分は既に2回階段を踏まないように改善しました。

③1回戦目のマッチングを子どもたちだけで出来ないものか・・・
店舗ならではの要望なんだと思います。バトルスピリッツなど、子ども中心のTCGだが、ガチな大人が混じるような大会時における配慮機能という表現が適切でしょうか?初心者プレイヤーで初めて大会に参加して、これからやってみようというお店にとって見れば重要顧客がガチな大人プレイヤーにフルボッコにされて大会出たくない・・・もうこのTCGつまんないからやめる・・・ということにつながることをお店としては恐れるわけです。ですので、せめて1回戦だけでもレベルの近い子どもたちの間だけでマッチングできないものか?という要望です。なるほどです。ということで1回戦は指定したグループ内でしかマッチングしない(奇数人数の場合は1人は無理ですが)機能を追加しました。開発者にスーパーSEがいまして要望して無いのに複数グループを作ってそれぞれのグループ内で対戦できるような仕組みが出来ちゃいました。(^^;例えばですが小学生同士、中学生同士、高校生同士、大人といった4グループでなるべくグループ同士に当てる等が可能になりました。

関連機能として指定したグループ同士ではマッチングしないという機能も検討中です。グループ戦が行えないかという要望も頂いたりしています。8人で4人4人の2チームに分かれて、スイスドロー4回戦を行って最終的なチーム得点、勝率などで勝利チームを決めるといったこともできると思います。最終的なチーム順位の平均等をとれば人数が同じでなくてもチーム戦が成立しますし今ちょっと流行の3対3の形式にとらわれない新しい大会をサポートできるのでは?と思っています。

脱線しますが、聞いた話ですが相撲の幕下以下はグループ同士(同じ部屋の力士)はマッチングしないスイスドロー方式(スイスドロー7回戦等)なんだそうですね。今使っているシステムがまんま使えることになります。昔力士をやっていた人に話を聞いたことがあるんですが場所の最終日に(幕下以下は1場所7戦)ある親方が力士に向かって「ちょっと対戦の都合が悪いからおまえ8番取れ(8戦目をやれ)!」ということがあったそうです。今はシステム化されているのかどうか分かりませんがグループ機能を設けたら使ってみませんか?と相撲協会に言いに行ってきます(本気です)

ちょっと想像してみます。
 ガンダムウォー 東京大会  Aブロック スイスドロー5回戦
⇒大相撲     名古屋場所 幕下    7番勝負
(^^;)
(4勝4敗になった力士さんは次場所の番付はどうなるんだろう?とか気になります・・・)

いろいろと書きましたが現時点でもマッチングやオポ計算の負荷が減ったということで評価をいただけた部分もありますので、店舗の負担軽減になって店舗やTCGメーカーにとって顧客獲得(売上)にもつながるような大会運営のサポートができるようなツールを今後も突き詰めていきたいなぁと思っています。

ではでは・・・。

直接対決の結果について

直接対決の結果について書いてみます。

ヴァイスや、モンコレなどのフロアルールで定義されているルールです。店舗大会レベルでは採用されることは少ないとは思いますが考察を。(オポ計算をしないような小規模店舗では直感的な判断で使用していることも逆にありそうですが・・・)で、これをシステム化するに当たってちょっと考えてしまったことを以下に

2人同順位の場合だけのルールだよね?ということです。日本語的に「直接対決」は「直接2人で戦う」ということですから問題ないと思ったのですがそうなると大会の規模が大きい場合にこのルールが適用されるケースは稀であることが容易に推察されます。もうちょっと踏み込んで「当事者間同士の対戦結果」と見るとA・B・C3名でAはCさんに勝っている。BさんもCさんに勝っている。という状況であればCが3人の中で最下位といえます。AはCさんに負けている。BさんもCさんに負けている。という状況であればCが3人の中で最上位ということがいえます。4人、5人となると優劣がつけられない状況が多くなるとおもいますが、基準として用意できればルールとして適用されるケースも直接対決に比べれば多くなりますので面白い(定義する意味がある)のではないかと思ったりしています。

蛇足ですが、より上位者と戦った人を上の順位とするという判定が出来るか?という要望をもらったことがあります。(回戦数の少ない&1本先取のスイスドロー大会においては相手得点や勝率、OMW%であっても差がでないケースがありえます。)意外とこの基準を使用している店舗があるようですが、TCGの公式ルールとしては用いられてはいないようです。(あったらごめんなさい。)このあたりも実現できたらよいかな?と思っています。2位タイの人が得点同じで直接対決している。且全勝者の1位の人とはどちらも戦っていない・・・となると結局タイになるんですが・・・システム的に循環参照が怖い&未確定であるタイ順位を参照して順位を決めるという行為自体がいやな予感がしてなりませんが(苦笑)(^^;

蛇足(その2)ですがこの記事を書いている時に見たモンコレのフロアルールの「オポーネント・ポイント・パーセンテージの平均による比較」のところの計算式がおかしい様な・・・1勝3敗で13/60???13/40では???

ではでは・・・

オポネントマッチウィンパーセンテージ(OMW%)について

以前の日記にも何回か言葉として登場させていましたが、オポネントマッチウィンパーセンテージ(OMW%)について触れてみたいと思います。オポネントマッチウィンパーセンテージのルールの説明についてはwikiなどに詳しく載っていたりしますのでここでは割愛したいと思いまが、システムを作るにあたって情報が不足して困った部分を中心に触れてみたいと思います。

「値をどこでどういうルールで丸めるの?」という問題です。
このあたりまで言及しているTCGのレギュレーションがあるかと思って探しましたが見つかりませんでした。
パーセンテージという言葉を取ると小数点第3位を丸める必要が出ます。6回戦で4勝2敗の人の場合、そのマッチ勝率を分数で表すと4/6。0.6666・・・となりますので0.666を切り捨てて66%もしくは四捨五入か切り上げ扱いで67%にするかになると思います。日本語に直すとパーセンテージは「割合」とも訳せますので主催側のサジ加減次第でどうとでもなるとも読み取れます。現時点の判断としましてはシステムでは四捨五入する方式をとることにしました。切り捨て・切り上げ計算にシステムが対応する必要があるかどうか?については今後検討していきたいと思います。

まあ、どっちでもいいんじゃない?と思われる方もいるかと思いますが、数字を丸めるということは誤差が出るということになります。極端な例を以下にあげてみます。

6回戦スイスドロー
Aさん4勝2敗12点
対戦相手1 2勝4敗 マッチ勝率2/6 0.333・・・ 33% 
対戦相手2 2勝4敗 マッチ勝率2/6 0.333・・・ 33%
対戦相手3 2勝4敗 マッチ勝率2/6 0.333・・・ 33%
対戦相手4 5勝1敗 マッチ勝率5/6 0.833・・・ 83%
対戦相手5 5勝1敗 マッチ勝率5/6 0.833・・・ 83%
対戦相手6 5勝1敗 マッチ勝率5/6 0.833・・・ 83%
Bさん4勝2敗12点
対戦相手1 1勝5敗 マッチ勝率1/6 0.166・・・ 17%(※33%切り上げは無いものとします。) 
対戦相手2 4勝2敗 マッチ勝率4/6 0.666・・・ 67%
対戦相手3 4勝2敗 マッチ勝率4/6 0.666・・・ 67%
対戦相手4 4勝2敗 マッチ勝率4/6 0.666・・・ 67%
対戦相手5 4勝2敗 マッチ勝率4/6 0.666・・・ 67%
対戦相手6 4勝2敗 マッチ勝率4/6 0.666・・・ 67%

OMW%を計算してみます。
AさんのOMW%は(33+33+33+83+83+83)/6=58%
BさんのOMW%は(16+67+67+67+67+67)/6=58.6%≒59%

ということでBさんの順位がAさんより高くなります。???違和感が・・・。ちょっと待ってください。丸めないように計算して見ます。

AさんのOMW%は(2/6+2/6+2/6+5/6+5/6+5/6)/6=21/36=58.3333%
BさんのOMW%は(1/6+4/6+4/6+4/6+4/6+4/6)/6=21/36=58.3333%

上記のように同じになります。どれだけ強い相手と戦ってきたのか?という視点から言えば本来同順にならないといけないと思うのです。こういうルールなんだから順位に差が出来るよ!と押し通すのであればこのあたりのルールを明確に参加者に提示しなくてはいけないですよね?(まぁこのあたりを気にしてそんなに煩く言ってくる人もいないとは思うのですが、豪華商品、賞金などがかかる大会では主催側としてはきちんと予防線を張っておく必要があるかと。)

このあたりをいろいろと考察して思ったのですが、OMW%は優れた考え方だと思いましたが上記のような誤差が出ないように出来ればよりよいのではないか?と思ったんです。現行のOMW%はルールとして選択できるままとして、それとは別にシステム的に可能な限りの桁数を保持して誤差が出にくくする(PCの計算上限界は出てしまいますが。)ルール(オポネントマッチウィンアベレージ(仮称))を用意しておければよいのでは?と思っています。これは近いうちに実現してみたいと思っています。

手法として(全対戦相手の勝ち数/全マッチ数)として計算する方法もあるのかな?とも思いました。この方式をとれば、より丸めの誤差が出にくくなります。但し、この場合、勝率が低い対戦相手の底上げ処理(MTGでは勝率33%未満の場合33%とみなす。システムでは自由に%変更が可能としています。)を導入する場合に実現方法を考えないといけなくなります。回戦数に対して1人当たりの勝ち数を指定できるようにすることで代用できるか?というあたりです。「6回戦のスイスドローにおいて、2勝未満の人は2勝した扱いにする。」という設定をすれば2/6でMTGにおける底上げ処理を33.33333%で設定したことと同じになります。
しかしながらドロップアウト者を考えたりするとまずいことが起こりえます。「4回戦でドロップアウト。1勝3敗。」とします。底上げ処理して2勝とすると全対戦数は2試合減ることになるので確率33%と固定しているのに比べると自分勝率が有利に出てしまいます。(2/4で対戦相手の勝率が1人50%になったことになります。)こういったことを起こらないように考えるとすると、ドロップアウト者はマッチ数として全回戦6回戦を行った扱いとして2/6に補正をかけて・・・と言うことになるかと思います。実現できなくは無いと思いますがちょっとややこしいことになってしまいそうですね。

「次に気になったのはオポが計算できない状況の値はいくつ?」ということです。具体的に言うと、マッチングにおいてタイブレーカーを使用する場合で、1回戦の不戦勝者のOMW%はいくつ?という事象です。起こりえないかもしれませんが最終順位結果においても1回も戦わないで最終戦を迎えることもあるかもしれません。「5回戦スイスドローで4回戦までシードで5回戦に不戦勝」「1回戦から全て不戦勝」かなり意地悪な状況ですが、1敗した参加者が全員ドロップアウトしていくようなことが起これば可能性は0ではありません。可能性が0ではないことについてはシステムとして考慮しておかなければならないと考えているからです。昨年MTGの事務局にこのあたり確認させてもらったのですが、答えとしては「不戦勝は同一者が2回発生しないようにしている」「最終回戦前までシードということもまず設定しないと思うが、もしそのシード者が不戦勝にならないように調整する」ということでした。で、「もし仮にそのような状況あったとしたらオポは0とするだろう」とのことでした。システム的に対応はしていないが、運用でそのあたりは最低限考慮するから問題は無い。ということと思います。マッチングにタイブレーカーを使用した場合はオポ0とすると、以前に相手得点の記事にも書きましたが階段に引っかかりやすくなりますのでマッチングにタイブレーカーを使用しないほうがよいなぁと言うことも書いていて改めて感じました。

ではでは・・・

シード者の対戦相手の得点の期待値について

タイトルがなんのこっちゃですが、前回の記事を書いていて掘り下げたくなったので・・・

得点の次の評価基準が相手の得点の合計の場合でタイブレイカーを使用するマッチングでシード者の扱いがあるときに公平に行う方法について考えてみたいと思います。何でこんなことを考えるのか?と突っ込まれそうですが、スイスドローの運営システムで出来る限りいろいろなルールに対応したいなと思っているからです。システムがこうだからこういうルールでやってください・・・という縛りにならずに「カードゲームの面白さを最大限に引き出すことをサポートできるツールでありたい」=「汎用性をもちたい」と思っているからです。

5回戦のスイスドロー、勝者には3点が与えられる場合で考えます。(階段対戦、不戦勝、ドロップアウトは考慮しません。)以下に獲得する相手得点の期待値についてまとめてみます。

・1回戦の勝者(=1回戦シード扱い)
<1回戦終了時の期待値>
⇒1回戦の対戦相手の得点の期待値は0点となります。
<5回戦終了時の期待値>
同レベルの対戦相手と戦っている前提として勝率50%とすると1試合あたり1.5点となりますので
⇒1回戦の対戦相手の最終的な得点の期待値は0+1.5+1.5+1.5+1.5=6.0点となります。

・2回戦の勝者(=2回戦シード扱い)
<2回戦終了時の期待値>
⇒1回戦の対戦相手の得点の期待値は0+1.5=1.5点となります。
⇒2回戦の対戦相手の得点の期待値は1回戦に勝ち(階段は考慮しない)2回戦に負け、3+0=3点を得ていますので期待値は3点となります。
⇒よって2回戦終了時の相手得点の合計の期待値は1.5+3.0=4.5点となります。
<5回戦終了時の期待値>
⇒2回戦の対戦相手の最終的な得点の期待値は3+0+1.5+1.5+1.5=7.5点となります。
⇒よって5回戦終了時の1・2回戦の対戦相手得点の期待値は6.0+7.5=13.5点となります。

・3回戦の勝者(=3回戦シード扱い)
<3回戦終了時の期待値>
⇒1回戦の対戦相手の得点の期待値は0+1.5+1.5=3.0点となります。
⇒2回戦の対戦相手の得点の期待値は3+0+1.5=4.5点となります。
⇒3回戦の対戦相手の得点の期待値は1・2回戦に勝ち、3回戦に負け、3+3+0=6点を得ていますので期待値は6点となります。
⇒よって3回戦終了時の相手得点の合計の期待値は3.0+4.5+6.0=13.5点となります。
<5回戦終了時の期待値>
⇒3回戦の対戦相手の最終的な得点の期待値は3+3+0+1.5+1.5=9点となります。
⇒よって5回戦終了時の1・2・3回戦の対戦相手得点の期待値は6.0+7.5+9.0=22.5点となります。

・4回戦の勝者(=4回戦シード扱い)
<4回戦終了時の期待値>
⇒1回戦の対戦相手の得点の期待値は0+1.5+1.5+1.5=4.5点となります。
⇒2回戦の対戦相手の得点の期待値は3+0+1.5+1.5=6.0点となります。
⇒3回戦の対戦相手の得点の期待値は3+3+0+1.5=7.5点となります。
⇒4回戦の対戦相手の得点の期待値は1・2・3回戦に勝ち、4回戦に負け、3+3+3+0=9点を得ていますので期待値は9点となります。
⇒よって4回戦終了時の相手得点の合計の期待値は4.5+6.0+7.5+9.0=27.0点となります。
<5回戦終了時の期待値>
⇒4回戦の対戦相手の最終的な得点の期待値は3+3+3+0+1.5=10.5点となります。
⇒よって5回戦終了時の1・2・3・4回戦の対戦相手得点の期待値は6.0+7.5+9.0+10.5=33.0点となります。


・5回戦の勝者(全回戦シード扱い・・・というか全勝者の期待値ともいえます)
<5回戦終了時の期待値>
⇒1回戦の対戦相手の得点の期待値は0+1.5+1.5+1.5+1.5=6.0点となります。
⇒2回戦の対戦相手の得点の期待値は3+0+1.5+1.5+1.5=7.5点となります。
⇒3回戦の対戦相手の得点の期待値は3+3+0+1.5+1.5=9.0点となります。
⇒4回戦の対戦相手の得点の期待値は3+3+3+0+1.5=10.5点となります。
⇒5回戦の対戦相手の得点の期待値は1・2・3・4回戦に勝ち、5回戦に負け、3+3+3+3+0=12点を得ていますので期待値は12点となります。
⇒よって5回戦終了時の相手得点の合計の期待値は6.0+7.5+9.0+10.5+12.0=45.0点となります。

まとめると・・相手得点は
1回戦シード扱いの場合、2回戦のマッチングにおいて0点で、各回戦終了時に1.5点ずつ付与し、最終的に6点を与えるのが望ましい。
2回戦シード扱いの場合、3回戦のマッチングにおいて4.5点で、各回戦終了時に1.5×2=3.0点ずつ付与し、最終的に6+7.5=13.5点を与えるのが望ましい。
3回戦シード扱いの場合、4回戦のマッチングにおいて13.5点で、各回戦終了時に1.5×3=4.5点ずつ付与し、6+7.5+9=22.5点を与えるのが望ましい。
4回戦シード扱いの場合、5回戦のマッチングにおいて27.0点で、5回戦終了時に1.5×4=6.0点を付与し、6+7.5+9+10.5=33.0点を与えるのが望ましい。
全回戦シード扱いの場合、6+7.5+9+10.5+12.0=45.0点が平均的な期待値
ということになるかと思います。

上記の結果を踏まえて、システムでどう実現するか?実現できるか?ですが結果を読み解くと値の法則性に気づきました。等比数列ですね。対戦相手の各回戦終了時の3点を得る勝ち数と期待値1.5点を得る数は同値で0個,1個,3個,6個,10個・・・となります。以下のように対戦相手の得点の期待値を並べると分かりやすいでしょうか?

<1回戦>0個ずつ
0

<2回戦>1個ずつ
0+1.5
3+0 

<3回戦>3個ずつ
0+1.5+1.5
3+0 +1.5
3+3 +0 

<4回戦>6個ずつ
0+1.5+1.5+1.5
3+0 +1.5+1.5
3+3 +0 +1.5
3+3 +3 +0 

<5回戦>10個ずつ
0+1.5+1.5+1.5+1.5
3+0 +1.5+1.5+1.5
3+3 +0 +1.5+1.5
3+3 +3 +0 +1.5
3+3 +3 +3 +0 

回戦=N として式にあらわすと((N-1)N)/2個です。で、勝ち得点=T(3点) 期待値=T/2(1.5点)とすると以下の式になります。

(T+T/2)×(((N-1)N)/2)=1.5T((N-1)N)/2)点

こんなに真剣に計算したのはセンター試験以来かもしれません・・・(苦笑)

勝ち得点については3点が一般的ですがモンコレのように勝ち方によって点数が異なったり負けにも点数が入ったりする場合もありますのでその平均の値を取れるようにTの値を設定できるようにしておけばよいですね。苦労して計算した割にはシンプルな答えが導かれた気がします。カードゲームのレギュレーションに対してこの値ひとつで相手得点のルールをマッチングにおいて使用したとしてもシード者に不利が無いようなマッチングが実現できます。

ガンダムウォーの現行シードルールを不公平なく変えるとすると・・・
「シード権選手は、3回戦より組み合わせに加わります。その際のシード「権選手の成績は「勝ち点6、2回戦終了時点の対戦相手の勝ち点4.5(※4回戦以降のマッチングにおいて不利が出ないように各回戦終了時点で3.0点ずつ相手得点として追加で付与します。5回戦であれば13.5点、6回戦であれば16.5点が最終的に付与されます。)対戦相手の勝率5割、勝率10割」となります。」
と表現できると思います。このルールであれば不戦勝や引き分け試合の発生率、ドロップアウトを考慮すると、公平というよりもむしろ1回戦から勝ち続けた人よりも若干有利になると思います。

うーん・・・確かに公平にはなったかもしれませんがこんな記述したらかえって???な人が多発すると思います。混乱するだけですね・・・。OMW%使ってタイブレイカーを使用しないルールがシンプルで公平ですね・・・(爆)

(1/11補足)
2回戦終了時点での相手得点合計の期待値は4.5点ですが実際は3点とか6点とかになるわけであって、小数点以下の値は発生しえません。2回戦終了時点での「相手得点の合計3点」は2戦2勝者で階段対戦となってしまう候補に含ませることを意味しているといえます。(1回戦の対戦相手が2回戦も負けた=0点+2回戦の対戦相手3点=合計3点。)シード者に4.5点を与えると人数が多ければ多いほど階段対戦となることはほぼありえません。そういった意味で4.5点を与えるとシード者の立場が確率の部分以上に有利になるといえます。
また、4.5点という実対戦では発生しない点数を与えるということは、マッチングにおいてタイブレイカーを使用する場合においては「シード者同士でマッチングを行います」と宣言するのとほぼ同じこととなります。果たしてこうなってしまうことが運営側として問題ないと思えるのか?(シード者同士のマッチングばかりになることはNGだと自分は思います。裏を返すと現行のGWのルールでは2戦2勝で1回戦の対戦相手が2回戦目に勝利した人は「対戦相手の得点の合計が6点」となりますので、シード者とは当たらない。≒2戦2勝者で3回戦のマッチングでシード者と当たっていない人は3回戦開始時点で相手得点の合計が6点となってオポが高い可能性が高い・・・ということが推察されます。さらに参加者の立場で言い換えるとブロックの人数が多い東京などの大会においては3回戦でシード者と戦って敗北した場合、1敗でも予選突破は0ではないが絶望的ともいえます。これはまぁ大会運営上気にしないでもよいセーフなレベルだとは思いますが・・・)平均や確率だけ考えても不公平の出にくい理想的な大会運営が出来るとは限らないということも念頭に置いて、システムでいろいろと調整できるようにしていかないとな・・・と思った次第で追記しました。やっぱりマッチングにおけるタイブレーカーはいろんな意味で災いの元かもしれませんね・・・

ではでは。

相手勝率・自分勝率について

ぽんたです。先日の続きを・・・

(3) 最終的に勝率の高いプレイヤーとより多く対戦してきたプレイヤー。

スイスドロー5回戦であれば5回戦終了時点で戦った相手の勝率の平均ということになります。ガンダムウォーにおいての勝率は(4)のルールの括弧書きにもあるように(勝利ゲーム数÷全ゲーム数)で計算します。参考までに一般的になじみのある野球の勝率計算ルールは「勝率を出すには、勝、敗の合計数で勝試合数を割る。」となっています。引き分けが母数に入っていません。引き分けが母数に入るのか入らないのか?というところが計算において大きな違いとなります。
TCGの性質上、あまり引き分けは推奨しないとおもいますので、引き分けで勝率が下がらないのであればルール設定が意図的な引き分けを誘発する可能性もあります。(勝利ゲーム数÷全ゲーム数)であれば、引き分けが母数に入る=引き分けると勝率が低下する。となりますので勝率計算するに当たってはこの定義がスタンダードなのかな?と思えます。

私の調査不足なのかもしれませんが、勝率計算において引き分けを母数から除外している方式を採用しているTCGは無い気がします。(あったらごめんなさい・・・)需要は低いかもしれませんが、勝率関連のルールにおいて、引き分けを母数に含めるのか含めないのかを自由に変更できるようにしたいとは思っています。(現状は未対応)不測の事態でしか引き分けが起こらないようなTCGのルールであれば引き分けを母数に含めない設定の方がよい場合もあるかもしれません。

(4) 本日の自分勝率(勝利ゲーム数÷全ゲーム数)

ルール自体は(3)で勝率計算において、書きたいことは書いたので特に無いのですが自分の勝率よりも相手の勝率のほうが重視されるというのは独特な感じもします。(※蛇足ですが2009年までは自分の勝率が得点の次に重視される項目でしたので、「どちらかが2勝1敗で勝っても2勝0敗としましょう!」という密約が横行していたのを私は覚えています。このやり取りを撲滅するための主催者側の意思のようなものを感じます。)

ここでお気づきの人もあるかもしれませんが、相手勝率が高いほうが自分の順が上になる確率が高いわけです。
「私が2勝0敗で勝っても2勝1敗としましょう!」(笑)という密約を交わせば自分が勝った時に確率論的には自分の順位がよくなる可能性が高くなります。(※どんだけ自信あるんだよ!と感じ悪い印象を与えかねない言動ですしルール上禁止された行為ですのでご注意を!)
まぁ、そもそも「(2) 最終的に得点の高いプレイヤーとより多く対戦してきたプレイヤー。」という相手任せの基準が上にあり、自分の得点が同じでさらに相手得点の合計が同じになる状況はあまり起こりませんのでほぼ無駄な行為ともいえます。

<オマケ>シードについて

ガンダムウォーにおいて2010年からはシード扱いのルールが出来ました。ということもあり、作成している大会運営システムでは個人個人でシード設定を可能にしています。気になったのはシードに与えられる2勝の扱いです。
(以下ガンダムウォーHPより抜粋)
シード権選手は、3回戦より組み合わせに加わります。その際のシード権選手の成績は「勝ち点6、対戦相手の勝ち点3、対戦相手の勝率5割、勝率10割」となります。

「勝ち点6」「勝率10割」は良いのですが「対戦相手の勝ち点3」「対戦相手の勝率5割」が気になります。スイスドロー5回戦における勝ち点の単純な期待値は7.5点です。(引き分けやドロップアウトは考えない。)実際に対戦相手がいた場合で2勝の人の対戦相手の3回戦開始時の期待値を考えて見ます。
1回戦に勝った相手は2回戦に勝つ確率を50%とすると勝ち点の期待値は1.5点となります。2回戦に勝った相手は階段を無しとすると1回戦に勝っているはずで、3点を得ていますので期待値は3点となります。よって、2回戦終了時点の2勝者の相手の勝ち点の合計の期待値は1.5+3=4.5点となります。5回戦終了時を考えると勝ち点の期待値は前者が6.0点後者が7.5点となりますので、1回戦2回戦自分に戦って負けた相手の勝ち点の合計の期待値は6+7.5=13.5点となります。
2回戦終了時点の相手得点の期待値としても3点は少ないです。4回戦、5回戦と進んでいくと、対戦相手の得点の合計が相対的に低くなり、マッチングにおいてタイブレイカーを使用しているがゆえの階段地獄にはまりやすくなります。また、当然ながら最終結果の順位付けの時には13.5-3=10.5点もの相手得点の合計の差が出てしまいます。ドロップアウトなどの別の要因も絡みますが、さすがに最終的に2人分の合計の勝ち点として3点では低すぎます。2勝の保障があるだけありがたいという考えもあると思いますが、2勝出来る自信があるのであればシード権を使用しないという選択肢もあるレベルと思います。

以下システム的な話ですが、1回戦毎に仮想の対戦相手に固定得点が加算されていく仕組みをシステムで実現すれば使えるかな?とこの記事を書いていて思いました!(オポネントマッチウィンパーセンテージのルール採用したほうが運営もシステムもよっぽど楽じゃない?という考えはとりあえず置いて置きます・・・)マッチングにおいてタイブレイカーを使用しているルールであっても割と公平なマッチングが実現できそうです。個人的にはGWの2回戦分シード者の扱い場合、ドロップアウトや不戦勝がありますので、マッチングにタイブレーカーを使用せず1人当たり6点ぐらいの設定がいいのかな?と思いました。マッチングにタイブレイカーを使用していないのであれば現行システムで対応可能です。

ちょっと書いていてこのあたり掘り下げたくなってきたので、次回はシード者の対戦相手の得点の期待値について考えてみようかと思いました。

ではでは。
プロフィール
ぽんたです。TCGに関するマニアックな内容になりますが読んでってください~

ぽんた

Author:ぽんた
FC2ブログへようこそ!

カレンダー
12 | 2011/01 | 02
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 - - - - -
最新記事
最新コメント
月別アーカイブ
カテゴリ
FC2カウンター
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
最新トラックバック
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。