人工智能时间表生成器软件

AI for time table generator software

本文关键字:软件 时间表 人工智能      更新时间:2023-10-16

我正在为我的大学开发一个时间表生成器软件。显然,它需要大量的约束满足,即我需要满足大量的规则,以便生成一组类不冲突的时间表。在做了一些研究并阅读了这篇文章后,我觉得我需要在其中使用一些人工智能。现在,我是一个完全的人工智能新手。有人能告诉我哪种算法在我的情况下最有效吗?

解决这个问题最简单的算法是遗传算法(或任何其他进化算法)。使用遗传算法解决这个问题非常简单,但仍然有效。很多论文和代码都使用了这种方法来解决这个问题。

如果你有一些规则和约束,你可能想使用精确直接的技术,比如用CSP启发式回溯来加快速度,但如果有很多类和约束,我建议使用遗传算法。

好吧,这确实不是一项微不足道的任务。像这样的问题很难解决。

在这里,我可以向你推荐两件事:

  1. 使用现有的CSP/COP解算器,并用其语言描述您的约束。这些解算器非常好,速度快,经过了多年的开发
  2. 在离散优化领域进行自我教育(coursera.org上有一门同名课程,非常棒)。只有在你掌握了这些事情的基本原理之后,你才能尝试编写自己的求解器。但要提醒你!离散优化是痛苦的:-)

这绝不是一个适合告诉你CSP/COP如何工作的地方。这是一个非常广泛和困难的领域。

祝你好运!