1

我从人工智能中经典的农夫狼山羊白菜问题中得到了这个启示

在此处输入图像描述

教科书说,当农夫和狼在河的对面时,这条规则就会起作用。我无法理解“如果暗示的一部分”

这是什么意思?

4

1 回答 1

3

谓词move/2采用state/4 inorder 形式的参数来实现问题的状态。在美国,第一个参数用于农民,第二个用于狼,第三个用于山羊,第四个用于卷心菜。状态的每个参数变量都应该得到值 e(对于东)或 w(对于西)。

为了解决这个问题,您可以定义move(state(F1,W1,G1,C1),state(F2,W2,G2,C2)):-... 类似于图中从句形式的从句。

图片中显示的谓词用于当农民和狼都在同一侧时,因此在输入状态下,两个第一个变量是共同的(state(X,X,G,C))并且想要在相反的一侧移动,所以将去state(Y,Y,G,C)哪里opp(X,Y)是真的,这意味着如果 X 是 e,那么farmer 和 wold 都会移动到 w,反之亦然。上面的动作是有效的,因为你已经实现了之前的动作,农夫和狼不能在同一侧,同时山羊和卷心菜也在同一侧(山羊会吃卷心菜),所以前面的动作序列因为它是有效的,农夫和狼可以在同一侧,卷心菜和山羊将在相反的一侧。

于 2017-03-23T14:38:02.257 回答