2009-08-20 5 views
3

私は解決すべき奇妙な問題があります。これはクイズの設計に使用されますが、チームを使って説明するのが最も簡単です。チームスケジューリングのアルゴリズム - クイズのデザイン

16チームと24試合があります。すべての試合で4チームがプレーします。各チームは12/16チームに対して1回、残りの3/16に対して2回出現し、正確に6回出現する必要があります。これを行う方法に関するアイデア?これを行うことができるソフトウェアがあれば、それも素晴らしいだろう。

更新日: 上記が可能であるかわかりません。達成しようとしている最小値は次のとおりです。

  • ゲームの数が設定されていません。
  • 各ゲームには4つのチームがあります。
  • 各チームのゲーム数は同じです。

これは可能ですか?

答えて

1

各チームは1試合につき3試合をプレイするので、他の15チームすべてをプレイするには少なくとも5試合が必要です。各試合で5試合を行い、各試合を正確に1回プレーする20試合の解決策があることを願っています。 16

  • それは次のように手でソリューションを構築することが可能です16のチームと

    ... 5回に20試合

    • 数チームが1

      1. 分割の場合各試合では、その試合の4つの場所ごとに、
      2. がまだその試合で遊ぶことができる最初のチームを割り当てる
      3. にはないtはまだチームのいずれかが既にためので、あなたがやや各試合は、前のラウンドの各試合から正確に一つのチームを含まなければならないことに注意して、使用可能なチームのために検索を絞り込むことができ
  • その試合に割り当てられた演奏しました前回の試合に出場したチームだけを考慮する必要があります。

    24回の試合が必要な場合は、6回目の試合でランダムに選択しても元の要件を満たすことができます。しかし、正確な試合が繰り返されないようにするために、以前の試合で試合の間にチームのペアを切り替えることができます。つまり、あるラウンドで{1,2,3,4}と{5,6,7,8}が一致すれば、ラウンド6で{1,2,7,8}と{3,4 、5,6}。 1と2は試合{1,2,3,4}でラウンド1-5で正確に1回プレーしていたので、まだ試合{1,2,7,8}をプレイしていません。

    これを効率的に実装するためのデータ構造の選択は、読者の練習として残されています。

    +0

    私たちはこの解決策を試しましたが、チームを選び出さずに5ラウンドの最後についたままになっていました。 – stringo0

    0

    あなたのコンビナトリアルブックを引き出します。私はそのような疑問を覚えています。

    +0

    まだ取られていない:[ – stringo0

    0

    問題を特定するためのもう少し明確な説明が役立ちます。どのようなタイプのスポーツを予定していますか?あなたが16人のテニスリーグに入っているように聞こえ、毎週4人のプレイヤーが4人の裁判所に出て、ダブルス・マッチ(選手A & B対C & D)をプレイします。他の3つの裁判所でも同様のことが起きています。これはあなたが探しているものですか?もしそうなら、答えは簡単です。そうでない場合、私はまだあなたが探しているものを理解していません。