3.5 有一農夫帶一條狼,一隻羊和一筐菜欲從河的左岸乘船到右岸,但受下列條件限制:(1)船過小,農夫每次只能帶同樣東西過河;(2)若是沒有農夫看管,則狼要吃羊,羊要吃菜。請設計一個過河方案,是的農夫,狼,羊都能不受損失地過河,畫出相應的狀態空間圖。spa
提示: (1)用四元組(農夫,狼,羊,菜)表示狀態,其中每一個元素都爲0或1,用0表示在左岸,用1表示在右岸。設計
(2)把每次過河的一種安排做爲一種操做,每次過河都必須有農夫,由於只有他能夠划船。co
解:四元組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).