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

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

なんとなく仕事の合間に考えていたこと。
それは相撲の取組表。どうやって作るのか。
正確には、機械的に作る方法はないものかーと色々妄想してた。


n人がm日間の日程で戦うとして、とりあえずn>mは確定。
mのほうが大きいと、複数対戦しなきゃいけない。


人数が奇数だと余っちゃうから、ここでは偶数人参加とする。
更に、日程は勝ち越し、負け越しが出たほうが盛り上がるので奇数日としよう。
n=m+1だと、所謂総当りのリーグ戦と同じ。対戦する順序こそ差があれ対戦相手は自動的に決まる。

つまりこんな感じ

ABCD
A*123
B1*32
C23*1
D321*

数字の1~3は対戦する順番。初日から3日まで問題ない。


問題はnがm+1より大きい場合だ。
とりあえず6人で3回対戦の場合を考える。(5回対戦だと総当り)

ABCDEF
A*
B *
C *
D *
E *
F *

こんな感じで表があって強さはA>B>・・・>Fとすると

ABCDEF
A*321**
B3*
C2 *
D1 *
E* *
F* *
↑Aだけ決めてみた



最終日はBとの首位攻防戦を楽しんでもらいたい。ここまでは異論なさそう。
こっから同じように、Bの日程を上位から組んでいくと、Dまで決めたときに詰まる。

ABCDEF
A*321**
B3*12**
C21*3**
D123***
E*****
F**** *
↑だめな例

A~Dが総当りしてしまうと、E、Fが対戦する相手が足りなくなってしまうのだ。
だからAを決めたら次にFを決める。

ABCDEF
A*321**
B3* *
C2 * 3
D1 * 2
E* *1
F**321*


そのあとBを考えるのだけど、2日目と1日目をC、D、Eから選らばなきゃいけなくて
Cは1日目ならOK、Dは無理、Eは2日目ならOKということで、実は選択肢が無い。

ABCDEF
A*321**
B3*1*2*
C21* 3
D1* * 2
E*2 *1
F**321*


同様に次にEを考えるとやはり選択肢が無く、3日目にDと対戦するしかない。
まとめると対戦表は

ABCDEF
A*321**
B3*1*2*
C21***3
D1***32
E*2*3*1
F**321*


結構綺麗にできた。たまたま上手くいくとこんな感じ。
これをn>m+1を満たす実数に対して解ければよいのだけど、考え方がまとまらない。


なぜこんなことを考えたのかというと、JWLで今はリーグが分かれているけど
相撲みたいに、番付があって、順位が変動したらより盛り上がるんじゃないかと思ったわけ。
更にいうと、上位リーグでは勝てないが、中位リーグでは圧勝、みたいな人は
どっちに参加しても面白くないだろうし、実力に見合った満足と機会を与えられていないんじゃないかって思う。


相撲システムの利点は、そういった実力が離散的に満足度を提供している状況を
少し緩和できることと、日本の伝統的な文化から継承されたものであること、更には
勝ち越し、負け越しによって、次回の順位が変動することによる盛り上がり、緊張感
なんかがあげられる。


実力のある人は、それなりに勝利の味を味わってしかるべきだし
まだまだ発展途上な人は、敗北するのもやむなし。
というかそういうシビアなところが、WarcraftIIIの魅力だと考えている。
今回Mainに参加した私としては、接戦だったので十分楽しめたけど次回も同じようにいくとは限らない。
リーグの垣根を少し下げる(こんな極端じゃなくても、例えば入れ替え戦とか)工夫は必要かなと。


で、こういうことを提言すると、番付組むことも大変だけど
それより対戦日程が大変だろうと思って、機械的に作る方法を求める流れになったのだ。
まだ全然つかめてないけども。明日も暇つぶしに考えるつもり。