動的計画法(ダイナミック・プログラミング)

 昨日の集団遺伝学の計算ついでに動的計画法のおさらいをした.というのも,オオカマキリの交尾戦略で利用する基本的な式を作り,ABさんに渡すためである.
 例えば,粕谷(1990)行動生態学入門のp231の表を考えてみる.
Pi(x,t,T)=(1-βi)(λi・J(x', t+1, T)+(1-λi)J(x-α, t+1, T)で表される.
Pi(x,t,T)は第t日に採餌場所iに行ったときの第T日までの最大生存率.
ここで,βiはiという場所での捕食による死亡率.λiはiという場所での餌獲得確率.
J(x', t+1, T)はt+1日の最適な生存率(例えばP(2,5,7)だったら餌を得た場合2+2-1=3となる.もともとのxに1を足したものとなる.つまり,計算している日の+1のエネルギーでいる日の次の日の最適値(最適な場所の生存率)).J(x-α, t+1, T)はエネルギーxからα=1を引いた例えばH(2, 4, 7)つまりエネルギー2のところだったら,2-1=1でt日が3であったらJ(1, 4, 7)の最適値となる.J(0,t, T)はもちろん0となる.
 計算は最初にエネルギー1のところの最後の日を計算する.P(1, 6, 7)はエネルギーは獲得するとき1と獲得しないとき0,P(2....(以下同じ), 6, 7)はエネルギーはエネルギーを獲得するときもしないときも1となる.
 参考として関村ら(2007)理論生物学入門のp241-243が良いかもしれない.