我正在尝试学习 FWGC 人工智能问题的生产系统。更多详细信息https://www.cs.unm.edu/~luger/ai-final2/CH4_Depth-.%20Breadth-,%20and%20Best-first%20Search .pdf
我在理解图表的构建方式方面遇到了问题。我了解这个数字以及如何根据位置表示状态。
这个图是如何构建的?有人可以解释吗?
我正在尝试学习 FWGC 人工智能问题的生产系统。更多详细信息https://www.cs.unm.edu/~luger/ai-final2/CH4_Depth-.%20Breadth-,%20and%20Best-first%20Search .pdf
我在理解图表的构建方式方面遇到了问题。我了解这个数字以及如何根据位置表示状态。
这个图是如何构建的?有人可以解释吗?
根据该文件,描述该图:
“图表”是一个状态转换图,显示您可以从任何其他给定状态进入的可能状态,从state(w,w,w,w)
作为初始状态。如何确定转换是通过考虑所描述问题的逻辑来确定的。如果您为问题设置了所有正确的 Prolog 规则,则可以在 Prolog 中自动生成这样的图,或者可以手动生成它以帮助确定您希望如何编写规则。该文档没有确切说明他们是如何生成它的,但他们只说这是对可能的状态转换的部分描述,而不考虑任何给定状态是否“安全”,这意味着该图表包含一些您可以希望您的 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)
状态转换图中显示的内容。