マルコフ連鎖によるランダムウォークの座標の母平均値母分散(p071-markovrwexpect01)

Time-stamp: "2021-07-27 Tue 19:16 JST hig"

情報

  • 出題:2021-05-31
  • 実行/提出期限:2021-06-07 14:00:00
  • 提出
    • markovrwexpect01.c プログラム
    • markovrwexpect01.xlsx Excelによるグラフ描画

学習目標

  • マルコフ連鎖で, ランダムウォークの座標の母期待値, 母分散, 母比率が計算できる.

課題

状況の説明

x軸上の離散座標のランダムウォークを考える. この課題の提出場所の近くの場所で, ランダムウォークの規則と, 初期条件と, 境界条件を取得する.

課題のタスク

  • 下の仕様のプログラムを作ろう. ただし, 課題markovpde02同様に multiply_trans の中に直にm×mの2次元配列を書かない方法で,
  • T=60の実行結果を, markovrwexpect01.csvに保存しよう.
  • Excelで, 横軸\(x\), 縦軸\(p(x,t))\)の折れ線グラフを, \(t=0,1,2,3,4\)くらいについて描こう(1個にまとめて描く方が楽だよね).

  • Excelで, 横軸\(t\), 縦軸次の値( 母平均値\(\mathrm{E}[X]\), 母分散\(\mathrm{V}[X]\), 母比率(確率)\(\mathrm{P}[15<X<25]\) の折れ線グラフを描こう(1個にまとめて描く方が楽だよね).

プログラムの入力

  • 最終時刻T(0以上の整数)

プログラムの入力例

3

プログラムの出力

  • 1行目に#T=に続いて 最終時刻\(T\)
  • 2行目にコンマで区切って, 時刻t=0の\(t, p(0,t),p(1,t),p(2,t),p(3,t),\ldots,p(m-1,0),\)続いて母平均値\(\mathrm{E}[X]\), 母分散\(\mathrm{V}[X]\), 母比率(確率)\(\mathrm{P}[15<X<25]\)
  • 以降t=1,2,,Tについて同様

プログラムの出力例

小数点以下の桁数は, ランダムウォークの様子がよくわかるグラフが描けるように, 実際に葉多く表示するようにしてください.

#T=3
0,0,0.0,0,0,,0.0,0,0,1,1,1
1,0,0.0,0,0,,0,0,0,0,1,1,1
2,0,0,0,0,0,,0,0,0,0,1,1,1
3,0,0,0,0,0,,0,0,0,0,1,1,1

アドバイス

これまでのあらすじ

  • L04 ランダムウォークの規則をp(x,t)の漸化式に書き直す
  • L05 p(x,t)の漸化式を転置推移確率行列Mに書き直す
  • L07 境界条件があるときに漸化式や Mを修正する
  • markov01 Mをmultiply_trans に書いて p(x,t)を計算する
  • markovpde02 Mが大きいときにmultiply_transに2次元配列を書くのを避ける
  • markovexpect04 measure_dist を書いて母平均値母分散母比率を出力する

プログラム作成方針の例

改造の方針 markovpde02.c を基本に, multiply_trans を規則に応じて書き替える. markovexpect04 のmeasure_dist を持ってくる.

  • multiply_trans を書くには
    • 上の, L04,L05,L07,markov01,markovpde02 の順にたどるとかけるはず
    • そうして得た multiply_trans の for 内の pn= の式は, L05 段階で得た漸化式になっているはず
  • 母ナントカのグラフを描くには
    • markovexpect04 の measure_dist ほぼそのまま使えるはず

自分でチェック!

  • 今までの類似の課題のチェック方法でいけると思うけど…
  • 初期条件はp(x,0)の出力見るとわかるよね
  • 漸化式はp(x,1)の出力見るとわかるよね
  • 母ナントカの計算は, p(x,t)から手で計算して比較するとわかるよね
  • 境界条件はこれまでチェックしたことがなかった…考えてみて

このサイトのコンテンツ

QRcode to hig3.net

https://hig3.net