floodgateのマッチメーク

マイムーブ西村さんのブログで、
floodgate のマッチメーク方法の案
という話題が出ています。

いま合流中のソフト、レベル高っ。新規参入者に敷居が高いという指摘がありますが、確かにそうでしょうね。やはり何か策が必要かと思います。

これは、今年の選手権初参加者として気になったところではありました。
結果的に決勝進出したソフトや、2次予選でも上位に入ったソフトが多く常駐しているので、
私は何十連敗してもヘコむことはなく、「皆強いなあ」と思うだけだったのですが、
それなら1次予選に出たらどれだけ勝てそうなのか、何も手ごたえがありません。
これは本当に不安でした。選手権本番では全敗も覚悟していました。


実際のところは、何とか勝ち星をあげられたのですが、
とにかく、ある程度「弱い」プログラムが常駐していれば、状況はかなり変わるんじゃないかと思います。
yowai_gpsとか、いやこれも結構強いみたいですから、totemo_yowai_gpsとか。。


それはともかく、西村さんの案をシミュレーションしてみました。
条件は以下の通りです。

・シミュレーションを通じて、勝ち負けはシミュレートしない。レーティングは不変とする

・重みの設定
 ある相手とレーティング差が100点以内の場合に、その相手と対戦する確率を1とした場合、
 100点を超えて200点以内なら、確率は1/2
 200点を超えて300点以内なら、確率は1/4
 以降、100点増えるごとに確率を1/2にしていく

・連続対戦の制限
 勝ち負けをシミュレートしないので、現在の「勝ち同士負け同士」の方式は使わない。
 代わりに、「前回対戦した相手とは対戦しない」という制限をつける


これで200戦シミュレートしてみました。


例1:初参加のソフトに見立てて、レーティング0のソフトが2つある場合

参加ソフトは以下の14本。

No rating
1 1500
2 1400
3 1300
4 1200
5 1100
6 1000
7 1000
8 900
9 800
10 700
11 600
12 500
13 0
14 0


組み合わせ表は次の通り。

No 1 2 3 4 5 6 7 8 9 10 11 12 13 14
1 - 74 52 31 17 9 9 4 4 0 0 0 0 0
2 74 - 42 31 21 9 14 4 2 1 0 2 0 0
3 52 42 - 38 23 14 12 8 7 3 1 0 0 0
4 31 31 38 - 28 29 23 8 9 2 1 0 0 0
5 17 21 23 28 - 34 32 25 11 7 1 1 0 0
6 9 9 14 29 34 - 26 35 24 12 5 2 0 1
7 9 14 12 23 32 26 - 35 21 19 6 3 0 0
8 4 4 8 8 25 35 35 - 14 29 21 11 5 1
9 4 2 7 9 11 24 21 14 - 41 31 17 14 5
10 0 1 3 2 7 12 19 29 41 - 27 31 13 15
11 0 0 1 1 1 5 6 21 31 27 - 44 34 29
12 0 2 0 0 1 2 3 11 17 31 44 - 37 52
13 0 0 0 0 0 0 0 5 14 13 34 37 - 97
14 0 0 0 0 0 1 0 1 5 15 29 52 97 -

1番のソフトは、半数以上の対戦が2番・3番相手になっていて、レーティングが800離れた10番以下のソフトとは当たっていません。
13・14番は、お互いとの対戦が約半数を占めています。


例2:レーティング0のソフトがない場合
参加ソフトは以下の14本。

No rating
1 1500
2 1400
3 1300
4 1200
5 1100
6 1050
7 1000
8 1000
9 950
10 900
11 800
12 700
13 600
14 500


組み合わせ表は次の通り。

No 1 2 3 4 5 6 7 8 9 10 11 12 13 14
1 - 72 51 28 9 9 6 10 4 6 3 1 1 0
2 72 - 30 25 17 12 15 15 7 4 1 1 0 1
3 51 30 - 39 17 17 10 10 11 10 2 2 0 1
4 28 25 39 - 27 21 14 20 15 4 1 1 3 2
5 9 17 17 27 - 27 29 17 19 18 10 5 3 2
6 9 12 17 21 27 - 20 21 25 15 17 8 4 4
7 6 15 10 14 29 20 - 14 20 17 11 20 11 13
8 10 15 10 20 17 21 14 - 23 20 20 13 10 7
9 4 7 11 15 19 25 20 23 - 26 22 11 13 4
10 6 4 10 4 18 15 17 20 26 - 28 17 19 16
11 3 1 2 1 10 17 11 20 22 28 - 27 31 27
12 1 1 2 1 5 8 20 13 11 17 27 - 38 56
13 1 0 0 3 3 4 11 10 13 19 31 38 - 67
14 0 1 1 2 2 4 13 7 4 16 27 56 67 -

1番のソフトについてみると、2番・3番が半数を占めることに変わりはないのですが、
レーティング0のソフトが無くなったせいか、下位のソフトとも稀に当たっています。
中位のソフトは、差が小さい範囲にひしめきあっているせいか、対戦数に多少ばらつきがみられますが、
おおむね、近い順位のソフトと多く当たっています。