2007-01-07

最近みた TechTalks

Google Video で公開されている Google TechTalks の シリーズが面白い. 私の中ではこのシリーズのために YouTube より Google Video を 評価している. 家にテレビがない類の人間がする評価なんてこんなもの...

このシリーズは Google が計算機界隈などの有名人を招いて社内で講演を開き, その様子を録画したもの, だと思う. 話の中味は Google 固有でもない. とにかく話題や人選の気が利いていて, プログラマにとっては喜ばしい内容になっている. (見所一覧.) プログラマ向け福利厚生の一環かもね. 一編が長く, ダウンロードに時間がかかるのが唯一の難点.

今年はヒアリングの勉強がてら, ぼちぼちこいつらを見ていく予定.

Spatial Query Processing Utilizing Voronoi Diagrams

空間情報の検索にボロノイ図を使うぜ, という話. ボロノイズ図はもともとそういう用途のためにある節もあるけれど, 問い合わせの種類がちょっと複雑. 二種類の問い合わせが紹介される.

最初の問い合わせの例は "旅行先でホテルを選ぶ" というもの. 旅行先で行っておきたい観光スポット(の場所)を複数選ぶと, その場所のどらからも適当に近いようなホテルを複数のホテルから選んでくれる. 元のデータはホテル集合 N と, 問い合わせは観光スポットの部分集合 M . ベタにやると O(MxN) の時間がかかるところを, 前計算して N のボロノイ図を作っておくことでもっと高速にできるという. ボロノイズで空間探索をするのは面白い. ある適当なボロノイセルからスタートし, 目的の点に近づけるような隣接セルをたどっていく. そうすると目的の点を含むセルに辿りつく. なんか前に似たようなものを見たこともある気がするが, 思いだせない...

もう一つは "ガソリンスタンドとスーパーに寄ってからレストランに行きたい. 最短で回れる店は?" みたいな検索. Skyline Query というらしい. データはガソリンスタンドの集合と, スーパーの集合と, レストランの集合. 入力は自分の位置と行きたい場所の "種類" の列. {ガソリンスタンド, スーパー, レストラン} みたいのね. 種別毎にボロノイズを計算してく. 問合せの列はひとつずつ消化していくかんじでインクリメンタルに計算する. 詳しいことはいまいちわからず. これも速いという話.

この人達は Google Sponsored で研究をしていたらしく, デモにいちいち Google Maps が使われているのが面白かった. まあそういう下品な勘繰りをしなくても普通に Google Maps は便利に使いそうだけれども. 地理情報を使ったある種の "検索" は, 色々やることがあるのだなと思った. でも CRUD の世界とは程遠いなあ...

Beyond Test Driven Development: Behaviour Driven Development

見たのが少し前なので中味をほとんど忘れてしまった...こんどから早めにメモとります. Ruby を使った BDD の話. RSpec の宣伝ね. RSpec はいいなあ. 自然言語っぽく書けるのは大事だ. Java で真似するのはさすがに大変そう. BDD そのものにはピンときていないけれど, ruby の標準についてたら使ってもいいかなと思った.

英語による Takahashi-method を見れたのが最大の収穫でありました.