1. 问题状态以五元组 (a,b,c,d,,e) ,a农夫b狐狸c小羊d菜.e左岸1右岸为0.操作算子为
L(x),R(x)。x为 b,c,d.分别表示农夫带着每一样物品到河左岸和到河右岸,当为x=0时表示不带任何物品。整个问题状态以左岸的状态来描述。初始状态为(1,1,1,1,1,1)农夫和三样物品都在左岸,目标状态为(0,0,0,0,0,0)农夫和三样物品都在右岸。
(1,1,1,1,1)
(c)
(0,1,0,1,0)
(0)
(1,1,0,1,1) (b)
(0,0,0,1,0)
(c) (1,0,1,1,1)
(d) (0,1,0,0,0)
(c) (1,1,1,0,1)
(d) (b) (0,0,1,0,0)
(0) (1,0,1,0,1)
(c) (0,0,0,0,0)
2. 深度优先扩展当前节点后生成的子节点总是置于OPEN表的前端,即OPEN表点作为棧
表使用,后进先出,使当前节点后生成的子节点向纵深方向发展。
爬山算法,评价函数f(n)=h(n).不需设置OPEN和CLOSE表,仅从当前状态节点扩展出子节点,并将H(n)最小子节点作为下一次考察和扩展的节点,其余子节点全部丢弃。 4. 循环 初始化 1 2 3 4 5 6 7 8 OPEN表 (S) (b,a,d,c) (a,d,c,e,f) (d,c,e,f,g,h) (i,c,e,f,,g,h,j) (k,c,e,f,g,h,j) (l,c,e,f,g,h,j,m) (n,c,e,f,g,h,j,m,o,p) 成功结束 CLOSE表 () (S) (S,b) (S,b,a) (S,b,a,d) (S,b,a,d,i) (S,b,a,d,i,k) (S,b,a,d,i,k,l) b(4) 1,2,38,6,4 7,0,5e(6) f(6) 1,2,31,2,38,6,4 8,6,40,7,57,5,0S(4) 1,2,38,0,4 7,6,5a(5) d(5) 1,2,31,0,38,4,0 8,2,4 7,6,57,6,5g(6) h(7) j(5) i(7) 1,2,01,2,31,3,00,1,38,4,3 8,4,5 8,2,4 8,2,47,6,57,6,07,6,57,6,5k(5) 1,3,48,2,0 7,6,5l(5) m(7) 1,3,41,3,48,0,2 8,2,5 7,6,57,6,0n(5) o(7) p(7) 1,3,41,0,41,3,48,6,2 8,3,2 7,0,50,8,2 7,6,57,6,5c(6) 1,2,30,8,47,6,5
因篇幅问题不能全部显示,请点此查看更多更全内容