主题:[讨论]哪位好心人可以告诉我这个题目MATLAB程序怎么弄???急
题目:三名商人各带一个随从乘船渡河,一只小船只能容纳二人,由他们自己滑行。随从们密约,在河的任一岸,一旦随从的人数比商人多,就杀人越货。但是如何乘船渡船的大权掌握在商人手中,商人们怎么样才能安全渡河?
求解:
数学模型:记第k次渡河前此岸的商人人数为Xk,随从人数为Yk,k=1,2,3...。将二维向量Sk=(Xk,Yk)定义为状态。安全渡河条件下的状态集合称为允许状态集合,记做S.不难写出
s={(x,y)|x=0,y=0,1,2,3;x=3,y=0,1,2,3;x=y=1,2} {1}
记第k次渡船上的商人人数为Uk,随从人数为Vk。将二维向量dk=(Uk,Vk)定义为决策。允许决策集合记做D,由小船的容量可知
D={(u,v)|u+v=1,2} {2}
因为k为奇数时船从此岸驶向彼岸,k为偶数时船由彼岸驶回此岸,所以状态sk随决策dk变化的规律是:
S(k+1)=Sk+(-1)^k*dk {3}
{3}式称为状态转移律。所以,制定安全渡河方案归结为如下的多步决策问题:
求决策dk属于D(k=1,2,3,...,n),使状态sk属于S按照转移律{3},由初始状态s1=(3,3)经有限步n到达状态s(n+1)=(0,0)
对于式1、2、3,编制程序,求解商人安全过河的多步决策问题。
[size=5][color=800000][b]
用MATLAB编啊```[/b][/color][/size]
求解:
数学模型:记第k次渡河前此岸的商人人数为Xk,随从人数为Yk,k=1,2,3...。将二维向量Sk=(Xk,Yk)定义为状态。安全渡河条件下的状态集合称为允许状态集合,记做S.不难写出
s={(x,y)|x=0,y=0,1,2,3;x=3,y=0,1,2,3;x=y=1,2} {1}
记第k次渡船上的商人人数为Uk,随从人数为Vk。将二维向量dk=(Uk,Vk)定义为决策。允许决策集合记做D,由小船的容量可知
D={(u,v)|u+v=1,2} {2}
因为k为奇数时船从此岸驶向彼岸,k为偶数时船由彼岸驶回此岸,所以状态sk随决策dk变化的规律是:
S(k+1)=Sk+(-1)^k*dk {3}
{3}式称为状态转移律。所以,制定安全渡河方案归结为如下的多步决策问题:
求决策dk属于D(k=1,2,3,...,n),使状态sk属于S按照转移律{3},由初始状态s1=(3,3)经有限步n到达状态s(n+1)=(0,0)
对于式1、2、3,编制程序,求解商人安全过河的多步决策问题。
[size=5][color=800000][b]
用MATLAB编啊```[/b][/color][/size]