Prolog:锦标赛时间表

时间:2016-01-08 14:35:13

标签: prolog constraints schedule clpfd tournament

我正在尝试自动生成我正在组织的排球锦标赛的时间表。它主要是为了好玩。规则如下:

  • 注册的队员由2名队员组成
  • 有36个这样的团队
  • 对于一场比赛,3支这样的球队被组合到一支游戏队伍中,所以一场比赛由3支球队和3支球队组成
  • 每队参加5场比赛
  • 有3个法院可以同时播放
  • 因此,总共将进行10轮比赛(18支球队可以同时比赛,所以这是36/2 * 5轮= 10轮)
  • 游戏由团队管理

其他限制因素包括:

  • 每个团队官员最多一次
  • 如果可能的话,一支球队不应该和之前已经比赛过的其他球队一起比赛(如果比赛,那就没问题了)
  • 每支球队的比赛之间不应超过两轮

现在我认为这听起来像是一个问题,prolog是一个不错的选择。不幸的是,我只有理论经验。如果有人能给我一个很好的起点,那将是很好的,尤其是如何实现像#34;官方最多只有一次"并且"每支球队打5次"。此外,比

更紧凑的团队代表
team(A).
team(B).
....

会很棒。我已经尝试用Java实现它,但得出的结论是它不是一个很好的语言。我现在想在prolog中这样做。

0 个答案:

没有答案