2/6(金)のドミニオンの大会について(詳細)

こちらではルールの詳細について説明しますが、ややこしいのでよくわからないという場合はこちらは無理に読む必要はありません。
簡単な大会の流れおよび注意事項、参加方法、開催予定日時、使用サプライについては前の記事を参照してください。

大会の詳細なルール

まず全員が「ラウンド戦」を行い、その上位数名が「決勝戦」を行い優勝者を決めます。
決勝戦に進める人数は、運営者が参加者数などをもとにして大会開始前に知らせる予定です。

ラウンド戦

ラウンド戦は前にも触れたスイスドローで行います(スイスドローの解説はニコニコ大百科の該当記事等を参照)。
ラウンド戦では全て二人戦、つまり1vs1の形式で行います。 ラウンド戦のゲーム数はだいたい下のようになります。実際のゲーム数は運営者が参加者数などをもとにして大会開始前に知らせる予定です。

大会の参加者数 ゲーム数の目安
5~8 3程度
9~16 4程度
17~32 5程度

なお、ラウンド戦における1ゲームの事をラウンドと呼ぶことにします。
対戦相手はラウンド開始前ごとに主催者が決定、発表します。
ゲームの結果により双方がメインポイント、サブポイントと呼ばれるものを得ます。
これから獲得メインポイント、獲得サブポイント、順位の付け方、対戦相手の決め方について順に説明します。

獲得メインポイントについて

おおまかに言うと勝てば+3ポイント、引き分ければ+2ポイント、負ければ+1ポイント、ゲーム中に離脱するとペナルティで-1ポイントとなります。
1ラウンドにおける獲得メインポイントの詳細は下の通りになります。

結果 獲得メインポイント
相手と対戦して勝った +3ポイント
不戦勝となった +3ポイント
相手がゲーム中に離脱した +3ポイント
相手と対戦して引き分けた +2ポイント
相手と対戦して負けた +1ポイント
自分がゲーム中に離脱した -1ポイント
自分と相手がゲーム中に離脱した 双方に-1ポイント

獲得サブポイントについて

獲得サブポイントは(自分の獲得した勝利点 - 相手の獲得した勝利点)の式で求めます。
ですので獲得サブポイントはマイナスの値になることもあります。
なおゲームをしていないラウンドやどちらかが途中放棄したラウンドではサブポイントは算出しません。
例:

  • 自分の勝利点が11、相手の勝利点が19の場合
    自分の獲得サブポイントは-8ポイント、相手は+8ポイントです。ちなみにこの場合は自分は負けなので+1メインポイント、相手は+3メインポイントとなります。

順位の付け方について

下に示した順に比較し、値の大きいほうが上位になります。
例えば1を比較して同じだったら2を比較、2も同じだったら3を比較…といった感じになります。

  1. 自分が獲得したメインポイントの合計
  2. 対戦相手の「獲得メインポイントの平均」の平均
  3. 自分が獲得したサブポイントの平均
  4. 対戦相手の「獲得サブポイントの平均」の平均
  5. 参加順 早いほうが優先

ただし、2~4においては、ゲームをしていないラウンドやどちらかが途中放棄したラウンドは計算しません。
2~4についてはわかりにくいと思うので下に説明します。
まず「獲得○○ポイントの平均」ですが例えば下のような試合結果のプレイヤーを例に取ってみます。

1回戦 2回戦 3回戦 4回戦 5回戦 6回戦
獲得メインポイント ±0 +3 +1 -1 +3 +2
獲得サブポイント - +8 -9 - - ±0
備考 不参加 ここから途中参加 自分がゲーム中に離脱 不戦勝

この場合の「獲得メインポイントの平均」は2、3、6回戦を計算して (3+1+2)/3=2、「獲得サブポイントの平均」も2、3、6回戦を計算して (8-9+0)/3=-0.33 となります。
次に「対戦相手の「獲得○○ポイントの平均」の平均」を下のようなプレイヤーを例に取ってみます。

1回戦 2回戦 3回戦 4回戦 5回戦 6回戦
対戦相手の「獲得メインポイントの平均」 - 1.4 2.3 1.9 - 1.7
対戦相手の「獲得サブポイントの平均」 - -3.8 8.3 2.5 - 0.3
備考 不参加 ここから途中参加 自分がゲーム中に離脱 不戦勝

この場合の「対戦相手の「獲得メインポイントの平均」の平均」は2、3、6回戦を計算して (1.4+2.3+1.7)/3=1.8、「獲得サブポイントの平均」の平均」も2、3、6回戦を計算して (-3.8+8.3+0.3)/3=1.6となります。

対戦相手の決め方

1ラウンド目

1ラウンド目はプログラムの乱数を用いて適当にシャッフルして対戦相手を決めます。
なお、もし参加者数が奇数の場合は一人余りますが、その方は不戦勝となります。

2ラウンド目以降

順位付けをしてなるべく順位が近い人と対戦します。こちらの決め方もプログラムを用いて自動的に決定します。
プログラムの都合上、前に戦った人ともう一回対戦することがあるかもしれません。
こちらでも余った一人(通常は最下位)は不戦勝となります。

決勝戦

決勝戦は一発勝負の予定です。
同着がいた場合、ラウンド戦で上位だった人を上の順位とします。

使用するツール

ポイント算出、順位付け、対戦相手決定では下のソフトを使う予定です。
syo00/swiss-system-tournament-tool · GitHub

また、サプライ選出も自作プログラムで行う予定です。

最後に

何か質問等ありましたらスレ等に気軽にオナシャス!