考えを文章で伝える練習帳

考えを文章で伝える練習帳。文章を書く習慣を付けたいです。

今度はダブルイリミネーションについて。
ダブルイリミネーションてことは

  1. 勝者トーナメント
  2. 敗者トーナメント

があって、最後に両方のトップがハンデ有でぶつかるなり
もう一試合グランドファイナルを用意してそこで決着を付けたりする。


勝者トーナメントは一昨日書いたシングルイリミネーションそのまま。


敗者トーナメントを考える。
敗者トーナメントも敗者と同じように公平な作りにしてしまうと色々問題がある。
総試合数の偏りが大きくなる、勝者トーナメントが終わるまで始められない等。


だもんで、ダブルイリミネーショントーナメントで公平感を出すには
敗者トーナメントを「強者と弱者を差別しまくって不公平極まりない」
トーナメントにしなければいけない。

一昨日の公平トーナメントをまずは分析する。

Player1Game1Game5Game7
Player2
Player3Game2
Player4
Player5Game3Game6
Player6
Player7Game4
Player8

Game1-7の敗者が負け組トーナメントにやってくる。
時間を有効に使いつつ、上位まで残った人の待遇を良くしていくとすると
まず、Game7の敗者(Player1)は、勝ち組トーナメント決勝まで残ったGOSUであり、当然負け組の中でも頂点に君臨するべきだ。


よって、1回勝てば頂上決戦に出られるポジションをキープ。

Player1Game13
Game12
Game13とかGame12ってのは、8人トーナメントの敗者は7人なので試合総数は6試合。
既に7試合は決定済みなので、敗者トーナメント決勝戦は第13試合目というわけ。


次に負けてくる人たちは、勝者トーナメントのGame5とGame6の敗者だ。
彼らもそこそこ頑張ったので、そこそこの地位を授けよう。
但し、二人いるので、Game7の敗者のような圧倒的な有利はあげられない。

Player1Game13
Player2Game11Game12
Game9
Player3Game10
Game8
最後にGame1-4で負けてしまった人たち。彼らは一回戦負けであり、いわば最下級戦士だ。 だから、敗者トーナメントも底辺からスタートしなければならない。
Player1Game13
Player2Game10Game12
Player4Game8
Player5
Player3Game11
Player6Game9
Player7
これで敗者トーナメントは完成。 これに一番最初の勝者トーナメントをくっ付けると
Player1Game1Game5Game7Game14
(Final)
Player2
Player3Game2
Player4
Player5Game3Game6
Player6
Player7Game4
Player8
Game7LGame13
Game5LGame10Game12
Game1LGame8
Game2L
Game6LGame11
Game3LGame9
Game4L
ダブルイリミネーショントーナメントが完成だ。 比較的公平で、時間の無駄が少ない。 あとはシングルの時と同じように敗者トーナメントも人数少なかった時用に優先順位を付ければ完璧。 敗者トーナメントの優先順位は勝者トーナメントの優先順位に完全依存するから求めるのは楽。 勝者トーナメントの同じ列のGameは、Playerと同じ方法で優先順位が決まる。 Game1-4の順に優先だとすれば、上から順にGame1Game3Game2Game4。 敗者側ではそれをそのまま並べる。 よって8人以内ダブルイリミネーショントーナメントはこの形 Player1から順に枠に入っていく。 総試合数は14。一人が戦い抜く試合は4または6試合。4はストレートで優勝した場合のみ。
Player1Game1Game5Game7Game14
(Final)
Player3
Player5Game3
Player7
Player2Game2Game6
Player6
Player4Game4
Player8
Game7LGame13
Game5LGame10Game12
Game1LGame8
Game3L
Game6LGame11
Game2LGame9
Game4L
もう少し敗者トーナメントを公平にして時間を短縮する方法もあるけど とりあえず今回は、何回戦負けかで差を必ずつけるような作りになってる。 うんちくはこんなもんであとはコードを書くだけだー。