英语句子到Prolog条款?

时间:2013-04-02 20:51:25

标签: prolog

我最近在学习Prolog,我想出了一个问题。

我怎么说:

任何员工在Prolog条款中开车,散步,乘车或飞行?

“任何”是我遇到问题的地方。


这是我的思考过程。

Employee(tom).     %tom is an employee (fact)

drives(X) :- Employee(X).    
walks(X) :- Employee(X).    
rides(X) :- Employee(X).   
flies(X) :- Employee(X).

这是正确的做法吗?

1 个答案:

答案 0 :(得分:1)

我认为这是相反的方式:

employee(X):- drives(X).
employee(X):- walks(X).
employee(X):- rides(X).
employee(X):- flies(X).

driveswalks等的事实

无论哪个员工,其中一个必须坚持。如果没有,则employee(X)失败。

这就是这个Prolog数据库下的的含义,“任何员工都会飞,乘坐等等。”

您所写的内容意味着,X employee(X)保持drives(X)walks(X),{{1}}等等,也会保留。即“任何员工都会走路,开车,骑车,飞行”。 (当然,谓词必须以小写字母开头)。