ぎょーむ日誌 2000-10-(11-20)
2000 年 10 月 11 日 (水)
- 0750 起床.
ありゃりゃ.
目覚しの調子が悪いんだろうか.
まぁ,
間に合うだろうけど.
- えーと,
昨晩は 2230 ごろにいっぺん寝て
0030 ごろ起床.
それからまた眠れなくなって
0500 ごろにまた寝たかな.
体内時計,
どうなってるんだろうね.
- 朝飯・弁当の準備.
朝飯.
ラジオのニュース.
日本人がノーベル化学賞.
伝導性のプラスティック素材ですか.
ふーん.
コーヒー飲みつつ.
- 0815 自宅発.
晴れてるのか曇ってるのか.
うー,
眠い.
0832 東京モノレイル流通センター発.
浜松町の気温 21 ℃.
なんか気温高いな.
0850 研究所着.
- 小川モデリング ofr2000 も佳境に入りつつあり,
コードをだーっと書くことも多くなってきた.
そこで BookPC につないでる鍵盤を
OKI の
Mini Keyboard II
(MKII)
から
PFU の
Happy Hacking Keyboard
(HHK)
に取り換えてみた.
[小鍵盤二枚流]
上が OKI の MiniKeyboard II で下が
Happy Hacking Keyboard.どちらも小
さくどちらも US 配列で [Ctrl] が [A]
の左にある.えーと,上が 10K 円で
下が 30K 円 (買った当時の値段).
- BookPC に MKII つないで使っていた理由は
「トラックポイントがついてて便利だから」.
私はマウスなんかがあまり好きではないもんで.
キーボードから手を放すのが面倒なのである.
その点,
この ThinkPad ふうな MKII は良いんだけど,
いかんせん
(値段は安くはないのに)
造りがちゃちで
押し込んだキーが戻らなくなったりして,
たくさん打つと入力間違いが増える.
- MKII はひっかかりつつ入力するかんじであるのに対して,
HHK のほうはさらさらと流れるように
打鍵できてしまう.
とてもキモチいい.
申し分なし.
高級鍵盤です
(ただし値段が高い理由はこれ一台で
PC・Macintosh・Sun の 3 アーキテクチャーに
対応してるためでもある).
- マウスも持って来てつけてみたんだけど,
壊れてるらしくてちゃんと動作しない.
しょうがないんで持ち帰る予定だった
MKII のトラックポイント機能だけを活用することにした.
すなわち
HHK で打鍵し
ポインターを動かすときは MKII に手を伸ばす,
という図式である.
- ネット上でノーベル賞関係のニュースなど読む.
伝導性ポリマーの研究ってのは
すでに 20 年前のものか.
どうでもいいが
この賞って最近は老人に与えられることが
多いな.
たとえば
今回の物理学賞・医学生理学賞なんて
6 人全員 70 代だし.
化学賞も全員 60 代以上.
それを考えると利根川進なんて
比較的若いうちに受賞したわけだ.
あ,
そうか.
当時は分子生物学という学問が
若かったのだ.
- 分子生物学に限らず
科学はしだいに老化しているのである.
いろいろな意味で.
ひとつに
老人が支配する世界になるんだろう,
という気がする.
とくに
ここにいるとそう思う.
- じじい支配への
私自身の対抗策としては
「金のかからない科学者になる」
というぐらいしかないな.
モデル屋やってるのも
free のソフトウェアしか使わないのも
偶然というだけでない.
建造費だけで 72 億円の
阿房宮な計算機など使った研究など
誰がするもんか
(蛇足注:
始皇帝が造営を命じた阿房 (傍?) 宮は
阿呆の語源という俗説あり).
- ともかく金のかからない小川モデリングの続きだ.
Forest-Quadrat-Tree の結合はできたけれど,
それぞれの中身がすかすかすぎて
今のところパラメーター推定にも使えない.
えーと,
サブモデルの plugin モジュールを
読ませるようにして,
地形計算を呼び出す関数を書いて
……
- あまり進捗しないうちに午前中終わる.
腹減ったんで昼飯の弁当食べる.
- 札幌市から国民健康保険の残金納付しろ
とうい執拗な督促に屈っして支払いにいく.
1240 研究所発.
まず近くの銀行 ATM で金おろす.
つぎに大門の交差点をわたる.
まっとうなツトメ人ふうの人が
群をなしていますな.
浜松町郵便局で
また 10 分ほど待たされる.
で,
25200 円が北海道に飛んでいく
(心象的には).
これは今年の 4-5 月分である.
(この期間は札幌に住んでいたから).
1300 研究所にもどる.
- 札幌には 2 年 2ヵ月いたわけだが,
その間に国民健康保険料として
合計 60 万円近く支払ったことになる.
ま,
私の場合,
直接支払わなければならなかったんで
「たくさん取られた」
感あるわけですが.
- その間に医者にかかったのは
……
苫小牧演習林で
野外調査のお手伝いしたときに
ウルシにかぶれたんで,
地環研前の中野医院 (皮膚科)
で 10 秒の診察うけて
1 本の塗り薬チューブもらった
ぐらいなんですが.
- いや,
医者に行けば行くほどおトクです,
というモンでもありませんけどね
……
しかし,
医療費増大したら
ますますこういう負担が増えるんだろうか.
ヒトのメンテナンスには金がかかるなぁ.
- ちょっと迷ったんだけど
小川のシミュレイター系のパラメーターも
推定系の Parameters クラスを流用してみる.
こうすれば Plugin モジュールが
すっきりとする.
しかしこの Parameters クラスってのは
最尤推定に最適化してるんで,
ちょっとごてごてしてるんだよね.
たぶん将来的には
単純化した Parameters を基底とする
MLParameter クラス,
というふうに分離したほうがよさそう.
- ……
と思ったんだけど,
現状ではやはりあまりにも
最尤推定用に偏りすぎている構成だ.
改造がたいへんそう.
ちょっと
やりかたを変えよう.
- あまりカッコよいやりかたではないんだが
……
必要な値だけ並べた
vector<double> を
Parameters に提出させて,
それを太さ-高さ換算計算関数に
渡すことにする.
そうするとシミュレイター系の Tree クラスからも
同じ型の引数を使って
換算関数を呼び出すことができる.
- ただし速度は落ちる.
全 24 樹種の d-h パラメーター推定するだけで
76 秒もかかっている.
これは BookPC (Penutium III 733MHz)
で計測した値なのである.
遅すぎる.
最尤推定やってるから遅い,
というのと私のコードがへっぽこだからノロい,
というふたつの問題がある.
- ポインターで渡せば速くなるかな
……
しかし
( *parameter )[ 0 ]
みたいな書き方は見苦しいので
parameter->at( 0 )
と書こうとしたところ,
インストールした
lib_stdc++ では at() 関数が
定義されてないとわかった.
at() って標準じゃなかったのかなぁ.
- ポインター渡しにしても
同じ時間かかるか.
ということは
vector 複写の回数が減っていないな.
参照渡し ?
いやそれができない状況なんで
……
いやいや,
ちょっと待て !
もとの Parameters クラスに
vector 保持させておけば
参照渡しが可能か.
試してみよう.
- おおっ!!
計算時間が
76 秒から 34 秒に短縮された!
わーい.
えーと,
太さ-高さ換算の尤度関数に渡しているのは
Parameters と Sample なんだけど
後者はすでに参照渡しにしてるから,
ここはもう速くならないな.
参照渡しでコードもすっきりしたし.
- さーて,
Tree クラスから Plugin 関数を
読めるようにしていく.
ああ,
これでようやく
「エスティメイターとシミュレイターで
同じ dynamic loading 関数を共有する」
が実現できそうだ.
- と思ったら「小川本原稿直せ」郵便が送られて来た.
みょーに分厚い封筒.
ああ.
ちなみにこれは ofr1999 という
ヴァージョン (?) のモデルについて
紹介しているのである.
- なんか説明が足りないとか考察が足りんとか
……
さらに
他の章との関連も考察しろ,
と.
封筒が分厚いのは他の章のドラフトも
含まれているからであった.
一冊の本にするには
当然の要求とはいえ,
これを読まんといかんのか.
とほほ.
何しろ私などは一番「下流」の
シミュレイションねただからなぁ.
- しかし「科学」の小川シミュレイター解説を
書かねばならぬ段階で
良質な資料がまとめて入手できた,
とも言える.
えーと
……
「お互いの内容について,
いろいろと連絡とりあっていただけると
……」
「できれば年内にはもう一度 Springer に
……」
とゆーことは
……
「急がなくてよい」
そういうことですね.
そうに決まっています.
ええ,
そうですとも.
- ……
とういことで,
すでに
〆切が二週間後にせまった「科学」解説を優先し
(つまり
今やってる ofr2000 の作業を続行する
ということ),
「小川本」についてはそのあとでいいや
……
ってホントに大丈夫かな ?
- 帰宅可能時間まで Tree クラスから
plugin モジュール関数を使えるような
コードを作りこんでいく.
1750 研究所発.
新しい椅子を買ってからというもの
自宅で仕事するのがすごく快適になった.
ThinkPad しか使えないんで
計算力の点では難があるけれど,
それ以外では大森の我が家で仕事するほうが
よほど快適である.
1806 東京モノレイル浜松町発.
1847 帰宅.
- 晩飯食って,
ぎょーむ日誌に鍵盤話を
のんびりと書いたりする.
自宅では ThinkPad560E についてる
キーボードを打つことになる.
このサブノート PC の鍵盤,
というのが
またデキが良ろしいのである.
かなり快適で官能的.
しかもトラックポイントつき.
- 小川モデルの Tree たちに
新たな装いを付与するコードが
じりじりと
……
- 今日の食卓
- 朝 (0800):
米 0.6 合.
チンゲンサイと卵を炒めたもの.
- 昼 (1220):
弁当.
米 0.6 合.
チンゲンサイと卵を炒めたもの.
- 晩 (1930):
スパゲッティー.
ニンニク・トウガラシ・タマネギを
炒めたソース.
2000 年 10 月 12 日 (木)
- 0720 起床.
寝た時間帯は 2230-0030 と明け方の
0530-0720 というところか.
どうしてまとめて眠れないんだろうね.
努力はしてるんですけど.
- 朝飯・弁当の準備.
朝飯.
シャワー.
ひげそり.
あいかわらず目は真っ赤.
コーヒー.
ラジオのニュース聞く.
いまごろになって
「バケツでウラン」
の会社関係者が逮捕されてるよ.
- 0805 自宅発.
晴れ.
今日は気温が高くなるらしい.
都内では 30 ℃とか.
さすがは流刑地.
あ,
今日はゴミの日か.
いやゴミはもう出した.
今朝の 0430 ごろに.
0822 東京モノレイル流通センター発.
浜松町の気温 22 ℃.
0840 研究所着.
- (一言近況)
近ごろは
小川モデリング 2000 年度
改築工事を進めています.
森林モデルとしてはともかく,
推定・シミュレイションシステムとしては
なかなか改善されてきたんですが
……
例によってドロ縄仕事なんですよね,
これ.
(20001012)
- とりあえずシミュレイション系の Tree から
最尤推定系で使った尤度関数
(に含まれるサブモデルの計算関数)
を「召喚」してやるコードはできた.
- まず,
とりあえず変換したデーターを読ませて
(ほぼ)
元どーり吐き出すところまで持って行くか.
開空度計算を呼び出すのはあとでもよい.
- C++ なシミュレイターコードと
Perl な変換スクリプトの間を
行ったり来たり.
どんなプログラム構築でも,
未完成な入出力まわりは
触っていて不安になる.
いまのところ鍵の壊れた家に住んでいるような気分.
早くこのあたりの
「守りを固めて」
ココロの平和が実現するような環境を
構築しなくては.
- 電話娯楽に興じる連中うるさい.
それらの内容はおおむね
「音声を用いたデーター複写」.
右から聞いて左に流す.
つまり伝言ゲイムで遊んでいるのである.
ofr2000 のややこしいデーターやりとり部を
書いてると,
こういう熱力学・情報理論双方の観点から
効率の悪く粗雑なデーター転送が気になる.
解決策はひとつ.
当方が
さっさとこの面倒な部分を終わらせればよい.
ああ,
もちろん
3 メートル横にあるついたてのむこうに
破片手榴弾一個投げ込めば
もっと抜本的なんだろうけど.
- ちょっとうまくいかないので,
ひと休み.
昼飯の弁当食う.
めぼしいニュースないなぁ
……
この
SpaceSaver Keyboard II (US)
を
前々から狙ってるんだけど,
この出品者ドノは値段を全く下げずに
何度も出して来るんだよね
(そしていつまでたっても誰も入札しない).
いくら何でもこの値段ではね.
- ちなみにいま打鍵してる
Happy Hacking Keyboard
は 3 年ほど前に 3 万円 (当時の値段) で買った.
そのときは完ペキに酔っ払っておりました.
はい.
人間というのは飲むと金銭感覚マヒするんですよね,
きっと.
ということは
……
酒税を下げる →
酔っ払いが増える →
物欲にかられた衝動買い頻発 →
景気が回復 ?
- 入力は Filereader クラスが
比較的まっとうな処理をしてくれるけど,
出力のほうは原始的なままだ.
このあたり,
いずれはきちんと直さんといかんのだろうな.
元の Pasoh コードは原型を失いつつある.
まだまだ設計が良くなかったということなのだろう.
なにもかもまだまだ開発途上.
- どうも入力→出力試験をやってると,
Plugin モジュール周りでコケている.
あ,
しまった樹木ごとに動的ローディングやってたらダメだ.
static な変数にすべきか ?
いや,
どうせ Plugin モジュールを探りあてる情報
(ディレクトリー構成など)
は Forest に集約されてるんだから,
Forest で生成してみるか.
- ……
という移管作業はできたようなんだが,
こんどは Forest に集約した
Plugin サブモデルモジュールたちを
Tree で呼ぼうとすると
コンパイルエラー.
コンパイルエラーということは
かなり単純な思い違いをやってるハズなんだが
……
何が問題なのだろう.
- 周辺ではエントロピー急増を伴う伝言ゲイムが続行中.
ま,
こちらも Forest-Tree 間の
伝言ゲイムがうまくいかんので苦闘してるワケで,
似たようなもんか.
-
かとー先生
からここで公開してる Bookmarks が
文字化けですよ,
ご指摘.
う,
しまった.
新しい vim の文字コード判定を誤用してしまった.
慌てて直す.
ついでに予防策.
- コンパイルエラー,
つまらん原因だった.
理解不足の馬脚を露呈してしまった.
PluginSubmodel* plugin_height, plugin_growth;
と書くとマズいんですよね.
plugin_height はポインターなのに
plugin_growth はナマのオブジェクトになってしまう.
両方ポインターにしたければ,
たとえば,
PluginSubmodel *plugin_height, *plugin_growth;
PluginSubmodel* plugin_height;
PluginSubmodel* plugin_growth;
こういうふうに書き直せば OK.
- 上の書き間違いは
tree.h
というファイルの中にあるんだけど,
エラーは tree_constructer.cc
という別のファイルにあるかのように
表示されたんですよね.
たしかに今回の事例では
コンストラクターの中で
問題発覚したワケですが
……
なかなかつながりを連想できなかった.
- 一歩ずつ前進.
ま,
このあたりは
ロールプレイングゲイムのたぐいと同じなのかも.
倒した怪物は自分の手下にできるし
(ポケモンかい).
- さーて,
ついに面倒な敵の中ボス
(予想される面倒を勘案すると,
あるいは最終ボスか?)
にぶちあたってしまった.
地形を積木に変換するところが
うまくいってない.
この部品は継承という
慣れてないワザで作り出したモノだからなぁ.
しかも単体試験が十分ではない.
手抜きのむくいだ.
- 胃が痛む.
周りの雑音が気になり始める.
また手榴弾がほしくなる.
いかん.
時刻は.
よし帰ろう.
BookPC と ThinkPad の間で同期をとる.
- 1745 研究所発.
1816 東京モノレイル浜松町発.
はい.
本屋 dan でふらふらしてました.
そう,
こーいう弱まり状態では
ふらふらと
……
ああ,
開空度の計算とか抜本的に直すとしたら
……
というような
すぐには実現不可能な逃避にハマってるんですよね.
近頃のゲイムで多用されているポリゴンとかどーだろ,
とか.
ああ,
三次元空間の中を三角形の破片が無数にちらばる.
破片が視線上にあるかどうかを判別せよ.
直線と無限平面の交点.
一次射影.
交点は領域の内側にあるのか外にあるのか ?
えーとえーと,
……
一元連立方程式解いて求めた係数が正であって
和が 1 以下なら OK
……
ああこっちのほうが簡単なのかも
……
いやそんなはずは
……
などと白濁ぎみの脳内で
白昼夢をもてあそんでるうちに帰宅.
1855
- 晩飯食ってから,
緑茶飲みつつ上の白昼夢について書いていると,
ポリゴンのアタリ判定って
実はスゴく楽なのではないか,
という気になってくる.
交点とか面倒な計算やる必要はない.
三角片なら視点から三頂点へのヴェクトルを出す.
この三ヴェクトルを用いて
「視線」半直線上のどこかにある点を合成.
これは一次三元連立のはず.
ヴェクトルの計数が正であれば「視線」は
三角片のどこかを貫通してる
……
うーん,
きっとこんなに安直なはずはないよな.
どこかに穴があるに違いない.
また時間ができたらゆっくりと考えよう.
- この説明では読んでる人はわからんだろう,
と思って tpng (draw ソフトウェア) を起動しようとすると
……
なぜか X ごと落ちる.
あれ ?
こないだまで
うまく動いてたのにな.
なんか近ごろ X のライブラリーとか
入れ換えたっけ ?
まぁ,
新しいパッケイジを明日にでもダウンロードするか
コンパイルすれば治るんだろうけど.
- ということで図無し.
現実逃避も期せずして中断.
ふたたび
呪われコードと再びキビしい対面.
逃れることはできない.
他ならぬ自分自身で作り出したモノじゃないか.
- BookPC と ThinkPad の間で
なぜかバイナリー互換性がない.
コンパイラーのヴァージョンの違いか?
変だな.
- ……
コーヒー飲みつつ voxel_topo.cc を中心に調べる.
あ,
目玉 (eyes) のやつ,
地形積木を初期化してない.
奇っ怪な挙動の原因のひとつはこれだ.
- 読み直していくうちに,
しだいに地形→積木変換の方法を思い出してくる.
このあたりは
知床→Pasoh シミュレイションのアイデアを
そのままひきずっている部分がかなりある.
新しいところは試験運転が足りない.
- なんともキモチわるい変換なのである.
このあたりは.
キモチ悪さに恐怖しつつ
(自分では安全設計のつもりで)
冗長なというか意味不明な安全策をとったりしている.
- これは直すべきだろうな.
いや,
直して大丈夫なんだろうか.
- 2255 よーやく
「呑んだものをそのまま吐く」
という状態にまでこぎつけた.
ふう
……
おお,
なんか未熟児の子供が危うげながらも
産まれたような気分,
だろーか.
- まだまだ前途遼遠.
- 2330 ちょっと食糧などの買いだし.
マルエツなら 0000 まで開いてる.
さて,
何を買おうか.
いろいろな野菜が「89 円セイル」というやつの
対象になってるな.
よく見ると.
王監督 (背番号 89) に感謝しつつ
ニンジン・タマネギ・サツマイモ・キャベツなど買う.
- 帰って来てまだコードに向かう.
- 今宵は何時に眠れるのだろうか.
- 今日の食卓
- 朝 (0740):
米 0.6 合.
キャベツ・シイタケ・油揚げの炒めもの.
シイタケは干したのを戻した
(戻し汁も活用).
あ,
「例の」トウガラシも入ってる.
これでようやく使い切った.
やれやれ.
- 昼 (1230):
弁当.
米 0.6 合.
キャベツ・シイタケ・油揚げの炒めもの.
- 晩 (1915):
スパゲッティー.
ソースは朝の残り.
2000 年 10 月 13 日 (金)
- 0750 起床.
お,
またまたぎりぎり.
えーと昨晩は 0200 ごろに寝て,
明け方起きて,
しばらくしてまた寝た,
というパターンだったかな.
しかし今週の平日の中では最もよく眠れた.
- さーて,
時間ないぞ.
こーいうときに限ってトイレの水洗機構
壊れる.
緊急修復.
朝飯・弁当の準備.
朝飯.
コーヒー.
ここまでか.
- 0816 自宅発.
どんより曇天.
少し肌寒い.
0832 東京モノレイル流通センター発.
斜め前に座って文庫本を真剣に読む若い女性.
吉川英治「宮本武蔵」.
いったい何があったんだろうね.
浜松町の気温,
15 ℃ですか.
0850 研究所着.
ほら,ね.
間に合ったでしょ.
- 毎週のように北大理学部から怪しげなセミナーの
案内が送られてくるんだが
……
どうも先方で勝手に登録されたメイリングリスト
(というよりエイリアス) 経由で
送られて来るようである.
- 今までは私の鉄壁の
「縦深メイル防御網」
の第一の防衛線である procmail で
自動削除 (/dev/null 送り) してたんだけど
……
どうも気になるんで永久に煩わされないような
最終的な対策をとることにした.
- 過去のメイル数千通を grep で検索.
数秒で結果出る.
なるほどここに問い合わせればよいのかな.
管理者らしき人物を特定して
その人にメイルを出す.
- BookPC の kubolib と ofr2000 を update して
作業続行.
まだまだ入力→出力試験が続くのである.
- ヒマになった ThinkPad は
昨晩に不具合が発生した
tpng (drawing ソフトウェア) の rpm --rebuild.
新しいヴァージョン (4.1.39)
のパッケイジを VineSeed
から拾ってくる.
- tpng コンパイルに 13 分かかった.
Linux カーネル再構築なみの作業ですな.
動かしてみると
……
よくわからんけどフォント周りは
良くなっているようです.
- 私もなぜか登録してる
canopymania-ml
で全天画像処理に関するマニアックな議論続く.
- 午前中に何とか plugin 高さ計算関数呼び出すところまで
……
とがんばったものの,
樹種ごとのパラメーターがうまく取れない.
あきらめて昼飯.
腹減った.
- 昼飯食ってから気を取り直して,
問題に取り組む.
- わりとつまらんことに,
サブモデルの名前間違いだった,
と判明.
しかし名前間違えたぐらいで
core 吐いて死ぬというのも変だな.
- 1440 よーやく
「呑んだものをそのまま吐くんだけど,
その前にアロメトリーのファイルを読んで
plugin 樹高計算関数を見つけて組み込んで,
計算結果もこっそり混ぜて出力する」
というところまでたどりついた.
能率悪いというかマヌケというか.
- なぜこれほどぢりぢりとしか進まぬか
……
このシステムはある程度の汎用性を
目指しているから,
と言いわけしてみたい.
極端に言えば,
別の森林データー使う場合でも
パラメーターファイルと
plugin 関数だけをちょいちょいと書き換えれば,
あとは本体の再コンパイルの必要ない,
とか.
- もちろん汎用モデルとは実現不可能な夢想であり
悪夢でもあり,
あるいはつまらぬ冗談というべきかもしれない.
しかし
入力・初期化部の構築に多少苦労してでも
上のような方針を維持するのは,
それなりに役立つことだ.
少なくとも
小川動態モデルを解析したり改善していく上では
効果があるはず.
- ああ,
しかし〆切のせまったこの状況で
こんなことやっていて大丈夫なんだろうか.
- ひと休みしてお茶.
あ,
先日の
「冷やかす会」の写真
がアップロードされてる
(変なこと考え中らしい私も写ってます).
- 1750 あれこれと苦労して,
地形データーと毎木データーを
小川シミュレイターの中で結合することに成功.
いやはや,
Perl スクリプトに吐かせた数字の
有効ケタ数に問題があって,
2 万本のデーターの中で 2 本にだけ
問題が発生していたのである.
「丸める」ときに四捨五入的なコトやっちゃダメだ.
この例外的な 2 本を救うために,
全個体の座標処理に関して,
とりあえず 10 倍して整数化 (切捨て) して
さらに 10 で割るという姑息な策でしのぐ.
- こういうことやってると,
計算機というのは
実数を扱うのが苦手である,
とつくづく思う.
いや,
正確に言うなら
人間が計算機で実数を扱おうとするなら
よほど慎重でなければならない,
ということか.
- 帰るか.
1805 研究所発.
1816 東京モノレイル浜松町発.
1850 帰宅.
- 久しぶりに時間をかけて晩飯の準備する.
鍋一杯に作った味噌汁はしばらくもつだろう.
- 飯の支度をしながら,
冷蔵庫の除氷作業開始.
私の持ってる冷蔵庫は一ドアの安物である.
これの製氷室というか上方の金属部分に
氷がびっしりとつき,
しかも少しずつ解けるもんだから
冷蔵庫内はびしょびしょ.
[冷蔵庫,解凍中]
製氷室の金属底板の上下に
厚さ 5cm ぐらいの氷がびっ
しり付着してしまった.
こいつのせいで冷蔵庫の
中はべとべと.
- 冷蔵庫内のものを出し,
電源をぬく.
ドアは開けたまま放置.
水が下に落ちないように
空の米袋をしき,
ときどきバケツに貯った水を捨てる.
- 二時間ほどすると,
着氷がぐらぐらしてきたので,
カジタックスブランドのピッケルで
氷塊の上下分割線を叩く.
うまく割れたので,
手で板状の氷を製氷室から剥離して
流しに捨てる.
とはいえ,
こーいうときにしか使われない
ピッケルは哀れである.
- 冷蔵庫着氷問題が片付いたので,
小川モデリングの仕事に戻る.
- BookPC ならば 38 秒で終了する
パラメーター推定の計算.
ThinkPad では 174 秒要する.
まぁ,
クロック数比 (733MHz/166MHz) から
言えば妥当ではあるが.
やっぱ,
高速計算機が自宅にも欲しいなあ.
- ThinkPad に合わせたわけでもないが,
仕事の進捗もノロノロ.
ちょっと疲れた,
という口実でダラけてるのである.
- ま,
明日は朝起きなくてもいいし.
- 今日の食卓
- 朝 (0800):
米 0.5 合.
キャベツカレー炒め.
何だコレは.
- 昼 (1255):
弁当.
米 0.7 合.
キャベツカレー炒め.
うう
……
- 晩 (1950):
米 0.6 合.
ニンニクの茎の炒めもの.
味噌汁.
だしは煮干.
具は切り干しダイコン・ニンジン・
サツマイモ・干しシイタケ・あぶらあげ.
2000 年 10 月 14 日 (土)
- 0950 起床.
よく寝た.
- よく寝たんだけど,
まだ眠い.
コーヒー飲みつつぼーっとする.
- やはり ThinkPad では肥大化しつつある
小川シミュレイターのコンパイルに
手こずるんで,
浜松町の BookPC を使いに行く.
いや,
遅いこと
そのものが問題ではなく,
ヘッダーファイルに修正入れた場合に
時間のかかるコンパイルが始まると,
「ふう,
2-3 分待つのか」
と
手近にある面白そうな本を読み始めてしまうのが
真の問題なのではあるが
……
- 1320 自宅発.
晴れ.
暑い.
1340 山王の大森郵便局.
不在中に配達された九大山岳部からの
ゆうパック受け取る.
- 内容はと言えば山岳部の
……
なんと言うのか同人誌めいたものである.
製作にたずさわった人々の苦労はわかるが,
何とも時代錯誤というか.
いや,
時代錯誤でよいのであろう.
書いてる人・読む人の大半は
昭和 20-30 年代
入部
の人たちなのだから.
この山岳部はすでに
静かに終わってるのである.
- 1345 郵便局発.
1354 JR 大森発.
1403 JR 田町で快速から山手線に乗り換え.
浜松町の気温 25 ℃.
北海道でいえば真夏だ.
1410 研究所着.
- まずは光量計算のための積木世界における
ややこしい境界問題にとりあえずのカタをつける.
安直な安全策はやめて
「こういう場合ならこういう境界の設定」
という面倒なコードに変える.
- 初期化も工夫する.
小川の森がもし 6ha じゃなくて
24 ha だったり 96ha であっても,
自動的にパラメーターを変更するように
……
- ついでに Makefile の依存関係に問題ある部分も直す.
いや,
必要なところだけコンパイルする
「賢い」
Makefile ではなく,
かなりお役所的石頭なやつなんですけど.
Makfile 書きも慣れてきたけど,
「うまく書けてる」
という気になれない.
- 地形積木化の部分を直していく.
- 1930 よーやく,
小川の地表面
「ウス皮一枚」
を積木モデル化.
時間がかかったのは Gridworld から派生した
VoxelTopo クラスのテストを手抜きしていたためだ.
やれやれ.
[地表の積木モデル作成法]
(1) 地形を粘土で作ります.
(2) 表面に積木を並べます.
(3) 表面に接着剤ぬります.
(4) 積木どうしをつけます.
(5) 粘土を取れば完成です.
- ふう.
腹減った.
となりの「ポプラ」で
チョコチップパン調達.
コーヒー飲んでひと休み.
- 作業再開.
動作チェックする上で極めて重要な
三次元レンダリングソフトウェア
POV-Ray
(上の図も POV-Ray で作図)
を「召喚」するツールの再編成.
PipeTree → 知床 → Pasoh と
改良・改悪を続けてきたコードを今回も使う.
まさにドロ縄.
こういう
「データーの流れの一番下流」
にあるコードは汚いまま放置されがち,
かも
……
- まだ「よちよち歩き」状態の ofr2000
の入出力試験,
すなわち
呑ませる→吐かせる→調べる過程に
この POV-Ray 召喚ツールを組み込む.
いろいろな角度で表示.
シミュレイター系のほうを直ししたり,
ライブラリーにも手をいれてみたり,
召喚ツールを改良・改悪してみたり
……
- こういう方法論で作業を進めるとなると,
やはり高速な計算機があると重宝する.
- 個体の位置と地形がきちんと対応していて,
それを描画できることを確認.
2200.
- さーて帰るか.
その前にこの BookPC を自宅に持って帰れるかどうか,
ちょっと調べてみよう.
設定をざっと見る.
液晶ディスプレイを外した状態でブートできるか.
OK.
闇ネットは自動的に起動してるか.
これも OK.
ならば持って帰っても差し支えあるまい
……
と思ったんだけど,
私のデイパックは電話帳よりひとまわり大きいぐらいの
この BookPC 入らん.
運搬するときにはもっと大きなバックパック必要だな.
えーい.
今日はこれまで.
- 2245 研究所発.
浜松町は若者のいないおやぢの街であり,
徘徊する酔っ払いもおやぢばかり
……
いやいや,
両わき抱えられてぶらさがってる
泥酔おねーさん発見.
2255 東京モノレイル浜松町発.
羽田空港まで行かない昭和島どまりの便.
がらがらである.
2339 帰宅.
- あ,
コーヒーきれてた.
明朝,
コーヒーが飲めないのはちょっとサビしい.
この時間ならまだ
……
第一京浜向かいのマルエツ.
気合いだけで 0000 まで開店してるスーパーである.
炊飯してるあいだに買いだしにいく.
- 遅い晩飯を食う.
生活サイクルがずれてきたな.
- 明日も浜松町に行くことになりそうだ.
さっさと寝るべきだろうか.
- 今日の食卓
- 朝 (1040):
米 0.6 合.
味噌汁とニンニクの茎の炒めもの.
すなわち昨晩の残り.
- 昼 (1305):
米 0.6 合.
朝と同じ.
- 晩 (0020):
米 0.6 合.
朝と同じ.
2000 年 10 月 15 日 (日)
- 1230 起床.
うう,
9 時間以上熟睡してしまった.
今晩から
また眠れなくなりそう.
- 京大・長谷川さんからメイル.
これまでの
「ぎょーむ日誌」
ファイルを grep で解析したところ,
近ごろになって
女性に関する記述が増えているとのこと.
いやはや.
どうやら長谷川氏は私が発情期にある,
と疑っておられるようである.
- その考察はやや性急なものに思えたので,
「ぎょーむ日誌」執筆者の内部状態が変わった
と言うより,
むしろ
「ぎょーむ日誌」を書いてる人間そのものが交替した
可能性についても勘案すべきではないか,
と示唆してみた.
ああ,
私は誰なんだろね.
- 1506 自宅発.
曇り.
もうすぐ夕方だ.
1523 東京モノレイル流通センター発.
浜松町の気温 20 ℃.
1540 研究所着.
- 昨晩,
すごーくひさしぶりに BookPC を
shutdown したので
その再起動にやや手こずる.
XF86Config,
Canna,
loadkeys,
IP マスカレイド.
手動で直さんといかんところが
ちょっと多すぎる.
おかしいなぁ.
- ThinkPad560E (Vine-1.1) の
フォント周りがおかしいようである.
gv や tpng がうまく動作していない原因は
そのあたりにあるのではなかろーか.
VineSeed から
freetype-1.3.1-5vl1.src.rpm
VFlib-2.24.2-6.src.rpm
ghostscript-fonts-5.50-1.src.rpm
cmpskit-3-3.src.rpm
urw-fonts-2.0-4.src.rpm
ghostscript-5.50-0vl1.src.rpm
gv-3.5.8_jp-9vl1.src.rpm
といったものを取って来て
rpm --rebuild してみる.
再構築したら rpm -Uvh でつっこむ.
うーん,
とりあえず
gv で postscript ファイルを
表示できるようにはなった.
tpng はあいかわらず呪われたまま.
- だめだ.
tpng はどうやっても ThinkPad 上で開かん.
BookPC で呼び出すとうまくいくんだが
……
ということは
tpng の問題ではなく
X まわりの問題なんだろうな.
- 小川モデリング再開.
地形が積木化できたんで,
次は樹木を積木にしないといけない.
- Pasoh で使ったランダム円筒樹冠を
そのまま使うのはイヤなんで
(見てくれがカッコ良くない),
ちょっとだけヒネりを入れてみる.
いや,
こんな関数ではあまり変わらないかなぁ.
円筒が基本で,
内部に円錐型の排他的領域がある.
一つの樹冠を生成するのに
二回乱数を引かなければならない.
- 関数の書き換え終了.
何度も失敗した末に
コンパイルもようやく通った.
さーて
運転してみるか.
うう
……
ちょっと
どきどき.
これまでは
枯木状態だったところに
花ならぬ樹冠が着くもんで
……
- つまり昨日は
入力→出力過程でトバしてた
tree.Transformation()
関数を呼び出すのである.
お願いだから,
どうか無難に呼び出されてくれ.
- 準備よろしいかな?
それでは 5000 本の樹木たちに発令.
とらんすふぉーめいしょん !
……
おおお,
無事に通った.
やれやれ.
しかしながら,
やはり
あまり変わりばえしてない,
というか.
- パラメーターをちょっといじっても
やはりこんなモンか.
[つぶつぶの森]
とりあえずつぶつぶ
してみました.でか
い図は小川モデリン
グペイジでどうぞ.
- (更新情報)
小川モデリングのペイジに
「どーいう樹冠がカッコ良い見てくれか?」
を追加してみました.
樹冠はタマなのか,
つぶつぶなのか,
はたまた茶筒なのか
……
(20001015)
- まぁ,
いいや.
こんなの後からいくらでも変更できるし.
- 積木化もうまくいってるようである.
しかし見かけ上樹冠がちょっと少ない,
というか.
地形は 5m × 3 の積木を用いてるのに対して,
樹木は 1m × 3 の積木を用いてる.
幹がどれも一様化してしまう半面,
樹冠の具合がどうも
……
つぶつぶの数を増やすべきか.
まぁ,
これもパラメーターファイルを実行時に
書き換えればよいだけのコトではあるけど.
成長なんかのパラメーター推定との
兼ね合いですね.
- あっと言う間にモノレイル終電の時刻が近付く.
いやモノレイルは 23 時すぎまでやってるけど,
生活サイクルをこれ以上ずらすのは危険だ.
2226 研究所発.
ちょっと小雨.
2235 東京モノレイル浜松町発.
2306 帰宅.
- 晩飯食いつつ,
今日のこのあとの予定を考える.
ぎょーむ日誌と報告ペイジ.
さっさと書いててきとーに仕上げてしまおう.
明日の準備.
そうだ,
どうせ眠れんだろうから
久しぶりに風呂にでも入ろうかな.
- 今日の食卓
- 朝昼兼用 (1300):
小麦粉・ベイキングパウダー・干しブドウで
パンケイキごときものを焼いた.
コーヒー.
- 晩 (2320):
米 0.8 合.
味噌汁の残り.
キャベツとタマネギの炒めもの.
キムチの素で味つけ.
2000 年 10 月 16 日 (月)
- 0700 起床.
やはり 2 時間ぐらいしか眠れんかった.
- 朝飯・弁当の準備.
といっても昨晩の流用なんだが.
朝飯.
シャワー.
コーヒー.
- 0752 自宅発.
くもり.
ゴミはすでに 0400 ごろ出した.
うう,
眠いというだけでなく,
胃のあたりがキモチ悪い.
0812 東京モノレイル流通センター発.
浜松町の気温 17 ℃.
なんか暑いぞ.
汗とか出るし.
0830 研究所着.
- 小川モデリングの作業.
今日は「光子」を飛び回らせなければならない.
従来の gridworld.RayTrace() 関数では
境界から飛び出すまで計算を続ける.
現在の小川モデルで採用しつつある
怪しげな周期境界条件において,
これはまずい.
水平に近い「弾道」を持つ光子が
無駄な飛翔を続けるからだ.
gridworld.StemNumber() で
Bresenham step の回数を制約するような
gridworld.TraceToTarget() という関数を
新たにでっちあげることにする.
gridworld.RayTrace() のほうは
将来的には廃棄だ.
- しかし,
この周期境界条件というのが嘘くせーというか.
いちおう計算上はちゃんとつながってる
はずなんだが
……
例によって試験不十分なのである.
- まだ 1100 なのに腹減った.
しかし胃のあたりはキモチよろしくないまま.
- 不審な点が残るまま改造した開空度計算部は
やはり挙動が変.
原因がよくわからぬまま,
ひと休みして弁当を食う.
- 昼飯を早々にすませて,
へっぽこコードとのニラみあいを再開.
何が問題なのか.
- あ,
Bresenham のアルゴリズムがうまく
動いていない.
すごく変.
これでは光子は必ず
「斜め上」
にしか動かん.
どこに間違いがあるんだ.
ちなみに時刻はすでに 1530.
- やぁ,
また想像を絶する間違いだった.
「あ,
どうせこの Bresenham 用の
整数変数たちは負にならないから
unsigned
をつけておいてよいだろう」
と変更しておいたところが
問題だった.
とてつもなく阿呆なことに
……
これはまったくの勘違いで,
このアルゴリズムでは負にならないどころか,
変数の符号によって振舞いが
決定的に変わるんですよね
……
絶対に
unsigned
してはいけない箇所なのである.
- ふう,
ようやく複雑地形の中でも
まともな開空度計算ができるようになったぞ.
知床モデリングでは
てきとーにやっつけてたところである.
やれやれ.
時刻は 1550.
あまりのマヌケぶりに脱力して気絶しそう.
[視線]
谷底に置かれた「目」
からたくさん「視線」
が出ているところです.
- さーて,
だんだんコードの挙動が把握できてきたぞ
……
というところで,
奇怪きわまりない電話に邪魔される.
読売新聞の鳥取支局を名乗る人物から.
母校特集とかやるんで
紙面に名前のせてやるから
3 万円の寄付をよこせというもの.
うーん,
新手の詐欺だろうか.
- そもそもここの電話番号をどうやって特定したのか.
すごく変だ.
知ってる人間はごく少数.
いやもちろん私のへっぽこ web page
には番号書いてますよ.
しかし鳥取の高校出身とはどこにも書いていない.
つまり情報たれ流しに見えるネット上ですら,
「久保→鳥取の高校出身→現在東京」
という情報はどこにもないのである
(いま,
ここに書いたけど).
- どこかの莫迦が漏洩したんだろうか.
- まぁ,
もういいや.
持久戦にもちこもうとする
相手の話を途中でぶち切ったし.
- しかし,
よくわからんな.
もしあれがホントに読売新聞の企画だというなら
ヒドすぎる.
誰が 2cm × 3cm の名前掲載に 3 万円も出すもんか.
だとするとやはり詐欺かな.
かなりキツい山陰なまりで喋ってたな.
もし鳥取みたいな人口希釈地帯で
うろうろしてたら
悪事はすぐに露見するはずなんだが
……
卓絶した技量の山陰人 emulation だったのか.
- よーし,
周期境界条件すなわち
「光子わーぷ」
もうまくいってる.
この辺の試験は Pasoh モデル開発あたりで
完了させておくべきだった.
- 試しに全樹木から開空度の計算をやらせてみる.
BeginEnd2Table.pl でテイブルに変換.
gnuplot してみると
……
いやー,
いいカンジですね.
「『暗い』ところは
肥大成長の可能性を制限するが,
『明るい』ければ可能性は広がる」
というパターンです.
はい.
- よし,
これで小川でも
確信 (というか狂信というか) をもって
成長量の指数分布モデルが使えるぞ.
いままで不安にさいなまれつつ
使ってたんですよね.
インチキ「明るさ」指数では
当てはまりもよくなかったし.
今回の計算結果を使えば,
今までよりうまく
成長パラメーターの最尤推定できそうだ.
- まぁ,
これから使おうとする確率論的モデルが
ホントによろしいのかどうかは,
たしかに
いろいろ議論の余地はある.
生物学的にも統計学的にも,
ね.
それはおいおい考えていきませう.
私としては
ノンパラメトリックなモデルにしてみたいですね.
難しそうだけど.
- さて,
次は成長のパラメーター推定だけど
……
腹減ったしバテぎみなので
帰宅することにしよう.
1810 研究所発.
1818 東京モノレイル浜松町発.
1850 帰宅.
- とりあえず有るもので晩飯つくって,
緑茶を飲んでひと休み.
うう,
眠りこんでしまいそう.
眠っちゃいかん.
- ……
と思いつつ 30 分ぐらい寝てしまった.
0850 無理矢理おきる.
うう.
コーヒーでも飲んでみる.
- ぼちぼちと仕事を再開.
- あれ,
最尤推定プログラム mlfitting がうまく動かないなぁ
……
といぶかしく思ったら,
例によって Vine-2.0 (in BookPC) でコンパイルした
バイナリーは
Vine-1.1 (in ThinkPad) ではうまく動きません,
という呪いであった.
ともかく徹頭徹尾動こうとはしないのである.
いやはや.
- 時刻はすでに 0005.
成長パラメーター推定で苦闘中.
うん.
なんだかまともに計算してくれん.
とほほ.
さらにコーヒーなんか飲んだんで
(あるいは体内時計狂ってるんで)
疲れてるのに眠くない.
- ああ,
どうなるんだろうね.
- 今日の食卓
- 朝 (0730):
米 0.7 合.
味噌汁とキャベツの炒めもの.
これらは昨晩の残り.
- 昼 (1225):
弁当.
米 0.7 合.
キャベツの炒めもの.
- 晩 (1920):
オクラとワカメの
スパゲッティー.
いや,
これぐらいしか材料がなかったんで.
オクラをちょっとゆでて
塩抜きしたわかめときざんで和える.
ゆであがったスパゲッティー,
サバぶし麺つゆとまぜる.
うーん,
オクラはもっと細かく切らないといかんか.
2000 年 10 月 17 日 (火)
- 0735 起床.
寝たのは 0400 すぎてた.
毎朝のことながら,
眠い.
- 朝飯・弁当の準備.
朝飯.
コーヒー.
あ,
もう時間か.
- 0805 自宅発.
天気,
くもり.
今日はキモチ悪さはないけど頭ふらふら.
0825 東京モノレイル流通センター発.
モノレイル車内でバテる.
浜松町の気温 16 ℃.
ふらふらと 0845 研究所着.
- へっぽこ状態にもかかわらず
午前中は小川モデリング ofr2000 の
作業が進捗した.
「ぎょーむ日誌」
書いてるヒマすらなかったほどである.
- 昨晩からの続き.
成長パラメーターの
最尤推定用 plugin モジュール
まわりの整備.
今朝寝る前数時間は
こいつの Makefile 不備由来の
呪われ状態に苦闘していたのである.
- それを側面から支援する
BeginEnd2Table.pl なる
変換スクリプトの大改装.
出力がすきっとしました.
かなりキモチいいです.
というか,
今までがダメすぎた.
あとこれで生成したテイブルの
特定カラムにチェックをいれる
table_filter.pl
を新しくつくる.
- パラメーター推定試行錯誤.
いまだケリがつかず.
やばい.
- ケリがついてないのに
mlfitting を
「成長推定モード」で呼び出す
ドライヴァー.
上の問題が終わってないので
途中で止まる.
- 成長量に関する自動お絵描き.
これは ofr1999 からの流用である.
開空度 (ごとき指標) と
成長量の間に樹種ごとの
違いが明確にあらわれているよーに見える.
錯覚かもしれんけど
少し幸せな気分になる.
- mlfitting 高速化.
成長パラメーターの推定おそすぎ.
しかしこの暴挙は
はやくも泥沼化しつつまあり.
……
と列挙してみると,
ハンパにしか片付いてない内容ばかりである.
- とりあえず弁当食って気分をおちつける.
「ぎょーむ日誌」に
午前中の作業状態を書き,
やはりへっぽこだと思う.
- 1335 ドロ沼化の危機を脱して mlfitting の高速化
(ついでに便利化)
が終了.
ああ,
しかし測定してみると
……
一割ぐらいしか速くなってないな.
- 1400 よーやくマトモっぽいパラメーター推定始まる.
肥大成長量に関するやつである.
計算が遅くて気絶しそう.
尤度関数を二階微分した数式をいちいち導出してやる,
という阿呆らしさを廃した mlfitting においては
その代償として
計算速度が遅くなってしまったのである.
- ついでに気づいたこと.
最尤推定においてパラメーターが
収束するかどうかは,
尤度関数の表現方法に強く依存している.
やはり,
というべきか.
パラメーター含む部分は「線形」に
表示してやるのがよろしいようである.
もし可能であるならば,
だけど
……
- 成長量のパラメーター推定計算,
冗談ではなくとてつもなく遅い.
とくにイヌブナ (FGJ) みたいに
「本数がすごく多くて,
サイズ依存性が希薄で,
明るい場所でも暗い場所でも
すくすく伸びる」
ようなひねくれきった樹種にいたっては
計算開始して 5 分たっても
答えが出ない.
いや,
もちろん ThinkPad ぢゃなくて,
BookPC (PIII 733 MHz ) 使っての計算ですよ.
おかげで待ち時間に
「ぎょーむ日誌」に
どんどん駄文が追加されていく.
- どうにかせんといかん.
けっきょく 2184 本 (4 倍増値) からなるイヌブナは
1000 反復しても収束してないし
(これに 10 分近くかかった).
モデリングの対象として選抜した
24 樹種の推定に 20 分かかってる.
ThnikPad560E なら
2 時間かかっているところだ.
- うん,
しかしイヌブナとクマシデ (CRJ, 529 反復)
以外は 100 反復未満で収束している.
そして全 24 樹種のパラメーターが
比較的「そろってる」というか
……
樹種ごとに個性はあるけど,
以前よりは危うくないカンジ (?) ではある.
今までいろいろなパラメーターで
小川の樹木たちを推定してきたけど,
こういう推定されたセットは初めてである.
ちょっとした快挙.
- というのも,
いままでのパラメーター推定では
「ある個体の周囲の合計胸高断面積」
というような
二乗とか含んでるロバストではない
量を用いてきたので,
それを使ったパラメーター推定もまた
ロバストならざるものだった,
という印象がある.
- 今回から使い始めた,
開空度 (ごとき量) ならば
無理なくある範囲に収まるわけで,
それはパラメーター推定の上でも
有利であるようだ.
- ちょっと考えて,
「暗さにどれだけ影響されるか」
パラメーターが負の値も取りうるように
パラメーター初期化ファイルを書き換えてみる.
イヌブナだけ推定やりなおし
……
ほーら,
やっぱりこいつは
「暗いほうがむしろよく成長する」
というやつなんだ.
- ……
というハナシを真にうけてはいけない.
そうではなく,
たんにイヌブナ肥大成長量は
「明るさ」とはあまり関係なさそう,
というのにすぎないのだろう.
しかしながら「暗いところ」にいるやつ,
すなわち小さい若い個体のほうが
成長が良い.
そのため
「暗いところのほうが成長よい」
というような見かけの計算結果が
引っぱり出された,
そーいうことです.
- つまり
私の使ってる確率論的成長量モデルが破綻してる,
とも言える.
まぁ,
やむをえまい.
24 種もの樹木に共通してあてはめることのできる
数理モデル.
どこかに無理があるんです.
- パラメーターの取りうる範囲を変えると
推定結果にも違いが生じることある.
選抜 24 樹種に関してパラメーター推定やりなおし.
よーし,
こんどは 7 分で全部終わったな
……
これは足をひっぱってた
樹種が素直に収束するようになったためである.
まぁ,
まだ遅いけどね.
- イヌブナだけでなく,
やはりクマシデも
「暗いほど良く育つ」
という見かけの結果になってやがるな.
ふん
……
ああっ,
ブナ (FGC),
お前もか !!
しかも値は 24 樹種中もっとも暗好み寄り.
- ちょっと,
これはまずいかも.
24 樹種のうちでも優占的なブナ・イヌブナが
「暗いほどよく育つ」
ようなモデルになってしまう
……
まぁ,
いままでのパラメーター推定の経験を振り返っても,
たしかにこいつらは変なんですけどね.
- ちなみに小川三大優占樹種の残りひとつである
コナラ (QRS) は
暗いところで育てると
「もうダメ〜」
と
すぐに弱音を吐くような,
それらしい素直な良い推定結果です.
- table_lumping.pl というフィルターを作って
データーを加工して推定やりなおすと
今度は 100 秒ちょっとで終わった.
いや,
べつに怪しげなコトをやってるわけではなくて,
もともと 6ha だったのを 4倍に拡大して
また元に戻しているだけなんで
……
しかし推定結果はかわらない.
この最尤推定がロバストであるのは喜ばしい.
しかし,
この暗いところの好きなブナ・イヌブナ
どうにかならんかな.
クマシデは本数が少ないんで変でも気にならんけど.
時刻 1605.
- 成長量パラメーター推定過程を完全に自動化して
もいっぺん最初からやり直し.
「樹冠」はランダムに形が変わるので
一試行ごとに開空度なんかが変わるのである
……
それはいいんだが,
やはりパラメーター推定の結果,
変わらん.
憎らしいほどにロバストと言える.
- 1750.
3 回毎木調査ぶん
(1987-1991 年) の
データーをまとめて
パラメーター推定.
だいたい同じような結果.
クマシデは年変動が大きいらしく,
まとめると「明るさ」依存性がでるようになった.
ブナ・イヌブナはもはや処置なし.
というか,
グラフにしてみると,
明るさにあまり依存してない,
という解釈でよさそうだ.
尤度比検定でもやれば
問題のパラメーターは削除されるんだろう.
[コナラとイヌブナ]
横軸が太さ (cm) で縦軸は成長量(cm/2 年).
赤線・青線はそれぞれ「明るいところ」「暗
いとこ」での成長量の期待値 ( = 1/λ,指
数分布に従うと仮定してパラメーター推定).
コナラは暗いところで成長ががたっと落ちる
けど,イヌブナは変わらない (だから青線・
赤線が重なる) という推定なのです.
- さて,
尤度比検定やってるヒマあるか.
ない.
とりあえず後回し.
- 計算結果を gnuplot → eps ファイル →
LaTeX で一覧にして dvi 出力という,
いつものパターンで dvips 印刷.
横軸をサイズにしたもの,
開空度にしたものの 2 種類を作る.
48 枚のグラフが描かれた 4 枚の紙切れを
目の前につりさげてあれこれと考える.
- 昨年度版 ofr1999 よりはちょっと良くなったかんぢですね.
樹種ごとのあてはめに無理が少ない,
とゆーか
……
- 1820 研究所発.
1830 東京モノレイル浜松町発.
ああ,
本屋 dan にもう何日のあいだ寄っていないだろう
……
うん?
今日はモノレイル車内混んでるな.
と思ったら,
皆さん手にもった新聞に掲載されている
データーを解析しつつ大井競馬場で降りていった.
今晩はウマが走るらしい.
1905 帰宅.
- 風邪をひきかけてるのか,
ノドの具合が少し変なので
よくうがいをしてみる.
晩飯を作る.
食ってからコーヒーなど飲んで
ぼーっとする.
- 今後のだんどり検討する.
「科学」の〆切は一週間後.
またぎりぎりになるだろう.
これはもはや是非もなし.
しかし 5000 字なのでたいしたコト書けないだろうけど,
そんなに時間かからないだろう.
来週から書き始めてもかろうじて
25 日には間に合うはず.
- うん,
風邪などひいてはいかんな.
- ということで,
今週いっぱい,
日曜日ぐらいまではモデルいじりができるだろう.
今日一日で成長パラメーターはだいたい OK.
明日からは死亡のモデリング.
これは新機軸が少し入るのでちと手間取るかもしれん.
- 問題は新規加入 (recruitment) のモデリングだ.
小川本にも書いた ofr1999 版の
「過去にむかって成長させる」
モデルは面白いんだが
……
説明に手間取るわりには
何をやってるのかわからないところがある.
この手法は成長・死亡の推定に強く依存してるし
……
たぶん時間ないだろうから,
新規加入は ofr1999 版のそれではなく
ofr1998 型まで戻そうか.
不死鳥モデル.
うう,
また森林総研の人々から怒られてしまいそうな.
ま,
ときには 2 歩ススんで 1 歩後退
……
- 樹木をコロす方法
あれこれ考えてるうちに,
どんどん時間がすぎていく.
私は樹木の太らせかたについては,
樹種の個性にぴったりの
確率論的モデルやパラメーターを選んで差し上げる
ことできそうんなんだけど,
死なせかたや増やしかたは
未だによくわからないのである.
- 真夜中.
だるい.
しかし眠くない.
やっぱり,
ずれてんだろうな.
体内時計.
- 今日の食卓
- 朝 (0750):
米 0.7 合.
キャベツ・シイタケ・油揚げの炒め煮.
シイタケは干したのをもどしたもの.
- 昼 (1230):
弁当.
米 0.7 合.
キャベツ・シイタケ・油揚げの炒め煮.
- 晩 (1950):
米 0.5 合.
朝の残り.
味噌汁を作り直す.
だしはサバぶし.
豆腐・切り干しダイコン・ニンジン・
サツマイモ・ワカメ
……
例によってわけのわからぬ組合せだ.
2000 年 10 月 18 日 (水)
- 0720 起床.
昨晩寝たのは 0200 ごろかな.
よく眠れました.
モデリングは進捗しなかったけど.
- 朝飯・弁当の準備.
朝飯.
コーヒー.
シャワー.
- 0805 自宅発.
曇り.
あいかわらず樹木の殺戮について
考察しつつ歩く.
0825 東京モノレイル流通センター発.
浜松町の気温 20 ℃.
0840 研究所着.
- とりあえず
小川の樹木の死亡事象を
うまく取り扱えるように
データー処理系に手をいれてみる.
- ここの地球フロンティアというのは
NASDA (宇宙開発事業団) と
JAMSTEC (海洋技術センター) という
ふたつの科技庁系の特殊法人が人員を出して
でっちあげた悪の秘密結社なんだけど
……
今日は JAMSTEC のほうは
創立記念日とやらでお休みのようだ.
このフロアーにはほとんど人が来ていない.
周りを見回しても出て来ているのは
NASDA な私と Dennis さんぐらいのものである.
うるさい人々がいなくて静かだ.
- いつものことながら,
ぢみなデーター変換作業は遅々として進まんね
……
これでいいかな.
小川毎木調査を Begin-End 形式にしたファイルを
grep Status | sort | uniq -c
したものをメモしとく.
死んでる個体
……
だけでなく個体の出入りが少ない.
### data/census06ha1987->1989 ###
4811 Status 生き残る
28 Status 次回欠測
14 Status 幹折れ
10 Status 倒木の下敷
75 Status 枯死した
### data/census06ha1989->1991 ###
4658 Status 生き残る
178 Status 生き残る(新規加入で)
24 Status 次回欠測
4 Status 次回欠測(新規加入で)
25 Status 幹折れ
1 Status 幹折れ(新規加入で)
16 Status 倒木の下敷
2 Status 倒木の下敷(新規加入で)
88 Status 枯死した
2 Status 枯死した(新規加入で)
### data/census06ha1991->1993 ###
4689 Status 生き残る
156 Status 生き残る(新規加入で)
46 Status 次回欠測
6 Status 次回欠測(新規加入で)
21 Status 幹折れ
12 Status 倒木の下敷
68 Status 枯死した
### data/census06ha1993->END_ ###
4845 Status 次回欠測
122 Status 次回欠測(新規加入で)
1987->1989 は死亡はわかるけど,
新規加入はわからない.
同様に,
1993 年は新規加入はわかるけど死亡はわからない.
- こんなんでどーしよー,
と上の結果をながめつつ弁当を食う.
24 樹種の中には全然死んでないやつとか,
新規加入した個体がまったくいないやつとか
いるんですよね.
- 数字がまるであってないことに気づく
(最初に書いた時点では
……
上に掲載されている表ではすでに修正ずみ).
その原因の主なものは「欠測値」の
取り扱いなんかがうまく行ってないためである.
各測定年度ごとに独立にとりあつかうので,
あってなくてもとりあえずは問題ないんだが
……
変換スクリプトのバグだったらやだなと思って
調べてみる.
- 調べてみると
……
1600 すぎまでかかって
私の間違いを修正した.
ああ
……
しかしまたしても
……
E*cel の呪い
がひきおこした問題を見つけた
(私が E*cel なんぞで
管理されている調査データーシートを憎む理由は
「E*cel は根絶可能か」
でも読んでいただけると
……
あるいは,
ますます分からなくなるかも).
- 割合から言えば
入力間違いは 0.5% 未満なんだけど
……
この「目で点検しながら入力」という作法は
こういう数万項目のデーターには使えません
ってば.
- 元ファイルのコピーとってから,
自分で勝手に 30 箇所ほど直した.
19.0 を 29.0 と打ち込んでるようなのは修正できる.
しかし修正できないデーターもある.
どう直したらよいのか
見当もつかないよーな異常値.
やれやれ.
- 今回はデーターの全面修正はダメだな.
次の機会にはきちんと直そう.
データーベイスでも導入しますかね.
不備なところを機械に見つけさせて
手で修正できるような
……
Perl で書いた簡単な変換スクリプトでも
これだけゾロゾロ見つかるんだから.
- パラメーター推定やりなおしてみると
(make growth_estimation するだけ),
あまり変わらんけど,
クリ (CSC) みたいに本数の少ないやつは
一点動いただけでパラメーター変わるな.
あ,
ブナ (FGC) も
「暗いとこ好み」が直ってる.
わーい.
しかし
おそらく
「成長量は開空度 (ごとき指標) には依存しない」
という樹種なんだろう,
これは.
- かなり集中力を使ってしまったせいか
(というのは大げさか),
空腹になったので隣のコンヴィニエンスストアー
「ポプラ」でビスケットを調達.
1635
コーヒー飲みつつひと休み.
- いつものことながら,
こーいう (他人の)
調査データーを解析するスクリプトを書くのは難しい.
「次回欠測」
のような分類のたてかた.
さらに
その場合わけの条件文とか,
かなり気をつけて書かないと
わけのわからぬ結果ばかりが出てくる.
挙動が変になったときに
自分の書いたスクリプトがマズいのか,
データーに問題があるのか調べないといけない.
やってて楽しくない
……
などなど.
ちゃらちゃらした
三次元個体ベイス森林動態シミュレレイター
書いてるほうがよっぽどラク.
こーいう面倒な作業やる日に
うるさい連中がいなくてホントに良かった.
- データー処理して気づいたんだけど,
このパラメーター推定なら
ゼロ成長もあり,
だな.
もちろん成長量が指数分布に従っている
と仮定してるんで,
厳密なゼロ成長はまずい.
0 という記号は 0 の周りの正の狭い区間を
あらわすと代表値と見なすことにした.
- 恐ろしいことにこの変更だけで,
サンプル数が数パーセント増えた.
パラメーター推定の結果がちょっと変わったけど,
まぁいいや.
最初から「何度でもやり直せる」ように
システム構築してるし.
- 生態学者は
樹木の胴まわり○○cm とか
連続量だと思ってるんだろうけど,
じつは人間には連続量を測定する能力がない.
あるいは,
連続とは
やはり架空である無限という概念から
導出された観念のひとつ.
測定しうるすべては離散量なのである.
- さーて,
ここから「英雄的」なパラメーター推定が
始まるんだが,
もはや今日は書いてる時間もなし.
なんとならば
……
- 2333 東京モノレイル浜松町発終電.
昭和島行き.
流通センターの改札機もすでに動いていない.
0005 帰宅.
- ……
とまぁ,
こんな時間になってしまった.
晩飯食い終わったら 0100.
6 時間後には起床しなければ
……
と思いつつ計算やめられない私.
あ,
もうすぐ 0200 だ.
- ということで,
また明日.
- 今日の食卓
- 朝 (0750):
米 0.6 合.
味噌汁.
キャベツ・シイタケ・油あげの炒めもの.
シイタケは例によって干したのを戻したもの.
今回は塩胡椒・キムチの素で味つけ.
- 昼 (1215):
弁当.
米 0.6 合.
キャベツ・シイタケ・油あげの炒めもの.
- 晩 (0040):
米 0.5 合.
朝昼の残り.
2000 年 10 月 19 日 (木)
- 0755 起床.
わ.
これはやばい.
えーと寝たのは 0230 ごろ.
5 時間ちょっと眠れました.
- とりあえず弁当箱に
飯と味噌汁だけの朝食.
今日はこれだけ.
- 0813 自宅発.
晴れ.
まだ寝ぼけてる.
0832 東京モノレイル流通センター発.
浜松町の気温 13 ℃.
急に下がったな.
0850 研究所着.
- さっそくパラメーター推定の続き.
午前中は以下の繰り返しで終わった.
- 阿呆なモデル
(すなわち樹木の殺しかた)
を次から次へ考えつく.
- 候補をしぼりきれないので
良さそうなのを片っぱしから
試していく.
- どれもよくないのに気づく.
- あまりにも色々やったんで,
どういうモデルがよくないのか
忘れてしまう.
- 最初に戻る.
- うーん.
時間が.
昼飯を食いながらもパラメーター推定.
今日は弁当の菜を作ってるヒマなかったんで,
ふりかけ飯である.
ああ.
- 午後になっても終わりの見えない
パラメーター推定は続く.
いや.
ぢりぢりと改良されてるはずだ
……
「ブナ (FGC) が暗いところで
ばたばた死ぬはず」
という推定結果が出て
のけぞる.
- 北大のてきぱき牧様より
甲山研 10/30-11/1 の研究会案内.
ふーん,
ホントにやるんだ.
出張手続きしておかなくては.
- ……
現在時刻は 2020.
今日もぎょーむ日誌を書いてるヒマというか
精神的な余裕のない一日であった.
よゆーのない暮らし.
ああ,
やだやだ.
- 最尤推定のやりすぎで,
計算機ばかりでなく
私もなぜかへろへろ気味です.
いまは推定の待ち時間.
しかし一樹種ごとに
尤度が上がったの下がったの,
明るさ依存性が見えるの見えないの
と一喜一憂してるからかもしれません.
やっぱりダメなかんぢです.
- 自分で作ったモデルながら
……
太さ (サイズ) と明るさで
死亡確率が決まるとういモデルの
挙動がようやくわかったような気分になってきた.
きっと気分だけなんだろうね.
ともかく時刻は 2205.
あと一時間ちょっと.
選抜 24 樹種の死亡パラメーター推定させると
15-20 分かかるんですよね
……
- 2300.
うーん.
いまいち.
いちおう尤度の高いパラメーター・関数セット
はわかったんだけど,
明るさへの反応がよくない
……
ちょっとそのあたりをいじって
パラメーター推定中.
そろそろ帰ろーか.
- 突然,
いままでひっかかてた所が理解できた.
帰るのをいったん中断.
もうひとつだけジョブを走らせる.
結果は自宅から見ればいい.
- 2333 東京モノレイル
今日も終電
浜松町発.
0010 帰宅.
- 冷蔵庫の残り野菜でてきとーな晩飯をでっちあげる.
- 晩飯炊けるのを待つ間に ras 接続.
研究所の机の上の BookPC に接続.
計算結果は
……
よし.
予定していたとーりのやつだ.
これで次の段階に進める.
- 晩飯食いつつ,
もうちょっと改良できんかとあれこれ考える.
- また浜松町につなぐ.
少し設定かえた計算やらせてみる.
しばらく待つ.
またつなぐ.
よーし.
つい昨日まで
(うん?
もうおとついか)
ヤミの中にあった死亡モデルが
いんちきながらも
それらしく構築できた.
うーん,
ちょっとした詐欺を
まんまと成功させた気分.
時刻は 0120.
- さーて,
風呂にでも入って寝ようかな.
- 今日の食卓
- 朝 (0800):
米 0.6 合.
まだ残ってる味噌汁.
- 昼 (1240):
弁当.
米 0.6 合.
ふりかけ.
- 晩 (0040):
米 0.6 合.
味噌汁.
オクラ・タマネギ・ニンニクの
炒めもの.
趣旨不明.
しかしオクラは炒めても食える
とわかったのは収穫.
2000 年 10 月 20 日 (金)
- 0735 起床.
5 時間ほど眠れました.
- シャワー.
朝飯・弁当の準備.
朝飯.
コーヒー.
- 0816 自宅発.
曇り.
今日は大雨が降るという予報.
0832 東京モノレイル流通センター発.
やっぱり眠い.
浜松町の気温 16 ℃.
0850 研究所着.
- 昨晩だした計算結果を見直す.
とりあえずこんなかんじ.
total のべ個体数 (1987, 1989,1991 年度観測),
dead は実際に死んだのべ個体数,
expected は推定されたモデルから憶測された
死亡個体数の期待値.
モデルでは樹木は太くなると死ぬ,
暗くなると死ぬ,
と仮定してる
(その死亡率を計算する式に与えるパラメーターは
樹種によって異なる).
#spc total dead expected
ACM 481 13 (2.7%) 13.7 (2.8%) イタヤカエデ
ACP 1317 11 (0.8%) 11.2 (0.9%) オオモミジ
ACR 258 16 (6.2%) 16.5 (6.4%) ウリハダカエデ
ACS 199 3 (1.5%) 3.3 (1.7%) コハウチワカエデ
ACT 209 2 (1.0%) 2.3 (1.1%) ヒナウチワカエデ
BTG 119 3 (2.5%) 3.1 (2.6%) ミズメ
CLB 431 13 (3.0%) 13.1 (3.0%) リョウブ
COC 431 16 (3.7%) 16.9 (3.9%) ミズキ
COK 200 10 (5.0%) 10.1 (5.0%) ヤマボウシ
CRC 1406 13 (0.9%) 13.1 (0.9%) サワシバ
CRJ 188 8 (4.3%) 8.1 (4.3%) クマシデ
CRL 1451 26 (1.8%) 27.5 (1.9%) アカシデ
CRT 280 5 (1.8%) 5.2 (1.8%) イヌシデ
CSC 188 6 (3.2%) 6.2 (3.3%) クリ
FGC 318 3 (0.9%) 3.7 (1.2%) ブナ
FGJ 1934 49 (2.5%) 51.9 (2.7%) イヌブナ
FRL 191 7 (3.7%) 7.1 (3.7%) アオダモ
MLM 249 7 (2.8%) 7.1 (2.9%) アワブキ
OSJ 213 1 (0.5%) 1.1 (0.5%) アサダ
PRV 249 10 (4.0%) 10.4 (4.2%) カスミザクラ
QRM 154 15 (9.7%) 14.9 (9.7%) ミズナラ
QRS 934 15 (1.6%) 15.2 (1.6%) コナラ
STO 1514 28 (1.8%) 28.6 (1.9%) ハクウンボク
ZZZ 1412 50 (3.5%) 51.7 (3.7%) その他
一見もっともらしいが,
あれこれといんちきに満ちている.
まだまだです
(数があっててもあまり意味ない).
- 小川なヒトたちにメイル.
田中浩さんから開発中モデルについて
ちょっとコメントいただく.
私の返信の一部.
昨日ちょっと書いてた怪しげな死亡率推定の結果が昨晩の 1 時ご
ろにでました.上の計算モデルで決められる開空度 (らしき指標)
が小さくなる (暗くなる) とばたばた死んでくれるのは (明るさ依
存性が大きいと推定された順にソートしてみると)
コナラ QRS 2.773e+01
ミズナラ QRM 2.294e+01
ミズメ BTG 1.795e+01
アサダ OSJ 1.771e+01
イヌシデ CRT 1.758e+01
クリ CSC 1.405e+01
…… となってしまいました.最尤推定に用いた数式は「『明るい』
場所にしか分布してないの? じゃあ暗いところでは死亡率高いんだ
ね」という強引な決めつけで構成されてまして (サイズ依存性に関
しても同様) ,こういう結果になってしまいました.
上の樹種たちは林冠に出てるか,斜面上部に位置してるので件の怪
しげな開空度憶測プログラムは「明るい」開空度を出したためです.
書き忘れてましたけど,各樹木個体の明るさは「個体のてっぺん」
から周りを見回して計算しています.
- 推定系については,
今回はもはやここまで
(「科学」の〆切は来週なんです).
シミュレイション系の ofr2000 の
開発続行.
今週パラメーター推定をやった
成長と死亡の plugin と
推定結果であるパラメーターファイルを
読み込んで,
メモリー上の仮想森林の樹木個体たちに
「じつは君はこういう生きものなんだよ」
とウソ教育してやるためである
(彼・彼女らは私の言うことを
ことごとく真にうけてしまう).
- 今までの計算結果のグラフを
目の前にぶら下げて眺めつつ,
昼飯の弁当を食う.
[ぶら下げグラフ]
一枚に 12 樹種.二枚で
一セット.死亡率だの
開空度だの成長量だの
のグラフです.
- 午後もシミュレイション系の改良作業.
- 1340 領域長の安岡さんが
東大からみえと,
とつぜん
生態系変動予測領域
の会議が始まる.
浜松町の研究員が一堂に会するのは
6 月以降ではこれが初めてである.
- 会議の内容は,
地球フロンティアのエラい人たちの会議の伝達,
ちなみに私の上の組織の構成は
……
傭われ下っぱ (久保) →
グループ長 (甲山さん) →
領域長 (安岡さん) →
わからん (?),
というもの.
渡された領域長たちの会議資料見ると
こんなに組織維持の雑用あるのか,
と驚く.
たいへんだなー
- その他の議題あれこれ.
とくに大した内容ない.
ただし次の 1 月・3 月・5 月に
地球フロンティアの
成果発表があるらしい.
それぞれ戦略ワークショップ,
公開シンポジウム,
中間評価.
はぁ.
面倒は甲山さんにおまかせすればよいのだろうけど,
何か準備しなければならんのだろうな
……
- 1500 会議というのが終わる.
これから毎月開催されるらしい.
20 枚ぐらい紙をもらったけど,
保存価値のありそうなモノないなぁ.
といってもいきなり捨てるわけにもいかんか,
と棚の上に置く.
- 出張届け,
というもの書く.
10/30-11/1 に北大出張のはず,
なんで.
- 森林総研・東北の正木さんからもコメントいただく.
私の返信の一部.
しかし小川に関してよくわからないのは,こういう「あるサイズか
ら上の個体が観測されない」という現象は,
・そのサイズで死んでるのか?
・何らかの理由で一斉に更新してきた集団がまだ成長途中なのか?
…… どうなんでしょうね.甲山さんの成長モデルなんか使うと
「あるサイズでゼロ成長になる」という説明になるんですけど,樹
種によってはゼロ成長サイズなど無いように見えます (小川モデリ
ングでは別の成長式使ってます).
現在のパラメーター推定式では (明るさ依存性と同様に) 「うん?
大きなサイズの個体いないの? じゃあ太くなると死亡率高くなるん
だね」という決めつけをやってしまってるんですが ……
樹木の種類によっては,
最大観測サイズがゼロ成長点ではないでしょ,
というのは例えば
1999 年版のモデル報告
など.
- 小川シミュレイターから
成長率・死亡率を計算する
plugin モジュールを呼び出すことができるようになる.
これらは (高さ計算モジュール同様)
最尤推定プログラム mlfitting でも
呼び出されていたものである.
つまり推定系・シミュレイション系で
共有してるわけですね.
しかもこれらは実行時に指定できる.
いやー,
便利便利.
- 今日はシミュレイション試行までできんな,
と見切りをつけて帰宅準備モードに.
コード書いてちょっとコンパイルしてみるだけなら
自宅で ThinkPad,
それで OK でしょ
……
あ,
死亡のパラメーター推定が何とかなったんで,
緊張の糸が切れた.
まだ気をゆるめるのは早い.
しかし毎日毎日終電ってのも
……
- 1900 研究所発.
ちょっと雨がふってるんで傘をさす.
1910 東京モノレイル浜松町発.
今日も寄り道せず.
1940 帰宅.
- 晩飯食ってから仕事に着手しようとするものの,
強烈な眠気に襲われて打鍵する指がフリーズ.
じゃあ,
もう今日はさっさと寝るか,
と電灯を消して横になると急に目が冴える.
頭の中で森林シミュレイションコード
ぐるぐる.
えーい寝てる場合か,
と
また起きても
何かやる気がでない.
ああ.
- ま,
焦ってもしょうがない.
明日は定刻までに起きなくてもいいんだし.
- 今日の食卓
- 朝 (0755):
米 0.6 合.
味噌汁.
キャベツ・エノキダケの炒めもの.
- 昼 (1225):
弁当.
米 0.6 合.
キャベツ・エノキダケの炒めもの.
やはり貧しくとも
おかずのある弁当は良い.
- 晩 (2020):
米 0.5 合.
朝昼の残り.