2014-09-30 24 views
0

我正在參考Scheduling algorithm for a round-robin tournament?3位參與者/三重奏的循環賽?

我需要將一羣人配對(或三人)爲三人,以便他們見面。例如,在一組9人中,第一次會議將是:[1,2,3],[4,5,6],[7,8,9]。接下來的會議將會是[1,4,7],[2,5,8],[3,6,9]。當每個人都見過其他人時,事情就會結束,我們需要儘量減少「回合」的次數。

我很機智地想着解決方案。非常感謝能指點我的人:)

回答

0

如果「每個人都見過其他人」意味着所有的對都出現在日程表中,那麼這是一個推廣Kirkman's schoolgirl problem,可以用最少回合數解決當有奇怪的羣體時(由於Ray-Chaudhuri和Wilson的緣故,存在Kirkman三重系統)。社會高爾夫球員問題是對其他羣體規模的推廣,我預計偶數團體的情況將以此名義進行研究。

在「每個人都見過其他人」這一(看似不太可能的)事件中,意味着已經使用了所有可能的組,所以你想使用Baranyai定理中的構造來尋找超圖因子(Python實現見my previous answer on the topic) 。