我应该为“Simply Logical: Intelligent Reasoning by Example”一书的练习 1.1 的谓词“not_to_far”定义哪些规则?

人工智能 图书 象征性的ai 序言
2021-11-15 02:08:45

我刚开始读一本关于人工智能的书。这本书是简单的逻辑:通过示例进行智能推理有一个非常基本的练习(在 pdf 的第 19页,本书的第 5 页),但我无法弄清楚。

练习是

练习 1.1。如果两个车站在同一条线路或不同的线路上,则它们“不会太远”,中间最多只有一个车站。为谓词 not_too_far 定义规则。

我见过的唯一规则是附近连接的,不知道如何使用它。到目前为止我所做的是:

not_too_far(X,Y) :- 附近(X,Y)

1个回答

你的直觉很好。因为“附近”仅定义为“已连接”,所以它们之间只能有 1 个站点。但是,如果在它们之间最多只有一个站点,则它表示这些站点是“not_too_far”。如果它们之间没有车站怎么办?如果 2 个站是“连接的”,它们也应该是“not_too_far”。

所以应该是:

not_too_far(X,Y) :- connected(X,Y) ; nearby(X,Y).

在哪里 ; 表示或。