ぎょーむ日誌 2000-09-(01-10)
2000 年 09 月 01 日 (金)
- 0630 起床.
眠い.
4 時間ぐらいは寝たけど.
- あ,
飯を炊いてなかった.
シャワー.
体重 69.6 Kg.
やっぱ,
朝はこんなもんだなあ.
朝飯・弁当作り.
朝飯.
- 広島行き飛行機は 1005 発.
よゆーある.
しょうがないんで
会議の予習にとりくむ.
空港まで 20 分ちょっと.
何時ごろに出ようかな.
- 0831 自宅発.
雨.
そんなに急いでないんで
普通しか止まらない最寄りの駅へ.
0835 京急大森町着.
普通出たばかり.
10 分以上待たねばならない.
羽田まで 360 円.
いつも東京モノレイル乗ってるのに
空港にいくときは乗らない私.
0847 同発.
-
(9 月 2 日記:
ここから下の部分が消失したんで,
記憶だけによる修復を試みる.
後述するように昨晩
手帳も無くしてしまったから.
つまり内容はいつもにもまして不正確である)
- 0850 京急蒲田.
羽田行きに乗り換え.
0851 同発.
0904 羽田空港着.
でぢかめをポケットにつっこんだままだったんで,
金属検知機にひっかかかる.
- 広島行きは 35 番という
地階にあるゲイトからバスに乗って搭乗する.
メイルダウンロードして,
ThinkPad 560E はシャットダウン.
APM の具合がよろしくないもんで.
- 0945 搭乗開始.
と思ったら改札機が二台同時にジャミング.
5 分ほど待たされる.
バスで乗機まで.
全日空の便,
Boeing 777-200.
[777]
トリプルセヴン.Boeing
の新鋭旅客機.古くさい
「ジャンボ」などとは一
線を画した設計.
- 1015 離陸.
各座席に液晶ディスプレイとゲイムパッドある.
しかし
安全説明のとき以外はまったく動作しない.
なんのためについてるんだ.
機内でもひたすらに資料を読み続ける.
1100 岡山上空通過.
1120 広島空港着.
1152 同発.
バスで最寄りの駅まで向かう.
380 円.
1205 JR 白市着.
西条まで 190 円.
1208 同発.
1220 JR 西条着.
- ファクシミリで送ってもらったバス時刻表によると
広島テクノプラザ行きのバスは 1228.
あ,
これだな.
広島大学行き.
- 30 分後,
まったく無意味な広島大学一周ツアー
280 円を終了.
バスを間違えたのである.
親切な運転手さんに教えてもらって,
法務局前で降りて市役所近くの
西条朝日町バス停に走る.
1304 「呉行き」のバスがくる.
これに乗らなければならない.
雨が激しくなる.
1313 広島テクノプラザ着.
一階第一会議室に.
池田さん・小林さんにご挨拶.
- いそいで持参の弁当食べる.
長野県から井田さんが来る.
井田さんはさきごろめでたく
信州大の志賀高原自然教育研究施設に
就職された.
ただし今は学生実習シーズンでたいへん,
とのこと.
- 1335 会議始まる.
科学技術振興事業団
大気汚染による森林衰退
研究プロジェクト.
私はモデル屋オブザーバーで,
井田さんが植生調査請負人,
という役回り.
参加者は 10 人ほどのまったく小ぢんまりしたもの.
大学教官はプロジェクト主催者の佐久川先生だけ.
研究員の小林さん.
技術員の平川さん・中谷さん.
あとは広大で生態学の研究している
大学院生たちである.
- まずは佐久川先生と小林さんによる
プロジェクト進行ぐあいの説明.
今年度で 5 年間続いた
プロジェクトも終了するのである.
で,
いまごろモデル屋と植生調査.
- 一時間ほどの手際よいブリーフィングで
今までよりは全体像を把握できるようになる
……
専門家はそれぞれ思考のクセがあり,
与えられた情報を自分のよく知る
「宇宙」
に配置して理解しよう,
とする習性がある.
で,
生物集団の挙動を重視する生態学モデル屋として
提示された材料を
自分の「宇宙」に並べてみると
……
……
なーんか中核部が欠落してるように思えてならない.
- というか不平不満だらけである.
「リモセンのデーターしかないのに,
なーにが森林衰退だ」
とか
「データーないのにモデルで『つなげて』
ごまかそうってのは無理に決まってるでしょ,
無駄無駄無駄無駄」
とか
「これだから生態学わかってない
化学屋どもは」
……
などなど
- しかしながら,
これはあまりにも生物集団動態中心な見方
なのかもしれない.
なぜ,
彼らはこのようにプロジェクトを進めてきたのか.
何がそうさせたのか.
別の「宇宙」があるのではないか.
- まずは「化学者・生態学者の対等な共同研究プロジェクト」
というお題目は無視して,
「実情は化学が主で,
生態学従にすぎない」
という解釈を当てはめてみる.
- さてそれでは,
化学屋が主導して「森林衰退」とやらを
研究するなら,
どういう「教義」に従うのだろう.
わからない.
わからないけど
「宇宙」の中核に
「物質と呼ばれるものがある」
という信仰がある,
と仮定してみよう.
そういう「宇宙」を頭に描きつつ
提示された材料をそこに再配置してみると
……
……
ということになりはしないか.
- すると「物質」という中心教義に近いところほど
詳しく調べられており整合性があるのに,
一方でそういう信仰とはほぼ無関係に
存在する概念である
「生物個体・集団」なんぞ
(この「宇宙」にあって)
は
ケガれたものということになり,
そこに無秩序と混沌ばかりがうずまいているのは
当然のことなのかもしれない.
世界の果てなのである.
- よーし,
これで「違った宇宙」については
わかった気分になったことにして
……
生態学モデル屋たる私はどうしたら良いのか ?
「辺境」にまったく別の秩序を与えて
独立した「王国」でもうちたてろ,
か ?
とんでもない.
それは誰にとっても利益にならない行為だ.
- それよりもこれらのケガれ概念のそれぞれが
宇宙の中心教義と
まったくつながりがないわけではない,
と示すかすかな痕跡らしきモノを示してみせれば
十分ではなかろーか.
「辺境」どうしの連携など
考えるだけ無駄である.
- ……
と独善的発想転換に成功したような
錯覚の境地に到達できたので,
あとはかなりエラそうにその路線にそって
あれこれと発言してみる.
- 1650 会議終了.
具体的には何も決まらなかったけど,
「辺境」概念は
それぞれにデーターを整備して中心教義とは
「まるで無関係,というわけでもない」
相関を示す方向で話にはなった.
- 帰りの飛行機出発まで時間あるので,
植生調査地を見回る井田さんたちに同行して
西条周辺のアカマツ林を車で見て回る.
- 1910 「森林衰退研究」プロジェクトの
研究員の小林さん,
技術員の平川さん・中谷さん,
広大院生の里村さんと
かつ富
というとんかつ屋で晩飯.
かつを注文すると
小さなすり鉢に入ったゴマとすりこぎが
配付される
(上のリンク先にある写真参照してください).
それぞれにごりごりとゴマをすり,
ソースとあわせてゴマソースを作るのである.
私などは珍しくて楽しめたけど,
他の皆様には
ちと評判がよろしくないようである.
「なーんか実験やってるみたいでイヤなんだよね」
「乳鉢で葉っぱをすりつぶしてるみたいな」
「どうして食事に来てまでこんなことを」
……
- 1950 同発.
ちょっと時間が無くなったので,
申しわけないことに小林さんの車で
広島空港まで送っていただく.
あまつさえ中国自動車道の料金 450 円まで
持っていただく
(10000 円札しか無かったんですよね).
私は恩知らずなんで
こういうことをすぐに忘れてしまうんで,
ここに書いておく次第である.
- 2030 空港着.
小林さんに御礼もうしあげて
すぐに搭乗口に向かう.
ぎりぎり間に合うな.
2035 搭乗.
帰りも全日空のトリプルセヴン.
2040 タクシング開始.
2045 夜空に離陸.
往路は読んでるヒマなかった
「翼の王国」
に目を通す.
- 2155 羽田着.
2206 京急羽田発.
あ,
手帳を機内に忘れてきたみたい.
どうして今日はどじな失敗ばかりなんだろうね.
いやはや.
ぜつぼー.
2220 京急平和島着.
2235 帰宅.
最後にどっと疲れてしまった.
- 今日の食卓
- 朝 (0650):
ピーマン・タマネギ・ナスの炒めもの.
- 昼 (1320):
広島テクノプラザの第一会議室で
会議始まる前にあわてて
持参の弁当を食べる.
ピーマン・タマネギ・ナスの炒めもの.
サーモスの水出しコーヒー.
- 晩 (1910):
かつ富
のロースかつ (小) 定食.
1080 円.
2000 年 09 月 02 日 (土)
- 1100 起床.
晴れ.
うう,
12 時間ちかく眠ってしまった.
- でれでれと「ぎょーむ日誌」など書いたりする.
ああ,
またまたでれでれ週末だ.
- 1630 自宅発.
暑い.
近所の大森東図書館で本を返却.
ローソンで
ガス代 1397 円,
電話代 10699 円 (!!!)
支払う.
NTT のインチキな ISDN を導入するのは
とてもイヤなんだが,
これはもはや
ISDN 常時接続を導入するしかなさそう.
いや,
しかし年末まで待てば
ここ大森でも ADSL が使えるようになるし
……
うーん,
選択むずかしい.
- 第一京浜を渡渉して
スーパーマルエツ.
野菜のたぐい,
失われた手帳
(A6 判プラスティックカバー付
フィラーノート)
の代わり,
でぢかめの電池
(CR123A という規格,690 円).
京急大森町となりの TSUTAYA.
1740 帰宅.
ちょっと歩き回っただけなので
汗がだらだら出る.
- 帰宅して
でれでれと借りてきた本など読む.
- <鳳翔> から
8 月 30 日と 31 日の「ぎょーむ日誌・日付順」が
消失していることに気づく.
約 10 日おきの「変わり目」は
ちょっと不注意なことをやると
アップデイト作業を失敗する.
浜松町の BookPC を呼び出し,
ファイルを修復する.
- 東京流刑地は良いことあまりないんだけど
……
ラジオで米軍むけ (? だと思う)
放送が聞けるのは面白い.
AM の 800 KHz あたり.
FEN ではないみたい.
私の腐れた耳には America Forces Network,
と言ってるように聞こえる.
- ……
と思ってネットで調べてみると
……
おお,
AFN
であっていた.
正確には 810 KHz.
なるほど,
かつて FEN だったのが今では
American Forces Network になってるわけね.
- いつも楽しみにしてるのは,
番組の合間にいきなり入ってくる
One minute American history
なる短い歴史解説である.
アメリカ戦史なんかは
聞いててよくわかったような気分になれる.
なぜなら,
だいたい知ってる内容だからである.
知ってることは早口の英語で言われても
理解できる.
当り前ではあるけれど
……
- 今日の 18 時台は
電話人生相談みたいなことやってる.
「ドクター,
私の問題は
……」
とかかってくる電話に,
女性カウンセラーが
なーんかエラそうにびしびしっと
たたみかけるように答えている.
内容の半分ぐらいしか聞き取れないけど,
電話で応酬するやり口は参考になる.
- NHK のラジオ報道によると,
今日はフェーン現象のせいで
関東のあちこちで
9 月の観測史上最高の気温,
だったとか.
東京都心で 37 ℃.
うーむ.
しかし
温暖化とか騒ぐ莫迦も
出てきそうだな.
- 「ぎょーむ日誌」と連動してトップペイジを生成する
プログラムに間違い発見.
どじだなあ.
- あれ,
いつの間にか 9 月 1 日の下半分が消えている.
どこに消えたんだ.
これは復旧させる方法がない.
ちくしょう.
愚かものにはその愚かしさにふさわしい罰を.
よーし,
こうなったら
意地だけで書き直してやる.
- 修復に一時間以上かかった.
一度書いた時刻などは意外と覚えてるもんだ,
とわかった.
しかしながら
……
くそう,
これほど阿呆らしい土曜日の夜を
無為無駄なことに費している
莫迦なやつもいないだろうなあ
……
- (一言近況)
今日は「ぎょーむ日誌」更新プログラムとかに
いろいろ不具合が出たあげく,
9 月 1 日の記録の大半が消失する
という前代未聞の大事故になってしまいました.
一時間以上かけて書き直す,
というマヌケな仕儀に.
うう,
「愚かものには愚かしさにふさわしい罰を」
……
(20000902)
- 今日はもう書くのがヤになった.
- 今日の食卓
- 朝 (1150):
パンケイキを一枚焼く.
実験的に水を少なくして
チャパティふうにしてみる.
なんか意外と
もしゃもしゃしておいしくないな.
もっとぱりっと焼けると思ったんだけど.
- 昼 (1610):
また一枚焼いてみる.
こんどは標準的なやり方で.
すなわち dough をペイスト状にしてみる.
表面はさくさくしたけど,
中がふわっとしたカンジにならない.
焼き方が悪いんだろうな.
- 晩 (1950):
キャベツと豆腐の味噌汁.
だしはさばぶし.
チンゲンサイとニラの
ドウバンジャン炒め.
楽しきかな一汁一菜.
2000 年 09 月 03 日 (日)
- 1050 起床.
晴れ.
のんびり寝てやがるなぁ
……
と思われるかもしれませんケド,
今朝 0700 ごろまで眠ろうとして
眠れなかったのです.
- 毎度毎度のことながら
……
なかなか仕事に着手できん.
何から着手しよう
……
- 第一京浜.
今日は右翼の宣伝車がうるせい.
ちかごろは「ワルキューレの騎行」
なんぞをかけながら走ってるのもいる.
何を考えているんだか.
- このまま時間が経過するのを防がねば.
シャワーで体をごしごしと洗う.
洗濯.
遅い昼飯を食う.
- 小川モデリングやり直しをやりたいんだけど
……
その前に
Trendy セミナーペイジの更新方法メモを
簡単にまとめる雑用なんかを片付けておくか.
この作業は
私がやるのが一番よいのだけど,
責任感過剰な Trendy 担当係の浦口さんから
さっさと教えなさいよ
と反論ゆるさぬ調子のメイルを
いただいてしまったもんで.
- 30 分ほどかけて最小限の説明メイル作る.
送信.
ついでに
別の人たちへの
用事メイル 3 通も作文して送信.
一休み.
ストレッチ.
洗濯もの干し (室内に).
コーヒーいれる.
- さーてと,
というカンジで小川群落保護林動態シミュレイターの
再検討に着手する.
- なんかヒドく苦労して何とか動くようにしている
システムを見直す作業は苦しい
……
あ,
阿呆だなぁ,
こんなのいらいないだろ.
削除していいんじゃないの
……
いや,
待て.
あ,
消したらマズイわけだ.
こっちに効いて来るから
……
偏執的で陰険な人間
(…… 他ならぬ私自身か)
がこしらえた
時限爆弾を解体しているようなものだ.
- 問題はどこまで抜本的に直してしまうかだよなぁ
……
複雑なディレクトリー構造のあちこちを覗く.
ためいき.
- 2230 ごろ,
自宅から逃亡する.
「今日は一日中,
室内に閉じ籠ってたし,
うん」
とか理屈をつけて.
- 昼間はまったく出歩く気にもなれない
暑さであったが,
ここ大森は夜は気温が下がってくれるんで
助かる.
ふらふらとそこらを歩く.
[大森の TSUTAYA]
深夜 0200 まで営業
してくれてるありが
たい本屋.京急大森
町のすぐ隣.
- 0020 ごろ帰ってきてメイルを見ると,
浦口さんが北大の Trendy セミナーの
web page を英雄的努力で更新した,
との連絡.
うーむ,
やりますねえ.
- 曲芸じみたパラメーター推定機構見てると
頭が痛くなるんで,
紙の上にアイデアをまとめなおしてみる.
- ああ,
早く寝なくては.
- 今日の食卓
- 朝 (1100):
昨晩の残り.
キャベツ・豆腐の味噌汁.
チンゲンサイ・ニラの炒めもの.
- 昼 (1515):
朝と同じ.
- 晩 (2030):
朝昼と同じ.
2000 年 09 月 04 日 (月)
- 0630 起床.
う.
眠い.
寝たのは 0200 すぎだったなあ.
- シャワー.
朝飯・弁当作り.
朝飯.
ラジオのニュース解説.
火山研究者たちがなかなか
予測を出さないんで
三宅島の避難措置が遅れました,
って
あんた,
科学者は占い師じゃないんだから.
わからんことはわからんとしか言いようがない.
コーヒー飲む.
- 0745 自宅発.
おおっ,
今朝はなんか涼しいぞ.
天気は晴れ,
いや曇り.
燃えるゴミ出す.
途中の大森東図書館で本返す.
0805 東京モノレイル流通センター発.
さーて,
今日の
芝離宮
横の温度表示は
……
23 ℃ !!
やれ嬉しや.
いやいやまだ油断禁物なのだろう.
巨大排熱都市.
0825 研究所着.
- 朝は誰もいないから当然ながら静かだ.
今度からもう少し早く来ることにしようかな.
とはいえ,
午前はなかなか仕事がはかどらないような
気もするんだが.
- 0953 また北大の電算機網と音信不通になる.
……
と思ったら,
こっちのルーターか何かが落ちてる.
ふとカレンダー見ると,
1000-1200 ファイアーウォールの
メンテナンス,
とか書いてあるな.
なるほど.
- BookPC のほうで mlfitting を
コンパイルしようとすると
「メモリー使いきりました (exhaused)」
とかいうエラーメッセイジ.
そんな莫迦な,
と
いぶかしく思いつつ,
一度 XFree86 を落してから
再コンパイルすると問題なく通った.
どうなってるの ?
この OS 大丈夫か.
- 小川モデリング.
ランダム樹冠生成で,
ちょっとばかり「しんぷる & ぱわふる」
なインチキを考案する.
ひひひ
……
あれっ,
考えてみればこれは森口繁一本にあった
確率表現関数というやつと
同じなんじゃないのかな ?
帰宅したら調べてみよう.
- 1140 ごろ外界への通信回復.
- 小川のイタヤカエデとオオモミジ混乱したまま.
データー変換の元資料に当たらねばならんが,
これは自宅においたまま,
か.
うん.
昨晩は「浜松町に置いたまま」
と錯覚してたんですよね.
ま,
名前なんて記号だしぃ
……
とキモチ悪いながらも放置.
- ともかく以前の小川エスティメイター/シミュレイターの
「呪い」というべき,
「樹種識別番号」を全廃しなくては.
STL を知らなかったときの苦肉の策であり,
混乱の元凶なのである.
これがうまくいったら,
この樹種識別番号を含む全てのグローバル変数を
ヘッダーファイル global.h ならびにその
生成プログラムともどもに廃して
……
リストラだ.
リストラ.
しんどそうだなあ.
- 昼飯の弁当食うと途端に眠気が.
眠い.
- まずは小物類から整理してみる.
- 拷問的小川座標系を
ふつうの X-Y 座標に
換算するプログラムを
Perl モジュールにする.
こうして呼び出したほうが
処理速度が劇的に改善される,
と星崎プロジェクトでわかった.
- 「(いわゆる) 半角カタカナ」
と呼ばれる
忌まわしい呪いを解除するために,
kcc というフィルターの
DEC コード変換モードを悪用していた.
これを Jcode.pm
という例の Perl モジュールを
使ったものに書き換える.
速度的には悪くなるけれど,
外部コマンド依存性は少なくなる.
- とマジメに作業してたのに,
ふとしたはずみでネット上で漂流してしまう.
いかんいかん.
- よし.
D-H パラメーター推定において,
従来からのポリトープ法と
Plugin 最尤推定の結果がだいたい一致した.
新機軸である後者のほうが
圧倒的に
遅い
んではあるが
……
コトはそういう問題ではないのである.
- ところで
小川 Acer 疑惑いよいよ怪しく,
とうとう斯界の権威たる浦口サマに
再お尋ねメイルを差し上げる
……
- それはともかく,
百年一日のごとく,
樹木の太さ (D) と高さ (H) の
観測値の間に,
一見もっともらしいけど
実はまったくな意味不明な曲線式
(拡張相対成長式とか呼ばれる)
を
ポリトープ法だの最尤推定法だので
コジつけるような
けったいなモデリングは
もうそろそろやめにしたいなあ.
今回は間に合わないとして,
いずれは
どうにかならんのだろうか.
しかし高さ成長の観測は困難だろうから,
無理かな.
[カエデ]
いつまでたっても
私には区別できない
イタヤカエデ (ACM)
とオオモミジ (ACP)
- メイルを書いてから撤退用意.
- 1750 研究所発.
1758 東京モノレイル浜松町発.
お,
夕方の気温も 23 ℃.
流通センターで降りて,
第一京浜・環七交差点の床屋に
寄ってみる.
月曜定休日.
さうですか.
八百屋でサツマイモ (4 本 100 円) とか
ナス (7 個 100 円) とか
安く売ってたんで,
あれこれと買う.
1841 帰宅.
- 晩飯くったら眠気に耐えられず
寝てしまう.
2330 起床.
さて.
こうやって生じた時差ボケと
どうつきあうのか.
- 浦口さんからカエデ解説メイルいただく.
うん ?
これって小川と同じなのでは.
田中さんの論文を探してみるべきか.
- 今日の食卓
- 朝 (0710):
チンゲンサイ・タマネギの炒めもの.
- 昼 (1230):
弁当.
チンゲンサイ・タマネギの炒めもの.
- 晩 (1930):
オクラを茹でて細かく切って
麺つゆとすりゴマで和えたもの.
切り干しダイコン・サツマイモの味噌汁.
2000 年 09 月 05 日 (火)
- 0720 起床.
眠い.
- 今朝は 0500 すぎまで文献整理をやっていた.
整理
……
というより粛正か.
具体的には
もはや不要になった論文複写を選別しては
廃棄していったのである.
- 北海道にいたときに
一度粛正して手持ちの半分は捨てた.
今回はさらに残り半分以上を捨てたい.
不必要な文献に埋もれて
必要なモノが見つからないんである.
- 思い切ってどんどん捨てて行く.
もはや何年も目を通してもいない
熱帯林の文献一山などはまとめて廃棄.
格子モデル関係ももはや不要
……
なんだこの膨大な計算メモは
……
1994 年の日付.
こんな奴隷奉仕をやってたのか.
粛正.
- 0500 ごろ「残す・残さない」を
あらっぽく分けた段階で作業を
ひとまず終了.
とりあえず残すものが 8 Kg ぐらい.
今後の
「資源ゴミ」の日に廃棄されるはず
の紙キレが 15 Kg ぐらい.
「うら紙」に転用されるのが
2 Kg ぐらい.
- 残すものもまだまだ細かく調べなければ,
と思ってるうちに夜が明けそうになったんで,
寝ることにした.
- ……
ということで,
眠い.
しかし昨晩は晩飯食ったあとに 2 時間は
熟睡してるから,
何とかなるだろう.
朝飯・弁当作り.
シャワー.
両眼が気味悪く充血.
朝飯.
ぎりぎりまで粘ることにして
コーヒー飲む.
出発の準備.
コーヒー飲んでも頭はボケたままらしく,
長袖シャツをデイパックにつっこむのを
忘れてたと出発 5 分後に悟る.
浜松町はときとして冷房効きすぎなので,
長袖あるほうが快適である.
- 0813 自宅発.
雨.
しばらく歩いて長袖シャツ忘れたことに気づく.
まあいいや,
と投げやりな気分になりがちなのは
疲れている証拠である.
あ,
でぢかめも持ってない.
でぢかめなんかは
どうでもいいよね.
0832 東京モノレイル流通センター発.
今日の浜松町の気温は
……
おお,
19 ℃ !!
しかし,
明日からは暑くなるらしい.
ラジオの天気予報によれば.
0850 研究所着.
よゆーぢゃん.
しかし,
眠い.
- 小川 Acer 疑惑を
さらに究明するべく
田中さんにメイル書く.
浦口さんにもカーボンコピー.
あ,
すべての原因が私のカン違いにあった,
という結末はイヤだなあ.
- ……
と思ったら朝から大失敗.
浦口さんから素早い御指摘メイル.
小川と苫小牧のオオモミジとイタヤカエデって
傾向「同じ」ではない.
逆.
とほほ.
メイル書き直し.
脳内ホワイトアウト状態では
何をやっても失敗ばかり.
- 今日はうるさい人たちが少ないんで
比較的静かだ.
- せっかく良い環境なのに仕事はかどらんうちに
午前終了.
眠くて疲れた.
飯食うとますます眠くなりそう.
- 弁当食いながら,
netnews など読んでみる.
fj.sci.math は近ごろ変なヒトが
あれこれと投稿してるんで
記事量多い.
いいなぁ,
こういう数学系のコワれてしまった人.
いやいや,
傍観者として見物する限りは,
ですが.
現物が身近にいたら,
やってられんよね.
ホントに.
- 羽田空港の全日空カウンターから電話.
先日の広島から帰ってくる機内に
忘れてきたメモ帳二冊を預っているんで
受け取られに来られたし,
とのこと.
わざわざ連絡いただき恐縮.
二冊とも住所電話番号を書いてたんですよね.
はい.
- mlfitting 周りの改造.
ええい,
こんなことやってて大丈夫なのか.
ちょっとアセる.
- 小川モデル専用の mlfitting を
汎用的なやつから分化させることにする.
汎用などという幻想を追求すると,
たとえば,
あの怪しげな kubolib を
組み込むかどうか,
という問題さえよく考えなければならんし.
こっちの specialized がうまくいけば
汎用にその機能を取り込めばよい.
- 1545 脳内消耗を感じたので
脳内ドーピングするべく
特別予算を計上する.
隣のコンヴィニエンスストアー「ポプラ」
で久しぶりにおやつ調達.
そういえば広島では
ポプラをたくさん見かけたなぁ.
さすが本拠地.
コーヒー AGF Blendy 150 円.
小さいドーナツ 50 円.
あ,
しまった.
これって
ヤマザキ
.
bug とか入ってないだろうな.
おそるおそるかじる.
- bugfree おやつが効を奏したか,
小川推定系で使う mlfitting の
Sample クラスを
vector<double>
から
vector<Unival>
に変更作業終了.
Unival クラスとは
整数・実数・bool・string の
どれでも値として格納する型である.
ふう.
すでに 1750.
これしきの変更に何をてこずっているのやら.
- 1820 研究所発.
本屋 dan に寄る.
1842 東京モノレイル浜松町発.
あー,
この時間だと床屋にはいけんなぁ
……
と
今日も諦めて
1920 帰宅.
- 晩飯食ったらまた眠くなったので
寝てしまった.
しかし今日は 30 分ほどで無理矢理起きた.
夜なのにコーヒー飲む.
[夜コーヒー]
680 円の準耐熱ガラスのポット.
100 円の陶製茶碗.この二つは
最近買った.ポットの下は昨晩
というか今朝がた大量に生じた
A4 ウラ紙のごく一部.卓上用.
- 思えば「午後コーヒー」
なる私的な禁忌は,
今をさかのぼること
2 年ほど前の
「酒やめました」
時代の初期に生じたものであるなぁ,
と気づく.
当時は
「今晩は眠れるか眠れないか」
が日々の最重要課題であり,
起床してから就寝するまで
あらゆる努力がこの目的達成のためだけに
費されていたのである.
睡眠阻害の可能性を示唆するものは
厳しく排除されたのであった.
- むろん
当節ではありがたいことに
その心配はないはずである.
今のところは.
- 一般的な確率分布に基づく乱数生成の方法について,
あれこれと考えて
「累積分布関数の逆関数をまず指定しまうような
やり口が簡単で便利じゃないか」
……
と昨日思いついた.
で,
やはりこんな事は誰でも考えつくわけで,
自宅の本棚の奥からそのことだけが書かれた
「確率表現関数」(森口繁一・東京大学出版会)
なる本が出てきた.
昨日まで自分の仕事に何かの役に立つ
と思えなかった概念を解説した本なのに,
ずっと以前に買って何年も読まずに放置されていた
(しかも何次にもわたる「粛正」をまぬがれてきた !).
縁があったのかしらん.
- この本によると,
この関数は森口の発案で,
確率表現関数 (representing function)
なる命名はあの Tukey によるそうだ.
- 問題はこの方法と最尤推定法がうまくつながるか
どうか
……
しかし,
それはまだ先の問題.
今回はとりあえず関係ない.
- 小川データー処理の流れの再編成を進めていく.
気のせいか,
夜のほうが仕事が進捗する.
- つまんないコトだけど
……
「乱数の種」
をシステムクロック
で初期化するように Ranu クラスを変更してみる.
システムクロックとは,
Unix の場合 1970 年 1 月 1 日からの経過秒のことで,
いま現在だと 9 億 8617 万秒あたりの値を示す.
これを用いると各時刻で異なる初期値が得られる.
- 今までいちいち
最新の seed をファイルに保存してたのである.
ま,
どちらのやり方も一長一短なんだが
……
そうか,
どちらでも好きなほうを
選べるようにすればいいんだ.
- Ranu クラスの試験運転.
数万個の乱数を図に表示させてみる.
たしかに一様分布のように見える.
なーんか,
しかしパターンのようなものを
生成してないか気にかかる.
いずれこのあたりは標準関数を使うのではなく,
自分で作り直さんといかんのかもなあ.
- 電器代節約するべく冷房 (28 ℃に設定)
止めて外に通じるドア (第一京浜には面してない方向)
開けてみる.
すごく涼しい.
そして雨.
このぶんだと明朝も涼しそうだ.
- コーヒー飲んでもへっちゃら,
とか書いてた報いか,
夜中にあれこれとコードをいじって
遊んだ罰か
……
もう 0100 をとっくにすぎてるのに
眠気を催さない.
いかん,
時差ボケが解消されない.
どうして夜になってからコーヒー飲むような
莫迦なマネをするんだろうね.
- 気休めに牛乳など飲んでみる.
そう,
近ごろはまた牛乳を買うようになってしまったのである.
- 今日の食卓
- 朝 (0750):
ナス・ネギを炒めたもの.
味付けは麺つゆ.
- 昼 (1215):
弁当.
ナス・ネギを炒めたもの.
- 晩 (2000):
サツマイモ・ネギ・切り干しダイコンの
味噌汁の残り.
ナス・タマネギをドウバンジャンの
スープで茹で
片栗粉でソースをペイスト状にしたもの.
あえて言えばマーボーナスもどきか ?
2000 年 09 月 06 日 (水)
- 0650 起床.
4 時間ぐらい寝たかなあ.
眠い.
- えーと,
昨晩というか
今朝というか,
ともかく寝る前は 0200 近くまで
小川モデリングがらみの
コードをあれこれといじっており,
眠気が指さないので
昔作った OHP 用トランスペアレンシーの
廃棄作業準備作業,
という
頭は使わない単純労働を 0300 ごろまで続けてた.
- 朝飯・弁当の準備.
シャワー.
ひげそり.
朝飯.
出発の準備.
- 0745 自宅発.
曇り.
涼しい.
0805 東京モノレイル流通センター発.
浜松町の気温 20 ℃.
よしよし.
0825 研究所着.
- プリンターが空いてるうちに
kubolib なる怪しげなコードを
まとめて印刷.
最近,
自分でも全貌がよくわからなくなりつつある.
危機的かも.
印刷したら,
A4 の 26 穴バインダーに装着できる
透明な袋にいれて
自家製リファレンスマニュアルとする.
大量のトランスペアレンシーを処分したんで,
こういうバインダーとかが無闇に余っているのである.
- 昨日のぎょーむ日誌で一様乱数の「種」がどうのこうの,
と書いてたことに関して
竹中さんが ce-ml にコメントを投稿してくださる.
以下はそれに対する私の返事の一部
(ちょっと編集).
まずは問題提起部.
Subject: Re: [ce-ml 71] initialization of random number series.
Date: Wed, 06 Sep 2000 10:58:50 +0900
(略)
From: "TAKENAKA, A." <takenaka@nies.go.jp>
Date: Wed, 06 Sep 2000 09:37:45 +0900
> (9月5日の「日誌」から)
> > 「乱数の種」 をシステムクロック で初期化するように Ranu
> > クラスを変更してみる. システムクロックとは, Unix の場合
> > 1970 年 1 月 1 日からの経過秒のことで,いま現在だと 9 億
> > 8617 万秒あたりの値を示す. これを用いると各時刻で異なる
> > 初期値が得られる.
>
> 時刻を乱数の種に使うのはよく使われる手ですが,乱数を利用する
> プログラムが1秒以下で終わってしまうようなごくごく小規模のも
> のの場合,続けざまに実行すると,同じ時刻が乱数の種となり,同
> じ乱数系列が発生してしまうことがあります.
蛇足の補足しますと,「同じ乱数系列が発生」問題というのは,ホ
ントは毎回毎回デタラメな乱数がいくつか必要なのに,何べんプロ
グラムを再実行しても
3→1→4→1→5→9→2→……
というような「決まった順番でデタラメな数がでる」という状態で
す.これは上で議論してる「乱数の種」がいつも同じ値であるため
に生じる問題です.
- というふうに,
システムクロックなんか使うのはヤバいんじゃないの,
ということで以下のような解決策を
示してくださったわけである.
で,
昨日の作文ではちゃんと書いてなかったけど,
自分でもそれをやってました,
と答える私.
> これを避けるために,私の自作の乱数ライブラリ(C++)では,乱数
> 発生オブジェクトが廃棄されるときに,最後にひとつ乱数を発生して
> カレントディレクトリのmyrandom.iniというファイルに書き出してい
> ます.
>
> 乱数発生オブジェクトは,生成時に,このファイルを探しに行き,見
> つかったらその内容を読み込んで,これと時刻情報の演算で得られる
> 値を乱数の種にします.こうすれば,0.1秒しかかからないプログラム
> を繰り返し実行するような場合も大丈夫です.
たしかにこの方法を採用すると上の問題が避けられます.で,じつ
はシステムクロックで乱数の種を初期化する,という方法を採用す
る前は,この方法使ってました.今回はそれに加えてファイルいら
ずの方法を加えて,
- 一様乱数クラス Ranu はデフォルトではシステムクロックで初
期化される.
- (このステップは省略化) さらに Ranu::Initialization( "ファ
イル名" ) を呼び出す,あるいは Ranu( "ファイル名" ) で
オブジェクトを作ると,指定したファイルから乱数の種を読み
込む.
- オブジェクトが破壊時に,2. の操作をやっていたならば,乱
数の種を元のファイルに上書きする.ファイルから読みこんでなけ
ればそのまま終了.
- ま,
こういうのは「どっちか一方」
ではなく,
良さそうな方法のどちらも
採用できるようにしておいたほうが
無難,
というつもり.
- で,
「一秒間に何度も呼ばれるような短いプログラム」
が問題にされてるわけだけど,
そうなると C/C++ ではなく
Perl なんかはどうなるだろう,
という疑問が生じてくる
(Perl で書いたプログラムはすぐに終わる
小さいものが多いから).
途中すこし略して
……
さて「すぐに終了するプログラム」を書く言語の代表格はと言えば,
(このメイリングリストの皆様もよく使っておられる) Perl という
ことになるかと思います.
竹中さんのご指摘で不安になったんで,さきほど
perl -le 'print rand;'
というのを 10000 回ほど呼び出す実験をやってみました.全体で
100 秒ぐらいかかったんで (う,遅い) ,1 秒あたり 100 回ぐら
い乱数が生成されたようです.
その結果なんですけど,一様検定とかちゃんとやってないんですけ
ど,図示してみたところ「ま,ちゃんと一様じゃない」 (……いい
かげんな) という程度には動作してくれてるようです.
- Perl5.005 で実験してみると,
同じ乱数系列ばかり生じることはなさそう,
とわかって一安心している.
- Perl ではどうやって乱数の種を初期化してるんだろう,
とあれこれと勝手な憶測を書いてるうちに
(この部分は引用略),
不安になったので
ちょっと調べてみた.
…… といいかげんなことばかり書いてると不安になったんで,ネッ
ト上で情報を漁ってみました.それで見つけた Perl の関数リファ
レンス
http://www.ns.kogakuin.ac.jp/~b196189/reference/perl/perl.html
によると (これはラクダ本か何かの複写だろうか?)
srand( time | $$ )
による初期化を推奨してるようですね.この ( ... ) 内の奇怪な
暗号は
「システムクロック,
それから今のプロセス id のビット単位の論理和」
という意味です.なーんで論理和取るとよいの ? か私には見当も
つきませんけど,プロセス id も利用するのはこれもうまい手です
よね.
- ……
と,
まぁいろいろ勉強になりました.
- 後から竹中さんが Perl を解説した
「青ラクダ本」
調べてくださって,
srand( time ^ ($$ + ($$ << 15)) )
というようなやり口が書かれている
と紹介してくださった.
これはラクダ本なくとも
perldoc -f srand
で同じような解説を読むことできる
(もっと病的な「初期値取得法」の例も掲載されてる).
- いずれにせよシステムクロックだけでなく
プロセス id の利用が有効とわかった.
そこで kubolib に含まれる
ranu.h (一様乱数生成する Ranu クラスの定義)
においても,
getpid()
関数も利用して
乱数の種を初期化することにした.
関数 getpid()
は
POSIX 関連を取り扱う
<unistd.h>
に含まれている.
- 論理和 (
|
)とか
排他的論理和 (^
)を取るのも,
なんとなーく
あまりよいとは思えなかったんで,
実験的に
time % getpid()
という量を使っている.
演算子 %
は剰余である.
- 午前中はメイル書き数通と
kubolib の点検で終わってしまった.
- 今日は昼飯食ってる最中から
どんどん眠くなる.
うう.
気絶しそう.
- 「Perl によるオブジェクト指向プログラミング」
という少々奇怪に思える世界について
勉強する.
小川の樹木名 (学名・和名・略号・色指定)
の相互変換モジュールはクラス化せんといかん,
という気がしてるんで
……
- Effective Perl などの本を参考にしながら,
tree_name.pm というのを
少しずつ構築していく.
- Perl によるオブジェクト指向の実装とは
Perl モジュール機能を流用・拡張したものなのである.
「クラス名」は
package TreeName;
というふうに宣言してみたり.
- コンストラクターは
new
サブルーチン
として書かれる.
基本形はこうである.
sub new {
my $class = shift;
my $self = {};
(…… あーだこーだ ……)
bless $self, $class;
}
…… ``bless
'' なんて怪しげな予約語もつ
プログラミング言語は Perl をおいて他にあるまい.
Unix で普及してるロールプレイングゲイム
NetHack を好む人にとっては
楽しいのかもしれないけど.
- オブジェクト指向な Perl モジュールの輪郭を
(あれこれ実験しながら)
ゆっくりと整えつつ,
名前変換のアルゴリズムはどうしよう,
と考える.
hash 使うにしても少しは芸が必要である.
- 1735 研究所発.
床屋に行きたいんで,
さっさと退出する.
1746 東京モノレイル浜松町発.
外気温 25 ℃か.
昼間は暑かったんだ.
流通センターで降りて,
1815 第一京浜・環七交差点にある床屋.
三人待ち.
15 分ぐらい.
かなり髪を短くする.
所用時間 25 分.
髪を切ってもらいながら,
tree_name.pm での変換方法は
中間コードを介した hash を使うのがよかろう,
という結論を得る.
帰りに八百屋で野菜など買う.
1907 帰宅.
[近所の床屋]
値段 2100 円と安く回転も
それなりに速いので便利な
店ではある.「1500 円 15
分」というあの琴似の店に
はまだ及ばないが ……
- 帰宅して晩飯の準備してから,
ミルクティー飲むと眠くなる.
う,
いかん
……
と思いつつ 30 分ほど寝る.
- 晩飯食ってからも,
Perl による
怪しげなオブジェクト指向プログラミングらしきもの
は続く.
- すでに 0100.
まったく眠くない.
またかまたか.
- (一言近況)
9 月末までならば
「夏休み」とかいう
不思議なものを取ってよいことになってるんで,
来週末あたりから
夏休もうかなぁ
……
などと考えてます.
(20000906)
- 今日の食卓
- 朝 (0725):
昨晩の残り.
- 昼 (1220):
弁当.
昨晩の残りのマーボナスもどき.
- 晩 (2155):
昨晩の残りのナス.
なかなか減らん.
切り干しダイコンと
サツマイモの味噌汁
新しく作り直す.
だしは大きめのカタクチイワシの煮干.
それと干しシイタケ.
2000 年 09 月 07 日 (木)
- 0732 起床.
今朝も眠い.
0300 すぎまで
Perl でオブジェクト指向という
よくわからぬ世界にひたっていた.
とりあえず
多対多変換プログラムはうまく動作するように
なったんが
……
- 0812 自宅発.
小雨降る.
ゴミ出し.
眠くて気分悪くてふらふらする.
0832 東京モノレイル流通センター発.
0850 研究所着.
- 眠い.
おまけに寝る前に牛乳をたくさん飲んだんで
腹具合もよろしくない.
うう.
何もかも自業自得とは言え.
文献読んでも頭に入らず.
- 追いうちをかけるように,
今日はやかましい.
耳栓すると少しマシになる.
- 結局午前中は何も進捗しないまま終わった.
あ,
しかし午前といえば
0000 から 0300 ぐらいまでは
仕事はかどっていたなぁ
……
だめ ?
食欲あまりないけど,
気分転換に昼飯でも食うか.
- 弁当食いながら,
ネット上の情報あさっても
頭に入らん.
ホワイトアウトした脳内.
霧の中を何かが通りすぎていくばかり.
- 今日は午前中さんざん眠気におそわれたせいか,
昼飯食ってもそれほど眠くはならない.
徐々に,
ゆっくりと頭が機能を取り戻しつつある
ような気分.
午後もやかましいんで耳栓つける.
手元のキイボードの音も聞こえない.
それでもなお,
でかい声で電話してるのは
遠く聞こえる.
スゴイ.
いいかげん
普通の声でも通話可能な電話器を導入してくれんかなあ.
しかしロケット打ち上げに失敗ばかりしてる
特殊法人にはそんな予算もつけてもらえないんだろう.
だったら糸電話のほうがマシじゃない ?
- 北大・地環研のネットワーク管理委員会メイリングリストで
塩谷先生の通達.
A 棟の IP アドレス領域が変更になる.
DHCP も導入可能.
引続き固定 IP アドレスを必要とする
ホストは変更しろ,
とのこと.
旧アドレスの削除と
新アドレスの申請・DNS への登録.
移行期限は
今月末
まで.
- <鳳翔> の場合,
新しい固定 IP アドレスを取り,
ドメインネイム hosho をそれに結びつけ,
古い IP アドレスは削除してもらえばよい.
よーし.
ちょうどそのころ「夏休み」取ってやろうという
計画なんだよね.
<鳳翔> の「オモテ」アドレスだけ
変えればよい.
30 台ばかりの
闇ホストは「外から見えてない」んだから,
変更の必要なし.
闇ネットならではの利点だ.
- 小川モデリングの
樹木名変換部をオブジェクト指向な
Perl モジュールに作りかえることが
できたんで,
こんどは地形データーに取り組む.
ここも 1 年半ほど前に雑にやったまま
直しもせずに
使い続けられているところだ.
- さてと,
まずは
……
10 メートル間隔の地形測量データーを
5 メートル間隔に変換する自作プログラムを
ひさしぶりに開いてみると
……
うーん,
何だこりゃ ?
あまりにも意味不明なので
速攻で削除.
昨年末の知床モデリングで開発した
GMT
依存なシステムに置き換える.
- 境界条件についてあれこれと考えてみる.
アイデアは下の図しかないだろうから,
これをすっきりと実現する方法である.
[反射周期複合境界]
右上の黒いセクターが観測値のあるプロット
とする.まずこれの鏡像セクターを三つ作っ
て図のように配置する.合計 4 セクターになっ
た全体を周期境界条件でつなぐと,どの境界
も「なめらか」に接続できる.「ホントに」4
セクター生成するんで計算量は 4 倍になる.
- 1750 研究所発.
ちょっと雨.
1802 東京モノレイル浜松町発.
1838 帰宅.
- 晩飯食うと眠くなったんで,
眠気に耐える.
風呂などに入ってみる.
- しかし睡魔に耐えられず 2230 ごろ寝てしまう.
目が覚めると 0130.
いったいどうなるんだろうね.
- 今日の食卓
- 朝 (0750):
ネギ・エノキダケの炒めもの.
- 昼 (1215):
弁当.
ネギ・エノキダケの炒めもの.
- 晩 (1935):
サツマイモの味噌汁の残り.
オクラを茹でて細かく切ったものの
ゴマ・麺ツユあえ.
2000 年 09 月 08 日 (金)
- 0630 起床.
結局,
0130 から一睡もできないまま
夜があけてしまった.
神よ.
- 朝飯・弁当の準備.
シャワー.
洗濯.
朝飯.
時間あるんで
コーヒー飲みつつでれでれする.
- 0808 自宅発.
晴れ.
ちょっと暑い.
あ,
洗濯もの干すの忘れてた.
うう.
0829 東京モノレイル流通センター発.
0848 研究所着.
- なーんか,
眠い,
というより,
だるい.
全体的に.
いまのところは.
- filereader.h とか cooridinates.cc といった
kubolib コンポーネントのソースコードを
プリントアウトして
26 穴つき透明袋に入れて
A4 用のバインダーにとじて
自家製リファレンスマニュアルにしてる,
と以前に記した.
それをつらつらと眺めてみると
……
「ヘッダーファイルでは
メンバー関数として
宣言されてるけど,
実装部には対応するコードがない」
いわばアタマだけの生首関数が
いくつか転がっているのを見つけた.
こういうのも呼ばれないかぎりは,
リンカーがエラー判定してくれないのである.
とはいえ,
もちろん気色悪いので即座に削除した.
- 眠くなってくる.
眠くなるとロクでもない
下らない作業に取り組んだりする.
たとえば「代入狩り」.
``
int i = 0;
''
などという記述を見つけたら,
凶悪な異端審問官のごとく
ひひひと (ココロの中で) 笑いつつ
``int i( 0 );
''
と書き直してみる.
こうすると,
C++ を憎みつつ
Fortran や C を愛する人々の神経を
逆なですることできる
……
って朝から何をやってるんだ,
莫迦.
- なんか眠気というのは周期的に訪れてくる
のかもしれない.
あと,
なぜかいきなり空腹になった.
大丈夫なのか,
私の神経系.
- 自作の開空度 (らしきモノ) 計算を行う
voxelight の再検討.
Gridworld というクラスで
面倒な計算をあれこれとやっている.
- 私は一つのファイルにたくさんのコードを
詰め込まないようにしてる.
あんまり長いと
見直すときにしんどいので.
ところが,
Gridworld 実装部 gridworld.cc
だけは例外的に 683 行もある.
なんでこんなに長いのかというと,
一番計算に時間を食う Bresenham アルゴリズム
関連の関数にことごとく
「inline 化」
という処理を施しているのである.
- inline 化って何 ?
というコトはまたいつか
ご説明するとして
……
結論だけ述べると,
この危なっかしい魔法を用いると
処理速度が向上
(することも多いけどそうじゃない場合もある)
というご利益と引き替えに,
ひとつのファイルに何もかも詰め込まねばならぬ
という呪いがもたらされるのである.
高速処理を重視する Gridworld クラス実装部は
それゆえに果てしなく長くなりつつある.
- とはいえ,
巨大なクラスは作った本人が見ても
ぱっと分からない部分が増えてくる.
分離分割したい.
そのためには inline やめたほうがよいかもしれない.
- ためしに Gridworld::BresenhamStep という
一番よく呼び出される関数の inline を
外してみることにする.
PipeTree
で実験.
inline つけた状態だと
一本の樹木を
30 ステップ成長させるのに 4.9-5.0 秒かかる.
で,
BresenhamStep の inline を外すと
同じ計算やるのに 5.3-5.5 秒
……
- うーん,
微妙だ.
最悪の場合で一割ぐらい遅くなる,
と期待されるわけね.
樹木の本数増やすと,
もっと影響が出てくるかも知れない.
となると,
やはり inline 外すのヤだなあ.
でも巨大化しつつあるクラスも嫌だし.
- 知床モデリングやったときに,
地面に光が当たったときの計算やらせる
関数をいくつか導入したんだけど,
これがまた長いんですよね.
せめてこいつらだけでも分離しようと
思ってたのに.
- 答えが出ないまま休憩.
昼飯の弁当を食うことにする.
お,
日立が Transmeta のチップ搭載
ノート PC を 11 月に発売,
か.
予想価格 20 万円前後
……
ま,
最初の一年くらいはモルモット諸氏に
がんばってもらってるうちに,
値段も下がって来るんでしょう
……
- 午前の終わりで悩んでいた問題を解決するべく,
またまた邪悪な手法を試みる.
すなわち inline 化された
関数のうち問題になりそうなものを
ヘッダーファイルの下のほうに
書いてしまう,
という手口を試みる.
- ……
さーて,
必要なものを gridworld.cc から
gridworld.h に移し,
静的ライブラリー lib_voxelight.a を
再構築.
もいっぺん PipeTree を作り直してみると
……
処理速度は低下しないわけだ.
当り前のことながら.
- しかし,
このようにヘッダーファイルを
ますます汚らしくしてしまった
ムクいはいつの日か受けねばならないような
気がしてならない.
- かかる <贖罪> は
未来の可能性に属するコトなんで
……
ともかく
手始めに gridworld.cc から
gridding 関数群を分離してみる.
これはやらなくてもいいことなんだけど,
最初は問題の少なそうな
改造から着手.
- えーと,
この gridding 関数というのは
「つみ木の集まりに変換してくださいな」
という依頼を処理しているのである.
こんなふう
に.
- たんにファイルを二分割するような
単純なリストラは何の問題もなく終了.
- とりあえず gridworld.h,
gridworld.cc そして
gridding_function.cc
から
「地形つみ木化」
の部分だけ抜き去り,
topo_voxels.h と topo_voxels.cc に
退避させておく.
- すごい眠気に襲撃される.
気絶しそう.
うう.
しばらくじっとしてると睡魔は去る.
- 「地形ヌキ」
にした lib_voxelight.a を
試しに作ってみて
PipeTree で動かしてみる.
コンパイル成功.
さて,
動くか.
いきなりゲロ吐いてコケるなよ.
あ,
これは自分に言ってるんではなく,
コンパイルされた pipetree
が core という
汚らしいファイルを吐瀉なされぬように,
というささやかな祈りであります.
- うまくいった
……
lib_voxelight.a から
「地形形成・照合」
機能を削っただけなのだから,
うまくいくのは当り前である.
- ここからが急所なんだが
……
最近ようやくのことで使えるようになった呪法である
この「継承」ワザを使って
Gridworld クラスから TopoVoxels という
「光線は地面にぶちあたったのか ?」
を調べるクラスを派生してみる.
この機能はもともと Gridworld に
組み込んでいたんだけど,
継承というインチキで
「TopoVoxels = Gridworld + 地面地形関係の属性・機能」
を実現しよう,
そう企んでるわけだ.
- なんで地形だけ分離したほうが良いのか ?
地形以外の grid 化というか voxel 化の
(用語が一定しないナ)
対象となるモノは葉っぱとか樹木の幹である.
この両者を比較すると,
次のような違いがある.
- 葉っぱや幹は時々刻々と
形状が変化するけれど,
地形はそんなに変化しない
(今のところ斜面崩壊してる場所の
シミュレイションやれって仕事も
来てないし).
- 葉っぱや幹はポリゴンや円柱といった
形状の寄せあつめを
を gridding_function で
グリッド化している.
一方で地形のほうは
地形データーから「ソリッド」
な voxel モデルを作ってから,
その地表面の部分を
べりっとはがして作っている.
両者の間に共通性なし.
- 要求される精度が違う.
葉っぱだと数センチから
数十センチぐらいか.
地面だともっと粗くてよい.
- ……
と書いてるうちに,
もっと良さそうな改良が
できるような気がしてきた.
しかし,
とりあえず地面専用 topo_voxels を
継承によって作ってみる.
- あれこれとコンパイルエラーで
いちゃもんつけられたメンバー変数・関数を
かたっぱしから
protected という属性にほうりこむという
でたらめで危険なプログラミングによって,
make できるところまでこぎつける.
- これはコンパイラー通ったというだけで,
まともに動作するかどうかは
全然保証のかぎりではない.
試験運転やりたいんだが
……
知床モデルはもはや古すぎて
新しいライブラリーへの対応すむまで動かない.
対応ずみの PipeTree と Pasoh では
地形データーがない
……
という状況.
あとから小川データーを読み込ませる
専用のテストプログラムでも作るか.
読ませるだけなら,
たいしたことないだろう.
- ふう.
くたびれたので休憩.
またまた脳内ドーピング.
不規則な生活してると
疲れやすく,
そのために余計な出費が必要になる.
[本日のおやつ]
隣のコンヴィニエンス
ストアー「ポプラ」で
調達.Dydo エスプレッ
ソカフェ.140 円.
- さて,
上を書いてるうちに気づいた
「もっと良さそうな改良」
について再考する.
- いままで Gridworld クラスの中で
葉っぱも幹も地面も「つみ木」にされていた.
Gridworld オブジェクトに
「これこれの位置には何がありますか?」
とお尋ねすると,
「そこには葉っぱは○個あって
幹は……」
というふうに
丁寧に答えてくれた.
さらに
いろいろなスケイルのつみ木が混在できるように,
将来はより高機能な方向に発展させて,
などと漠然とは考えていたんだが
……
- しかしながら,
むしろ
Gridworld の機能を
落して
単純化したほうがより良い世界が開けるのでは
なかろーか.
ああ,
つまり
「これこれの位置には何がありますか?」
と尋ねても,
単に
「○個」
としか回答できないような
マヌケに「改良」してやるのである.
- これまでは,
シミュレイション全体を統括する
Forest クラスでは,
Gridworld 一個だけ手元に
置いとけばよかった.
しかし単能化した Gridworld は
対象ごとに準備する必要がある.
とは言っても葉っぱとか幹とか
それぞれ準備するだけである.
- 機能を落したときに期待される利点.
- たぶん,
速くなる
(← こりない莫迦).
- Gridworld がすっきりして
理解しやすくなる.
- いろいろなスケイルの
voxel を混在させることが
容易になる.
- その結果,
メモリーなどの資源節約になる.
- システム全体の
柔軟性・拡張性が増す.
- うーむ,
これはゼヒやってみるべきだろうな.
おっと,
しかし今日のところは撤退しよう.
しかし夕方になるほど頭が冴える.
疲れてるんだが.
この時差ボケどうにかならんかな.
- 1835 研究所発.
かなり空腹なんだけど
(あるいは何故かそういう時に限って)
本屋 dan に寄って本棚の回りを
ふらふらと回遊する.
おおっ,
航空機コーナーに話題の書
「世界の駄っ作機 1・2」
が山積み !!
どーしよーかなー,
と迷った末に買わずに撤退.
1906 東京モノレイル浜松町発.
1945 帰宅.
腹減った.
- 晩飯食ってから
voxelight 改良作業に取り組む.
私の体内時計はどうなってしまったのか,
今日は晩飯のあとも眠くはならない.
少なくともいまのところは.
現在時刻 2135.
- わが可憐なる ThinkPad560E (Pentium 166MHz)
では kubolib だの pipetree だのの
コンパイルには無闇やたらと時間かかる.
浜松町に置いてる BookPC なら
あっという間に終わる作業を,
ゆったりと処理している.
- とりあえずコンパイルしたんで,
比較のために pipetree 30 step 走らせてみる.
実行に要する時間 27 秒近い.
5 倍以上遅いな.
つまり CPU クロック比よりよくない.
ま,
仕方ないか.
のんびりやりませう.
- 今日の食卓
- 朝 (0700):
サツマイモの味噌汁の残り.
オクラ和えものの残り.
両方かたづいた.
- 昼 (1230):
チンゲンサイのドウバンジャン炒め.
単品野菜炒めは久ぶりではないかな.
- 晩 (2030):
ニラとエノキダケの炒めもの.
2000 年 09 月 09 日 (土)
- 1030 起床.
晴れ.
昨日は 2300 前に寝たから
12 時間近く寝たわけだ.
明け方に一回起きたけど.
- 体重 68.6 Kg.
このところ不規則な生活が続いたから
体重が落ちたんだろう.
まだまだ汗がでる毎日だし.
- そう言えば食べる米の量は減らしている.
6 月ごろは一日 3 合ぐらい食ってた.
最近は一日あたり 2 合付近まで減じている.
それぐらい減らしても特に支障ない,
と判明したためである
(寒くなるともっと食べないとダメかも).
米は決して安くはないので,
消費が少なくなれば経済的にも助かる.
- 昨日思いついた「gridworld 単能化」実験に取り組んでみる.
けっこう大変だぞ,
これは.
この思いつきは破綻をもたらすのか.
- 第一段階の改良ポイントとしては
……
- クラス名・変数名を Grid... から
Voxel... に変更.
古い Gridworld クラスも残すんで,
名称の混乱が生じないようにした.
- 新クラス Voxelworld のひとつのインスタンス
(実体)
はただ一種類の voxel を取り扱う.
このため「状態」変数を廃止
(これは
あの使いにくい enum で実装してた).
- Voxelworld 内での光減衰計算を廃止.
このクラスでは
「ぶつかった・ぶつかってない」
だけを判定する.
- この改造だけでは動かないんだけど,
とりあえずそのように変更してコンパイル試験.
1400
なんとかコンパイルは通るようになった.
機能を削ってコードのファイルを分割していったので
見通しは少しよくなった
(しかしヘッダーファイルは汚い).
- STL の map (つまり hash) を使ってていつも
気色悪いところがあるんだけど
……
int main ( void ) {
map<string,int> string_map;
string_map[ "kubo" ] ++;
string_map[ "taku" ] += 2;
cout << string_map[ "kubo" ] << "\t" << string_map[ "taku" ] << endl;
return 0;
}
……
とゆーよーな書き方が許されている,
というコトである.
上のコードをコンパイルして実行すると
ちゃんと 1 と 2 が出力される.
- つまり
++
とかで
いきなり計算やってよい
(演算子が定義されていれば).
そのときは,
まず string_map[ "..." ]
に 0 という
整数値が代入されて
(このあたりが不安を誘発する),
しかるのちに計算,
となっているのである.
まぁ,
便利ではあるけど
……
- 1540 羽田空港で忘れもの回収するべく自宅発.
晴れ.
1546 京急大森.
羽田まで 360 円.
高い.
1550 同発.
1553 京急蒲田着.
1555 同発.
初めて快速特急エアポート乗る.
羽田まで無停車.
1602 羽田着.
蒲田から 7 分.
はやーい
(急行だと羽田までの各駅に停まるんで約 13 分,
このぎょーむ日誌によると).
- 羽田空港 2F 全日空 57 番カウンター.
管理番号 09010354 なるものを示すと
先日の広島からの帰りに機内に置き忘れてきた
手帳が帰って来た.
御礼申し上げて退去.
- 羽田空港内を意味もなくふらふらする.
バス乗り場.
時刻表見る.
お,
大森行きは一時間に 2-3 便しかないけど,
ちょうど来るみたいだ.
よーし,
帰りはバスに乗ってみよう.
- 1623 京急バス大森駅行きに乗車して出発.
料金先払い.
バスは都内は均一料金の 210 円.
しかしながら,
羽田往復は特定区間となるので 270 円.
- いやぁ,
空港内の冠状道路をぐるっと回るんで
とってもたのしー.
おおお,
新 C 滑走路が目の前に.
あぶれた JAS 機があんなにたくさん
こんな場所にたむろしてるよ.
たまにはバスに乗るのも良いですね.
[羽田空港周遊]
バスから見て回る羽田.「地元」民に
なって以来,私は羽田ファンである.
早く新ターミナルビル工事が終わって
国際線とかが来るようになればいいねぇ.
成田空港なんて廃止になっていいから.
- 1645 自宅から歩いて 1 分の大森警察署前バス停着.
あ,
ちなみに大森警察署は現在改築中で
仮署は環七ぞいにあります.
えーと,
バスだと空港から約 20 分ちょっとか.
なるほど.
便数少ないし渋滞に巻き込まれたら
時間かかるだろうから,
そんなに利用できそうにないな.
運賃は安いけど.
- 大森町商店街で買物などして 1720 帰宅.
- 地球フロンティアの研究員の見知らぬ人からメイル.
「ネット上で光量子計を検索してたら
久保さんの web page に行きつきました」
さうですか.
「光量子計の英訳ご存知でしたら教えてください」
ええっ,
うーん,
わからないなぁ.
「粛正」まぬがれて
手元に残されている未整理の論文複写・別刷の山を
かきまわしてみる.
どーしてこのヒトは Material&Method で
CO2 測定機なら
メイカー名までいれてるのに
光測定方法についてはまるで言及してないんだ
……
というような事例ばかり見つかる.
寺島さんの論文に一般名詞的に photon sensor
なる語が使われてたんで,
それ以上の調べは面倒になり,
さも常識であるかのような態度で
「photon sensor で通じるんじゃないですか」
などというメイルを送信する.
我ながらインチキだなあ.
- voxelight ライブラリー改築工事を再開.
2048 地震.
震度 3 ぐらいか.
- 分割・単能化により Gridworld より Voxelworld と
名を変えたクラスの面倒な部分,
「高速離散よちよち歩き」
の再編成に取り組んでいる.
もはや
光減衰計算のような「俗世」の面倒は切り捨てていき,
この離散化された世界は
「浮世ばなれ」に徹する方針でのぞむ.
そうした方が後々使い回しがきくからだ.
あるいは高機能にしたければ,
いまやアブない魔法たる「継承」が使えるんで,
単純野郎 Voxelworld を基底クラスとして
専門バカなクラスを派生してやればよい.
- Voxelworld は「ぶつかった・ぶつかってない」
しか分からないマヌケに格下げされてしまったので
(以前の Gridworld だと
それだけでなく RayTrace() を続行するか中断するか
といった判断も独力で下した),
「勝手によろしく『よちよち歩き』やってくれ」
と丸投げできなくなった.
そこでこの丸投げ命令を三分割し,
「よちよち歩き始め」
「さっきの続き」
「やめ」
としてみる.
これらの命令を適切に下さなければならぬ
監督クラス Forest の負担が増えるわけだ.
- けっこう面倒.
いつ終わるのだろう.
あちこちで
``foliage'' を ``foriage'' と
書き間違える呪われ状態.
時刻はすでに 0300 すぎ.
- 0400 コンパイル通った PipeTree が
再編成なった Voxelight を利用しつつ
動くようになった.
しかし PipeTree 側に押しつけた
光計算がヘンであるらしく挙動不審.
とりあえず寝ることにしよう.
- 今日の食卓
- 朝 (1120):
パンケイキ一枚焼く.
今回はわりと時間をかけてゆっくりと.
そうすると内部は少しふわっとした感じになる.
コーヒー.
- 昼 (1505):
そうめん.
150 g ばかり.
フライパンで茹でたのは無謀であったか.
熱効率が良いはずなんだけど
……
麺どおしがくっついてしまった.
- 晩 (2340):
ピーマン・レイシ (ニガウリ)・シイタケ・トウガラシ
の炒めもの.
2000 年 09 月 10 日 (日)
- 1210 起床.
うう,
よく寝た.
やはりプログラム debug やると頭の中が破壊される.
対比の規模として適切かどうかわからないけど,
将棋さしが延々と何百手も読んでいく頭脳労働に
似てるじゃなかろーか.
頭の中でコードを「動かして」みるわけだから.
(比喩的に)
コワれかけた脳を修復するために寝る時間が長くなる,
と解釈してる.
とは言え,
寝たのは 0430 すぎてたから,
7 時間ちょっとぐらいの睡眠なんだけど.
- またまたパンケイキ焼きに挑戦.
面倒なのでいつもは一回で焼いてしまう分量を,
今日は二回にわけてみる.
たしかに,
こうしたほうが破綻は少ないな.
[小さく焼いたパンケイキ]
おたま一杯ぶんぐらいの
dough を焼くとこれぐら
いのサイズになる.二枚
目はいま焼いてるところ.
- 1800 すぎまで,
ずっーと新ライブラリーと
それを利用して動く PipeTree の改造に
尽力していたんだけれど
……
うーん,
ちゃんと動くようになった.
だいたい同じ結果は出す.
ああ,
それなのに
……
実行速度が遅い.
すごく遅い.
前の 3 倍ぐらい遅い.
- どう見ても以前よりコードは
すっきりと読みやすくなったのに
……
この土曜・日曜で
あれこれと難解な部分を削ってまわったんだけどなぁ
……
たとえば離散化世界の中をさらにいくつかの
領域にわけて管理したりする,
とか,
いったんいくつかの buffer に吸収しておいてから
射影する
……
というような.
- 一年ほど前に作りこんでいた
こういう仕掛けが
高速化に貢献してたみたいね.
ちょっとした思いつきで二日ぐらいがんばっても
乗り越えられなかった.
くう.
どうしてこんなややこしい処理やってる
コードの方が速いのか.
わからん.
くやしー
- かくして,
二日間の作業はほとんど徒労であった,
という判定.
残り時間少ないのになぁ.
自分の作った光量計算プログラム周辺の動作の
再確認には有意義ではあったけど.
- えーい,
撤退だ,
全軍
てったーい.
逃げろや
逃げろ.
逃走経路は最初から確保してある.
- 作業状態を金曜日の夕方の時点に戻す.
えーと,
つまり従来の Gridworld から
地形関係を分離独立させたところまで.
- これで試験運転してみると
……
やっぱりこっちのほうが断トツに速いなぁ.
- さてと.
ここまで戻ってきたら,
次にやるべきことは
……
今回の小川キャンペインで新たに分離することになった
地形形成・照合関数群の試験運転か.
小川の地形データーを読ませて
あちこちで開空度など調べねばならん.
- とはいえ,
すぐに着手する気にもならんし
……
ま,
今晩はもう
のんびりしちゃおうかなぁ.
晩飯の準備などやってみる.
- 晩飯の味噌汁ができたんで,
体を動かしてみる.
運動すれば
programming & debugging
時差ボケが多少は解消されて
良く眠れるのでは,
と.
- 素振り左右 100 回.
腹筋.
息を吐きながらゆっくりと.
20 回一セット.
三セットでばてた.
少しストレッチ.
1942 自宅発.
ジョギング.
- 環七と直交する平和の森公園に向かう.
毎日,
東京モノレイル流通センター駅の往復のときに
素通りしてる公園である.
この南北に細長い公園は
環七と立体交差する一点をのぞけば
あとは車の通行の多い道路に接していない.
公園までの経路も車両の少ない道を選んで走る.
大森東図書館横ではいまごろ盆踊り (か?)
やってる.
- 夜の平和の森公園は人が少なくて不気味である.
いるのは原チャリ乗ってる高校生の兄ちゃんたち,
ホームレスのおっちゃんたち,
というところか.
公園内周回路をゆっくりと走る.
一周 10 分ぐらい.
距離は 1000 メートルぐらいか.
- 二周でバテたんで,
そのまま家に走りつつ帰る.
2018 帰宅.
うーん,
40 分弱の軽い運動で
かなり汗がでた.
先月の北アルプス山行以来,
運動してないからなぁ.
流通センター往復では
運動になってなかったか.
- ともかくシャワーで頭と体をごしごしと洗う.
ついでにひげそり.
あとは
ストレッチやったり
足の裏を自分で指圧してみたり.
- ゆっくりと晩飯を食う.
もう今晩は
Perl であれ
C++ であれ
Fortran77 であれ
Mathematica であれ
MC6802 機械語であれ,
ともかく一行もプログラミング言語を書かないことにする.
- えーと,
このあとの予定としては,
0 時までやってますスーパーたる
マルエツで
ちょっと買物して,
気が向いたら 0200 までやってます本屋の
TSUTAYA をのぞいて
……
- 研究上のアイデアなんかは紙にまとめる.
コードで書かない.
- ぎょーむ日誌も
今日はここまで.
とっととアップロードしちゃって,
ThinkPad560E も suspend しちゃおう.
- 今日の食卓
- 朝 (1240):
上述のとおり,
パンケイキ.
今日は二回に分けて焼く.
- 昼 (1700):
米 0.6 合.
昨晩の炒めものの残り.
- 晩 (2110):
サツマイモ・ニンジン・シイタケ・ワカメという
趣旨不明のコンビネイションの味噌汁.
だしは煮干 (これも食べる).
ピーマン・シイタケ・ニンニクの茎の炒めもの.
ドウバンジャン味.
さらに例の青トウガラシいれたんで辛い.
種はざっと取り除いたんだが
……