我有一個奇怪的問題需要解決 - 這是用來設計測驗,但它是最容易解釋使用團隊。團隊調度算法 - 測驗設計
有16支球隊和24場比賽。每場比賽有4支球隊參加比賽。每個隊必須出現一次對12/16隊和兩次對其餘的3/16,並且必須出現正好6次。任何想法如何做到這一點?如果有一款軟件可以做到這一點,那也會很棒。
更新: 我不確定上述是否可能。以下是我們試圖完成的最低要求:
- 遊戲數量未設置。
- 每場比賽有4支球隊。
- 每個團隊獲得相同數量的遊戲。
這可能嗎?
我有一個奇怪的問題需要解決 - 這是用來設計測驗,但它是最容易解釋使用團隊。團隊調度算法 - 測驗設計
有16支球隊和24場比賽。每場比賽有4支球隊參加比賽。每個隊必須出現一次對12/16隊和兩次對其餘的3/16,並且必須出現正好6次。任何想法如何做到這一點?如果有一款軟件可以做到這一點,那也會很棒。
更新: 我不確定上述是否可能。以下是我們試圖完成的最低要求:
這可能嗎?
請注意,每個隊伍每場比賽會打3場比賽,因此至少需要5場比賽才能參加其他15場比賽。那麼我們希望有20場比賽的解決方案,每場比賽每場比賽打5場比賽,每場比賽只打一次。
隨着16支球隊有可能構建通過以下方式手工的解決方案......
可以一定程度上被指出的是,每場比賽必須包含一個隊從上一輪的每場比賽縮小可用的團隊搜索,因此你只需要考慮在前一輪比賽中打出n的球隊。
如果我們想要24場比賽,那麼在第六輪比賽中隨機選擇的比賽就足以滿足最初的要求。但是,爲了確保沒有重複的精確匹配,我們可以在之前的一輪比賽中切換兩組球隊。也就是說,如果{1,2,3,4}和{5,6,7,8}在某個回合中匹配,那麼在第6回合中我們會有{1,2,7,8}和{3,4 ,5,6}。由於第1輪和第2輪在第1-5輪比賽中只打了一次,在比賽{1,2,3,4}中,我們當然還沒有打過比賽{1,2,7,8}。
選擇數據結構來實現這種效率是讀者的一個練習。
"Combinatorial Designs and Tournaments"是一本關於Combinatorial Designs課程的教科書,它有這種類型的問題。我在大學時的一個專業是Combinatorics & Optimization,所以我確實記得有關這種事情。
入住此... http://en.wikipedia.org/wiki/Round-robin_tournament
我想有人能概括的算法,適用於超過2隊...
我知道這並不能回答這個問題,但它提供了一些小費... 這也可能有一點幫助... http://en.wikipedia.org/wiki/Tournament_(graph_theory)
更清楚地確定問題會有所幫助。你想要安排什麼類型的運動。這聽起來像是你進入了一個16人的網球聯賽,每週有4名球員出現在四個球場上打雙打比賽(球員A & B vs C & D)。其他三個球場E到P的球員也是如此。這是你在找什麼?如果是的話,答案很簡單。如果不是,我仍然不明白你在找什麼。
我們嘗試了這個解決方案,但是在5輪中沒有任何球隊可以從中挑選 - 但它確實讓我們離得最近。 – stringo0 2009-08-25 14:03:51