80 イントロダクションをかき始める
70 計算結果の蒐集
40 モデル構造(拡散の仮定等)の再設計
本日は大掃除と称して机の周りの整理。
読んでなかった本がちらほら出てきたんで帰省してる間に読む…かな? あとは駐輪場でSVを拭いたりオイル点したりするだけ。実に手抜き。
明日より帰省
ネットワーク環境は無いに等しいので、再開は一月明けてから。
計算範囲設定
なかなか条件が決まらない、というより現状で何処をとっても1,2種に落ちるのはキツイなあ。問題ははっきりしていて最初の大絶滅で皆殺し⇒その後安定という形になるからなのだが、これは条件設定やら藻類の形質セットの試行錯誤のほかあるまい。
といいつつ吹雪いてきたので今日は撤収。
午後過ぎまで街中うろうろ。
午後から計算結果を見て条件設定をいじるとか、こまごま作業。全自動スクリプトのための計算範囲をさっさと決めないと。
修論下請け。
ササキ君とタムラ君にFFFTPとTTSSHと昨日書いたスクリプトの使い方を説明。で、あっさりと終了かと思いきや予想しなかったエラー。昨日のものは存在しないファイルを指定してもムリヤリ動かす仕様になっていたのが原因。
いやはや、ユーザはコーダの意図を超えるもの。捨てスクリプトでもきちんとエラー回避せよという教訓。その後の話でヨコヤマさんより来年も使うんじゃないのとのことなんで、きちんとした手直し。この際だから簡単なヘルプ機能とかも付けておく。
バグ?⇒バグ。
本業の方の計算結果を眺めてると、条件によっては突如として誰もいなくなるという妙な挙動。絶滅判定部分が限りなくアヤシイので、思いつくところを修正して再計算。結局、原因は絶滅した種を拡散・希釈させようとしていた部分が原因だった。やれやれ。
まあその分、中盤以降の劇的な計算速度の向上が図られたのでまずまずということにする。
メモ:確信犯
刑法用語で『故意犯』の対義語という扱いらしい。つまり「悪いと知ってて」が故意犯、「悪いとは夢にも思わぬ」というのが確信犯というのが本来の用法、なのだそうだ。
モデル作業。
朝から午後過ぎまで延々と作業。粗方終わり。ついでに流れ作業スクリプトまで書いてしまえと思ったのだが。
午後過ぎより、修論下請け続き。
相同性解析用のプログラム、この前の続き。系統樹のファイルもこのプログラムに併せて作るものだったようだ。マニュアルとサンプルみただけじゃどれがどれか分からなかったもので、前回は分からなかったのだった。
で、更に間抜けな仕様であったことが判明。このプログラム群は7ステップほどの作業を逐一手作業させてくださる。一応いくつかはプログラムからsystem()で外部のプログラムを呼び出してるんで一体どういう基準なのか不明。これまた絶対名で埋め込んであったりしてカレントにパス通ってなかったりすると動かない。
マニュアルがこれまた読みづらく、似たような名前ばかり出てきた挙句、A is same program as Bなる記述まで出てきて、それならどっちかに統一して書けよと言いたくなる。
元のソースコードに手を入れたり、別のプログラムを落としてきてそちらも弄ったりしながら一通り動作するところまで作業。使い方を順番に説明するのは御免なので、hoge ALN_FILE とやれば最後まで全部やってくれる全自動スクリプト書き書き。これは「俺が苦労して書いたものなので簡単には使わせてやらん」という意図が隠されてるのに違いない。きっとそうだ。
SoftEtherが公開一時停止になったそうで。
確かに公開された時点で[また管理者泣かせになりそうなのが出たな]とは思った。install自体が懲罰対象となった会社もあると聞く。それは各々の事情というものがあるから仕方ないと思わぬでもない。現状で検知は不可能でないけどそのためのコストは馬鹿にならんからね。
しかし抗議して配布中止というのは別問題だ。作者も似たようなことを書いているが、「テロや犯罪に使える可能性があるからWindowsを売るな、Linuxを配布するな」という主張に等しい阿呆の戯言である。
まあ阿呆は言い過ぎとしても、何事もリスクと利便性を秤にかけてtrade-offの何処らを妥協点にするかが大事なわけで、ばっさり斬って捨てるのは勿体無かろう。何とか穏便に対処してなるべく早い公開再開をしてほしいところ。
本日はクリスマス。
年末なので今週は水曜日のセミナーが無いんだっけという感慨しかない寂しい身空である。(25日追記:イブでした。)
モデル。
だいたい必要な結果が見えてきつつ、手直しとモジュールの追加も、主要なのが1(絶滅判定の修正)、利便性のために他いくつかで後はまわすだけという状況。というわけで計算して結果を見つつ計算中に変更箇所の作業という割と効率はいい流れ。これなら年内にフル稼働状態に持っていけるかな。帰省期間中のための全自動化スクリプトも書いておかないと困るんで結構忙しいが、漸く上向き。
Xcode
カワタ先生にどうなんでしょうねと振ってみたところ、入れたけど使ってないとの由。まあ元々CodeWarrior使ってるから乗り換える意義もあまりないんだろう。まあ僕みたいなemacs+gcc/gdbの人間にはさらに縁の無い話ですよ、と。まあVineLinuxでだってCodeWarrior for linuxとかglade/Gtk+とか、他にも何かあったような気がするが、触ったことはあってもHelloWorldどまりなので使ったことがあるとはいえない。
早々とJES51公式サイトが公開されている。
準備中のコンテンツもあるが既に申し込みはできる様子。そういやこの前送られてきた生態学会誌にも案内があったっけ。8月末開催というのから逆算すると、のんびりしてる暇はないという事実に思い至る。
さらに学会費と大会参加費は8,800円+8,000円で締めて16,800円也。うむ、どうやって捻出しようか。
昼頃、カワタ先生から進捗状況の確認問い合わせ。
例によってかなり不意打ち気味で奇襲を受け説明がシドロモドロというか不様であった。普段他の人に説明しているようにいかぬのはなんだろうな。某御仁の曰く傍目にも苦手意識があからさまらしいのだが。ハテ何が原因なんだろう。なんかのトラウマだろうか。
夕刻、セミナー。
本年の大トリということでヨコヤマ・カワタ両氏の研究紹介。
何とも危険なセキュリティホールが見つかったようで。
12月のアップデートは無いんで、こいつのパッチ公開は早くとも年明けてから。IEではクレジット番号などの情報をひとそろえ丸ごと引っこ抜かれそうですな。可愛らしい例だとこんな感じ。
クリック後のURLにちゅーもく。セキュリティホールの作成時間3分。あはは、お手軽。
本日は19時よりカワタ邸にてカワタ研の忘年会ゆえ本日は早々に撤収。
本日は大雪。
今年も漸く積った。考えたらSVのヒュエルタンクがほとんど空のままだったりと、今年は暖冬過ぎてほとんど何の対策もしていない。
モデル
よくよく考えると、空間スケールをミジンコと藻類で変えるのは単純に両者の環境収容力が変わるだけで意味が無い。よって没。
午前中、私用で街へ。午後、作業作業。午後過ぎ、バイト。夕刻より、輪読会(占部研)。
輪読会、HSSからの群集生態学の発展をハイライトで追いかける内容。以下メモ。
最近はtrophic cascade[栄養カスケード]とtrophic level cascade[栄養段階カスケード]で使い分けるのがトレンド(?)らしい。共にメカニズム的な説明は同じであるが、前者が主に種の相互作用関係を指していわれるのに対して、後者は機能群の相互作用関係を指して呼ばれるそうで、人によってはtrophic cascadeはあってもtrophic level cascadeはないということもあるらしい。
cascadeにはもう一つbahaviour cascadeがあり、捕食による増減でなく、逃避行動などによってcascadeに見えるような局所効果を指してそう呼ぶ。
メモ:Hanoimania!
調べものをしていてWEB巡回中に発見。再帰の例題として有名なハノイの解法をよくもまあというくらい様々な言語で書いてある。一般的なプログラミング言語はもとより、dcやらシェルスクリプト(b/c/k/z)やらpostscript、はてはICMP(ping)なんてものまである。
リセット徹夜
夜型生活を改善すべく一旦徹夜。とはいえこれを書いている早朝時点では普段まだ寝てないことがあったりするので、ここしばらくの生活とあまり変らない。
NortonAntiVirus
使用期限が20日までなのだが更新の料金を払え払えとどうにも煩い。一ヶ月前からこの調子なのでその時点で払う者もいると聞く。その分払い戻しがあるわけではないので最大で一ヶ月分損するわけで、そういう商売でいいのかという気がする。
昨日の空白行の処理
vector は添え字の範囲チェックなどしないので、範囲外にアクセスすると容赦なくSYSSEGするのをすっかり忘れていたのが原因。同様にキーのみor値のみって行があっても落ちる(はず)なんで、
と変更。これで、データファイルをいじったときに不用意に改行が入ってエラーになるというトラブルも回避されるようになったわけで、めでたしめでたし。-- data[ tmp[0] ] = atof( tmp[1].c_str() ); ++ if(tmp.size()>1){ data[ tmp[0] ] = atof( tmp[1].c_str() ); }
といいつつ、拡散/攪拌部分でのセコイ高速化(バッファからの書き戻しタイミングを削ってしまっていたんだけど)が裏目に出て、本日前半分の計算はやり直し…。それでなくても、仮定を変えると藻類が全て共存してみたり(後で間違いだとわかったが)、即座に全生物が絶滅したりと迷走状態である。基点となる結果が得られればそれを基に条件を変えつつデータ蒐集⇒discussionへ、と進めるんだが…。
午後過ぎ、輪読会(進化本)
これで年内の輪読会は終了。再開は04/01/08の予定。
図らずも系統−分類−命名についてヨコヤマさんと議論になる(例によってほとんど一方的に聴き役だったのは情けないが)。まあ、系統を基に分類、便宜上命名、名前無いと不便なこともあるし、というような内容。
なのだが、引掛った点が一つ。系統からの分類に合わなくなっても旧来のリンネ名が併せて使い続けられることがあるという。僕の浅い理解ではリンネ名は位置情報を持つ機能的なものだと思っていたのだが、そうstrictなものでもないらしい。よく分からない世界である。
メモ:分かりやすい地図の作り方
忘年会がらみで紹介されたが、それはさておき、是非とも学会の主催者(というか会場の案内を書く人)に読んでほしい。それでなくてもよく迷子になるので。
本日はセミナーお休み。
最近こういうのばっかりなのですっかり生活リズムが夜型に。夜型を通り越して朝方のような気もする
で、午後から研究室
ほとんど夕方という方が正しい。形質値のデータの読み込み方を変えたら動いてくれなくなって原因究明にまた無駄時間を。原因は、えーと、行番号指定が間違っていたという実に間抜けなオチ。いったい何回目だ。
データ読み込み部分改良
どうにも読み込み行指定の間違いが頻出するんで書き直すことにする。これまでは
というファイルを用意して、コメント行を飛ばして# comment #data1 1 #data2 2 #data3 3 !eof
という形式だったのだが、double data1 = lines[0];
というファイルを用意して、コメント行を飛ばして# comment data1 1 data2 2 data3 3 !eof
という形式に変更。これで最大値と最小値を指定間違えとかは少なくなるに違いない。 新形式の強みは、どういう順番でデータを記述しても良い点と、下記のようにあらかじめ初期値を用意しておいてデータの方は着目データのみで済む点だ。double data1 = map["data1"];
例によってひっそりと公開しておく。(が、こんな限定的なものを誰が必要とするのかかなり疑問ではある)# data2だけファイルで初期化。 data2 2 !eof
ぼーよー先生のC++講義本が戻ってくる。
かれこれ一年以上見かけなかったのだが何処からともなく舞い戻ってきた。まあこの本は使わないので構わないのだが、O'reillyの駱駝本含めたperl本が数冊何処かへ行ったままである。webでほとんど調べられるので困らないといえば困らないのだが、それぞれ結構高かったんだよなあ、特に駱駝本。
自宅PCがトんで土日は復旧作業。
毎度のことながら、一つずつドライバを入れないとイカン、とか、再起動を要求するのは何とかならぬものだろうか、とか、updateの方が時間が掛かる、とかでへろへろに。
で、計算の方は形質データの入れ間違いで全滅。
もー踏んだり蹴ったり。
少し整理。
いったい今何を何のためにやってるんだっけ?(おいおい…) というわけで、形だけでもイントロダクションができている現状において、
メモ。
webで調べものをしていて見つけた、長山泰秀さんによる生態学(系)用語集。私見を挟まず、ほぼ用例だけに絞って膨大な数が収集されているので、あるキーワードがどういう場面・どういったニュアンスで使われているのかを簡単に見たいときには大変重宝しそうだ。
昨日は一日雨だったので自宅で読書。
正規のスケジュールにある輪読会はスタッフ・学生とも都合がつかず中止。計算結果を確認したり細々な作業の他は積読本を5-6冊ほど消化。何も考えないで本を読んでれば幸せなんでお手軽である。
午後、バイト。実験作業の関係で本日夕刻の輪読会も中止。
先日同様、ワキさん@ウラベ研の卒研実験が終わらないそうで。がんばってください、と。
モデル
モジュール分離した後、色々といじっていて一つのモジュールにしていた理由を思い出した。一時バッファからの書き戻しの手間と処理時間を効率化するためと、コーディング上のケアレスミス防止のためだった。思い出したのは同じミスをして当時と同じようなトラブルに陥ったためであるが。
計算結果
何せ計算日数を300日程度に抑えるのは、計算時間だけみれば自由度があがってありがたい。で、攪拌周期だけでなく空間サイズ(水溜りの大きさ)にも依存するというような結果が出つつある。しかし結果自体がびみょー、限りなくびみょー。どうしてくれよう。
午前中、セミナーがなかったので走りに。
雪を見に山形方面。明日の天気を見るに此方でも雪らしいが、そこはそれ風情というものだと言い訳しつつ今年の走り収めとする。ここから先、積もるまでは自宅と研究室の間の往復のみだろう。あちこちの速度規制やら通行規制やらを眺めながら3時間ほど走って心底凍えながら戻る。当たり前だが寒かった。
ハバネロ
コマバさんよりYMにて激辛版登場らしい。とはいえ、わざわざオークションしてまでは買わない。自称『おとなしくしている』版は近所のスーパーで100円セール棚にて購入して研究室に投下したけど、ほとんどリアクションなし。初めて唐辛子煎餅を食ったときほどの衝撃には遠く及ばず。
モデル
振動が大きくなるにつれて、かなり敗者復活戦にて再スタート気味になってそちらにバイアスが掛かっているように思われる。絶滅判定用の閾値を設けた方がいいような気もする。とは言うもののリセット期間の長さに応じて300日後の残存種数が増える(ように見えんこともない)結果が出ているので、もう少しサンプル点を増やす方を優先することにして計算続投。
昼間より雪がちらつき始めた。
夜間は路面凍結しそうな感じ。そろそろ今年度のバイク降り時かな。
Vine Linux 2.6r3がリリース。
そろそろミラーサイトの方にも伝播している様子。イメージをDLしてインストールCDを作成。暇なときにでもテストマシンに入れて遊ぶことにしよう。(という場合、経験上まずやらないのだが。)
モデル
拡散部分と流入出モジュールの分離作業。がりがりと30分ほど作業して完了。動作の方も問題なさそうなのでよし。
というわけで一定周期で均一化させる効果と纏めて排泄な効果を入れる作業に移行。
成り行きで進行管理をしている輪読会のレジメを纏めてみる。
目論んでたマクロ生態のサーバは借りられないようなので、何処か他所を探さないと。
路面が凍結する前に撤収。
土日は午後過ぎまで図書館並みに静かな作業環境である。
平日とて午前中はそうなのだが、ここ暫く早起きができなかったので進捗が順調に遅れ気味。
先頃より研究室の机周辺では羽虫が席捲中。
羽虫というかコバエの類。いつものことながら詳細種名は知らぬ。音声ノイズは自前のホワイトノイズで対処して我慢できぬでもないが、このうえ視覚的攪乱妨害があっては最早作業にならぬ。発生源は鉢植えからと目星がついたので早々の処置を要請しよう。
正午ごろ東大・嶋田さんより一応のOKのメール。
これで漸く一つ片付いた、と。年度明けて五月くらいに校正があるとのことだが先の話は先でよい。
マサヨシ君の修論下請け作業。
彼自身は何処かへ出かけているとのことだったが、カワタ先生から御達しがあったのでいい加減片付けることに。公開されている解析用のソフトがうまいこと使えないらしい(というかそもそもmakeもできないらしいが)。Makefileを書き換えたりなどして解決。何のためにMakeを使うのかを全く理解せず、shの代わりMakefileでした、と。
で、サンプルを使って動作テストをするのだが、これがまたいろいろオプションの指定を付けた実行バイナリを手順を踏んで実行していくというユーザアンフレンドリー極まりない代物。頼むからこのままで公開しないでくれよと言いたい。一つずつ使い方を説明するのも無駄なんで、ファイル指定さえすれば読み込んで最終出力までやる全自動スクリプトをbetter than shであるところのperlで書き書き。
モデル
計算結果を見るに、一日一回程度の均一になる効果を入れると、どういう拡散率で計算しようが拡散率最大のものとほぼ変わらないという劇マズな結果に。
さて、どうしたものか。現実性を残しつつという話になると、時間・空間スケールをいじる方向で持っていくしかないな。
のめりこまないと言ってたのに…
二日続けて明け方までやってしまった。で、正午前、再起動。
町で私用を済ませて午後より研究室。
顔を出した瞬間にワーム騒ぎにトラップされる。ここ暫く一月おき位に何かしらトラブルがある。靴を脱ぐ間もなくトラップされるのは勘弁。ラザロさんのノートが買った当初からアップデートされておらずWelchに喰われていた。確かに普段ネットワークに繋がないと感染はしないけどupdateもされないわけで。この際ということでみっちり脅かしておく。セキュリティ意識の若干の引き上げにはつながった模様。今回は自分のところに正式に回ってこなかったので処理作業だけして口頭で報告しておしまい。
ふむ、今年の流行語大賞がでている。2,3知らないのがあったりしてホントに流行語だったのかと思わないでもないが、流行や世事に疎い自分が何をか謂わんという事か。
宿題になっている個体群の印象記を加筆・改訂して東大・嶋田さんにメール。
モデル案
一定時間ごとに完全に均一化されるかわりにその間は拡散全く無しというのをさせてみる。さて、どうなることやら。これでクリアな結果が出るようならそれでもいいかなという気もしないではない。
…で、栄養塩に関して、物理拡散と流入流出を同じタイミングでさせてたのを思い出す。大掛かりな修正をしないと変更が利かないわけで、所謂技術的負債のツケというやつだ。先々のことを考えると、早急にリファクタリングする必要がある。というか何故ここだけ独立したモジュール化がなされていないのか我ながら不思議でさえある。余程テンパってたのか
夕刻より、マサヨシ君の修論下請け作業で拘束…されるはずだったのだが、何も言ってこないのでこっそりと撤収。
午後、輪読会。
なんだかやる気が出ないでだらだらと聞いてしまう。反省せねばならぬ。
夕刻、論文のイントロダクション部分のアウトラインを書く。
いったん論文の構成を書き上げると何が必要でないが不足しているか、どういう図が必要でどういうデータが不足しているかというようなことが分かるという、ミカミ氏からのアドバイスを受けて書き始める。定性的な結果は出ているので、その青写真をイメージしながらいったん最後まで書いてみることにする。
ついでにプランクトンのパラドクスの私的解釈メモなんてのを書いてみる。
この程度の文章なら一時間もあれば書けるのだが、それでも意外と自分の知識の整理になるものだ。
午前中、セミナー
ラザロさんによるBayesian methodのtheoremとaplicationちょー入門、というか極々簡単な紹介。かなり短い内容だったが自分になじみのない内容のため消化不良を起こす。後で自分で調べて、、そもそもベイズ推定とは何かというのが朧気に解るという有様だった。
午後、文献読んだりコーディングの続き。
色々と不具合があってその手直しとか調整とか。テスト結果を見る限りやはり一日一回の攪拌はnegative effectな感じ。(つまり残存種数は減ってしまうわけで…)
空間拡張案を考えつつ、次はミジンコの排出タイミングをいじりますかね。本日の思いつきとしては、増殖刻みとは別に更に細かい時間メッシュで移動と拡散を入れてやればどんなもんでしょーてのが一つ。ちうか生理計算メッシュを削るのと併せるんでも良いかな。
早起きして昼過ぎまで本読んだりゲームしたり。
『導きの星(4)』(小川一水)、読了。
これにて完結。最終巻では大幅に予想を裏切られる展開こそなかったものの、一巻から見守ってきた種族がとうとうここまで来たかという感慨が残る。伏線を消化しきってきれいに大団円。
ゲームの方は先日買ったWAの新作。一作目のリメイクなんだが、何せやったのが十年とは言わないが昔なので殆ど覚えてない(それで良いのかという気もする)。それはそれで新鮮に楽しめてよいのだが、ちらほらと覚えている所為で先が気になってのめり込むという感じでもない。
印象記続き
長々と抱えるわけにもいかないのでササッと加筆。600字指定のところ800字超。阿呆なこと書いてないかどうか一晩寝かせてみて、早めに出してしまおう。
昼過ぎから研究室。
先日来のコーディングの続き。Makefileの書き方とか些細かつ余計な部分が気になってどうも集中してできない。emacsのwrite-file-hooksにTime-stampという関数呼ぶようにしとくと便利だとか、L_BOUND + (int)((double)rand()/RAND_MAX*(U_BOUND-L_BOUND))
の書き間違いにに悩んだりとか、余計な事ばかりやってる所為で実に能率が悪い。やれやれ。
完全に均一化するためのモジュールを完成
一応。テスト用途の計算かけて撤収。
今日から12月
もう今年最後の月。先月は進展らしい進展が見られず、如何にも駄目な感じだったので、心機一転気合を入れていこう。
午前中、午後過ぎまで私用であちこち。
徹夜明けのままフラフラしてるのは色々といかんですね。ともあれ帰省往復分の航空券を調達。生活費の残金は手持ちの一万円のみ。うーむ。
嶋田さん@東大へ依頼されていた印象記をメール。
折り返して加筆の指示。リップサービスは要らないから率直な意見を遣せとの旨。たはは…。
モデル案
系の均質化について、とりあえず何も考えずに系全体のN,Pとalgal-C,N,Pの総量を計上して各格子に割り付けなおす方法を採用。ミジンコの各個体についてはいったんリストに格納した後で一様ランダムにばら撒く方式で。
金も時間も…とか言いつつ、集中講義で来ている辻さんの食事にくっついて街へ出かけることに。