全部比べなくても順番が決まる、ランキングの仕組み
Steam Wishlist Ranker では、数百本のウィッシュリストでも、数分から十数分でランキングができます。なぜそんなに早く決まるのか。この記事では、ツールの中で何をしているのかを、計算の話も交えて説明します。
総当たりは現実的ではない
一番確実な並べ方は、すべてのゲームを1対1で比べる「総当たり」です。ただ、比べる回数は本数の2乗に近い勢いで増えていきます。
| 本数 | 総当たりの回数 | 1回3秒で考えると |
|---|---|---|
| 50本 | 1,225回 | 約1時間 |
| 100本 | 4,950回 | 約4時間 |
| 274本 | 37,401回 | 約31時間 |
効率のよい並べ替えの方法(コンピューターが使う「並べ替えのアルゴリズム」)を使っても、274本ならおよそ2,000回の比較が必要です。それでも1時間半以上かかり、途中で集中力が切れてしまいます。
大事なのは上のほうの順番だけ
ここで発想を変えます。ウィッシュリストの順番が役に立つのは、「次に何を買うか」を決めるときです。そのとき見るのは上位の数本から数十本で、150位と151位の差はほとんど関係ありません。
そこで、このツールは上位ほどていねいに、下位ほどざっくり比べるように作っています。比べる回数を、順番が意味を持つところに集中させるのです。
4つの段階
1. タップで候補を絞る
最初に、ゲームの一覧から気になるものをタップします。ここで選んだゲームには高めの点が、選ばなかったゲームには低めの点が付きます。1本ずつ比べなくても、全体を「上の候補」と「それ以外」に一気に分けられます。迷わず選べる人が多く、一番速い段階です。
2. 4本から2回選ぶ
次の予選では、4本のゲームから「一番欲しい」と「一番いらない」を選びます。4本の組み合わせは6通りありますが、この2タップで、そのうち5通りの勝ち負けが分かります。一番欲しいものは残り3本に勝ち、一番いらないものは残り3本に負けるからです。分からないのは、真ん中の2本どうしだけです。
1対1なら6回かかる比較が、2タップで済む。これが、数百本でも短い時間で終わる一番の理由です。
勝ち負けは、チェスなどで使われる「イロレーティング」に近い考え方で点数に変えます。強い相手に勝てば大きく上がり、弱い相手に負ければ大きく下がります。周回を重ねるたびに点数が落ち着き、上位の顔ぶれが変わらなくなったら、次の段階に進む合図です。
3. 上位だけ1対1で比べる
予選で上位に入ったゲームだけで、1対1の勝負をします。ここは順番が一番大事なところなので、1回に1組ずつ、ていねいに比べます。同じ組み合わせがなるべく重ならないようにしているので、少ない回数で多くの関係が分かります。
この段階には「乱入戦」があります。最初のタップで選ばなかったゲームが、ときどき挑戦者として上位に挑んできます。最初の印象だけで下に沈んだ「実は欲しいゲーム」を拾い上げるための仕組みです。挑戦者は、Steam で元々上のほうにあったゲーム、セール中のゲーム、最近ウィッシュリストに入れたゲームなどから選ばれます。勝てば倒した相手のすぐ上に入り、次はもっと強い相手と戦います。
4. 決勝トーナメント
最後に、上位16本でシード付きのトーナメントをします。15試合で1位が決まり、上位の並びもはっきりします。点数だけで決めると僅差になりやすい上位を、直接対決で決着させる段階です。
仕上げ:真ん中と下
1位が決まったあとは、希望すれば真ん中と下の並びも整えられます。ここでも4本ずつのグループを使い、真ん中は「一番欲しい」、下は「一番いらない」を選んでいく勝ち抜き方式です。下のほうで「いらない」を選び続けて残ったゲームは、「たぶんいらない」の区切りに入ります。
この仕上げは、上位の並びを崩さないように、それぞれのグループの中だけで順番を入れ替えます。上位で決めたことが、あとから下の結果で動いてしまわないようにするためです。
まとめ
- 総当たりは、274本で3万7千回以上。現実的ではありません。
- 買い物に必要なのは上位の順番なので、比べる手間を上位に集中させます。
- 4本から2回選ぶと、6通りのうち5通りの勝ち負けが一度に分かります。
- 乱入戦で、最初に見落としたゲームにもチャンスがあります。
- 決勝トーナメントで、上位の僅差を直接対決で決めます。
仕組みを知ったうえで使うと、「なぜこのゲームが乱入してきたのか」も楽しめるはずです。