ぎょーむ日誌 2001-02-(21-28)
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 合.
昨晩のカレーの残り.
2001 年 02 月 22 日 (木)
- 0720 起床.
寝たのは 0330 ごろか.
ねむい.
- 朝飯・弁当の準備.
朝飯.
シャワー.
ひげそり.
コーヒー.
- 0808 自宅発.
燃えるゴミだし.
晴れ.
0829 東京モノレイル流通センター発.
浜松町の気温 8 ℃.
0848 研究所着.
- さて昨晩は「絶対に死ねない個体」を
実現するべく,
「茎内部の時計をゆっくり進める」
という改造をしてみたんだが
……
どーも,
いまいち面白くない結果だったような気がする.
ま,
大改造でコード全体の見通しはよくなったんだが.
- どうも記憶あやふやなので,
もいっぺん動かしてみるか.
- あ,
思い出した.
内部の時計の進め方を遅くすると,
絶対に赤字にはならないんだけど,
新しい茎を作るコストも下がるんで
「すごく小さい新規生成茎」がものすごく
たくさんできて好ましくない,
という現象が出てしまったのでした.
うーむ.
役立たずな思いつきだったのかなぁ
……
- じゃあ,
「内部時計送らせた年は main stem だけ作って
sub stem は作らん」
とすると
……
はーん.
main stem で資源使いきって
全然増殖しなくなるワケね.
- こういう「内部時計遅延」というけったいな
アイデアは放棄
……
と思ってコードを直して行くと,
「全然増殖しなくなるワケ」
のバグに気づいた.
変だと思った.
さてどうしよう.
「死ねない個体」に固執するか.
モデルを単純なものに戻すか.
- ま,
プログラムなど何度も作り直せばよいので
(もはや〆切無視),
これも何かの縁だからかなり
単純なコードに作り変える.
- 1200 近くなって作り直し終了.
やはり昨日とだいたい同じ結果
実験区 4 個体のうち 3 個体はすみやかに自滅.
残り 1 個体と対照区 4 個体は
毎年毎年「当年生茎」の数が 3 倍ずつ増えて
「発散」してるかのように見える.
ばかばかしい結果のようだけど,
これはこれでよいのかもしれない.
当面はしんぷるモデル路線でいくか.
- 昼飯を食いつつ何度か試行させてみることにする
……
対照区の 1 個体も 10 年ほど生長させると,
バランスが崩れて死ぬみたいね.
他の個体はしばらくは安泰.
はてさて,
生き残る個体に共通してみられる
この「約 3 倍ずつ増える」ってのは妥当なんだろうか.
よくわからんな.
3 年生の個体の茎数が 50 から 120 ぐらい,
というのとは符合してるように思えるんだが.
しかし 10 年で
(当年生茎だけで) 5 万本を超えるんで
Perl では計算がしんどいのである.
- 正直にいうと,
これは Perl のせいではなく,
そのあたりを配慮せずに作った
RedpineTree 内の
RedpineStem クラスのオブジェクトが
メモリを食いつぶしてしまうのである
……
しかしせいぜい 10 万本程度でメモリが足りなくなる,
ってのも変な気がするな.
ちょっと調べ直してみるか.
- どうもよくわからん.
Perl のオブジェクトは大食いなんだろうか.
- 甲山さんから西日本方面における
おそるべき見聞を密告するメイルをいただいたんだが,
すでにここ数日にわたって
恐怖というものを思い知らされてきた私は,
言論の自由よりも平和な日常のほうが貴重だという
境地に達してしまったので,
ここには転載しないのである.
- さーて,
ここで敵前大回頭じゃないけど,
モデリング方針を大きく変えることにする.
いや,
小手先の改定かな.
いままでは
(データないんで) 「無相関」なモデル,
を標榜してた.
しかしこれではマズいことが多々ある,
とようやくにして理解できた.
そこで,
この点を改善するために
(やはりモデルによってでっちげられた)
「親-子」関係を
重視するものに変更してみることにする.
たとえば,
茎の集合体である枝は
先端から枯れていって,
子供が全滅すると親も死ぬ,
みたいな.
- 個体内の当年生茎の中には
(サイズの違いがもたらす)
生産力の違いがある.
で,
稼ぎのよい当年生茎から優先して,
直径肥大生長と伸長生長 (新しい main stem の生成)
を行うのである.
当年生茎だけでなく,
その親に当たる部分が再帰的に肥大生長していくのである.
- で,
末端から根本にむかって太っていく
……
というこの操作をしてるうちに
手持ちの資源が切れたら,
残された当年生茎 (とその親) には
資源がまわされないのである.
つまり劣悪なパラメーターもつ個体では,
稼ぎのよい茎 (とその親) は生き残り,
そうでないやつは死ぬことで,
樹木個体としては
少しばかり効率の改善になっているのである.
- ……
というアイデアで作り変えていくんだが,
なかなか面倒なバグに悩まされる.
しかし昨日からずっとこの
1000 行の Perl スクリプトと向き合い続けているために
「今ならばどんなに難しい内容でも
複雑な処理でも書き続けることができる」
という気分
……
そう,
コーディング・ハイな状態になってどんどん推敲を進める.
- こういうプログラムを作っていると,
Perl はケガれというよりむしろ
呪われに近くなってくるな.
- Perl ディバッガーを走らせたりして,
1645 ようやく動くようになった.
よーし,
だいたい予想どーりの動作だ.
以前の「無相関」モデルならば
1 ステップ (一年) で死んでいた曝露実験区の個体が,
個体内でやりくり・りすとらをすることで,
数年間は存続するようになった
(それでも赤字で死ぬんだけどね).
ま,
多少はそれらしくなりつつあるか.
しかし仮定してることは増えてしまったなあ
……
- とりあえず小林さんにそのあたりのことを
簡単に報告するメイルを書く.
明日はその要旨とやらをださんといかん.
ここまで得られた結果から
何事かをもっともらしく述べねばならんな.
ま,
ぎりぎり間に合ってる,
という気はするが.
- 脳内ホワイトアウト,
腹も減ったので帰宅することに.
1815 研究所発.
1822 東京モノレイル浜松町発.
1850 帰宅.
- 晩飯食ったあとは眠りこみそうになる.
- さて,
今日から
東京めたりっく通信
の ADSL が使えるはずである.
しかし結論から述べるとまだ使えない.
- 電話回線を流用する ADSL 方式で
WAN への接続処理が無事に完了して場合,
それが ADSL 前面の
LED 表示
でわかるようになっているんだが
……
なぜかつながらないのである.
ハードウェアあるいはインフラの問題のようだ.
このような状況では
無理矢理 pppoe などを動かしても
めたりっくのルーターまで,
当然ながら,
届かない.
- NTT 側が「工事」というのを
サボタージュしているだけ,
というのであればよいのだが.
でないと,
そもそもここの電話回線では ADSL 通信は無理,
という判断になってしまう.
ああ,
明日もつながらないようなら
東京めたりっく通信に連絡せんといかんな.
- 「ニセ」アカマツ個体シミュレイターの
Perl スクリプトを点検してると,
広島よりメイルあり.
なんでも明日提出すべき要旨というのは
そんなに〆切厳守,
ってほどでもないから
……
とのことである.
それに百万の味方を得た思いで
2130 ごろには早々に寝てしまう.
- ところが生活習慣を変えると,
眠りが浅くなってしまうらしい.
その副作用として,
0300 ごろまで何度も悪夢にうなされて
目をさますことになった.
うう.
頭の中が Perl で汚染されてるのか.
- 人間の記憶機構とは不思議なもんですな.
もう 15 年以上も会ってない人の顔が
夢の中では精密に再構成されたりするのである.
そして幸か不幸か,
起きてしまえば忘れるし,
意識的にはそのような情報処理はできないのである.
- 今日の食卓
- 朝 (0730):
米 0.6 合.
カレーの残り.
これでおしまい.
- 昼 (1225):
弁当.
米 0.8 合.
コマツナの残り.
- 晩 (1930):
米 0.6 合.
キャベツ,ニンジン,シイタケ,ワカメ,
高野豆腐の味噌汁.
だしは煮干.
2001 年 02 月 23 日 (金)
- 0700 起床.
それでも 0300 以降は良く眠れた.
- 朝飯・弁当の準備.
朝飯.
シャワー.
- 0755 自宅発.
晴れ.
0809 東京モノレイル流通センター発.
浜松町の気温 9 ℃.
なんかみょーに気温高い.
0825 研究所着.
- アタマもすっきりしたので,
「ニセ」アカマツのコードを見直す.
今日ひととおり点検して,
要旨などを書いたら,
ひとまず来週の金曜日まで
この仕事は中断する予定である.
査読と地球フロンティア報告会準備が
次に控えているためである.
- プリントアウトした Perl スクリプトを読みつつ,
コードにコメントなど入れていく.
高速化する方法を思いついたので試してみると
……
おお,
速度倍増ぐらいかな ?
- 午前中はのんびりとした見直し作業で終わる.
全体の 7 割ぐらい見たかな.
いまのところはバグは見つかっていない.
読みやすくするような修正を入れただけ.
昼飯の弁当でも食べるか.
- 昼飯食いながら netnews 読む.
fj.comp.lang.c では
いまだに「exit() の前に free() するか」
論争 (と言えるのか?) が続いている.
すでに出ている結論では
「ANSI C が動く環境であれば free しなくてもよい
(プロセスが終わると ANSI C の作動を保証している
OS が必ずメモリは解放するから)」
ということになる.
しかし
「malloc() したら絶対に free() しないとダメ」
と強弁しつづけるヒトたちがいるのである.
- ふだんは全く読まない fj.soc.law が
スゴいことになってる,
というウワサを見つけて,
ああもうすぐ春だからなぁ,
今年もそういう季節か,
と思ってのぞいてみるとたしかにスゴい.
いやはや.
- 昼飯食ってからも「ニセ」アカマツ
Perl スクリプト見直し続ける.
そのかたわらで状況をいろいろと変えて
試験運転も続行.
xosview などで計算機の動作状態を見てると,
Perl は
いったん確保したメモリを
何が何でも解放しないらしい
(プロセスが終了した瞬間に解放される),
とわかった.
不要になったアカマツ個体オブジェクトは削除して,
さらにどこからも参照されないようにしてるんだけど,
それでは資源を明け渡してくれないみたいである.
- こんなこと書いてるとまた Ruby 過激派が
「Ruby にはちゃんとした GC (がーべっじこれくたー)
あります」
とか自慢するんだろうなぁ.
- ちょっと効率悪いが,
1 プロセスつき 1 個体ずつ計算するようにすれば,
個体内の茎数の上限があがりそうだな.
なんか阿呆らしい解決策ではあるが.
- 1430 すぎ,
だいたいのチェックや小改良ができた.
計算の手続きにはとくに問題なさそう.
あまり内容が豊富でなさそうな要旨でも書いてみるか.
- ……
というような真面目な作業にはなかなか
着手できないところがイカンのだろうな.
「ニセ」アカマツの Perl スクリプトに
コマンドラインオプションつけて,
1 個体ごとに計算できるように改造してみる.
茎数上限制約なし・全 8 個体中最大の生産力をもつ
個体のシミュレイション,
という「拷問テスト」をやってみる.
お,
ごりごりと swaping 発生してるな.
計算機の動作が「かくかく」としたものになる.
齢 9 において茎数は 14 万本.
まだ計算を投げていない.
15 万本.
ついに枝数の増殖が頭打ちになり,
個体内でリストラ始まる.
しかし相変わらず swaping おこってるんで
計算はとてつもなく遅い.
すごいすごい
……
って何を遊んでるんだろうね.
- 1630 になってようやく要旨書きに着手.
30 分ほどかけて
1000 字ちょっとのいいかげんなものを書き上げる.
「ニセ」アカマツペイジの目次からリンクして,
メイルで連絡.
- なんか今日はのんびり仕事してしまったな.
周囲も騒がしいから早々と帰宅するか.
1745 研究所発.
1758 東京モノレイル浜松町発.
1830 帰宅.
- 晩飯食ったあとに,
夕方書いた要旨の修正案がさっそく送られて来る.
恐るべし,
小林さん.
全面改稿して再アップロード.
- 東京めたりっく通信 ADSL 接続試行
……
いろいろやってみるんだが,
DSL モデムがなんとしても
WAN を認識しない.
つまりどうも当家の電話回線は
ADSL 方式の信号が通ってない,
ようなのである.
しょうがないんでサポート掛に報告メイルを送る.
- ダラけモードが続き,
仕事やる気になれん.
いかん,
ホントに時間が無いんだが
……
と思いつつ早々に寝てしまう.
- 今日の食卓
- 朝 (0710):
米 0.6 合.
昨晩の味噌汁の残り.
- 昼 (1220):
弁当.
米 0.8 合.
コマツナの残り.
これでおわり.
- 晩 (1910):
米 0.6 合.
昨晩の味噌汁の残り.
2001 年 02 月 24 日 (土)
- 0930 起床.
なんかよく寝てしまった.
- ダラけモード継続中.
- はい.
正直に告白します.
朝飯食ったあとは 1600 近くまで
飯も食わず茶も飲まずに,
また時間浪費ゲイム
nethack
やってました.
うう,
どうしてこんなものに没頭するんだろうね.
これってホントに中毒性高くて,
「同じ姿勢で座ったままで苦しい」
と思いつつ
何時間でも続いてしまうんだよね.
トイレまでがまんしてしまう
……
という危険なシロモノです.
- 〆切,
の警告表示灯が脳裏で明滅.
月末までに査読報告.
その二日後 3/2 に地球フロンティアの報告会要旨提出〆切.
こっちは計算まだできてないんだよね.
その一週間後に化学者たち相手に「ニセ」アカマツ報告.
その二週間後に地球フロンティアの気象モデル屋ども相手の
はったり報告会
……
自宅闇ネット経由で外づけ計算機 Mate の nethack を
rpm -e (削除),
nethack の入ってる VineLinux の CD-ROM
を物置スペイス奥深くに封印.
- 文字列で構成された地下迷宮をさ迷ってるうちに
来たメイルへの対応.
- おお,
「ニセブナ」作者の村岡さんから
昨日書いた要旨の誤字指摘.
ありがたや.
- Ruby 過激派の長谷川さんから来たメイルがきっかけで,
ガーベッジコレクション (GC) について
ちょっとだけ調べ直してみる.
昨日の「ぎょーむ日誌」読むと Perl には
GC 無いように書かれているけど
……
実はある.
それは reference counter という方式で実現している.
Effective Perl という Perl まにあっく本では
これは高速だと自慢してる.
と同時に循環参照にヨワいという
欠点についても述べている.
Ruby 本ではこの点をついて (Ruby に内蔵されてる)
mark & sweep 方式のほうが優れてると書いてる.
ともあれ,
どちらもれっきとした GC なのである.
- xosview なんかのメモリー監視ユーティリティーで見た場合,
Perl が確保している領域,
ってのは見えるんだけど,
その内部の使われ方まではわからない.
- Perl らくだ本と Effective Perl の記述を見るかぎり,
どこからも参照されなくなった
RedpineTree が使っていた資源は
解放されてもよさそうなはずなんだが
……
どうも挙動から推察するに不要になった
樹木個体の情報が居座ってるようなかんぢなんだよね.
- そうだ,
こんどヒマがあったら
RedpineTree と RedpineStem の
デストラクターみたいな
メソッドを作ってみるかな.
それで実験できるだろう.
- さて,
仕事だ.
とりあえず「ニセ」アカマツは一週間ほどほうっておくので,
その前に簡単なメモをまとめておく.
ああ,
これは昨日やるべき仕事だったんだ
……
3 時間ほどかかって 2000 に終了.
- (更新情報)
「ニセ」アカマツ構築の試行錯誤
にごく簡単な動作メモなど追加.
(20010224)
- 晩飯食ってから,
いやいやながら査読にとりかかる.
もちろん誰が書いたのかは明かせないが
……
うーん,
英単語「めいじゃー」を
うっかり「まいよーる」と誤記してしまう
言語圏に住んでるヒトがものしたのかもしれません.
- 短い論文である.
こんなんで森林動態モデル記述できてるんか
……
と思ったら,
ああ,
シミュレイター部分は
他人
の作ったやつを使ってるな.
何と言うか.
- こっちはもうあちこちでパッケイジソフトウェアみたいに
どんどん使われてるモノらしいんで,
名前を書いても大丈夫でしょう.
原型は Prentice et al. (1993) の FORSKA である
(その派生型が論文原稿中では使われてるようだ).
- ああ,
しかし問題は,
当方は全くその高名なる FORSKA について
ほとんど何も知らないのである.
私の悪い癖で
「あのたぐいはぜーんぶロクでもない」
と決めつけていた次第でして.
- 知らなくても査読はできそうだが
……
ちょっと気になるな.
とはいえ手元にはその Ecological Modelling (1993) の
コピーなどない.
ネットで調べてみると,
ちょっとした解説 (たいして情報無いんだが)
見つかったので,
それを参考にしてみる.
- 今日の朗読
- 査読せんといかん論文原稿.
要旨と本文 15 枚.
- なにもかもできあいのものばかりをよせあつめて
……
奇怪な作法だ.
言うならば和洋中モノの冷凍食品を
ランダムに組み合わせて副菜,
カップ麺を主食として構成された
手作り弁当のようなものである.
今までこういうのは読んだことないんで,
勉強にはなるが.
- こんなのこっちに回してくるなよなぁ.
まあ,
いいや.
編集者に責任取ってもらえば,
ということで.
- 「詳細はまだ解析途中である」
……
ははは.
御冗談でしょう ?
- さて,
どうしてくれよう.
ともかく森林動態モデルと言えど世界が全く違う.
ということは,
真面目に対応するためには,
それなりに準備せんといかんのだろうか.
そっちはともかく,
なんかすごいよ.
某文化圏のヒトたちがむやみやたらと列挙を好むという
ウワサはもしかしたらホントなのか.
- ま,
それを言うなら私の書いてる文書も
考えの足りない
列挙モノばかりではあるが.
- 今日の食卓
- 朝 (1000):
米 0.8 合.
味噌汁の残り.
これでおわり.
- 昼 (1610):
スパゲッティー.
100 円ショップで買った
アサリコンソメのソース.
なんか量が多いなと思ったら
「2-3 人前」
とある.
ということで,
半分使わないで残す.
- 晩 (2030):
米 0.8 合.
昼の残りにキャベツとニンニクを入れて
アサリキャベツスープにしてしまう.
2001 年 02 月 25 日 (日)
- 1200 起床.
8 時間ほど寝てしまった.
- 気の進まぬ査読の続き.
- えーと,
今日中に査読報告をひととおり書いてしまって,
と.
先方との時差を考えると,
月曜日の夕方に送ればよいから,
明日もういっぺん見直しすればよいだろう.
- 査読報告を LaTeX で書こうと思ったら,
ちょっとレイアウトのやり方わからぬところがある.
浜松町に LaTeX 本置いてきてしまったなぁ.
自宅にもリファレンス的なのが一冊あると
便利だろうから,
散歩ついでに良さそうなのを調達するか,
と思って外に出たところで足が止まる.
財布の中を確認してみると
……
やはり本を買えるだけの金はない.
うう.
室内に撤退.
- なーに本など買わなくても
「わからないことはネットに聞け」
ばよいのである.
ええ,
そうですとも
……
知りたかった書式は有名なる
群馬大の青木さんのペイジ
で見つかった.
ありがたやありがたや.
- 1800 ひとまず作業終了.
やれやれ.
ファイルは私に先行して浜松町の独房送りにする.
- 過去 48 時間近くにわたって
自宅内ひきこもり状態だったので,
外に出ることにしよう.
食糧もつきてきたし.
2500 円ある.
食い物ぐらいは調達できるだろう.
おっと,
出る前にキャベツの芯でも茹でてみよう.
外出中に,
余熱で軟らかくならないだろうか.
ついでに干しシイタケも水につけておく.
- 今日は大森町商店街のほうに行く.
いつものごとく Tsutaya に行って
本も買わずに情報窃盗のひとときをすごす.
あ,
(結局買う必要なかった)
LaTeX 本は二冊置いてるな.
計算機本置場が限られているにもかかわらず
上出来である.
本屋を出て隣の 100 円ショップ.
食品やコーヒーフィルター,文房具なんかの
安物買いの幸福にひたる.
現金の残り少ないんで買いすぎないように注意.
さらに奥にすすむと
八百屋とスーパーマーケットの
中間ぐらいの規模の店が特売日の幟を掲げている.
野菜など買う.
- 1900 ごろ戻る.
キャベツの入った鍋に野菜など追加して
クリームシチューを作ることにする.
- 北大某研究室の修士「長老」小菅氏からメイル.
自分の web page 準備中なんで <鳳翔> に
アカウント作ってくれとの依頼.
さっそく北大に入り込んでこちらの作業をすませる.
- さっさと次の仕事に移らなくては
……
と思いつつ,
本をぱらぱらとながめたり,
晩飯食ったり,
紅茶を淹れたり,
風呂に入ったり,
でれでれしたり
……
nethack はやっていません !
- 未練たらしく ADSL 接続をもう一度試行してみるんだが
……
ダメですね.
そしてサポート掛とやらは土日はお休みという
気合いの無さで返信なし.
- 今日の朗読
``Analytical Population Dynamics'' (Royama, 1992)
Part I Theoretical bases of population dynamics
Chapter 2. Structures and patterns of population processes
- 2.3 Origins of second- or higher- order processes
- 2.3.1 Carry-over and delayed density effects
- ひさびさの蝋山本である.
しかしまだ第 2 章でぢたばたしている.
あと 20 ペイジか.
まあ,
ゆっくりいこう.
ある種のアブない熱気に満ちた第 1 章より,
比較的常識的な第 2 章のほうが読んでいて苦しい.
なんか数式が多用されると
文章のつながりが悪いような気がする.
と私などがえらそうに言うこともないが.
とはいえ,
ごく最近に読んだような記憶のあるような無いような
へっぽこ英作文に比べればよほど上等であり,
声に出して読んでみると文字どーり「口なおし」になる.
- で,
内容であるがここは著者の好んでやまない
増殖率 r(t) = f( x(t), x(t-1) )
と言った「二次」の式をヤマネコやウサギのデータ解析章に
先回りして正当化しようという試みである.
とりあえずは「もちこし (carry-over)」なる概念で
二次の式を使うことを生態学的に正当化しようとしている
(つづく sub-subsection ではもう少し
数学的・統計学的な議論になる).
このあたりで先走らなくとも観測データ見せてから
「ほらやっぱり second-order でしょ」
とやれば良いのに.
などと,
特定の定式化に対して恋愛感情をいだけない
薄情なモデル屋たる私などは思うのだけれど,
著者のこのモデルにかける情熱の熱さゆえに,
機会あらばこれを称揚せずにはいられないのである.
- さーてさて,
次の仕事は難題
……
とタメらってるうちに夜も更けて来た
……
だから nethack はやってません,
ってば.
- 今日の食卓
- 朝 (1230):
米 0.4 合.
キャベツ,ワカメ,煮干の雑炊.
味噌味.
- 昼 (1710):
米 0.4 合.
朝と同じ.
- 晩 (2200):
スパゲッティー.
キャベツ,タマネギ,サヤインゲン,干しシイタケ,
エリンギ,サツマイモのクリームシチュー.
2001 年 02 月 26 日 (月)
- 0710 起床.
なんか 0330 すぎまで寝つけなかった.
- 朝飯・弁当の準備.
朝飯.
シャワー.
- 0805 自宅発.
晴れ.
0822 東京モノレイル流通センター発.
今朝は気温低いためか
粉塵煤煙汚染地帯の東京流刑地の空気も澄んでいるようで,
モノレイル車内から
西のかた富士山を遠望できる.
浜松町の気温 2 ℃.
0840 研究所着.
- 北大・地環研のネットワークは朝から不調である.
いや,
北大全体がやれれているな
……
10 分ほどでまたつながるようになる.
- えーと,
LaTeX で文書全体のフォントを Times 系にするのは
……
\usepackage{times}
で良いはずなんだが.
しかしうまくいかない.
ま,
いいか.
- う.
雑用からぬけられん.
さっさと仕事しなくては
……
1110 ようやく着手.
- 開空度推定問題である.
突然ながら.
ライブラリーを入れ換えて,
計算のやり方を変えてしまおう,
という計画.
はたして間に合うのか.
- こーいうこともあろうかと思って,
以前にこういう枠組を作っておいたんだよね
……
いまのところ
Eye
と
Vit
が取り換え可能になってる.
さらにもう一段階ほど抽象化して,
Voxelmap
も取り換えられるようにする,
というのが最初にやるべきことだな.
Voxelmap
→
Vitmap
というスーパークラス
……
おっとこれでは Rubist になってしまう
……
ええ,基底クラスを作っておいて,と.
Polygonmap
→
Vitmap
と派生してみるかな.
Polygonmap
と
Voxelmap
にはほとんど差がないんだけどね.
あ,
だったらその辺は基底クラスの
Vitmap
で吸収すべきか ?
しかしあまりややこしいことはやりたくない.
- とりあえず
Vitmap
はできた.
呪われ言語用語で言うところの
「純粋仮想関数」とやらをいくつか並べるだけである.
次にこいつに影響をうけるのは
……
Evision
と
Eye
か.
その前に昼休みにしようかな.
胃の調子が良くないような気がして,
あまり空腹ではないんだが.
- 昼飯食いつつ,
ネット上をふらふら.
- 毎週愛読している
小説:科学者トホホ日記
の最新版を読むと,
なぜかは知らねど気分的にラクになったりする.
- 午後もりすとらの続き.
周旋屋である
Evision
の中に地形を取り扱う
VoxelTopo
とその他のモノを取り扱う
Voxelmap
がナマで書かれていた.
これらを一緒くたにして
map<string, Vitmap>
としてしまう.
このコンテナーの中にこれからつくる
PolygonMap も入ってしまうのである.
Vitmap
の初期化も
Forest
におまかせしてしまおう.
おお,
どんどん
Evision
が単純化されていく.
というか,
権限が削られていってるだけなんだよね.
- おっと
VoxelTopo
のほうは共通のメンバー関数である
ClearAll
に消されんような処置が必要だな.
- 1335 ライブラリー側は修正が終わったかのように見える.
コンパイル試験も通過.
- 北大の甲山さんと小菅長老,
秋田県立大の星崎さんが
それぞれメイルであれこれと面倒を.
いずれにもてきとーな返信
……
してみたらさらに面倒なことになる.
- そっちが一区切りついたところで 1510.
えーと何やってたんだっけ.
改造しつつあるライブラリーを
小川シミュレイター側から呼び出して,
継承がうまくいってるかどうかの試験運転やらんと
いかんのだった.
- とはいえ,
今日も歯医者にいかんといかんので,
残り時間とのかねあいから,
まずは査読報告を見直して
送り出してしまうことにする.
- ……
と作業していたら,
甲山さんと
樹木モデル会議
どーしよどーしよ,
というような
いささかドロ縄的かつ
「そっちが発表したら」
「いえいえそちらこそ」
というような
面倒をお互いに押しつけあう醜いメイル交換に
時間費してしまう.
うう.
- 査読報告はファクシミリと郵便の両方で送ってしまう.
外国にファクシミリを送るのは
数年ぶりなのでやりかたがわからず,
例によってでたらめなことを試してみるけど,
うまくいかない.
事務のかたに
「最初に KDD の 001 とかつけないとダメですよ」
教えてもらって,
1615 ようやく完了.
- その合間にも
現在の東南アジア方面の情勢を鑑みつつ
某所とのココロすさみきった書簡往来.
>>> いまだに騒動になると首狩りやら心臓を食べるやら.
>>> 夏には行く予定 …… (略)
>> 争乱状態なら調査は中止でしょ.あ,撤退できなくなったら
>> 会議には出られないかも,ってことですね.
> 首になったら話せない,ということです.
またまた御謙遜を.
- うーん,
こんなのを PipeTree で計算,
と言われましてもねぇ
……
[Abies ?]
横軸は林分齢で
縦軸はいろいろ.
とはいえ,
この図にも多くの情報が含まれている,
と考えるべきなんだろうな.
- 歯医者タイムか.
1735 研究所発.
1744 JR 浜松町発.
1800 歯科医院
1815 診察室へ.
今日はセラミック歯を「セメント」とか言うもので
「本づけ」してしまうそうである.
前回とほぼ同じ作業.
口内でドリルが高速回転しない場合は,
「先生」は手を下さず,
歯科衛生士のおねーさんの下請けとなる.
とりあえずこれで私の口内工作作業は終わったはずなんだが
……
ああ,
来週月曜日も通院するように言われる.
いつまで続くのか歯医者がよい.
1835 同発.
ふらふらと平和島商店街をさまよう.
本屋で懐かしいモノ発見.
石原藤夫の
惑星シリーズ
の一部が復刊されている (徳間デュアル文庫).
しかも挿絵はあさりよしとお.
しかしそれは買わずに野菜など買って
1920 帰宅.
- 晩飯食ったら気絶するように 3 時間も寝てしまう.
ああ,
体内時計が.
呪われ言語 C++ 疲れか,
ドロ縄メイル応酬疲れか,
歯医者疲れか.
- 今日の朗読
``Analytical Population Dynamics'' (Royama, 1992)
Part I Theoretical bases of population dynamics
Chapter 2. Structures and patterns of population processes
- 2.3.2 Density effect in a multi-species interaction system
- 2.3.3 Apparent order of density dependence
- 今回もまた
増殖率 r(t) = f( x(t), x(t-1) )
という「二次」モデルの正当化である.
著者の手にかかると何でもかんでも
この問題に帰着されてしまうみたいで,
なかなかに楽しい.
ひとつは二種系の動態は
一種系「二次」モデルとして書き直せるとこから,
説き起こす.
では多種系なら ?
たとえば h 種いれば h 次の動態なのか ?
もちろんそのような結論は許されず,
いきなり Pimm など持ち出して来て,
多種系であってもそれは
概ね二種系の集まりとして近似できるので,
やはり「二次」である,
とのこと.
はい.
「視野が広い」と「強引」の境界です.
最後により高次のモデルのほうが
一見あてはまりが良いように思えても,
実はそれは「二次」モデルの係数がもたらして
「偽りの相関」ということもあるんだよ,
と具体例を示しつつ読者が
そのような世界に踏み込まないように説く.
なかなかに執念深いヒトである.
- ADSL は今日もつながらない.
そして東京めたりっく通信からは返信が無い.
破綻しかけてるのか ?
- 0330 すぎまで,
ライブラリー拡張について検討してみる.
メモを書いていると
良いように思えるアイデアが出て来る.
将来性有望なものを作ってるような
気分ないしは錯覚にだんだんひたる.
真夜中ハイである.
- ふとカレンダー見る.
すでに 2 月 27 日.
こりゃあ,
だめだな.
時間がない.
策を考えなくては.
- いま進行中の
Evison
汎用化作業終わったら,
そこで拡張は凍結.
そのまま,
あまりお気に入りではない旧ライブラリーを使って,
報告会要旨 (3 月 2 日 提出) に使えそうな結果を出す.
それでいこう.
- さーて,
私の今後一カ月間の「追い詰められた」生活を
概観してみると
- 02/27-03/02
小川群落保護林開空度推定モデル.
報告会要旨作成と
そのための計算結果捻出.
- 03/02-03/09
「ニセ」アカマツ.
報告会準備と
そのための計算というより描画結果捻出.
- 03/09-03/22
小川群落保護林開空度推定モデル.
報告会準備と
そのための計算結果捻出.
- 03/22-03/30
PipeTree ?
(甲山さん発表?) 樹木モデリング会議の要旨準備と
そのための計算結果捻出.
いやはや,
すばらしい.
生態学会熊本大会に申し込まなかった
「先見の明」
を感じさせますな.
やれやれ.
- 今日の食卓
- 朝 (0720):
米 0.6 合.
昨晩作ったクリームシチュー.
- 昼 (1240):
弁当.
米 0.8 合.
昨晩作ったクリームシチュー.
- 晩 (1940):
米 0.6 合.
昨晩作ったクリームシチュー.
2001 年 02 月 27 日 (火)
- 0720 起床.
寝たのは 0500 かな.
眠い.
- 朝飯・弁当の準備.
朝飯.
そしてまた朝飯食いながら眠りこんでしまう.
う.
もうこんな時刻.
これは遅刻だなぁ.
- 0835 自宅発.
晴れ.
0849 東京モノレイル流通センター発.
浜松町の気温 6 ℃.
0907 研究所着.
いやはや.
- 朝から 1 時間以上もメイル書きに使ってしまう.
なんてこったい.
- さて,
開空度計算ライブラリーの
汎用化だけど
……
ライブラリー側は権限を削って抽象化しただけなので,
改造は比較的簡単だった.
そのかわりとして利用側は多少複雑になるはずである.
で,
いまからその改造.
- 1125 ひととおり書き換えてみる.
それでは,
make してみるか.
STL 使いまくりなので,
いつものごとくひどく時間がかかってしまう.
- コンパイルエラー続々と出る.
基底クラスから派生クラスへと
型変換するキャストを
どんどんつけなければならない.
ああ,
型,型,かたかた.
- 1135 コンパイラー通過する.
ちょっと動かしてみるか.
うん.
いちおー動いている.
いきなり core 吐いて
お亡くなりになったりはしないようだ.
ま,
改造といってもオブジェクト間でやりとりされる
「書類の書式」みたいなのを変更しただけ,
ということだからな.
利用者側に移した権限は結局のところ,
Forest に Vitmap 派生クラス (Voxelmap, Voxeltopo) と
天球光分布クラスの Sky の
オブジェクトを作らせて壊してるだけだからな.
- もうちょっと重い仕事をやらせてみる.
うわっ,
バカみたいにメモリー食いつぶしてやがるな.
そうか,
例の「つぶつぶ」樹冠モジュールの数が
いまは尋常ではないんだった.
- さてどうしようか
……
と思案しているうちにまたメイルが来て,
その対応に追われる.
- もう 1235 か.
昼飯でも食うか.
なんかあまり食欲ないんだけど.
- 昼飯食ってもメイルが続く.
当方ばかりが不幸のメイルを受け取るのもしゃくなので,
東京めたりっく通信
サポート掛に対応督促メイルを送る.
こうやって世の中に不幸メイルの輪が
ひろがっていくのである.
- 1月末ごろにやってた開空度計算にふたたび着手.
うーん,
やっぱりかなり変な形状の
樹冠にしないとうまくいかないのかな.
- それより問題なのは「次の一手」がまだ見えてないことである.
さて,
どうしよう.
- 北大では甲山さんが「データ発掘」など始めてしまって,
もはや手のつけられない混迷状態に陥っている.
もはやなるようになれ,
だ.
- さて,
先の見えないこちらの開空度計算も一言で言えば悲惨だ.
思い切って,
樹木個体の幹の三次元モデル化を諦めると
……
おお,
いままで過大推定と過小推定が混在していたのに,
過大推定だけになった
……
これって進歩 ?
とほほ.
- 樹冠モジュールの密度は太さの 2 乗に比例,
だろうか
……
うん,
3 乗とかあまり意味無いよね.
- あまり気に入らない Voxel 状の Vit で
計算させているんだが
どうもある程度は光線を透過させてほうが
よさそうな気が
……
- 二日後に領域セミナーやれと急に言われてあわてる.
私は一月前にやったばかりでしょーが.
- そして計算は苦しいところ.
- さらに甲山さんが発掘して来たデータというのが
……
ああ,
混乱.
いや,
何もかも自業自得のような気がしてきた.
[これは何 ?]
いえ,私の乱れた
ココロを表現して
るわけではなくオ
オシラビソの樹高
生長だそーです.
- ばてた.
計算結果も良くならない.
独房からは撤退.
1840 研究所発.
1906 東京モノレイル浜松町発.
浜松町の本屋 dan 内でふらふらしたり,
モノレイル車内で思案を続けるうちに,
あまり観測データときっちり合わなくても
話は作れるんじゃなかろーか,
と考え直す.
どういう枠組でどんな結果を示せばわかりやすいか.
小川データをうまく活用するには ?
何か手があるはずだ.
そうだ.
確率論的成長モデルの尤度比,
つまり対数尤度差でいくか.
ああ,
「樹木の成長率」と表現しても
アタマの中「ちきゅーかんきょー」とやらに
塗りつぶされてるここの連中には
全く理解できんだろうから,
「樹木炭素固定速度」というような
阿呆用語を捏造して言い換えてやるかな.
あれこれと邪悪な手口を考えつつ
1935 帰宅.
- 晩飯食うと気分悪い.
しかし眠くなる.
とはいえ時間がないので,
非力な ThinkPad に外づけ計算機 Mate を
闇接続して計算を続ける.
ぢりぢりと結果がマシになってくる.
帰路考えたように,
そんなにきちっと合わせる必要はない.
無茶苦茶に悪い点が生じなければそれでよし.
- 根拠もなくてばかばかしいんだが,
今のところ
(樹冠つぶつぶの個数)∝(直径)×(直径)×(樹高)
というのが一番マシそうなモデル,
と判明.
- 開空度の観測値にあわせようとすると,
樹木の成長がうまく説明できなくなるぞ
(尤度がすごく低い).
しかし,
まぁ,
このへんまでは予想どーりだ.
観測値に比べると「過大推定」であるかのような結果を
出すようにパラメーターセットを変更して試してみる.
- 計算の待ち時間に明日の食事の用意など.
なんとなくふらふらと外に出て,
水道料金 2 ヵ月分を近くのファミリーマートで払う.
3759 円.
気休めの牛乳など買う.
- 2400 近くになる.
開空度に関して観測値にあわせようとすると,
成長モデルへのあてはめが悪くなる.
開空度とはちがう「開空度」らしきものを計算すると
成長モデルの尤度が良くなる.
例えば,
前者には前に書いたように
(樹冠つぶつぶの個数)∝(直径)×(直径)×(樹高)
てなことをやると結果が良くなる.
ところが後者には
(樹冠つぶつぶの個数)∝(直径)×(直径)
のほうが尤度が高い.
うーむ.
- この「開空度」のたぐいは無意味なのか ?
とはいえ,
しかし成長モデル用に調整した
「開空度らしきもの」をいれたモデルの方が
尤度が高いから,
この指標が何か情報を持っているとは言える.
まあ,
あまりまじめに考えてもしょうがないような気がするんだが,
この魚眼レンズなんかで測定された
開空度との対応がよくわからない.
- あ,
もう 0115 か.
今日は寝るかな.
明日はスケイプゴートモデルを組み込まねばならない.
うまくいくんだろうか.
- 今日のろーどくは無し.
- 今日の食卓
- 朝 (0740):
米 0.6 合.
ワカメと湯葉の味噌汁.
煮干だし.
- 昼 (1240):
弁当.
米 0.8 合.
一昨日のクリームシチューの残り.
これで終わり.
クリームシチューに湯葉を入れると
なかなかおいしい.
- 晩 (1950):
米 0.6 合.
朝の味噌汁で雑炊.
2001 年 02 月 28 日 (水)
- 0700 起床.
5 時間ぐらい寝た.
体力的には少し回復.
- 朝飯・弁当の準備.
朝飯.
シャワー.
ひげそり.
コーヒー.
- 0743 自宅発.
曇.
0802 東京モノレイル流通センター発.
浜松町の気温 6 ℃.
0820 研究所着.
- 呪われて動かない ADSL 高速接続.
(昨晩も試行したけどダメだった).
東京めたりっく通信
のペイジを見てると,
サーヴィスに関しては
support@metallic.co.jp
だけどモデムについては
help@metallic.co.jp
に,
などとややこしいことがさりげなく書かれている.
support のほうにしかメイル送ってなかったな.
まるで返事が来ないんで
help にもメイル送ってみる.
たぶん人数が足りなくて破綻してるんじゃないのかな.
- もひとつメイル送る.
これは次の次ぐらいの仕事の布石である.
- さて,
ここの報告会とやらで
話す内容は森林三次元モデルの正当化みたいなことである.
地球表面のどろどろねばねばした流体にしか
興味持ち得ない病気に取り付かれた人々で構成されている
やくざ組織に,
何故あーきてくちゃーぐるーぷなどというものがあるのか,
という売り込みですかね.
あー,
やだやだ.
- で,
一昨日あたりからいろいろと手を入れているのが
三次元モデルというやつである.
森林動態モデルと言えば,
現在の主流は無次元か一次元.
そこで,
あまり意味ないんだが
(ゼロ次元だろうが 26 次元だろうが
何でも勝手に好きなようにやってくれれば
良いんだけど),
今回は三次元モデルと一次元モデルの比較,
ということを行う.
残念ながら他に手がないためである.
- その前の準備段階として
mlfitting を呼び出す
estimator.pl というスクリプトを改造して,
と.
- あ,
また北大ネットワークが通信途絶.
毎朝毎朝のように不調になってるな
……
というのは大間違い.
こっちの建物のルーターが死んでいる.
メイルも受信できない状況だ.
さっきまではつながっていたのになぁ.
やれやれ.
- 腐れルーターは死んでも,
私の机の上に構築されている
闇ネット・闇ルーターは健在である.
当然ながら.
しかし,
これはちょっと嬉しい.
- 自分でもまったく忘れていた機能なんだけど,
最尤推定プログラム mlfitting に
--estimator (integer) という
コマンドラインオプションをつけると
推定すべきパラメーター数を実行時に指定できる.
もちろんこれは最尤帰無仮説を計算するために
つけられている機能に他ならない.
-
make growth_null
で最尤帰無仮説をまとめて計算させてみる.
この帰無仮説は光分布が林内で一様,
と仮定してる無次元モデルに該当する.
これと比較すると,
三次元光分布モデルを使った計算では,
たしかに全体的に尤度は上がっている.
昨晩ちょっと確認したとーりに.
さて,
それでは一次元モデルはどのあたりに落ち着くのか ?
今日はこれを計算しなければならない.
- 他にありそうなモデルとして
……
甲山さんが自分の趣味に合致している
「準三次元モデル」
みたいなやつも比較しろ,
と言いそうだけど,
報告会とやらではやらない.
聞いてるほうはもはや何が何やら区別つかんだろうから.
そういう計算機能はつけるけどね.
- いやはや.
領域長の安岡さんの命令で
金曜日に「報告会の練習」とか称して,
このあたりの計算結果を
喋らされることになってしまった.
修論発表会じゃあるまいし.
大学のせんせいにはこういうヒトがいるんだよねえ
……
とはいえ,
たいへん残念なことに,
私だけそれをボイコットするほどの
勇気も持ち合わせていない.
金曜日は要旨提出もやらんといかんのになぁ.
さて,
間に合うのか.
立腹ぱわーで間に合わせるか.
- Bad クラスというのを作る.
一次元モデル計算用である.
名前に他意はなく basal area distribution
の略である.
ふだんはこういう略称はクラス名には使わないんだけど
(あとで見たときわからないから),
これはなぜか気に入ってしまったのである.
- ネットワークは 1055 に回復.
- Bad クラスを組み込むと
コンパイラーが
呪われ STL 関連エラーを大量に出す.
正確にはリンカー,
か.
なんだろ,
これは
……
そうか STL で降順 sort するには
sort( container.begin(), container.end(), greater<Type>() )
とするんだった.
最後の () を忘れていた.
- 1145 ようやくにして一次元 (つまり垂直) BA 分布クラス
Bad を組み込んだ小川シミュレイターの
試験運転完了.
みょーに手こずったな.
いやいややってるからか ?
- 縦深メイル防御陣より警報.
うわっ,
文字化けメイル
……
とおもったらメイラー Mew はちゃんと解読してくれた.
何を考えているのか本文が base64 で
encode されていたのである.
東京めたりっく通信からようやく返信.
みょーに丁寧なおわび.
ADSL モデムが呪われてしまっている原因は不明.
自力で解決できないなら担当のモノを派遣
……
指示された web ペイジ見ると,
平日のみ作業してるとのこと.
つまり ADSL 接続のために
有給休暇をとれってことですか.
くそう.
- ちょー高速常時接続のためには涙を飲んで
3/12 (月曜日) に予約をいれてみる.
- とりあえず,
Bad を使ったパラメーター推定作れるように
推定系を作り直して行く.
まずは静的シミュレイターから
値を出し入れするところ.
おっ,
小川ではふたつの指標の間に
多少は相関あるかな ?
[さて ?]
横軸が開空度
らしき量で,
縦軸は一次元
の合計胸高断
面積.
しかし縦軸はサイズとほぼ同義なんだよね
(上下が逆だけど).
- パラメーター推定部に手をいれる前に,
昼飯にしようかな.
- 相変わらず,
fj.comp.lang.c や fj.soc.law なんかでは,
人間にとって狂気とはごくごく身近なものだと
感じさせる投稿が続いている.
もちろん真面目に読んでるわけでなく,
「あ,今日もやってるな」
と
ざっとながめてるだけだが
(量が尋常ではないんですよ).
- さっさと午後の仕事に取り組む.
ちょっと試しにいくつかの樹種でパラメーター推定計算.
なーんか収束までえらく時間のかかるやつがいるなぁ.
どうも胸高断面積の数値だけが
他のものより大きなケタであることが原因なんだろうか.
- ばからしー
……
と思われるかもしれないけど,
これは経験的にそうなのである.
試しにそこを意味もなく 1/100 にしてみると
……
ほーら,
すぐに収束するようになった.
ええっと,
これは mlfitting 内部の
どういう計算に影響されてたんだっけ.
- 1335 さて,
これで
-
無次元モデル
(定数とサイズだけ)
-
一次元モデル
(定数とサイズと上側胸高断面積)
-
三次元モデル
(定数とサイズと開空度らしきもの)
の推定結果が出そろった.
当然ながら,
下にいくほど尤度
(モデルによって説明されている度合)
は高い.
というのも,
上で書いているように
一次元的な
Bad というのは
サイズの単調な関数に過ぎないからだ.
それにたいして
「開空度らしきもの」
はいま少し複雑で
「同じサイズであっても異なる値」
を取りうる.
これは「うまく」計算してやれば,
樹木の成長量の説明に寄与したりするわけだ.
- 三次元モデルのほうが良いのは
半ば当然なのだけど,
次の問題はこれが「十分に良いものであるか」
という問題だ.
モデルごとに
全樹木個体わたって
対数尤度の和を計算してみるか.
- ちょっと昨日の「ぎょーむ日誌」など直したりしていて
計算がおわったのが 1430.
うーん.
どうだろ.
小川群落保護林のべ 13710 個体 (1987, 1989, 1991 年)
2 年間の成長量を確率論的成長モデルにあてはめてときの
最大化対数尤度 (の 24 樹種の和をとったもの)
(光分布モデル)
|
(最大化対数尤度の和)
|
(上との差)
|
無次元モデル
|
4732.23
|
-
|
一次元モデル
|
4847.67
|
+115.44
|
三次元モデル
|
4960.96
|
+113.29
|
ただし尤度は非定数部分のみ計算
(定数部分はどのモデルでも共通).
[でたらめモデル]
しかしこれが樹木の生長速度をもっ
ともよく説明しているのである.あ
えて議論するなら,観測値は地表 1m
に設置された観測点のものである
(縦軸もそのようにして計算した).
しかしパラメーター推定するときは
そんな低いところにモデル観測点を
おかない (各樹木のてっぺんにつけ
る).ということは ……
[きのこの森]
…… この樹冠がもっともよく ……
- 1755 研究所発.
1814 東京モノレイル浜松町発.
1850 帰宅.
- 晩飯食ったあとに少し濃い目に淹れた紅茶を飲んでいても
眠りこんでしまいそう.
うう.
いかんいかん.
- 眠気覚ましもかねて食糧調達に出る.
米がきれかけている.
いつものごとく,
一番安い米 10Kg 2990 円買ってしまう.
これで一月もつはずだから,
一日約 100 円か.
- 何をやっても脳内ホワイトアウト状態なので,
早々に寝ることにする.
予定の計算結果も得られたことだし,
よしとするか.
2200 すぎに就寝
- 今日の食卓
- 朝 (0715):
米 0.6 合.
ホウンレンソウ茹でて
麺つゆとキムチの素で味付けしたもの.
エリンギをオリーブオイルで炒めて
塩胡椒で味付けしたもの.
- 昼 (1230):
弁当.
米 0.8 合.
朝と同じ.
- 晩 (1910):
米 0.6 合.
朝の残りにニラを加えて野菜雑炊にする.