プレゼン心得

日本ではそういう時期なのですね。


http://keigomi29.hatenablog.com/entry/2014/02/11/140251

とか、基本線として分かりやすいです。

まず「訊かれたことに答える」ことです。

そんなんあたりまえやろ、と思うでしょ。それが全然当たり前じゃないんですよ。みんな普通に訊かれたことじゃないこと答えてます。まじで。何が、で訊かれたら「何」を答えましょう。「〜なのか」と訊かれたら答えはYesかNoです。

のあたり、日本の人が英語で発表しているときにも悪い例を良く見かけますね。"Is this XYZ?"という質問に対して、あるいは"Did you do XYZ?"という質問に対しても。"It is difficult."という返事を聞くのが結構定番な気がします。「難しい質問ですが」という前置きが訳されているのか、「やるべきだったのだけど技術的に難しかったのでやりませんでした。すみません」というのが訳されているのか、とは想像しますが、不慣れなときはまずはYes/Noで答えておかないと。

5年もすればネタになるでしょうし、20年後には思い出すことさえほとんどなくなっているでしょう。

これは(笑)。世の中には20年後にも卒論発表で失敗した夢を見て夜中にぱっと飛び起きている人もいるに違いない。

Robot Turtles

Kickstarterに出資したBertに送ってもらいました。

http://www.robotturtles.com/
コンセプトとしては阿部さん他の「にんげんプログラミングhttp://www.canvas.ws/kenkyujo/scratch/index.html」のようなものですが、きれいにパッケージして製品化しているところがすごいです。ルールはあってもないようなもので、子供と一緒にルールを作りながら遊べます。なかなかよし。

Emina Torlak来訪

Eminaさんは、KodkodというSATソルバーを作ったり、ソルバーを使ったDSLを作るためのフレームワークRosetteというものを作ったりししている研究者の人です。Onward 2013!で発表が前後したりした関係で(同僚のHesamは前からDagstuhlセミナーに一緒に参加したりしていたので既知でしたし)、Viewpointsに一度来て話をしてもらうということになりました。

Alanの斜め上からの質問にも動じずに、かつ分からないことは分からない、ということもはっきりと言える落ち着いた人でした。

どきどきプログラミング

こんなものがでるとは。

http://www.amazon.co.jp/dp/4822297314/ref=cm_sw_r_tw_dp_eEpMsb12D4SRP
「わくわくプログラミング」に載っているエッセイを以下のサイトに載せるときに、本の説明のために書名を英語に訳してくれないか、と命令を受けたのですが、
http://www.vpri.org/pdf/hc_what_Is_a_dynabook.pdf
「いやいや、私ごときのものが訳すのは難しいです」と答えて、結局は訳さず内容の説明をするにとどめた、という経緯がありました。いやー、我ながら素晴らしき慧眼。「どきどき」が出るとしらないままで「わくわく」を訳していたら、大はまりしていたところでした。

第三弾は「てかてか」に違いない。

Cyc

先週は1週間まるまるAustinにあるCycorpに缶詰になり、みっちりとCycについて勉強していました。

Cycというのは大きな知識ベースとその推論システムの名前です。もともとは日本の第5世代コンピューティングプロジェクトに脅威を覚えたアメリカが、対抗するプロジェクトとしてMCCという組織を立ち上げて、知識ベースをを作って行こうということではじまったプロジェクトでした。第五世代の人々とも交流が多々あったようです。その後は会社組織となり、山あり谷ありながら30年の時間をかけてみっちりと知識やルールを積み上げ、矛盾を内包するようなデータからでもなんらかの結論を出せるという推論エンジンになっています。

Cycは現在のところ、50万の概念、17万の集合、それらの関係を記述するassertionの総数として1200万、というような規模に育っています。Doug曰く、成人は5億個くらいの言明を頭に蓄えているが、Cycはその2%くらいまで来ていて、主導者のDoug Lenat曰く、予定より20年遅れたがようやく「使えるようになってきた」というところです。

いろいろなデモをみた限りでは、「常識」を備えたコンピュータ、というところまでは来ているとは言えないのですが、ちゃんとドメインに特化した知識を登録し、それに応じたqueryを投げるとちゃんと推論して、推論の根拠をちゃんと表示できるようになっています。

我々の研究では、プログラム同士がお互いを発見して、どのように恊働できるかを導きだす、というようなこともしたいのですが、Cycがその助けになるのではなかろうかと探っているところです。

Joe Hellersteinの講演

今週は、Bloomをやっていて、今はTrifactaという会社を始めている Joe HellersteinがUCLAに来て講演していました。Bloomというのは、Alan Kayが「未来はみんなこういう風にプログラムを書くようになる!」と言ったとされている言語で、我々のグループも注目しているのです。

https://twitter.com/tcondie/status/309510224992153601

時間の概念を取り入れた言語で分散環境もモデル化しているというところが売りです。


私はやや誤解していましたが、同期をとること事態は否定していないし、non-monotonicな計算も排除していないのです。要はnon-monotonicな計算がデータフローの中でどこに流れ込んでいるかを調べることができ、それが順序を要求するノードに入っているところでのみ同期をとれば良いということが静的に分かる、ということが真の強みですね。

「プログラムがノードごと別々に進化するようなタイプの分散環境もあるが、そういうところではBloomがどのくらい助けになるのか」ということを質問したのですが、「プログラムに変更があった場合は、静的検査をやり直さなくては行けないのは確かだが、情報としてはnon-monotonicな計算をするかどうかというフラグみたいなものさえ伝えれば良いのだ」ということでした。なるほど。