ぎょーむ日誌 2001-02-21
2001 年 02 月 21 日 (水)
- 0710 起床.
昨晩は 0030 ごろには寝たので,
平日にしてはよく眠れた.
- 朝飯・弁当の準備.
先日ヒモでくくった古本・古雑誌の廃棄.
6 階から下まで 3 往復する.
朝飯.
コーヒー.
シャワー.
洗濯機まわす.
- 0755 自宅発.
晴れ.
あ,
ウメの花とか咲きはじめているなぁ.
0812 東京モノレイル流通センター発.
浜松町の気温 5 ℃.
0835 研究所着.
- 昨日の夕方,
点検が途中になっていた Sebangau 調査地の
解析スクリプト群をもう一度点検してみる.
- 一時間ほどかけてざっと見直してみる.
いくらか細部に間違いがあるけれど,
大間違いはない.
フィルターリングをやりなおしても
そんなに結果は変わらない.
ということで,
「マイナス生長」だか誤差だかの少ないデータと結論.
あれこれと北大に送る.
- 「ニセ」アカマツ作業再開.
茎の肥大生長のあとに残った資源でもって
新規生成茎を作ってしまえば,
これで動態モデルの部品は出そろうことになる.
- この新しい茎生成はけっこう面倒である.
原則としてランダムに選ぶんだけど,
残り資源をニラみつつそれを行う条件つきである.
さらに,
例の「親-子」分配の制約から,
まずは main stem (の候補としての条件を満たす茎群)
を確保しておかねばならない.
どこが「ランダム」なのやら.
- 某調査地の生長データ問題で面白いメイル来たので,
無断で引用.
> その他はとくに問題なさそうです.やはりマイナス生長はほとんど
> ない,と言えそうですね.金属バンドか何かを使ったんでしょうか
> ね.
いいえ,これはやはり観測者問題です.日本人が一番精確に測ると
いう,変な特徴があります.
- 「ニセ」アカマツの新茎生成関数である
RedpineTree::GenerateNewStems と
RedpineTree::InitNewStem
の試験運転がひととおり終わったところで昼飯.
「ニセ」アカマツ個体シミュレイター全体で 947 行.
いまのところ All Perl である.
- あ,
新しく作った茎と当年生茎の間を関連づける部分を
まだ書いてなかった.
これは connect_parent_child を呼び出せばうまくいくはず,
なんだが.
- 弁当食ってからこれにとりかかる.
そうか connect_parent_child ではなく
reuild_node か
……
うーん,
なんか対照区では茎の数が指数関数的に増えるぞ.
これはいくらなんでもちょと変だ.
変だ変だは工夫が変だ,
ということでコードの見直しを開始.
- 1350 つまらんバグ発見.
Perl の sort 関数がらみであった.
しかし今度は
``Use of uninitialized value''
が出るようになってしまった.
何があったんだ.
- 4 才から 8 才までは生長するようになる.
実験区 4 個体のうち 1 個体は
生産と消費のバランスが崩れて
2 年で死に,
2 個体は停滞ぎみである.
しかし実験区の残り 1 個体と
対照区 4 個体は一年ごとに
ぶくぶくとふくれあがっていく.
ちょっとこれは計算がしんどい.
- 「生産量」が「当年生茎総重量」の線形な関数,
になってるのがまずいんだよな.
非線形にすれば「頭打ち」になるので,
ここまでは増大しないだろう.
- しかしながら,
その「非線形な関数」
というのを決めることができない.
全個体に共通な関数,
というのはこの標本ではできそうにない,
とわかる.
個体ごとに傾向がばらばらだからである.
そこで個体ごとに固有なパラメーターを
特定しなければならない.
- ところが,
本来は 2 パラメーターぐらいの関数にすべきなんだが,
1 個体 1 データしかないんで,
どうやっても 2 パラメーターの
「推定」できない.
この状況では
この方式
も使えないしなぁ
……
どうしよう.
時刻は 1530.
- たとえば当年生茎の重さ x として生産量とかいうのを p.
なんか係数を c とすると,
p = c * x
な関係だと,
8 個体中 5 個体が指数関数的に生長.
ばかばかしいんだけど
p = c * x^0.8
ぐらいだと,
実験区は 1 個体残して全滅.
しかし 20 年ぐらいすると,
どんなパラメーターの個体も必ず死ぬんだよね.
うーん.
0.85 乗だともうちょっと長持ちするけど,
0.9 上だと発散しがち,
とかね.
- 生産モデルについては一旦おくとしよう.
というのも,
一見すると枝数などが発散しているように見えても,
じつはどの個体も最後には必ず生産と消費のバランスが崩れて
死ぬのである.
このモデルでは生産 (光合成) に寄与しないで
消費ばかりしている茎の割合は刻一刻と増大するばかりなので,
そうすると個体は新しい茎を生産する余力がなくなり,
死ぬわけである.
- つまりこのモデルの挙動は
「すぐに死ぬか,
いったん茎の数を爆発的に増やしてから
あるサイズに達したら死ぬ」
しかなくて面白くない.
- 発想を変えよう.
今までは
- 既存の部分が資源を使い.
- その残りで新しい茎を作る.
という方式であった.
これを崩してしまえばよいのである.
順番というより優先順位として
- 各当年生茎から伸びる main stem を確保.
- 既存の茎の肥大生長
- 各当年生茎から伸びる sub stem
としてみたらどうだろうか.
- 先のことをよく考えずにいきあたりばったりで
作ってきた「ニセ」アカマツにおいては,
個体内で main stem の茎を作った場合には,
必ず既存の茎を太らせなければならない,
となってしまっている.
さもないと,
ある枝を見たときに根もとより先端のほうが
太くなってしまったりするからだ.
実際の親子関係のわからぬ状況で作られた
「無相関」モデルの面目躍如である.
- ということで,
main stem の茎を作ったら,
必ず既存の茎を「それぞれの茎の固有の速度」で
太らせなければならない.
この操作だけで生産した
資源を使い切ったらどうするのか.
やはり「生長に必要な資源はありません」
とか言って,
樹木個体ごと殺してしまうのか.
それでは今までと同じである.
- そこで,
今までとは逆に
「何があっても絶対に死ねない 個体」
というものを作ってみたらどうか,
と考えた.
- 「ニセ」アカマツを構成する各茎は
固有の「内部時計」を持っており,
これが茎のサイズ (太さ) を決定している.
この「内部時計」のおかげで
「無相関」モデルであっても
古い茎は太く若い茎は細い,
ということが保証されているのである.
- 今までの設定ではこの時計は
どの茎でも「一斉」かつ「一年間に 1 ずつ」進んでいた.
前者は変えられないが後者をやめてしまえばよい.
それでつじつまはあう.
- こういうことである.
各当年生茎が自分の main stem たる子供の茎を確保する.
まだ生長させないでサイズはゼロのままにしておく.
すべての main stem がそろったところで,
例えばためしに全部の茎の「内部時計」を 1 進めてみるのに
必要な資源量を計算してみる.
もしこの要求量が手持ちの資源量より少なければ,
あとは今までどおりで余った資源をもって
sub stem を作る.
- さて問題は「内部時計」を 1 進めるほどの資源が
無かった場合である.
このような状況では,
手持ちの資源で何とかやりくりできるところまで,
どの茎も時計を進める量を減らしてしまうのである.
つまり枝の先端だけでなく個体全体が
「倹約モード」
で生長するようにする.
- もちろんこのようにして生産された当年生茎は貧弱なものなので,
翌年の生産はさらに落ち込むことになる.
すると時計の進み方はますます遅くなり
……
と我らが「ニセ」アカマツ個体の生長は
年々貧弱になるのだけど,
生産-消費は決して赤字にはならない.
つまり「何があっても死ねない樹木」ということになる.
- ばかばかしいようであるが,
いちおうこのモデルは観察データと無矛盾である.
なんとならば,
現在観測されている
8 個体 796 本の茎は (2 本の例外と当年生のものを除いて)
必ず main stem を持っているうえに,
毎年 sub stem を作っていることがわかる.
つまり過去 3 年間は毎年「内部時計」が
必ず 1 すすんでさらに資源が余っていた,
という状況と解釈できるからである.
- さーて,
残り時間でこのけったいなアイデアを
試すことができるかどうか.
どうしていつもいつも
こういう奇策に頼らねばならないんだろうね.
気分を変えるために一旦帰宅するか.
1755 研究所発.
1818 東京モノレイル浜松町発.
1850 帰宅.
- 晩飯食ってひと息つく.
東京めたりっく通信より郵便あり.
それによると,
- 今日 21 日に NTT 局側の「工事」があり,
明日以降に ADSL 回線が使えるはずである.
- この書類で指定する
ログイン名・パスワードを正しくいれる必要ある.
とのこと.
昨晩でたらめな設定で試行しても
全くつながらなかったはずである.
今晩はすでにつながるかもしれんが,
「ニセ」アカマツを優先して ADSL で遊ぶのは
また明日以降にしよう.
- 「ニセ」アカマツについて再検討.
夕方考えたようにすれば「死ねない樹木」は作れる.
どの個体もいずれは生長がほぼ停止してしまう.
問題は生産の関数型だな.
一時的とはいえ爆発的に枝数が増えるのはいやだなぁ.
どうしてくれよう.
- またぢりぢりとした書き直しに取り組む.
- ちょっと気晴らしに散歩というほどでもないけど,
電気代を近くのローソンに支払いにいく.
1/10-2/6 ぶん 4495 円.
うう.
セラミックファンヒーターめ.
まさか外づけ計算機 Mate の Pentium III が
電気食ってるんじゃないだろうな.
- 良くなってるのかダメになってるのか判然としない
改良作業が続く.
いつになったら終わるんだろうか.
時刻はすでに 0030.
- 今日の食卓
- 朝 (0725):
米 0.6 合.
昨晩のカレーの残り.
- 昼 (1235):
弁当.
米 0.8 合.
コマツナを茹でてサバぶし・麺つゆ・
キムチの素で味付けしたもの.
- 晩 (1900):
米 0.6 合.
昨晩のカレーの残り.