計算情報学2 鈴木泰博

第3回

概要 第2回では「ルール力学系から確率モデル構築し,その振る舞いについて考察した」.確率モデルの考察を少し深めて確率系を決定論系にすると微分方程式となる.

注意:このコースでの演習の多くには,「唯一の模範回答」はないと思ってほしい.もっとも数学の演習問題は正答が存在するが.前回の演習,これから行ってもらう演習ともに,30名の受講者がいれば,30通りの回答があってよい(間違っていればハナシは別だが..).

課題のすすめかた:今回の課題は1問づつNUCTにいって回答するとは違った方法をとる.

  1. まず,テキストエディタ(WORD, メモ帳,emacs, vi, atom.. なんでもよい)をひらく

  2. 課題1から順に回答していく.資料を順に読み進めていくと,課題が出てくるので,その回答を書き足していく

  3. すべてが終わったら,NUCTから添付ファイルで提出する.

    ********************************************

  4. 締め切りは,原則として翌週の水曜日である(例外もある).締め切りには注意する.締め切りを過ぎたら提出できない.9割以上の受講生の方々はきちんと,フォーマットも締め切りも守っている.

  5. 締め切りが過ぎたら提出できない課題はすべて評価しC以上であればカウントする.Fの場合にはカウントにならない.

    ********************************************


確率過程モデルから微分方程式の導出

受講生からとても本質的な質問をいただいた(とても本質的な質問をいくつもいただくので,とても嬉しいです!).その質問はをまとめると(文面も内容も一般化しています),

質問:「ルール力学系では,ルールの適用の仕方により状態変化が変わってしまいますが,どうしたらいいですか?」

そうです!

ルールの適用の仕方によって,状態は変わる場合は”多い”.最初の課題を出題する.上述の「課題の進め方」の通りにすすめること.


課題1. 1つの状態に1つのルールを適用するルール力学系では,適用の仕方によって状態が変わる場合が多い.以下では正規型(normal form)という概念をつかうので,簡単に説明する.正規型とはそれ以上ルールが適用できなくなった状態である.たとえば 初期状態がa,a, ルールがa -> bとすると,a,a→a,b→b,bになったところで,適用できるルールがなくなった.このb,bが正規型である.ある初期状態に対して,

1) 同じ初期状態に対して適用の仕方によって正規型が複数になる場合の例を示せ:

2) 同じ初期状態に対して,どのような適用の仕方をとっても,正規型が1つになる場合を示せ.

3) 同じ初期状態に対して,どのような適用の仕方をとっても,状態の変化が同じになる場合を示せ.

4) 難易度中: 2)と3)になるための条件を考察せよ.

5) 難易度高: 任意のルール力学系を2)のようにするにはどうしたらよいか?考察せよ.


課題1.では1つの状態に1つのルールを適用するルール力学系を考察した.これも受講生からの質問&指摘であったが(ありがとう!!),では「1つの状態に複数のルールを同時に適用したらどうなるか?」.今後のために用語を定義しておこう,

補遺)以上は正確には(計算代数の概念なので...)逐次適用戦略,並列戦略のうちの最大並列戦略(maximally parallel stragegy)とよばれるが,長ったらしいので短く上述のように定義する.

では,問うが「一般的なルール力学系の計算機シミュレーションはどちらの適用方法か?」.コイントスのルゴリズム再考してみると,

  1. コイントスをする
  2. 表,裏に対応するルールを1つ適用する

のように,逐次適用している(であろう).これが,通常のルール力学系の計算機シミュレーションのアルゴリズムである.複雑系,人工生命などで広く使われているシミュレーションは「逐次適用」でルール力学系のシミュレーションをしている.

ということは...?「ルールの適用の仕方によって,ルール力学系は変わってしまう」場合がほとんどである.そうなるとこれは大問題!ある自然・社会現象をルール力学系で数理モデル化してシミュレーションしてもシミュレーション数だけ異なり,どのシミュレーションが正しいのかわからない.(まさに,この点を突いた質問もありました!素晴らしいセンスです).

実は,ルール力学系の適用方法について「これが正しい」といった,一般的な方法はない...

「えーっ!」

「それじゃ,どれが正しいからわからないじゃないー!」

「・・・はい..なんと,おっしゃられても,そーなんです」

”一般的”には乱数をつくって,ランダムにルールを選んで適用している場合がほとんどである.つまり,みなさんがコインやサイコロで行なったシミュレーションと,小難しそうな・すごそうな・立派そうな「複雑系のシミューレション(ルール力学系の)」は本質的に同じなのである.

ルール力学系の問題点は,ルールを確率的に適用することにある.だから,いろいろな計算過程が生じてしまう.

ならば...確率系を決定論系にしてしまえばよい!そのためには...並列適用にすればよいのだ!!そうすれば,ルール力学系は決定論系になる.

決定論系(けっていろんけい)とはつまり,適用するルールがすべて決まっている(決定論)ため,コイントスやサイコロ(乱数)をつかう必要がない.そうすれば,計算の過程は一意(唯一無二)となる.では,次の課題を出題する.


課題2:

1) 次の微分方程式を解いて,振る舞いをグラフで示せ(得られた原始関数の0, 1, 2, 3,の値をプロットしてもよい).

 

2) 初期状態{a}, ルールを{}とするルール力学系について,

2-1) 逐次適用の場合の状態変化をグラフで示せ

2-2) 並列適用の場合の状態変化をグラフで示せ(2-1のグラフの上に重ねて描画してよい)

 

3) 初期状態{a}, ルールをとするルール力学系について,並列適用の場合の状態変化をグラフで示せ.数が巨大になるので,たとえばとして計算してもよい.そして1)の場合と比較せよ.ちなみにとは1つのaが271,828,183のaに変化するルールである.


有限と無限,および,離散と連続

並列適用(maximally parallel) の定義をみたときに「え,でも..」と戸惑う場合がある.状態が{a,b}でルールが{}のルール力学系の場合,{a,b}には3つのルールが適用できる.だが状態は{a,b}なので,どれか1つのルールしか適用できない.この場合「並列適用を行なっても状態変化が3種類生じてしまう」ことになる.

これが「有限の世界」だったら...困ったことになる.たとえば,キツネとウサギなどの場合,キツネがウサギを捕食してしまえば,ウサギはいなくなる.でも,みなさんがモデル化したように,ウサギは個体数を増やすルールもある... 一羽のウサギをキツネが捕食し,同時に,ウサギの赤ちゃんが生まれるのは,この世界の間尺にあわない.ここで,決定論=状態の変化は一意,は崩れ去るのである...orz.. 涙.

これが有限ということである.おらんもんは,しゃーない.これだと,決定論・微分方程式にいけんくなる..ーー;

まーいかん><;..んもう,ここで,無理をすることにする!

キツネもウサギも,少なくとも可算無限匹・羽いることにする.(えーっつ!そんなわけなかろーが!..インチキだ,ペテンだ!...はいはい,ご批判ごもっとも,すべてそのとーりなので,敢えておうけいたしますが...それでも)もういちど「キツネもウサギも少なくとも加算無限いることにする」.自然の生態系をみると,これは嘘である.だが,こうすると楽になれるのだ.

つまり前掲の「状態が{a,b}でルールが{}のルール力学系の場合,{a,b}には3つのルールが適用できる」場合に{}を{}としてしまうのだ.こうすれば,この3つのルールを同時に適用できる.なので,ルールを3つに分ける必要がない.これは1つのルール{}を適用することと同じことである.

このように有限を捨てて,(安易に)無限に乗り換えると「どのルールを適用すべきか..という深い悩みに落ち込まずに,いつでも1つのルールを適用できる」ようになる.つまり,決定論系になるわけだ.

で,ずっと「微分方程式」とゆう用語が出てこないので「いつになったら,微分方程式がでてくんだ!」とおもっていただろうが,もう出てるわけなんで.「びぶんほうていしき」は時間変化(傾き・”時間”についての微分)の方程式だ.

では問うが「ルール力学系での時間とはなんぞや?」.ここに物理的な時間(日本標準時なぞ)をもってきてもナンセンスなことはご承知の通り.ルール力学系ではどうやって「時間」がすすむのか?

ルールを適用したら時間がすすむ

つまり,ルール力学系での時間は「ルールの適用」が刻む.ということは,ルール{}が時間変化量,つまり「傾き」である.

数学的には厳密な定義が必要が,ざっくりいうと

有限(自然界のキツネやウサギの頭・羽数など)上のルール力学・確率系を,

無限(少なくとも加算無限:たとえば自然数上)上で決定系論系とみなすと,

微分方程式になる

のである.


演習3:

1) {}で定義されるルール力学系を微分方程式で表現せよ.

ヒント:ここでは変数ではなく記号である.なので各々の{}の時間変化量は記号の数の変化に着目すればよい.たとえばの変化量(から)は1であるので,

となる.については(になるため変化量は(?)になる.よってとなる.ここのようにしてについても微分方程式で表現せよ.

2) 自分が作成した「キツネとウサギの生態系モデル」を微分方程式で表現せよ.微分方程式で表現するとキツネとウサギの頭数と羽数の時間変化はどうなるか考察せよ.

注意)微分方程式をオイラー法やルンゲクッタ法で数値計算するのではない! 1)であれば,は数値計算しなくても,指数的に発散することがわかる.この要領で,じぶんのつくった数理モデル with 微分方程式バージョン,を検討・考察せよ.


今回はここまでです.

おつかれさまでした.