永发信息网

求matlab程序解人狼羊菜问题

答案:1  悬赏:10  手机版
解决时间 2021-02-28 02:10
求matlab程序解人狼羊菜问题
最佳答案
解:该问题可以使用图论中的最短路算法进行求解。
我们可以用四维向量来表示状态,其中第一分量表示人,第二分量表示狼,第三分量表
示羊,第四分量表示蔬菜;当人或物在此岸时相应分量取1,在对岸时则取0。
根据题意,人不在场时,狼要吃羊,羊要吃菜,因此,人不在场时,不能将狼与羊,羊
与蔬菜留在河的任一岸。例如,状态(0,1,1,0)表示人和菜在对岸,而狼和羊在此岸,
这时人不在场的情况下狼要吃羊,因此,这个状态是不可行的。
我们通过穷举法将所有可行的状态列举出来,可行的状态有
(1,1,1,1),(1,1,1,0),(1,1,0,1),(1,0,1,1),(1,0,1,0)
(0,1,0,1),(0,1,0,0),(0,0,1,0),(0,0,0,1),(0,0,0,0)
可行状态共有十种。每一次的渡河行为改变现有的状态。现构造赋权图G = (V, E,W) ,
其中集合V 中的顶点表示十个可行状态,当且仅当对应的两个可行状态之间存在一个可行
转移时两顶点之间才有线连接,并且对应的权重取为1,当两个顶点之间不存在可行转移时,
可以把相应的权重取为∞ 。
因此问题变为在图G 中寻找一条由初始状态(1,1,1,1)出发,经最小次数转移达到
最终状态(0,0,0,0)的转移过程,即求从状态(1,1,1,1)到状态(0,0,0,0)的
最短路径。这就将问题转化成了图论中的最短路问题。
下面首先计算邻接矩阵,由于摆渡一次就改变现有的状态,为此再引入一个四维状态转
移向量,用它来反映摆渡情况。用1 表示过河,0 表示未过河。例如,(1,1,0,0)表示
人带狗过河。状态转移只有四种情况,用如下的向量表示。
(1,0,0,0),(1,1,0,0),(1,0,1,0),(1,0,0,1)
现在规定状态向量与转移向量之间的运算为
0 + 0 =1,1+ 0 =1 , 0 +1 =1 ,1+1 =1
通过上面的定义,如果某一个可行状态加上转移向量得到的新向量还属于可行状态,则这两
个可行状态对应的顶点之间就存在一条边。用计算机编程时,我们可以利用普通的向量运算
与模2 运算实现。

源程序联系我 我发给你
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
康贝大药房崇州龙门堂药店在哪里啊,我有事要
患者,男,24岁。反复发作性咳嗽、喘息10年余
潮阳区汕头乐家住宿(里美店)地址有谁知道?有
乐舞舞蹈俱乐部(六佰本望京明显苑西北)在哪里
润蜜的意思是?在朋友之间
出轨真的只有0次和无数次的区别吗
万和燃气热水器使用中不关热水一切正常,关热
西安新思维外语培训学校在哪里啊,我有事要去
我是问5000ml水是多少斤
前天登记的美国evus,显示已登记,但没有缴费
什么外套好看
如何申请相声版权
里面是一件衬衫,外面又有一件背心连着的,这
成都宏丰医疗器械有限公司地址在什么地方,想
QA=2*10^8库仑,QB=-2*10^8库仑,AB相距3厘米;
推荐资讯
380v电压中央空调60匹相当于多少w
佳吉客烤肉拌饭快餐店怎么去啊,有知道地址的
肝区胀痛怎么回事
小塘车站在哪里啊,我有事要去这个地方
世纪华联超市花墙店我想知道这个在什么地方
我今年15,身高175,,可以摸标准篮筐,,可
海洲街道卫生服务中心新庄社区卫生服务站在哪
《黄土地》《孩子王》和《悬恋》体现的是不是
当今以农业为主的国家有哪些
【教研活动总结】怎样给小学语文教研活动小结
高考零四零五学校竟哪些
五月天的《错错错》 歌词
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?