ぎょーむ日誌 2001-12-10
2001 年 12 月 10 日 (月)
- 0700 起床.
- 朝飯・弁当の準備.
朝飯.
コーヒー.
シャワー.
- 0740 自宅発.
晴れ.
平和島⇔杉田の定期券買ってしまう.
ひと月ぶん 12970 円.
特急に乗って
0751 京急平和島発.
普通に乗り換えて
0820 京急上大岡発.
0835 研究所着.
- 内部が齡構造以外だけになってしまった
「ニセ」アカマツの作り直しのつづき.
今までのプログラムの「カラ」だけ利用して,
中身を書き換えている.
ずいぶんと単純化されてしまって,
緊張感なくコードが書けてしまうんだが
……
気合がぬけすぎてるのか,
計算初期化の段階で関数呼び出し順の間違いに起因する
ヘンなバグがとれぬまま午前中終了.
- 1350 よーやくにして動態部以外のバグはとれた.
かなりすっきりしたけど.
えーと,
あとは,
齡コホートごとの断面積に応じて増えたり死んだりする,
という怪しい部分だな.
- 1550 動態部分できる.
「割算は間違いのもと」
にもかかわらずバイオマス増大を左右するのは
(子供茎の断面積合計) / (親茎の断面積合計)
という宗教的な値の非線形関数として与えられる死亡確率である.
- 計算させてみると,
やはりこんな値を使ったむくいとして
かなりパラメーターの値にふりまわされるな.
このあたりのサジ加減は
「アカマツの非同化部 (木材部分) の乾燥重量は
(たとえば) 20 年間でどれぐらい増加するか?」
を見て決めるべきだろう.
まぁ,
小林さんが多忙状態を脱したらお尋ねしてみるか.
手元のアカマツ資料みたら何かでるかもしれないし.
- それ以前に片付けねばならぬ問題として
……
データ構造をいくらか工夫しなければならない.
重量が 10 倍に増えるあいだに
茎の本数は 1000 倍以上に増えやがるからなぁ
……
解決策はある.
この樹木モデルが個体内部にもつのは齡コホートだけなので
(つまり鎖つき鋼鉄球のごとく邪魔だった
あの樹状構造はすでに無い),
単にコピーの数を記録すればよいのである.
- えーと,
それから死亡確率の与え方も考えなおさないとダメだろうな.
そう簡単にコホートが絶滅してもらっては困るんで.
各部品完全独立はよろしくない.
さてどうしたもんかな.
- 1720 データ構造の改善終了.
いままで樹木部品の複製数が 2-3 万になったあたりで
メモリー使いきってしまって忌まわしい paging 発生,
事実上計算ストップしていた.
ここでコピー数カウンターという新しい裏ワザ使うと
……
おおお,
サイズが発散的に増大してもほとんど資源消費ナシ.
よしよし.
しかし計算速度に関しては
(なにしろ Perl なんで)
100-200 万個ぐらいで次第に苦しくなってくるな.
各コピー独立に死亡チェックしてるせいか.
じっさいのアカマツの部品数はいくつぐらいのもんなんだろう.
- 確率論的死亡に関する改良はまだだけど帰宅することに.
1755 研究所発.
普通に乗って
1805 京急杉田発.
快特に乗り換えて
1810 京急上大岡発.
普通に乗り換えて
1830 京急川崎発.
1900 帰宅.
- 死亡モデルを決定論的にしてみようか
……
おもしろくないけど.
小さい順に殺していけば
コホート絶滅問題と計算速度問題 (こちらはどうでもいいんだが)
のふたつを同時に解決できる.
と思いつつ,
晩飯食ったら早々に寝てしまった.
- 夜中におきて上の改善案を再検討してみる.
ほかに策がないなぁ.
えーと,
ここを決定論的にしてしまうと
……
実験データに見られるぱいぷ逸脱のばらつきをどう説明するか,
だ.
死亡ではなく増殖サブモデルを確率論的にする?
各個体ごとにパラメーター異なるポアソン乱数ひくとか.
- 今日の食卓
- 朝 (0710):
米 0.6 合.
キャベツ・ニンジン・タマネギ・ニンニク茎・シイタケの
炒めもの.
- 昼 (1220):
弁当.
米 0.8 合.
朝と同じ.
- 晩 (1930):
米 0.7 合.
朝と同じ.