经典农夫、狼、羊、白菜生产体系构建

The Classic Farmer,Wolf,Goat,Cabbage Production System Construction

我正在尝试学习 FWGC 人工智能的生产系统 problem.More 详情 https://www.cs.unm.edu/~luger/ai-final2/CH4_Depth-.%20Breadth-,%20and%20Best-first%20Search.pdf

我在理解图表的方式时遇到问题constructed.I 理解这张图以及如何根据位置表示状态。

这个图是怎么构造的?有人可以解释一下吗?

根据文档描述图表:

"graph" 是一个状态转换图,显示了从任何其他给定状态可以转到哪些可能状态,从 state(w,w,w,w) 开始作为初始状态。如何确定转换是通过考虑所描述问题的逻辑来确定的。如果您为问题设置了所有正确的 Prolog 规则,那么这样的图表可以在 Prolog 中自动生成,或者它可以手动生成以帮助您弄清楚您希望如何编写规则。文档并没有具体说明他们是如何生成的,只是说这是对可能的状态转换的部分描述,并没有考虑任何给定状态是否为"safe",这意味着该图包含一些状态你会希望你的 Prolog 解决方案排除。考虑到它在文档和上下文中的位置,我相信它是手动生成的,以帮助为 Prolog 程序提出合理的数据表示和设计。

举个例子,初始状态是4种东西(农夫、狼、山羊、白菜)都在西岸。即状态 state(w,w,w,w) 分别表示 F,W,G,C 的位置。一次移动可以带你离开那里的可能状态是,因为农民一次最多只能带一件物品过河:

West          East           State
----          ----           -----
G, C          F, W           state(e, e, w, w)
W, C          F, G           state(e, w, e, w)
W, G          F, C           state(e, w, w, e)
W, G, C       F              state(e, w, w, w)

这是通过思考规则和可能的选择得出的。在上述每个新状态中,农民要么只带一件物品过河,要么一无所获。这是 4 种可能的动作。图中的箭头指示您可以转换到哪些状态。所以该图表明状态转换是自反(也就是说,如果你从状态A转到状态B,你也可以从B转到A)。

再举一个例子,在state(e, e, w, w)时:

West            East           State
----            ----           -----
G, C            F, W           state(e, e, w, w)

从这里开始,只有两种可能的行动:农夫把狼带回过河(回到state(w, w, w, w),或者农夫自己过河,这将是state(w, e, w, w) 就是状态转换图中显示的内容。