2004-01-02 [長年日記]
λ. 初詣
成田山, 金龍山浅草寺, 柴又帝釈天へツアーで行ってきた。えっ? 全部お寺なのに何が初詣だって? ノン、ノン、ノン、モナミ。成田山には巫女さんがいたのですよ。どう見てもバイトの人とはいえ、巫女さんがいるのだから、初詣で全然問題ないのですよ。ええ!! (以下略)
……とりあえず神仏習合バンザイって事で。
λ. newtype/datatype (was efficiency)
そうか、単純に pointed CPO だけじゃだめなのか。なるほどねぇ。Haskellのデータ型の意味についてちょっとナイーブに考えすぎてたな。それから、「undefined :: a->b」と「λx.undefined :: a->b」が異なっているという話で、Topology via Logic に以下のように書かれていたのを思い出した。
However, we get something more interesting if we try to solve
D = [D→D]⊥
This has been studied by Abramsky [87,90], and also, following him, by Ong [88], in connection with the lazy λ-calculus. The effect of the lifting is to make a distinction between ⊥, a completely divergent object, and λx.⊥, which is known to be a function but which diverges whenever it is applied to an argument.
Computationally, this corresponds to not trying to evaluate a function beyond the λ until application time, and is the way things are generally done in practice.
- S.ABRAMSKY
- [87] Domain Theory and the Logic of Observable Properties, PhD Thesis, Queen Mary College, University of London, 1987.
- [90] "A domain equation for bisimulation", Information and Computation, 1990.
- C-H L. ONG
- [88] The Lazy λ-Calculus: An Investigation into the Foundations of Functional Programming, PhD Thesis, Imperial College, University of London, 1988.
ちょっとこれらの論文を読んでみたくなった。『A domain equation for bisimulation』はPSファイルが見つかったのでまずこれを読んでみよっかな。
- 関連エントリ
λ. 小泉首相の靖国神社参拝
少し前に『「いつ参拝しても批判されるなら、公約通りに断行した方が潔い」(首相周辺)との判断に傾きつつある』という記事を読んで、今年は終戦記念日に参拝してくれるんだろうと期待してたので、元旦の参拝にはビックリした。元旦に参拝するのも悪くはないと思うけど、年一回参拝という公約を考えると、今年も終戦記念日には参拝しないんだろうなぁ。はぁ(ため息)
2004-01-05 [長年日記]
λ. 明後日から学校なので朝無理やり起きたのだけど、眠すぎて何もする気が起きない。それに明後日から学校だと思うと少々気がめいる。欝だ。それから、年が明けて初めて自転車でちょっと出かけたのだけど、冷えるなぁ(「流石だな、黒幕者」)。その後昼寝。起きたらもう夕方だよ。それから名探偵コナンのスペシャルを見たり。それにしても明後日から学校かぁ……
λ. 借りた本
- 小説すばる 2003年5月号
- -
- 『二つの約束』
- ダニエル・スティール (Danielle Steel) [著], 天馬 龍行 [訳]
- 『ODAの正しい見方』
- 草野 厚 [著]
- 『金持ち父さんの投資ガイド入門編』
- ロバート・キヨサキ(Robert Kiyosak), シャロン・レクター(Sharon Lechter) [著] 白根 美保子, 林 康史, 今尾 金久 [訳]
そういえば、草野先生の本は『日米オレンジ交渉—経済摩擦をみる新しい視点』を以前にパラパラと見たことがある程度だし、授業を取ったこともないんだよなぁ。せっかくSFCにいるのに勿体無いかな。
λ. Re: ヘルシング
内容もどう考えても規制の少ない日本国内だからこそ出版できたというか。カトリックとプロテスタントの宗教戦争とかナチスとかね〜。
そういえば、「ソフィア先生の逆転裁判2 part4 〜ユダヤの嘘を暴いてドイツの無罪を勝ち取れ〜」というページでドイツのオタク事情が取り上げられているのですが、ヘルシングについて日本人が思っているような特別な反応はなく、普通のアニメとして認知されているようである
と書かれてました。アニメ版にはナチスは出てこないし、このページを信用してよいかわからないけど、とりあえず参考までに。
2004-01-07 [長年日記]
λ. 借りた本
- 『研究計画書の考え方—大学院を目指す人のために』
- 妹尾 堅一郎 [著]
- 『世界を不幸にしたグローバリズムの正体』
- ジョセフ・E・スティグリッツ (Joseph E. Stiglitz) [著], 鈴木 主税 [訳]
λ. 読書
- 『なつめヴルダラーク!』
- 西川 魯介 [著]
2004-01-08 [長年日記]
λ. 人工無能「久脳」
「久脳」という名前には萌えが欠けている(?)ので「メカおにぃちゃん」という名前を提案したいと思います。……というのはさておき、どんな感じになるかちょっと試してみようと思い、kn君とのメッセンジャーのログを 人工無脳エンジン Ghoti に突っ込んでみた。すると、考えてみれば当然なのだけど、kn君の喋り方だけでなく、僕の喋り方まで学習されてしまった。これは今回の目的には都合が悪いけど、これを避けるためには学習アルゴリズムに本質的な変更は必要ない……といいなぁ。そういえば、学習問題として考えると、無脳の学習は通常は正例のみからの学習で、負例は無いんだよね。
あと、人工無能の分野では、言語に関する理論、たとえば状況意味論(Situation Semantics)や談話表示理論(DRT, Discourse Representation Theory)や動的意味論(Dynamic Semantics)といった理論はどれくらい使われているのだろう?
λ. Citrus iconv の実装
BSDCon.jp の 「Citrus iconv の実装」原稿 (PDF) と プレゼン資料 (HTML)
を読んだ。
2004-01-09 [長年日記]
λ. MSにいるHaskellの大物
http://blogs.gotdotnet.com/emeijer/ MSにHaskellの大物がいたとは知りませんでした。
Erik Meijer も有名ですが、MSにいるHaskellの大物といえば、まず Simon Peyton Jones でしょう。
λ. 研究(?)
昨日、ベットに入ってウトウトとしてたときに、いいアイディアを閃いて面倒な問題が解決したような気がしていたのだけど、今朝目が覚めたら全然そんなことはなくて、ちょっとガッカリ。でもまぁ問題を整理するのには多少役にたったので、よしとするか……
ψ さかい [ツッコミのテスト]
2004-01-10 [長年日記]
λ. http://xmlns.com/wot/0.1/pubkeyAddress
ちょっと現実逃避に自分のFOAFファイルを弄っていたのだけど、WOTボキャブラリのpubkeyAddressの定義って分かり難いよなぁと思った。
- コメントの"present document"って最初はdomainのリソースのことかと思ったのだけど、どうやらwot:pubkeyAddressの使われたRDFファイルの事らしい。そんなのアリかよ!? (T_T)
- それから、domainの方は実際にはwot:PubKeyのようだけど、それなら最初からResourceではなくwot:PubKeyと書いておいて欲しいものだ。
<rdf:Property rdf:about="http://xmlns.com/wot/0.1/pubkeyAddress" rdfs:label="public key address" rdfs:comment="The location of the public key used to sign the present document" > <rdfs:domain rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource" /> <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource" /> </rdf:Property>
λ. "The Haskell Road to Logic, Math and Programming" by Kees Doets and Jan van Eijck
メモ。なかなか面白そう。ドラフトが公開されている。
λ. クイズダービー
遠山さんに教えてもらって、ようやく2日の日記のツッコミの元ネタを理解する。一番年代が近いはずのささださんが知っているのに、これまで知らなかったのがなんだか悔しい。
ψ はら [ネタは分かってもなかだ氏の意図不明のままね。しかし当時からはらさんは鬱だったなあ。]
2004-01-11 [長年日記]
λ. 携帯電話の現状に関するアンケート
友だちの久野君がアンケートをしてます。卒論の一部に使うそうなので、よかったら協力してあげて下さい。
λ. バカが征く (2004-01-11) より
http://osnews.com/story.php?news_id=5602&page=3
例によって本文は読んでいませんけど、数値だけを比べれば、Javaが遅いとい うのはもはや都市伝説ですね。trigって何かと思ったら三角関数のことのよう です。そんなもん使いませんから。
これは非常に明るいニュースですよね。まともなベンチだとしたら、もはやGC は全然問題にならないという1つの傍証でしょう。
I/O を除く4つのベンチマークは、 Javaだとすべてプリミティブ型の演算なので、 GCはほとんど関係ないでしょう。
Pythonが遅いのはJITがないからでしょうか。確か仮想機械使ってるんですよ ね。やっぱり単純に仮想機械にしただけじゃダメってことでしょうか。
Python/Psycoは一応JITですよ。想像ですがPythonが遅いのは、数がboxed representation で扱われてしまっているせいという部分も結構あるのではないかと思います。
それはそうと、この結果は gcc の三角関数が異様に遅かったりして納得いかなかったので、自分でも同じベンチマークをLinux上で実行してみました。ついでにRubyも加えてみました。後でYARVも試します。
int math | long math | double math | trig math | I/O | TOTAL | |
---|---|---|---|---|---|---|
gcc 3.3.2 | 8.1 | 20.0 | 7.8 | 3.5 | 1.1 | 40.4 |
Java 1.4.1 | 13.5 | 29.6 | 14.7 | 71.1 | 3.2 | 132.1 |
Python 2.3.2 + Psyco 1.1.1 | 20.4 | 549.5 | 84.2 | 13.8 | 2.7 | 670.1 |
Python 2.3.2 | 381.0 | 866.2 | 525.4 | 508.7 | 3.2 | 1826.8 |
Ruby 1.8.1 | 1079.7 | 3710.3 | 948.1 | 39.6 | 6.0 | 5783.8 |
2004-01-12 [長年日記]
λ. 借りた本
- 『二つの約束 下』
- ダニエル・スティール (Danielle Steel) [著], 天馬 龍行 [訳]
λ. FOAF Walker
山けんさんという方の作った FOAF Walker というツールで自分や他人のFOAFファイルを眺めて遊んでみる。FOAF Walker はちょっと癖があるけど、なかなか楽しいツールだと思う。
自分を中心とする100ノードほどを表示してみると、自分の周りが疎なのがちょっと面白くない。みんなFOAFしようよ〜 (笑)
2004-01-14 [長年日記]
λ. YARV + Ruby/TCC
YARVの出力したバイトコードを、実行時にC言語に落としてRuby/TCCでコンパイルしてみる(そのためのパッチ)。でも、そしたらかえって遅くなってしまった (T_T)
青木さんの「これを使ってJITコンパイラ作れるかな」というツッコミを見てから、実行時にrb_eval()を部分計算してRuby/TCCでコンパイルというのをずっと考えてたのだけど、rb_eval()がでか過ぎてこれは挫折してたのでした。YARVはまだ小さいので簡単に試せて楽しかった。
λ. 読書
- 『進め!聖学電脳研究部』
- 平野 耕太 [著]
ψ ささだ [んーと、そのために命令と独立にしてるんで、結構いけそうな気がしなくも無いが。(しかし、いきなり大技だ)]
ψ さかい [tccではなくgccを使ったら、ちゃんと速くなりました (^^; どうやら、遅くなってしまっていた原因は、コンパイラ..]
ψ ささだ [- 速くなったのはどれくらい? - スタック操作、どうやってんのかよくわかんないんだけど - 変換後のソースぷりーず..]
ψ さかい [> - 速くなったのはどれくらい? 実行時間(コンパイル時間を除く)を見ると、大体20%くらい速くなってます。 ..]
ψ ささだ [ああ、なんてこった。PUSH は insns2vm.rb で加えちゃってんのか(もう覚えていない)。だめだこりゃ。 ..]
ψ さかい [> スタック操作を消せば、倍にはなりそうだな。 そうですね。私も本当はそこまでやりたかったのですが、学期末で時間が..]
ψ ささだ [100倍になりますた.]
ψ さかい [さっすがぁ! P.S. 今度のRHG読書会の時にでもYARVの事を色々と訊こうと思ってたのですが、私はちょっと都合..]
ψ ささだ [なんてこった.私も色々と聞こうと思ってたのに.sfc まで行こうかなぁ(何しに).]
2004-01-20 [長年日記]
λ. YARVでの末尾再帰
YARVにsendとendを融合した新しい命令(tailsend)を導入することで、スタックを消費しない末尾呼び出しを実現してみる(yarv000c-tail.diff)。ただし、クロージャのこととかは全然考えてない。
それと、余計なスタック操作が加わるので当然遅くなるはず。簡単なプログラムで試してみると1.7%ほど遅くなった。場合によってはもっと遅くなることも考えられるけど、これくらいならなんとか許容範囲?
インタプリタ | 実行時間(秒) |
---|---|
ruby | 47.14 |
yarv | 10.18 |
yarv(tailsend) | 10.35 |
評価プログラム:
def test(n) if 0==n 0 else test(n-1) end end i = 0 while i < 10000 test(1000) i += 1 end
2004-01-21 [長年日記]
λ. ようやく一息つける。あともうひと踏ん張りか。
λ. 「Windows Services for UNIX」v3.5 日本語版を無償公開
えとせとら(2004-01-21)より。早速インストール。これでCygwinを捨てられるといいなぁ……
λ. YAMLとかN-TriplesとかN3とか
「XML : YAML」という関係と、「RDF/XML : RDF/N-Triples」「RDF/XML : RDF/N3」という関係には類似点はあるか?
λ. Java Curses Library (JCurses)
The Java Curses Library is a library, that makes is possible to create text
based terminal applications with Java programming language, like curses under
Unix. For this purpose a windowing toolkit is implemented, that, like AWT,
consists of many classes for text based windows and GUI elements, that are
layouted within these windows. An application,that bases on the library,
creates one or more of this windows and reacts on events coming by user
interactions with GUI elements.
某氏に「topみたいな表示をJavaでする方法はないですか?」と訊かれたので、ググったらこんなものを見つけた。
2004-01-22 [長年日記]
λ. MSN Messenger contact list to FOAF conversion
こないだ萩野研の誰かが「MSNメッセンジャのコンタクトリストあたりからFOAFを生成するのが良いのでは?」といっていたのを思い出し、簡単なスクリプト(msnmsgr2foaf.rb)を書いてみた。 サインインしている状態で実行すると標準出力にFOAFを出力する。まだ、作りこんではいないけど、雛形を作るくらいには使えるだろう。
が、その後ググってみたら [rdfweb-dev] MSN contact list to FOAF conversion というメールを見つけ、例によって同じ目的のツールがすでにあったと知る。
λ. SFU 3.5 で ruby をコンパイルしてる人の数 → (5)
というわけでコンパイルしてみる。
λ. Re: 街で見かけた数学用語
so1さんは とてもとても手が出せない遠い存在
といいますが、toposの概念自体はそんなに難しくないですよ。toposの定義はさておき、部分集合の概念を圏論の言葉で一般化したのがsubobjectですし、集合Xの部分集合Sに対応する特性関数 φS: X→{true,false} で、Sを部分集合からsubobjectに一般化するために、集合{true,false}を一般化したのがsubobject classifier (truth-value object) Ω です。
論理との関係にしたって、任意の集合が(部分集合を命題、集合演算子を論理演算子
として)古典命題論理のモデルになっているのと同様に、toposのobjectは直観主義命題論理のモデルになっている、というのが最初の話だったと思います。
もちろん、私の知識なんて微々たる物なので、 この先に奥深い話がきっと沢山あるんでしょうけどね。
ところで、Topos Theory in a Nutshellなんかにも書かれてますが、William Lawvere and Steve Schanuel, Conceptual Mathematics: A First Introduction to Categories, Cambridge U. Press, Cambridge, 1997. のtoposの入門はとても分かりやすかったです。それから、同じページで知ったのですが、Michael Barr と Charles Wells の Toposes, Triples and Theories ってオンラインで公開されているんですね。
2004-01-23 [長年日記]
λ. Object-Oriented Dynamic Languages
This course covers language design principles and implementation techniques for advanced object-oriented dynamic languages (OODL). OODL's address the increasing demands for quick time to market by attempting to narrow the gap between conception and realization through a higher level of abstraction, clean semantics, automatic memory management, incremental development, and reflection. We will cover a series of compiler and runtime implementation techniques which permit the efficient delivery of these language / development environment features.
メモ。
λ. Re: 人工無脳エンジンGhoti
ところでヒビルテさんのところで出されている疑問なんですが;
人工無能の分野では、言語に関する理論、たとえば状況意味論(Situation Semantics)や談話表示理論(DRT, Discourse Representation Theory)や動的意味論(Dynamic Semantics)といった理論はどれくらい使われているのだろう?
・・・すいません。わかりません。無脳ですし。
私が取り上げた理論は形式意味論(formal semantics)という、論理学と非常に近い分野の理論です。実のところ、私はこの中のどの理論についてもあまり詳しいことは知らないのですが、モンタギュー意味論の時代に比べれば、チャットのような談話の意味を扱うための理論的な基盤は随分整備されているという印象を受けます。ですから、人工無脳でもひょっとしたら(何らかの意味論を用いて)少しは意味も扱っているかも知れない、あるいはそういう人口無脳もあるかも知れないと思ったのです。ですけど、svnseedsさんの話を読んでいると、どうやら現在主流の人口無脳では意味は本当に一切扱っていなくて、syntaxと確率モデルだけから会話を行っているみたいですね。
λ. msnm.rb
msnm.rb という MSN Messenger プロトコルを扱うライブラリを知った。サイトはhttp://www.ghostop.com/msnm.rb/ なのだけど繋がらないので、msnmnmz.rbのサイトからダウンロードしてくる。で、早速ボットを作るべく試してみたのだけど、うまくいかない。やり取りを見ると「VER 1 MSNP2」に対して「VER 1 0」が返ってきている。MSNP2はもうサポートされていないのかな。しょぼーん。
ψ あるふぁ [状況意味論や動的意味論は「そもそも状況とはどのように会話に関係するのか?(状況 A と状況 B の移り変わりはどうや..]
ψ せざーる [はじめまして。 たしかMSNP8未満はセキュリティの向上という名目でサポートしなくなったはずです。 まだ試してはいな..]
ψ さかい [あるふぁさん、お久しぶりです。 動的意味論は状況意味論以上に知らないので、とりあえず状況意味論の場合についてコメント..]
ψ さかい [はじめましてセザールさん。情報ありがとうございます。 早速msnlibを試してみたのですが、そのままだとログイン出..]
ψ 石橋秀仁 [msnlibというものがあるのですね。 msnm.rbは動作するように直しました。 http://zerobase...]
ψ さかい [おおっ。素晴らしい。 久しぶりにボット作りに挑戦してみよっかなぁ。]
2004-01-27 [長年日記]
λ. 土曜から風邪ひいてました。まだ少しダルイっす。
λ. 借りた本
- 『異端の数ゼロ — 数学・物理学が恐れるもっとも危険な概念』
- チャールズ・サイフェ (Charles Seife) [著], 林 大 [訳]
- 『そうだったのか! 日本現代史』
- 池上 彰 [著]
- 『ホントの話 — 誰も語らなかった現代社会学 全十八講』
- 呉 智英 [著]
- 『寝ながら学べる構造主義』
- 内田 樹 [著]
- 『説得できる英文Eメール200の鉄則 — IT時代のビジネス通信文はこう書く』
- 倉骨 彰, Travis T. Kurahone [著]
λ. javascript初心者
rubyで書いた
require 'win32ole' messenger = WIN32OLE.new('Messenger.UIAutomation.1') contacts = messenger.MyContacts nick = messenger.MyFriendlyName
は動くのに、javascriptで書いた
var messenger = new ActiveXObject('Messenger.UIAutomation.1'); var contacts = messenger.MyContacts; var nick = messenger.MyFriendlyName;
はMyFriendlyNameのところで「このオブジェクトではサポートされていない操作です」となる。なんでだろぅ〜!?
λ. 『声に出して読めないネット掲示板』, 荷宮 和子
某氏の机の上にあったのでパラパラめくってみたのだけど、なんつーか、イタイな。こんなイタイ本を見るのは久しぶり。
2004-01-28 [長年日記]
λ. 「NPOと社会経済」テスト
用語の意味を説明せよという問題で「イギリスの Age Concern と Anchor Trust」が答えられなかった。ちょっと悔しい。
λ. Detours: Binary Interception of Win32 Functions
を読んだ。Detoursを使うと以下のようなことが出来る。素直に面白かった。
- 実行時に関数のイメージを書き換えることで、その関数の呼び出しを横取り出来る。また、元のコードもトランポリン経由で呼べる。
- 実行ファイルにデータセグメント(payload)を追加したり、インポートテーブルを変更したりできる。
- 既存のプロセスや新しいプロセスにDLLをロードさせられる。
λ. 知人関係を用いたプライバシ保護型マッチングシステムの研究
知人ネットワークを用いた人材マッチングシステムの研究をしています。
FOAFとか、Friendsterとか、そこらへんの話題に近いですね。
コミュニティウェアとか人工知能学会とかで扱うテーマなのですが、村井研らしく
インターネット志向、ディプロイメント志向を前面に押し出しています。
ゆーすけべー日記 (2004-01-20)より。あー、これか、こないだ片山さんが言っていたのは。
ψ はら [成田山私も。つーか地元なんです。成田山の集金力はすごい。]
ψ とおやま [参拝するんじゃない? 今回のは初詣なんでしょ? 慰霊者参拝は別とか言うと思う。]
ψ さかい [成田山もどこも無茶苦茶混んでたので驚きました。 正月とはいえ、これほどとは…… ところで、去年はRHG読書会などで..]
ψ はら [是非!]
ψ なかだ [はらさんに全部!]
ψ はら [わけわからない、、、一発逆転ねらい?]
ψ さかい [???]
ψ ささだ [一発逆転だったらはらさんじゃまずいんじゃないのでしょうか]
ψ takot [三択の女王竹下さんで.]
ψ はら [そうかあ「手堅くはらさんに全部」が正解かあ。]