0

简而言之,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)))

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

4

1 回答 1

0

按照 mbratch 所说的,我更好地了解了 prolog 如何在数据库中运行,并且我能够轻松编写满足要求的比较逻辑。

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

谢谢你的帮助!

于 2013-10-19T19:35:19.237 回答