当前位置:文档之家› 安全过河问题

安全过河问题

安全过河
一、问题提出
人带着猫、鸡、米过河,船除需要人划之外,至多能载猫、鸡、米三者之一,而当人不在场时猫要吃鸡、鸡要吃米。

试设计一个安全过河方案,并使渡河次数尽可能少。

二、模型假设
不考虑外界其他影响,只考虑问题所述的条件。

符号说明:
三、模型的建立
人、猫、鸡、米分别记为i=1,2,3,4,当i在此岸时记为x i=1,否则记x i=0,则此岸的状态可用S=(x,1x2,x3,x4)表示。

记s的反状态为s'=(1-x,11-x2,1-x3,1-x4),允许状态集合为D={(1,1,1,1),(1,1,1,0),(1,1,0,1),(1,0,1,1),(1,0,1,0)} (1)
以及他们的5个反状态决策为乘船方案,记作d=(u,1u2,u3,u4),当i在船上时记作u i=1,否则记为u i=0,允许决策集合为D={(1,1,0,0),(1,01,0),(1,0,0,1),(1,0,0,0)} (2)
记第k次渡河前的此岸的状态为s k,第k次渡河的决策为d k,则状态转移律为s k1+=s k+()1-k d k,(3)
设计安全过河方案归结为求决策序列d1,d2,···,d k∈D,使状态s k∈S按状态转移律由初始状态s1=(1,1,1,1)经n步达到s n1+=(0,0,0,0)。

四、模型的求解
从而我们得到一个可行的方案如下:
因此,该问题的最优方案是:1、人先带鸡过河,然后人再回来,把米带过河,然后把鸡运回河岸,人再把猫带过河,最后人回来把鸡带过去。

相关主题