人猫鸡米渡河问题的数学模型
摘要:人带着猫、鸡、米过河,从左岸到右岸,船除了需要人划之外(船除了要载
人外),只能载猫、鸡、米三者之一,而当人不在场时猫要吃鸡、鸡要吃米。本文将设计一个安全过河方案,使渡河次数尽量地少。模仿“商人过河”的模型设计出新的数学模型。
关键字:穷举法,Matlab运算求解。
一、问题的提出
课本P19.T5: 模仿“商人过河”模型,做下面游戏:人带着猫、鸡、米过河,船除需要人划之外,至多能载猫、鸡、米三者之一,而当人不在场时猫要吃鸡、鸡要吃米。设计一个过河方案,建立数学模型,并使渡河次数尽量地少。
二、问题的分析
因为这是个简单问题,研究对象少,所以可以用穷举法,简单运算即可解题。 此问题是从状态向量A(1,1,1,1)经过奇数次运算向量B变为状态向量A(0,0,0,0)的状态。转移过程为什么是奇数次?我们注意到过河有两种,奇数次的为从左岸到右岸,而偶数的为右岸回到左岸,因此得到下述转移过程,所以最后应该是过河完成时状态转移数为奇数次。
三、问题的假设
1.1:假设船除了载人之外,至多只能载猫、鸡、米三者之一。 1.2:当人不在场时,猫一定会吃鸡、鸡一定会吃米。
四、定义符号说明:
我们将人,猫,鸡,米依次用四维向量中的分量表示,当一物在左岸时,相应的分量