今日は昼前くらいには起きた気がしたが13時くらいに家を出て、買い物や銀行回りの事務作業。 ついでにパン屋で食事などして大学へ。
あとはゆるゆると作業しつつ、今後を見据えてアルゴリズムの復習などする。 Haskellで(離散数学的な意味での)グラフを扱うにはfglと言うライブラリが永らく定番なのだが、妙に小回りが効かないというか、たとえばグラフの頂点や辺が本質的には整数決め打ち(ラベルは別途付けられるけど)だったり、単相的なグラフをちゃんと扱う方法がなかったりと、あまり万能とは言い難い。 最近 Algebraic Graph という手法が提案され、ライブラリも整備されてきている。 とはいえ、こっちはより代数的な構造に着目して設計されていて、これまでのパラダイムと結構違うので、所望のグラフを作る方法はちょっと慣れが必要だったりするし、まだ重み付きの辺を扱えなかったり、標準的なアルゴリズムの実装、あるいは代数的構造を活かした設計方法などもまだまだこれからという感じになっていて、実用するにはもう少し時間が掛かりそうといった感じ。 とはいえ今年のGSoCではAlgebraic Graphを進化させまーす!というプロジェクトもあり、今後便利になっていくと良いなあ、という感じである1。
まあそんな感じでゆるゆると蟻本を読みつつ復習を進めた。 かなりうろ覚えになっている部分が明らかになってきて良かったと思う。
途中論理パズルっぽい問題が出て来たので、アルゴリズム設計とか放っぽり出してSATに丸投げしてみようと思ったらSATソルバとのバインディングの使い方を調べるのに思いの外手間取った。 選んだバインディングがincrementalな求解に対応していなかったのであまり綺麗にならず、普通に手でゴリゴリ書いた方が早かったなあ、という感じになった。
そうこうしている内に窓の外はどんどん雷雨状態になっていって、その合間を縫ってバスで家まで帰ってきたのが21時頃、漸く標準的な具材が揃った状態で冷やし中華を食べることができた。
そんな感じで。明日はセミナーを梯子するかもしれないが、もしかしたらシウのカツに備えるかもしれない。
うたったうた
特にうたわなかったが、陽水とたまを聴いたよ。
Proposalの書き口はどうも「ベンチ取るついでにalgebraic graphも改良します」と言う感じなので、そこまで進展があるかはよくわからないけど……。↩︎