スポンサーサイト

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

オポネントマッチウィンパーセンテージ(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とすると、以前に相手得点の記事にも書きましたが階段に引っかかりやすくなりますのでマッチングにタイブレーカーを使用しないほうがよいなぁと言うことも書いていて改めて感じました。

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

コメントの投稿

非公開コメント

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

ぽんた

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

カレンダー
09 | 2017/10 | 11
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ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。