3.5和3.8
3.5 有一农夫带一条狼,一只羊和一筐菜欲从河的左岸乘船到右岸,但受下列条件限制:(1)船太小,农夫每次只能带一样东西过河;(2)如果没有农夫看管,则狼要吃羊,羊要吃菜。请设计一个过河方案,是的农夫,狼,羊都能不受损失地过河,画出相应的状态空间图。
提示: (1)用四元组(农夫,狼,羊,菜)表示状态,其中每个元素都为0或1,用0表示在左岸,用1表示在右岸。
(2)把每次过河的一种安排作为一种操作,每次过河都必须有农夫,因为只有他可以划船。
解:
按照提示一:S(农夫,狼,羊,菜),0表示在左岸,1表示在右岸。所以初始状态可以表示为S0(0,0,0,0),目标状态为S1(1,1,1,1)。
从S0到S1过程为:
方法一: S0(0,0,0,0)->(1,0,1,0)->(0,0,1,0)->(1,1,1,0)->(0,1,0,0)->(1,1,0,1)->(0,1,0,1)->S1(1,1,1,1)
方法二: S0(0,0,0,0)->(1,0,1,0)->(0,0,1,0)->(1,0,1,1)->(0,0,0,1)->(1,1,0,1)->(0,1,0,1)->S1(1,1,1,1)
3.8.图3.28是五个城市的交通图,城市之间的连线旁边的数字是城市之间路程的费用。要求从A城出发,经过其他各城一次仅且一次,最后回到A城,请找出一条最优路线。
解:
抽象描述方法:
初始状态:A城
后继函数:除A城外的其他城都可以。
测试目标:且仅一次经过其他城市回到A城,同时费用最少。
路径耗散:从A城回到A城的总路程的费用。
一条最优路程为A->B->E->D->C->A
路成为:10+6+9+3+2=30