2001-09-14
λ. 米国同時多発テロ事件
- 米大規模テロの犯人像を考える (田中宇の国際ニュース解説)
- アメリカのテロ事件を読む (田中宇の国際ニュース解説)
- 米国のイスラム全面戦争開始 (国際戦略コラム)
λ. 「報復措置」 > ケシゴム
要するに「泥棒にも三分の理、テロリストにも一分の理」って感じっすかね? でも、目的は手段を正当化しないし、テロリストに自分への文句を訊くなんて、悪しき先例を作るだけ。仮にイスラム原理主義勢力の犯行だとすると、彼らの主張はこれまでに十分に認識されているし、そもそも僕等には彼らのメッセージを「認識」はすることは出来ても、「理解」することは無理じゃないかと思うんだよね。
λ. 忠告は、相手に活かす意志が無ければ無意味だし、対話も、お互い譲歩する意志が無ければ、意味をなさない。歴史に価値観に利権、澱のようにたまった想い。話し合いで解決するくらいなら、テロなんて起きない…
λ. だから、報復措置ってのは次善の戦略でしかないけど、やっぱり必要だと思うんだ。
2003-09-14
λ. Re: NP完全問題を解く決定性アルゴリズムについて
私は計算量問題とかにはど素人なので、以下は眉につばを沢山つけて読んでくださいませ。(間違っていたら遠慮せずに突っ込んでもらえると嬉しいです)
まず、構成的数学というのは、直観主義論理に基づいた数学で、要するに証明に背理法*1を使わない世界です。背理法を使えないので、何かが存在することを証明するにも、存在しないことを仮定して矛盾を導いてもダメで、具体的にその何かを構成しないといけないわけです。例えば、ブール式の充足可能性問題(SAT)を解く場合でも、具体的な割り当てを構成する必要があります。つまり、充足可能かという情報だけでなく、実際の割り当てという「それ以上」の情報が必ず分かってしまいます。
そこで、yes/noの答えはP(違ったかも)で求まるけど、そこから「それ以上」の情報を計算するにはより大きな計算量を必要とする、そういう問題とそれを解くアルゴリズムを無理やり捻り出してみて、それを分析中。……というような話だった思います。まだ完成した話ではないそうです。
*1 ここでは「¬Aを仮定して矛盾を導くことで、Aを証明すること」
λ. おでかけ
友人たちと秋葉原と神保町へ。自分から秋葉原に行くなんて、失ってはいけないものを失ってしまったような気もするが、気にしない事にする。それから、秋葉原から神保町まで歩こうとして迷ってしまった。
λ. 読書
- 『グリーン・マイル (1) -- ふたりの少女の死』
- スティーヴン キング (Stephen King) [著], 白石 朗 [訳]
2004-09-14
λ. 第2回プログラミングおよびプログラミング言語サマースクール (PPL Summer School 2004)
先週予告したように、これに行って来た。この手の集まりに参加するのは初めてだったのだけど、参加者は30人ちょいくらいを予想していたので、80人くらいいてビックリした。それから、Haskell Marathonのときにお会いした横山さん(最初そうだと気付かずにすいませんでした)と、Rubyのコミッタのうえの かつひろ さんに会うことが出来た。あと、tradさんからツッコミをもらっていたので、会えるのを楽しみにしていたのだけど、見つけることが出来ず残念だった。
λ. プログラム変換入門, 高野 明彦 先生 (国立情報学研究所)
本当に入門だった(講義の一回目と二回目相当だそうだ)ので、少々物足りなかった。 個人的にちょっと面白いと思ったのは、酸性雨定理(Acid Rain Theorem)が Eric Meijer の命名で、Theorems for Free によって只で得られる、森林破壊(Deforestation)のための定理だからという話。それから、「こういったプログラム変換の技術によって、アルゴリズムをどう表現しておくかを選べるようになったらいいなぁ」とか「オブジェクト指向言語のクラスライブラリは人間側に媚びすぎ。中間データ型のチョイスが違うだけで問題の本質は変わらない、といったことを見抜ける形にはなっていない。関数言語が貢献できるのはそういった点ではないか」といった事も言っていた。
λ. お昼
λ. XMLとスキーマ, 村田 真 先生 (日本IBM)
- 参考文献
-
- XYZ第一回の資料
- XMLとスキーマ言語, コンピュータソフトウェア (掲載予定)
- Taxonomy of XML Schema Language using Formal Language Theory, ACM TOIT (投稿中)
λ. よくわかる定理証明ーIsabelle/HOLを用いた定理証明入門ー, 南出 靖彦 先生 (筑波大学)
実はこのチュートリアルに一番期待してたのだけど、とてもわかりやすいチュートリアルだった。Isabelle/HOLとSML/NJは以前何かの機会にインストールしてたんだけど、全然使ってなかった。これを機に使ってみようかなぁ。
λ. Java Just-In-Time コンパイラ, 石崎 一明 先生 (日本IBM)
へぇ、こんなに色々最適化技法があるもんなんですねぇ。このうちのどれだけがYARVやSTGマシンに適用可能かなぁとか思いながら聴いていた。
ψ shelarcy [酒井さん、Haskell T シャツ着ていったんですね。 http://www.kmonos.net/wlog/42..]
ψ さかい [そうです。それは私でした。 稲葉さんもいたのに会えなかったのかぁ。残念だなぁ。 > もっと前からセミナーがあること..]
ψ k.inaba [こんにちは。酒井さんでしたか。 やっぱり話しかけてみればよかったです。^^]
ψ trad [前のほうにいました。 Advanced Functional Programming Summer School ..]
ψ shelarcy [Wiki の RHG のページに書いたのですが、遅かったのか反応がないので。 さかいさんが情報元として使っている [..]
2006-09-14
λ. CleanとHaskellの宣言スタイルの違い
Concurrent Clean : カリー化と効率 の「Cleanではエクスポートする関数は定義モジュールファイルに関数の型宣言だけを記述するというスタイル」という部分を読んで、HaskellとCleanの宣言のスタイルの違いが少し理解できた気がする。
Clean入門(22):モジュールによれば、Cleanではモジュールを使うのに必要な情報は*.dclファイルとしてユーザによって記述される。そのため、効率的なコンパイルのために、アリティや正格性も宣言の一部として記述することになっているのだろう。 それに対して、Haskellの代表的処理系であるGHCでは、モジュールをコンパイルすると*.hiファイルが生成され、この中にモジュールを使うのに必要な型情報・アリティ・正格性等の情報が格納される*1。そして、そのモジュールを使うコードをコンパイルする際にはそこから情報が参照される。そのため、正格性やアリティをユーザが宣言で明示せずとも、それらを利用した効率的なコード生成が可能になっている。 そのあたりの違いが、HaskellとCleanの宣言のスタイルの違いの一つの理由ではないだろうか。
ところで、どうしてこのような違いが生まれたか考えていて感じたのだけど、Haskellは出来る限り言語や意味論を拡張せず処理系で対処するのに対して、Cleanは言語や意味論を拡張して対処する方にわりと寄っているように思える。モナドvs一意型や、ラムダ計算vsグラフ書き換え系といった対比からもそれはうかがえる。以前はCleanのことを「Haskellに似てるけど何だか奇妙な言語」だと思っていたけど、そう考えるとCleanのデザインディシジョンもなんだか理解できそうだ。
*1 インライン化対象のコードについては、コードそれ自体も格納される。
λ. 今日の英語: kind of
If you don't know Arcueid, you're really kind of a failure as an otaku.
「a kind of」と言わなくて良いのだろうか。もし「kind of」を副詞的に使っているのならその後にくるのは形容詞か動詞のような気がするし。
ψ takot [元の文は何に出てきたものなんだろう. 最近僕もようやく分かってきましたが, 「日本人が考えるほど文法がちゃんと運用さ..]
ψ さかい [やっぱり文法についてはそんなものなんですね。 ありがとうございます。 # ちなみに元ネタは海外の掲示板です。]
ψ rpf [kind of は口語体で使われる副詞句で「ちょっと」という意味だと思うのですが。Arcueid を知らないなんて、..]
ψ さかい [そういう意味があるのは知っていたのですが、その場合に kind of の後に名詞がくる文を見たことがなかったので、ひ..]
ψ 晩ご [いまさら、蛇足もいいところですが… 「a kind of/a sort of」だと「ある種の〜」ですが、「kind ..]
ψ 晩ご [×「ある種の〜」○「その手の〜/一種の〜」すみません。]
ψ 晩ご [先のコメントがまとまっていなかったのでもう一度失礼します。文法上、副詞かつ形容詞なんでしょうけど、実際は有意味である..]
ψ さかい [詳しい説明ありがとうございます。 「I kind of agree.」とかは確かに便利そうな言い回しですね。今度使っ..]
ψ くるる [えーと、私も"kind of a failure as an Otaku"な口ですが、ウィキ先生に聞いてみたらこれが..]
ψ さかい [Wikipedia恐るべしですね (^^; なるほど、「"failure"という表現が適切かどうかわからないけど」と..]
2007-09-14
λ. HDD移行
先日、HDDの調子悪いと書いたが、注文したHDDが届いたので早速移行作業開始。 例によって、RIP(Recovery is Possible) のCDで起動。 2004/01/22 三田(2) 「ディスクが BIOS から認識しなくても諦めるな!」を参考に、念のためhdparmでdmaを無効にして、それから「dd if=/dev/hdb of=/dev/hda ibs=512 obs=10MB count=488392065 conv=sync,noerror」等としてコピー。
I/Oエラーが起こったのは一部領域の100KB程度のみで割と問題なくコピーが終わった。16時間くらいかかって、終わったのは15日の昼過ぎだったが。その後、起動出来る事を確認し、チェックディスクをかける。幾つかエラーが発見されるがファイル自体には特に問題ないようだ。 よかったよかった。
しかし、こういう作業をするときは緊張するな。
2008-09-14
λ. 第四十四回圏論勉強会
Abramskyの"Temperley-Lieb algebra: From knot theory to logic and computation via quantum mechanics"を読む4回目で、今回は 5 Categorical Quantum Mechanics の後半、5.2 Quantum non-logic vs. quantum hyper-logic と 5.3 Remarks を読んだ。 前回が中途半端なところで終わったせいで、量子テレポーテーションについてそれぞれに調べたり考えたりしてたけど、今回はそれぞれの調べたことや理解を確認するという感じだった。
Abramskyらのここでの量子テレポーテーションの説明だと、bonotakeさんが 「Abramsky & Coecke の量子テレポーテーションがちょっとわかりかけてきた - たけをの日記@天竺から帰ってきたよ」で貼っていた以下の図のように、観測の効果と古典情報の通信が添え字の選択として暗黙的に扱われてしまっていて、圏の中できちんと扱われていない(それらが射として扱われていない)。
もっとも、観測の効果については(密度行列に対する)superoperatorを射とする圏にすればちゃんと圏の中で扱えるはず*1だし、檜山さんの「量子テレポーテーションの楽屋裏 - 檜山正幸のキマイラ飼育記」によると Bob Coecke, Duško Pavlović "Quantum measurements without sums" では古典チャンネルもちゃんと扱えているようなので、原理的な問題ではなくこの時点での説明の単純化のためだとは思うけど。 ただまあ、いろいろとズルい説明なのは確かで、どんな読者層が想定されているのかはちょっと気になるところ。
あと、密度行列と純粋状態・混合状態に関しては、通俗な理解を晒してしまい、ちと恥ずかしかった。 純粋状態と混合状態についてはhiroki_fさんが「純粋状態 混合状態について - hiroki_fの日記」で書いている。
それから、こないだ「飲み会」で書いたことに関係して、日下部さんに暗黒通信団の「K-theory入門」という本を紹介してもらった。 index theory についてhiroki_fさんに訊くのは忘れてしまった。
関連
*1 私はまだよく分かっていないけど
2009-09-14
λ. Google Code Jam 2009: Round 1C
Round 1B に続いて、またプラクティスを解いてみた。 今回は初めて時間内に全問解けた*1。やったー!
(追記: やったー!と思ったが、ルールをちゃんと見たら、Largeは入力データをダウンロードしてから8分間だけしかsubmit出来ないのね。なら、CのLargeはアウトだったなぁ。残念。)
A. All Your Base
基本的には現れた文字の数をベースにして、最上位の文字に1、残りの文字は上位の桁に表れる数字から小さいに順に数字を割り当てていくだけ。 で、楽勝と思ったら、unitaryでないという注意を見落としててIncorrect食らった(A-small-practice.in だと Case #12 と Case #32 がこの影響を受ける)。 これ絶対狙ってる引っ掛けだよなぁ。
B. Center of Mass
複数の蛍のデータが与えられているけど、実際にはその平均の座標と速度だけ考えればいい。 あとは、中学数学で二次関数の最小値を求めるだけ。 なんだけど、最小になる時刻を求めるときに式の両辺を割っていたのを忘れてて距離の最小値の計算結果が合わず悩んだり、速度が0のときを忘れててIncorrect食らったりした。
C. Bribe the Prisoners
最初、空でないセルの区間をキーにしてメモ化して書いた。 そしたら、C-small-practice.inはすぐに解けたけど、C-large-practice.inがとても終わらなかった。 そこで、「区間ではなくパターンをキーにメモ化するようにしたら、違う区間で同じパターンが現れたときも計算を共有できて速くなるかな」とか思って適当に書き換えてみたら割とすぐ終わるようになった。
*1 1A, 1B, 1C では今回の1Cが一番簡単だったと思う。
λ. tDiaryがIconv.convの呼び出しなどで落ちる
サーバーのRubyのバージョンがあがったら、tDiaryがIconv.convの呼び出しなどで落ちる。 こりゃ環境がおかしいのかと思ったら、Rubyのバグとのこと。 amazon.rb を使用して日記を更新するとRubyがSEGVる の現象と同じ。 最新版ということで ruby-1.8.7-p174 で試しても落ちたので、安定版スナップショットをいれたら、直った。
amazon.rbがSEGVする件 - 忘れたときに備えた記録(2009-05-06) の「あなたのRubyがamazon.rbでSEGVするか調べるワンライナー」が参考になった。