5 prolog
我正在尝试在prolog中建立一个学校调度计划.我想检查一下老师是否可以在特定的时间教授这门课; 检查允许的时间段; 等等
这是我到目前为止所写的内容:
teacher(ali, bio).
teacher(sara, math).
teacher(john, lit).
teacher(milton, arabic).
% a, b, c, d, e, f, g
timeslot(a).
timeslot(b).
% class has a name and a grade
class(bio, 1).
class(math, 1).
class(lit, 2).
class(arabic, 2).
Run Code Online (Sandbox Code Playgroud)
如何确定一个班级不能有两个时段?
我使用了一些Prolog,但我不知道该怎么做.任何进一步的提示和指示,如纸张或更频繁解决的类似问题,将不胜感激.
两年前,我为评估中心编写了一个调度程序,并使用了 clpfd,因为在正常的 swi-prolog 中,它会复杂得多,而且问题是随着复杂性呈指数级扩展,所以如果你有一所真正的学校,有很多老师,课程等等,如果没有约束编程,这将不会真正有效。
请查看swi-prolog 网站上的 int clp(fd)
亲切的问候
索利克