唐小丫

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

3.5  有一农夫带一条狼,一只羊和一筐菜欲从河的左岸乘船到右岸,但受下列条件限制:(1)船太小,农夫每次只能带一样东西过河;(2)如果没有农夫看管,则狼要吃羊,羊要吃菜。请设计一个过河方案,是的农夫,狼,羊都能不受损失地过河,画出相应的状态空间图。

       提示: (1)用四元组(农夫,狼,羊,菜)表示状态,其中每个元素都为0或1,用0表示在左岸,用1表示在右岸。

              (2)把每次过河的一种安排作为一种操作,每次过河都必须有农夫,因为只有他可以划船。

 

解:四元组S=(S1,S2,S3,S4)=(农夫,狼,羊,菜)表示状态

      其中,S1表示:(1)当农夫的位置=0时农夫没过河;(2)当农夫的位置=1时农夫已过河。

             S2表示:(1)当狼的位置=0时狼没过河;(2)当狼的位置=1时狼已过河。

             S3表示:(1)当羊的位置=0时羊没过河;(2)当羊的位置=1时羊已过河。

             S4表示:(1)当菜的位置=0时菜没过河;(2)当菜的位置=1时菜已过河。

      满足题意的过河方案为:

           方案一: (1)农夫和羊从左岸到右岸,留下羊,农夫单独返回左岸;

                        (2)农夫和菜从左岸到右岸,留下菜,农夫带上羊返回左岸;

                        (3)农夫和狼从左岸到右岸,留下狼,农夫单独返回左岸;

                        (4)农夫和羊从左岸到右岸。

           相应状态图:(0,0,0,0)->(1,0,1,0)->(0,0,1,0)->(1,0,1,1)->(0,0,0,1)->(1,1,0,0)->(0,1,0,1)->(1,1,1,1).

 

           方案二:(1)农夫和羊从左岸到右岸,留下羊,农夫单独返回左岸;

                       (2)农夫和狼从左岸到右岸,留下狼,农夫带上羊返回左岸;

                       (3)农夫和菜从左岸到右岸,留下菜,农夫单独返回左岸;

                       (4)农夫和羊从左岸到右岸。

           相应状态图:(0,0,0,0)->(1,0,1,0)->(0,0,1,0)->(1,1,1,0)->(0,1,0,0)->(1,0,0,1)->(0,1,0,1)->(1,1,1,1).

 

posted on 2015-03-20 20:31  唐玲  阅读(1883)  评论(0编辑  收藏  举报