簡體   English   中英

循環賽中無限制的休息球員

[英]Unbounded resting players in round robin tournament

是否有可能使用無限數量的休息玩家來制作循環算法? 例如, 這可以工作,但它只能管理一名休息的球員/球隊。

實際情況是 24 名玩家,每輪 16 名玩家,每輪 8 名玩家等待。 理想情況下,他們都將在 23 輪比賽中互相比賽,並盡可能避免雙休。

我已經被這個問題困住了很長一段時間,所以我真的很感激你的幫助!

只要匹配的總數可以被每天的匹配數整除,這是可能的。 在您的場景中,每天有 8 場比賽,總共有 (12*23) 場比賽,所以這是不可能的,但每輪有 12、8、6、4 或 2 名玩家是可行的。

您可以修改調度的循環方法 如果您有 2N 個玩家,調度算法通常會在列中生成 N 對的塊:

Day 1:
1   2   3   4   5   6   7   8
16  15  14  13  12  11  10  9

Day 2:
1   16  2   3   4   5   6   7
15  14  13  12  11  10  9   8   
...

該時間表的一個有用特性是,如果玩家 P 在某一天被安排在k列中,那么 P 將在第二天被安排到k-1kk+1 因此,如果您連接每一天的列,則每個玩家的號碼之間至少有 N-2 列(即匹配)。 如果您然后從左到右安排比賽,每天減少足夠的輪次,那么任何有效數量的球員都可以參加(保證每個球員每輪最多打一次)。 例如,如果您想要上面的 4 個休息玩家:

Day 1:
1   2   3   4   5   6   
16  15  14  13  12  11

Day 2:
7   8    1  16  2   3
10  9   15  14  13  12
...

很難找到比這更好的間隔雙休的方法,因為每個球員上場時間之間的“距離”盡可能均勻。 對於奇數玩家,您可以使用正常調整為圓方法添加一個虛擬玩家。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM