Harukiのスマブラなどブログ

スマブラ(for)やスマブラ系Webサービスについて書いていきます

スマブラ4プレイヤーランキングの計算方法

この記事では、2016年11月にsmash record上で公開したJAPAN Power Rankings - Smash 4のランキング算出方法について説明します。

f:id:harukisb:20161103192559j:plain

SSB4 Player Rankings - SMASH RECORD

ざっくり説明すると、以下のような計算方法になっています。

  • 大会で入賞するとポイントを獲得し、合計ポイントの多さで順位が決まる
    • 獲得順位が高いほど獲得するポイントが高い
    • 大会の参加人数が多いほどポイントが高い
    • 直近の大会ほどポイントが高い
  • 出場した大会のうち、獲得ポイントが高い6個の大会のみが考慮される
    • 出場回数が2回以下のプレイヤーはランキングに入れない
    • 出場回数が3回~5回のプレイヤーは、擬似的に6回出場したことにするために、獲得ポイントに[6 / 出場回数]を掛ける
  • 考慮に入れる大会は1年以内に開催された以下の大会シリーズ
    • HST(北海道)
    • TSC(東北)
    • ウメブラ(関東)
    • カリスマ(中部)
    • スマブラ(関西)
    • ヒロスマ(中国地方)
    • 修羅ブラ(九州)

ポイントについて

プレイヤーランキングは、大会に出場することで得られるポイントの多さによって決定されます。この方式は、テニスや卓球と(ほぼ)同じ方式です。ここでは、ポイントがどのように決定されるかについて説明します。

獲得ポイントを決定する要素は「順位」「大会」「経過日数」の3つです。簡単に言えば「順位が高いほどポイントが多い」「勝つのが難しい大会ほどポイントが多い」「最近の大会ほどポイントが多い」となっています。具体的には、獲得ポイントの計算式は以下のようになっています。

順位ポイント * 大会人数 * ネイピア数^(1-([経過日数]/365))

以下ではそれぞれ3つの要素について説明します。

1. 順位

順位が高いほどポイントが多いのはあまりにも自明です。問題は「どのようにポイントを振り分けるか」という点です。テニス、卓球、バドミントンでの振り分け方を調べてみましたが、どれもバラバラだったので、どうやら唯一の正解のようなものは無さそうな感じです。 今回作ったランキングでは、順位ポイントの振り分け方は以下のようになっています。

順位 順位ポイント
1位 800
2位 700
3位 600
4位 500
5位 400
7位 288
9位 192
13位 128
17位 80
25位 40
33位 16
49位 8
65位 4
97位 2
97位未満 0

この振り分け方は、smashboardのランキングシステムのをそのまま流用しました。smashboardのポイントは、1位と2位の差が比較的小さく設定されているのが特徴です。たとえば、テニスでは、1位のポイントが400,2位のポイントが240と2倍近い差があります。

ちなみに、ウメブラのシードポイントでは、順位の逆数を順位ポイントとしています。つまり、1位のポイントをXとすると、2位のポイントはX/2、4位のポイントはX/4となります。この方式では、たとえば少し極端な例ですが「2位を2回獲得したプレイヤーAと、1位と33位を1回ずつ獲得したプレイヤー」が居たとすると、Aが(X/2 + X/2)、BがX+(X/33)となり、Bの方が高いランクとなります。個人的には、プレイヤーAの方が高いランクであるべきだと感じたので、順位の逆数を順位ポイントとするのは避けました。ただ、基本的には順位ポイントには正解が無いというのが実際のところだと思います。

2. 大会

今回は「その大会で勝つのがどれほど難しいか」を決めるのに、人数をそのまま採用しました。大会人数が多いほど獲得ポイントが大きいというのは妥当に見えます。しかし実はこれも少し議論の余地があります。たとえば、海外からNairo,Dabuz、Mr.Rという世界最上位プレイヤーが参戦した出場者300人のウメブラSATと、日本人のみが出場する300人規模の大会では、前者のほうが制するのが難しいと思われるため、前者の大会の方がより多いポイントが与えられるべきとも言えます。そこで、単純な人数以外にも加味する必要がありそうです。
実際に、卓球では大会を5つにランク分けし、その大会のランクによってポイントが決まります。オリンピックと世界選手権が最上位に位置し、人数は考慮されていません。

スマブラのランキングでも大会を格付けをしたほうが良いかと思いましたが、実際は日本国内で最もレベルが高いと思われるウメブラとスマバトがほぼおなじくらいの規模であること(200~300)、それ以外の大会はその2シリーズよりも規模が小さい(50~100)ことから、人数をそのまま採用しました。ただ、将来的に人数とは別の格付けを採用する可能性はあります。

3. 経過日数

直近の大会ほど高くするために、指数関数を使いました。一方で、ウメブラシードポイントでは、一次関数を使っています。時間経過によって以下のようにポイントの比率が変わります(実際は日数で計算しているので若干誤差があります)。

nヶ月前 ポイント(指数関数) ポイント(一次関数)
0 2.718 12
1 2.500 11
2 2.300 10
3 2.117 9
4 1.947 8
5 1.792 7
6 1.648 6
7 1.516 5
8 1.395 4
9 1.284 3
10 1.18 2
11 1.08 1
12 1.0 0

一次関数では、たとえば11ヶ月前の大会と10ヶ月前の大会で2倍差が出てしまうので、それを修正するために指数関数を採用しました。とは言え、まあ実際のところはそんなにランキングには影響しません。(ちなみに、テニスでは経過日数は考慮しないようです。)

出場回数と合計ポイントの関係

テニスのランキングでは、得られたポイントがそのままランキングとなりますが、ここではポイントの高い順から6つの大会に絞ることにしました。理由は地域差を小さくするためです。得られたポイントがそのままランキングとなる方式だと、大会が多く開催される地域(関東、関西)にいるプレイヤーが必然的に有利となってしまうので、こういった形にしました。とはいえ、上位6つが採用されるということは多くの大会に出たほうが得なので、依然として地域差はありますが、まぁやらないよりはマシということで…

それと、ランキングに入るための最低出場回数を2としました。ミシガンのランキングでは「3ヶ月以内に6回以上大会に出場しないとランキングに入れない」というルールがあり、これを真似たものです。アメリカでは毎週のように大会が開かれるので3月に6回以上となっていますが、日本で同じ基準を採用するとランキングに入れるプレイヤーが0となってしまうので、日本のオフ大会開催頻度に合わせて、ここでは「1年に3回以上」としました。

また、出場回数が少ないプレイヤーは、擬似的に6回出場したことにするために、獲得ポイントに[6 / 出場回数]が掛けられます。簡単に言えば、1位を1回、3位を2回とったプレイヤーは、1位を2回、3位を4回とったときのポイントとなります。一見すると、そこそこ理にかなっているように見えますが、実は少しだけ危険な計算方法となります。どう危険かというと「大会に出場することによって、合計獲得ポイントが下がる」ことがあり得てしまいます。

たとえば、大会に3回出場して獲得ポイントが5000だったとします。このとき、6 / 3が掛けられるのでポイントが10000となります。次に、このプレイヤーが大会に出場するも奮わず500ポイントしか獲得できなかったとします。このとき、5500 × (6 / 4) = 8250となり、合計ポイントが下がってしまうのです。

個人的な考えとして、「大会に出場してしまったせいでランク(合計ポイント)が下がる」ことは無くしたいというのが本音です。たとえば、遠くまで遠征して、結果として合計ポイントが下がってしまったら、あまり気分は良くないはずです。大会は「出場して損がない」ものであるべきというのが私の考えです。

これを解消するには、ランキングに載るための最低出場回数を6に引き上げて、このシステムを無くしてしまえば良いのですが、中には少ない回数で高い結果を残しているプレイヤーも居るので、そういった層をランキングから外すこととなってしまいます。次に、最低出場回数を引き下げるという方法もありますが、少ない回数で評価してしまうと過大評価するおそれがあります。

色々な葛藤がありましたが、結果としてこのようなシステムとなりました。出場回数が少ないプレイヤーでもランキングに入れて、かつ大会に出場しても損することがないシステムがあればよいのですが、今回は妥協しました…

考慮に入れる大会について

現在日本では日本各地で開かれていおり、ルール、規模、レベル、環境などそれぞれです。大学の文化祭などで開かれるような小規模なものまで含めたすべての大会を考慮に入れるよりも、線引をひいて考慮に入れる大会と入れない大会を分けたほうが良さそうです。

今回は北海道、東北、関東、中部、関西、中国、九州から1つずつ選ぶ形としました。別の言い方をすると、大学大会、闘龍門、KVOなどは考慮に入れませんでした。

しかし、考慮に入れていない大会シリーズの中にも、入れても良さそうな大会はたくさんあります。たとえば、東京理科大学で開かれる「理科ブラ」シリーズは開催頻度、規模、レベルともに申し分のない大会です。理科ブラ6ではEVO 2016 2位のかめめ選手、EVO 2016 5位のあばだんご選手、ウメブラSAT優勝のKEN選手が出場する世界大会顔負けのレベルの高さの大会で、日本の他の大会と比較しても、ウメブラ、スマバトに次ぐレベルの高さと言っても過言ではないほどです。しかし、関東にはウメブラシリーズがあるため今回はランキングには考慮しませんでした。今後、考慮に入れる大会を変更する可能性は十分にあります。

終わりに

以上が現時点でのプレイヤーランキングの計算方法となります。まだまだ改善の余地たっぷりなので、何か意見等あればお気軽にどうぞ。

それから、全てのポイントの自動的に計算できる形にしているので、「地域ごとのランキング」「任意の期間におけるランキング」「キャラごとのランキング」など、様々なランキングをsmash record上で見られるようにしていく予定です。

参考にしたものたち

スマブラ for Wii U 大会 シード選出方法とポイントランキング : 関東 スマブラ for 3DS / Wii U オフ大会 ウメブラ

#PGR Methods - Articles - Panda Global

テニスATPランキングの仕組みと計算方法をちゃんと理解しよう | いろはに情報館

コラム|卓球世界ランキングのシステム(仕組み)の解説 - 卓球ポータル|卓球動画・卓球大会結果・卓球ニュース

Umebura 24 | Smashboards

Overview Ranking - Badminton World Federation

レイティング・ランキングの数理