-PR-
締切り
済み

総当りのリーグ戦の日程作成方法

  • すぐに回答を!
  • 質問No.188317
  • 閲覧数6908
  • ありがとう数4
  • 気になる数0
  • 回答数3
  • コメント数0

スポーツで、総当りのリーグ戦をするとします。
たとえばA~Fの6チームでやる場合、
1日目 A対B、C対D、E対F
2日目 B対C、D対E、F対A


というように、毎日全てのチームが試合をし、
かつ同じチームとは1試合しか試合をしないようにして
5日でこのリーグ戦を終わらせるようにする日程のつくり方って、何か決まった方法があるんでしょうか?

6チームくらいだと、何回か適当にやってみるとできるのですが、もっと大きい数になった場合にも、一般的に可能なのですか?
もしやり方があるのでしたら、教えてください!
通報する
  • 回答数3
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

回答 (全3件)

  • 回答No.1
レベル8

ベストアンサー率 22% (13/58)

>6チームくらいだと、何回か適当にやってみるとできるのですが、… 本当に? ...続きを読む
>6チームくらいだと、何回か適当にやってみるとできるのですが、…
本当に?
補足コメント
noname#2111

1日目:
A-B C-D E-F
2日目:
A-C B-E D-F
3日目:
A-D B-F C-E
4日目:
A-E B-D C-F
5日目:
A-F B-C D-E

と、今適当にやってみたのですが、
全チームが毎日試合をして、かつ各チームと1試合ずつして、5日で日程が終わります。

KaitoTVGAMEKOZOUさんは多分スポーツなど殆どしないし、見ないかたなのでしょうけど。
以前、バレーボールのW杯かなんかでも8チームくらいでこれをやってました。来年のサッカーW杯予選は、4チームでこれをやりますよね。

この日程の作り方に何かコツがあるのかなーと思ったんですが。
#8チームだと結構難しいです。
投稿日時 - 2001-12-21 08:50:45

  • 回答No.2
レベル14

ベストアンサー率 37% (1123/2963)

長文になりました。お許しを。 条件を満たすには、全チーム数が偶数であることはいいですよね。 今チーム数をNとします。 1対1で2チームづつ試合するわけですから、1日に消化できる試合数はN/2となります。 一方、全試合数は、総当りですから、自分を除く全チームと試合する必要があるわけで1チームあたり(N-1)試合、NチームですからN(N-1) ここで互いにダブっているから、2で割って N(N- ...続きを読む
長文になりました。お許しを。

条件を満たすには、全チーム数が偶数であることはいいですよね。
今チーム数をNとします。
1対1で2チームづつ試合するわけですから、1日に消化できる試合数はN/2となります。

一方、全試合数は、総当りですから、自分を除く全チームと試合する必要があるわけで1チームあたり(N-1)試合、NチームですからN(N-1) ここで互いにダブっているから、2で割って N(N-1)/2試合となります。

よって、全試合消化には N(N-1)/2 ÷N/2 = N-1 日必要になるわけです。

ここまではいいですね。

次に1日の組み合わせを考えるのは、Nチームを1列に並べる並べ方を考えることと同じです。つまり、N!通りの並べ方があるわけです。
(!は階乗の記号です。 n!= n*(n-1)*(n-2)*…*3*2*1 です。)

このN!通りの中から、重ならないようにN-1通り分を選ぶことになるわけです。
8チームだと、8!、最初の1チームを固定しても7!=5040通り から7通り分を選ぶ作業になります。

一般解はわかりませんが、8チームぐらいなら、やっつけでもできます。考え方は同じでしょうね。(多分)

以下、私のやり方です。
チームをA~Hとします。8チームですから7日間必要で、まず1日目とAチームの日程を
決めてしまいます。

1日目 A-B C-D E-F G-H
2日目 A-C
3日目 A-D
4日目 A-E
5日目 A-F
6日目 A-G
7日目 A-H

次にBチームの日程を決めます。重なりに気をつけて順番に並べてしまいます。

1日目 A-B C-D E-F G-H
2日目 A-C B-D
3日目 A-D B-E
4日目 A-E B-F
5日目 A-F B-G
6日目 A-G B-H
7日目 A-H B-C

ここまではいいですね。次はCチームです。すでにCが組まれている1日目/2日目/7日目以外に入れます。

1日目 A-B C-D E-F G-H
2日目 A-C B-D
3日目 A-D B-E C-
4日目 A-E B-F C-
5日目 A-F B-G C-
6日目 A-G B-H C-
7日目 A-H B-C

ここで、Cの対戦相手のE,F,G,Hについて考えます。
C-Eは5日目か6日目しか入れません。
もし、C-Eを6日目に当てると残る2チームがD-Hとなり、6日目にはB-Hが組まれているのでHが重なるので不可です。よってC-Eは5日目となります。

次にC-Fは4日目以外は入れますが、上述の通りC-Eが5日目で確定したので3日目か6日目になります。3日目に入れると3日目の残るカードがG-Hとなり、1日目と重なるのでC-Fは6日目と決まります。
同様に考えて、Cチームの日程が以下のように決まります。

1日目 A-B C-D E-F G-H
2日目 A-C B-D
3日目 A-D B-E C-G
4日目 A-E B-F C-H
5日目 A-F B-G C-E
6日目 A-G B-H C-F
7日目 A-H B-C

Dチーム以下についても同様に考察すると

1日目 A-B C-D E-F G-H
2日目 A-C B-D E-H F-G
3日目 A-D B-E C-G F-H
4日目 A-E B-F C-H D-G
5日目 A-F B-G C-E D-H
6日目 A-G B-H C-F D-E
7日目 A-H B-C D-F E-G

と決めることができます。
  • 回答No.3
レベル14

ベストアンサー率 57% (1014/1775)

●チームの数が偶数の場合を考えることにします。 チームに番号を付けて1,2,......,2Nとします。1日にN試合をするわけです。 総当たりなので、試合の回数はN(2N-1)で、これをN箇所で同時開催するのだから、(2N-1)日掛かります。 2N×2Nの対称行列Aで、チームx対yの対戦日付をA[x,y]と表すことにします。この行列A(対角線を除く)に、1~(2N-1)の日付をそれぞれN個 ...続きを読む
●チームの数が偶数の場合を考えることにします。
チームに番号を付けて1,2,......,2Nとします。1日にN試合をするわけです。
総当たりなので、試合の回数はN(2N-1)で、これをN箇所で同時開催するのだから、(2N-1)日掛かります。

2N×2Nの対称行列Aで、チームx対yの対戦日付をA[x,y]と表すことにします。この行列A(対角線を除く)に、1~(2N-1)の日付をそれぞれN個づつ埋めることができれば良い。
ただし、どの行、どの列にも同じ数字が来てはいけない。
そのように埋めることができればオッケーですね。

チームが14ある場合(N=7)の例を示します。
 X 1 2 3 4 5 6 7 8 910111213
 1 X 3 4 5 6 7 8 910111213 2
 2 3 X 5 6 7 8 910111213 1 4
 3 4 5 X 7 8 910111213 1 2 6
 4 5 6 7 X 910111213 1 2 3 8
 5 6 7 8 9 X111213 1 2 3 410
 6 7 8 91011 X13 1 2 3 4 512
 7 8 910111213 X 2 3 4 5 6 1
 8 910111213 1 2 X 4 5 6 7 3
 910111213 1 2 3 4 X 6 7 8 5
10111213 1 2 3 4 5 6 X 8 9 7
111213 1 2 3 4 5 6 7 8 X10 9
1213 1 2 3 4 5 6 7 8 910 X11
13 2 4 6 81012 1 3 5 7 911 X

もう要領はお分かりでしょう。 右端の列と一番下の行だけがちょっと例外になります。
●ではチームの数が奇数の場合には?
「幽霊チーム」をもうひとつ追加して偶数にしてしまえば良いのです。 幽霊チームとの対戦日とは、休養日という意味です。

●なお、この他にもやり方はありそうです。全部調べ上げるのは面白い問題になりますね。
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このQ&Aにこう思った!同じようなことあった!感想や体験を書こう
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ