Prolog:比较一段时间

时间:2013-10-19 01:54:54

标签: prolog gnu-prolog

快速概述,基本上,prolog程序(GNU Prolog)的想法是搜索包含具有可用时隙的人的数据库到一组时间(开始时间,结束时间)并返回第一个可以见到的人那时。输入具有语法

meeting(Person,slot(time(10,0),time(12,30)))

我有一个与上述匹配的谓词:

meeting(Person, slot(time(A,B),time(C,D))) :- %insert code

,数据库条目如下:

free(george,slot(time(9,30),time(11,0)))

我被困的地方是,我不确定如何将数据库中的时间与调用会议谓词时输入的时间进行比较。不是在寻找一个免费的答案,只是想要一个正确的方向和一个很好的例子:)谢谢大家!

1 个答案:

答案 0 :(得分:0)

做什么mbratch说,我看到prolog如何在数据库中运行,我能够轻松编写来比较满足要求的逻辑。

这个想法是,如上所述调用free(...),Person接收列表中的第一个个体,并且所有传递的变量都接收数据。然后我可以在数据上使用我的逻辑,如果所有逻辑都通过,方法将运行并返回正确的响应。

感谢您的帮助!