見出し画像

順位点方式は完全ではないが、現状のベストのひとつであるという話


 この文章は、とりあえずは BeatSaber の大会を想定しているが、別に BeatSaber でなくても構わない。とにかく、

  • なにかにスコアがある

  • 複数のスコアを総合して、参加者の順位を決める

 というルールが成り立つものならば、何でも良い。

 さて、10 人の参加者が 5 つの譜面で争うことを考えよう。譜面は 0〜100 点までの得点を取得できる。この時、各参加者の順位はどのようにして決めればいいだろうか?

案外難しい

 一番単純な考えは、それぞれの得点を合計するというものである。例えば、受験の模試の「総合得点」はこのような考えに則っている。一見、わかりやすい考え方だが、実はこの方式には重大な欠点がある。

 それは、譜面間で 1 点の重みが同じである必要があるということである。模試の例だと、数学は簡単すぎて全員が 100 点を取れるテストで、英語は難しすぎて、得意な人でも 50 点が関の山、というテストだったとする。この場合、総合得点の順位は英語の成績によってほとんどが決まる。こんな「総合得点」に何の意味もないことは想像に難くない。

 このような重みは、単純化するとスコアが広く分布しているか密集しているかによって概算することができる。つまり、ダンゴになるようなスコア分布は、1 点を上げるのに苦労するかもしれない。今後、このような広がりを「ばらつき」と称する。

 このような性質から、模試を出題する側は、科目によってばらつきが同じになるように注意する必要があるのは明らかである。

 だが、音ゲー(少なくとも Beat Saber)においてこれを実現するのは、実はすごく難しい。なぜかというと、譜面によって競うポイントが違うにもかかわらず、結果は 0〜100 点の形で一律だからである。専門的なので詳細は省くが、99 点以上の小数点を争うことが想定される譜面と、70 点でクリアできれば御の字という譜面では、要求されるスキルは全く違うし、なにより 1 点の重みがまったく違う

大会とは選挙である

 このような問題に対して、先人達はなにか研究をしてこなかっただろうか?

 実は、膨大な先行研究がある。というか、社会におけるものすごく重要なイベントが、実は大会と同じ構造を持っている。

https://www.irasutoya.com/2016/07/blog-post_586.html

 選挙である。

 多数の候補者と投票者がいて、投票結果によって順位を決めるという構造は、複数の参加者と譜面があって、譜面の成績によって順位を決めるということと共通の構造を持っている。違うのは、譜面は投票結果に幅(例えば 0〜100)にあることである。ちなみにこのような形式の投票を、採点投票あるいは範囲投票というらしい。

 つまり、譜面は投票者であり、大会参加者(候補者)に向かって成績つきの投票をできる。見方を変えれば、選挙は成績が極端に限定された大会と言える。非現実的な仮定だが、選挙でゼロイチ投票をするのは、国民ひとりひとりが「候補者 A は X 点、候補者 B は Y 点……」といったことを判定するのが煩雑だからやらないだけで、コストとか判断能力を一切無視するなら、本当はそれが望ましいような気もする。

 次節以降、色々な順位付けの方式と、そのメリット/デメリットを比較していく。 

単純合計方式

 これは既に説明した通り。メリットは、わかりやすい点。デメリットは、譜面間のばらつきが同じでないと総合得点の意味がなくなってしまう点である。

順位的方式(ボルダ式)

 さて、本命(?)となる順位点式。弊サービス、JBSL-Web ではこれを採用している。これは、例えば 10 人の候補者がいる場合、1 位から順に 10 点、9 点、8 点……という順位点を割り振り、その合計によって総合順位を決めるものである(実際の JBSL-Web では傾斜を微調整しているが、本質ではないので無視する)。なお、スコアがあるなら自明に順位は定まるので、これは「スコアがある方式」に分類したが、スコアがない場合でも、順位付けをするぐらいだったら現実の選挙にも応用可能だ。

 この方式の優れている点は、なんといってもばらつきの違いを考慮しなくても良い点にある。特に、限界ギリギリの勝負をしていて、ライバルを捲くったような場合に、その努力が反映されやすい。

 では、これが理想の方式か? というと、実はそうでもなくて、少し問題がある。

 それは、総合順位が巻き添えで変動することがある点である。JBSL-Web を利用したことがある人なら見たことがあることも多いであろうが、ある人のスコアが変動する度に、全然別の人の順位が巻き添えで変動することがある。こうなると、A さんと B さんとの関係が、二人は何もしていないにも関わらず、C さんのスコアにより逆転することがあるということになり、素朴に考えると少し変である。

 また、参加者の人数によって順位点が非自明に増減するリスクもある。例えば、ダンゴ状態の参加者が集まれば集まるほど、その上にいる人とその下にいる人ではダンゴ状態の人数だけ順位点の差が出ることになる。両者の技量の差は全く変わらないにも関わらず!

 このように、順位点は完璧な方法ではない。

動的重みつき方式

 これは、現時点での参加者内でのトップスコア(暫定最大スコア)が一定値(例えば 100)となるように倍率を設定することで、ばらつきの調整を行うものである。

https://cube.community/tournaments/bswc-2023/qualifiers

 BSWC(Beat Saber World Cup)でも採用されており、上の図の「Normalized」はこの調整後のスコアを表す。また、これは暫定最大スコアによって重みが変わるので、「動的」重みつきと名付ける。

 こうすることにより、例えば、暫定最大スコアが 10,000 点の譜面で 10 点上げる努力と、暫定最大スコアが 8,000 点の譜面で 8 点上げることのメリットは等しくなる。

 また、動的重みつき方式は、巻き添え変動のリスクが少ない。巻き添え変動が起こる可能性があるのは、暫定最大スコアが更新された時のみだ。それは、そうそう起こることではない。

 しかし、ここで鋭い読者は思ったかもしれない。「本当に大事なのは、最大スコアではなくばらつきなのでは?」と。同じ暫定最大スコアが 10,000 点の譜面でも、平均 9,000 点の譜面と、平均 5,000点の譜面では、1 点上げるための努力の質や量がかなり異なるという状況がありえる。重みつき方式では、このような違いを考慮できない。

偏差値方式

https://ja.wikipedia.org/wiki/%E5%81%8F%E5%B7%AE%E5%80%A4

 このような気持ちのもとに生まれた指標、実はそれこそが受験でもよく使う偏差値である。これは、「平均からのズレ÷ばらつきの大きさ」という値を使う。これで、より譜面間で平等な争いができると思いきや、実はこれにも問題がある。

 まず思いつく問題は、順位の変動がわかりづらすぎる点だ。つまり、巻き添え変動が起こる。順位点方式でも同じ問題があったが、あちらは原理上、譜面内の準位が変わらない限りは巻き添え変動は起こらない。しかし、偏差値方式では、例え譜面内の準位が変わらなくても、ばらつきに応じて偏差値が動的に変わるので、巻き添え変動が起こる可能性が高くなる。他にも、「あと何点稼げば偏差値合計がいくら上がり、その結果、総合順位をいくら上げられる」という予測が非常に立てづらい。

 仮にスコアの分布が正規分布であった場合、偏差値方式は完璧な調整手段となりえるが、もちろんそんな保証はどこにもない(特に、小規模な集団においては)。そのため、計算がややこしくなるわりには、妥当性もそれほど上がるとも限らない、という何とも言えない方式となる。

両立は不可能

https://ja.wikipedia.org/wiki/%E3%82%B1%E3%83%8D%E3%82%B9%E3%83%BB%E3%82%A2%E3%83%AD%E3%83%BC

 今まで「巻き添え変動」と呼んできたものは、経済学の分野では「無関係の選択肢からの独立(IIA、Independence of irrelevant alternatives)」が保たれていないと表現される。

 この点において、アローという経済学者(写真の人物)が、ゼロイチ投票で一人の勝者を決める時には、どのような投票方式においても、無関係の選択肢からの独立と、その他の公正さを両立させることはできないことを証明している(アローの不可能性定理)。では、スコア方式、つまり採点投票ならばどうか?

 ここで、「ばらつきの調整」と「無関係な選択肢からの独立」は両立できないことを示す。

 ばらつきに応じて調整するような方式では、スコアに変更がある度に、既存のスコアの順位への寄与が変わりうる。その結果、他者のそれも変化を受ける可能性があり、結果的に巻き添え変動が発生する可能性がある。要するに、ばらつきの違いを動的に吸収する仕組みがある限り、どうしても巻き添え変動のリスクは生じる。これを諦めるなら、単純合計方式による不公平な総合順位を受け入れるしかない(または、予め重みを固定値で決め打ちする「固定重みつき方式」にするか)。これを、採点投票における hibit の不可能性定理と名付ける(既に他の誰かが同じ内容を指摘している可能性、500 %)。

 大会としては色々な譜面を揃えたいのが普通なので、それらのばらつき具合が奇跡的に揃うというマジックが起こらない限りは、不可避的にこのジレンマと向き合うことになる。

巻き添え変動の是非

 ここで、「巻き添え変動は悪か?」ということについて考えていきたい。無関係な選択肢によって、全く関係のない二者の順位が入れ替わるのは素朴に考えれば不自然であると以前に述べた。しかし、これは時間差があるからこそ発生する事象だということに注目されたい。

https://www.irasutoya.com/2019/04/blog-post_96.html

 つまり、すべての参加者が同時にスコアを提出して採点すれば、原理上巻き添え変動は絶対に起こらない。その結果を見れば、順位点方式だろうが、重み付き方式だろうが「お前のせいで順位が変わった!」という文句は起こりようがない。言い換えると、考えるべきは「時間差で参加者やスコアが変わる状況とは何か?」「そうでない状況とは何か?」ということである。

 参加者が変わりえる状況というのは、不特定多数が自由なタイミングで参加するオープンな大会ということである。また、スコアが代わり得る状況というのは、スコアを提出できる期間が長い大会である。

特定集団かつ全力の前提

 以上の考察は以下のようにまとめられる。特定の参加者が、出し惜しみせずにスコアを提出するような大会では、巻き添え変動は実質的な問題にはななりづらい。いわば「特定集団かつ全力」の前提だ。

 この前提が守られない状況、つまり「不特定集団または出し惜しみ」がありえる状況では、巻き添え変動はなるべく避けたい。ここで、今まで欠点が多かったと思われていた単純合計方式が、このような撹乱要素に対して強い耐性を持つことがわかってくる。単純合計方式では、ある人の得点は、集団がいくら変わろうとも、他の人がどんなスコアを取ろうとも、その価値は変わらない。

 結局、これもまた別のトレードオフなのだ。

各手法の長短

 各手法の長短を一覧表にまとめる。

 各項目の説明は以下の通りである。名前は私が感覚でつけたので、実はこのような呼び方があるよ、という先行研究があったら申し訳ない。

  • rewarding(頑張りがい)…すべての参加者が、自分の頑張りに応じて、公平な、総合順位への寄与を得られるか。要は、1 点の重みが極端に違う状況にならないかということ。何が公平かという点については別の議論になってしまうため、最大でも「△」とした。

  • predictive(予測性)…どのぐらいのスコアを稼いだら総合順位が変わるかという予測を立てやすいか。重みつき方式では、スコアの増減と総合順位への寄与が一致しないので、計算にワンクッションを要する。順位点では、スコア内の順位の変化と総合順位への寄与は完全に一致する。

  • irrelevant(独立性)…巻き添え変動の起こりにくさ。

  • unarbitrary(無恣意性)…ばらつきの調整(がもしあるならば)に恣意的な要素が何もないこと。固定重みつき方式では、独立性は保たれるが、重みは運営のさじ加減によって決まる。

 こうして見ると、順位点方式と動的重みつき方式はいいバランスを持っていることがわかる。JBSL-Web を作った時にさすがにここまで検討した訳ではないが、現状ベストな方式のひとつであると考えている。

結論

 スコア式の大会(採点投票)において、考察の結果得られた結論をまとめる。

・様々な譜面のスコアから順位を計算する大会において、各譜面のばらつきは差がないのが望ましい
・ばらつきに差がある場合は、ばらつきを動的に吸収する仕組みが必要である
・しかし、そのような仕組みがあると、巻き添え変動は避けられない
・恣意的な調整をしない場合、順位点方式と動的重みつき方式がバランスがよい
・巻き添え変動が起こりえる場合、特定の参加者が全力でスコアを提出するという前提が保たれていることが望ましい
・そのような前提が難しいオープンな大会では、スコアの一貫性を保つために、あえて単純合計方式や固定重み方式を採用することも考えられる

この記事が気に入ったらサポートをしてみませんか?