floodgateのマッチメーク その3

いくつかコメントを頂きました。ありがとうございます。
また何パターンか実験してみました。


例1
・ランダムに一チームを選び、その対戦相手は順位差による重み付きの乱数で選択
・重みは「その2」と同じ(1,1/2,1/3,...)

No 1 2 3 4 5 6 7 8 9 10 11 12 13 14
1 - 43 29 25 13 15 5 6 12 12 8 11 9 12
2 43 - 36 18 20 14 13 10 7 8 8 8 7 8
3 29 36 - 38 22 14 11 14 9 2 6 6 8 5
4 25 18 38 - 32 21 10 12 9 4 9 7 11 4
5 13 20 22 32 - 23 18 15 8 15 13 7 4 10
6 15 14 14 21 23 - 40 19 13 11 5 6 5 14
7 5 13 11 10 18 40 - 32 19 13 9 13 9 8
8 6 10 14 12 15 19 32 - 30 15 11 9 13 14
9 12 7 9 9 8 13 19 30 - 32 24 16 6 15
10 12 8 2 4 15 11 13 15 32 - 31 18 25 14
11 8 8 6 9 13 5 9 11 24 31 - 28 20 28
12 11 8 6 7 7 6 13 9 16 18 28 - 43 28
13 9 7 8 11 4 5 9 13 6 25 20 43 - 40
14 12 8 5 4 10 14 8 14 15 14 28 28 40 -


「その2」の例2と比べ、重みは同じでも、対戦相手のバラつきが大きくなったように見えます。
No.2 から見た場合、No.1 と No.3 の対戦数が同程度になりましたので、こちらの方が自然かもしれません。


例2
・ランダムに一チームを選び、その対戦相手はレーティング差による重み付きの乱数で選択
・重みはレーティング差が100増えるごとに 1,1/2,1/3,... と減らしていく

参加ソフトは以下の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 - 53 25 20 12 11 12 14 7 14 5 7 10 10
2 53 - 32 14 7 9 12 7 12 15 10 5 13 11
3 25 32 - 32 24 13 10 15 4 11 13 5 3 13
4 20 14 32 - 27 22 14 14 12 3 8 8 14 12
5 12 7 24 27 - 25 40 9 10 14 8 10 8 6
6 11 9 13 22 25 - 18 28 16 18 9 17 10 4
7 12 12 10 14 40 18 - 24 14 9 14 17 6 10
8 14 7 15 14 9 28 24 - 28 19 11 12 9 10
9 7 12 4 12 10 16 14 28 - 32 16 24 14 11
10 14 15 11 3 14 18 9 19 32 - 31 16 10 8
11 5 10 13 8 8 9 14 11 16 31 - 44 17 14
12 7 5 5 8 10 17 17 12 24 16 44 - 15 20
13 10 13 3 14 8 10 6 9 14 10 17 15 - 71
14 10 11 13 12 6 4 10 10 11 8 14 20 71 -


「その1」の例1と比べ、重みを変えた分、対戦相手のバラつきが大きくなっています。
No.2 から見た場合、No.1 の方が No.3 より対戦数が多いようです。
レーティング 0 のソフトが 2 チームあることが影響しているかもしれません。


例3
・各チームのレーティングに、直前の対局結果に応じた乱数を加減算して、その結果が近いチーム同士を組み合わせる
 直前の対局に勝った場合は random(800) を加算、負けた場合は random(200) を減算。
 ただしレーティング0の新規参加者は、勝ち負けに関係なく random(2500)
・勝敗のシミュレート方式
 対戦チームのレーティング差に応じて乱数で決定。
 「レーティングが200点低い相手への勝率は、およそ75%」
 ただしレーティング0の新規参加者は、レーティングを1000と仮定して計算。
 勝ち負けによるレーティングの変動はない

参加ソフト14本は例2と同じ。

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

No 1 2 3 4 5 6 7 8 9 10 11 12 13 14
1 - 40 24 26 17 7 7 6 6 3 0 0 32 32
2 40 - 24 30 17 9 14 5 10 4 3 1 26 17
3 24 24 - 27 22 19 19 17 8 5 5 0 12 18
4 26 30 27 - 22 17 14 11 8 11 9 4 13 8
5 17 17 22 22 - 31 25 15 7 9 3 3 15 14
6 7 9 19 17 31 - 35 29 19 8 6 4 5 11
7 7 14 19 14 25 35 - 18 17 11 10 6 14 10
8 6 5 17 11 15 29 18 - 32 24 12 4 11 16
9 6 10 8 8 7 19 17 32 - 34 28 13 9 9
10 3 4 5 11 9 8 11 24 34 - 25 45 11 10
11 0 3 5 9 3 6 10 12 28 25 - 66 19 14
12 0 1 0 4 3 4 6 4 13 45 66 - 23 31
13 32 26 12 13 15 5 14 11 9 11 19 23 - 10
14 32 17 18 8 14 11 10 16 9 10 14 31 10 -


参考までに、勝数表も載せておきます。

No 1 2 3 4 5 6 7 8 9 10 11 12 13 14 total
1 - 26 18 24 15 6 6 6 6 3 0 0 29 32 171
2 14 - 20 21 14 7 14 5 9 4 3 1 25 15 152
3 6 4 - 15 12 15 14 16 8 4 5 0 11 14 124
4 2 9 12 - 11 13 10 10 6 9 9 4 9 5 109
5 2 3 10 11 - 22 15 11 6 8 3 3 7 10 111
6 1 2 4 4 9 - 20 17 15 7 4 4 2 5 94
7 1 0 5 4 10 15 - 11 11 8 9 6 6 4 90
8 0 0 1 1 4 12 7 - 19 20 12 2 5 4 87
9 0 1 0 2 1 4 6 13 - 19 21 12 4 2 85
10 0 0 1 2 1 1 3 4 15 - 15 35 0 1 78
11 0 0 0 0 0 2 1 0 7 10 - 47 2 0 69
12 0 0 0 0 0 0 0 2 1 10 19 - 2 1 35
13 3 1 1 4 8 3 8 6 5 11 17 21 - 3 91
14 0 2 4 3 4 6 6 12 7 9 14 30 7 - 104

No.1 から見ると、対戦があるのはレーティング差800のNo.10までで、レーティング差900点以上の No.11,12 と対戦がありません。
レーティングが800点低い相手への勝率はおよそ99%になるので、この辺が限界なのかもしれません。対戦に意味があるのは、この辺までかもしれません。(1000点差でも当たりたいという希望はあるかもしれませんが…)
No.2 の次に対戦が多いのは、初参加の No.13,14 で、これは初参加組の乱数が2500と大きい値になっているためと思われます。


逆に初参加組から見ると、一番対戦が多いのは No.1 で、その次は No.12 が多く、それ以外はまんべんなく当たるようです。
No.12 が比較的多いのは、乱数のとる値の範囲が広いせいだと思われます。