2005/09/29

よろしくお願いします。のタイプミスがはげしい。

丁しく尾根有g氏
丁しく尾根sマス。
よろしくお願いしまう
よろしくお願いします。
丁しく尾根貸しあしまう。
よろしくお願いします、

メールの文末にこういうのを見つけたら、てんぱってるなと思って見過ごしてやってください。それにしても丁しく尾根がってるな。

2005/09/28

同僚(っていうか先輩)のhsashimさんと歩いていると、よく「今すれちがった女性は鹿野さん好みじゃない?」ってふられるんですが、歩いているときに周りの人のことは見てないんです、すみません。で、そう返事をすると「どうせオマエは奥さんのことしか考えていないんだろう、この幸せボケが」とののしられる。

仮説1:僕は本当に幸せボケである
この仮説は半分正解で半分間違え。好きな奥様と暮らしているのは確かに幸せだが、それだけでボケていられたらブログロで心の排泄などしないのである。

仮説2:僕はただ単に周りの人を見ていない
自分ではこの仮説が正解だと思ってた。なぜなら、どこを見ているか意識しながら歩くと、決まって目の前の道路だけを見ていることに気が付くから。しかし冷静に思い返すと、昨日まで歩いてきた道路の景色を断片でも覚えているか? そんなことないわけで、むしろ通行人のこととか、見かけた車のこととか、町並みのことを覚えている。だから、僕は道路を「見て」はおらず、周りの人を「見て」いる。じゃあ、なんでhisashimさんが声をかけてきたときに、その指し示す女性を認識していないんだ?

仮説3:hisashimさんが妄想している、または枯渇している
ありえないとは言い切れない。しかしこれ以上考察を続けると人的被害が出かねないので思考中止。

仮説4:hisashimさんとは趣味が違う
人間は見たいものだけを見るので、彼が見ているものを僕が見ていないのは不思議ではない。でも、普段話している限りでは、そう大してズレているわけでもなさそうなんだけどなあ。


いずれの仮説も満足できる答えではないし、どうやって検証したらいいのかもわからないので、おしまい。

2005/09/26

結局、レンズを買ってしまった。

TAMRON:AF18-200mmF/3.5-6.3 XR Di II LD Aspherical [IF] MACRO (モデルA14)
http://www.tamron.co.jp/lineup/a14/index.html

シグマのと散々迷い、ヨドバシカメラでも決意が二転三転しながら、最後はゴールドポイントのパーセンテージでタムロンに決めた。だって27%もポイント還元だよ(昨日限り)。不純かもしれないけど、それだけ甲乙つけ難い製品だということ。技術力のあるメーカー同士が切磋琢磨している製品のユーザは幸せだね。
で、さっそく自宅で適当に何枚か撮影してみた。インドアばっかりでごめんなさい。

DSC_0077 DSC_0079 DSC_0082 DSC_0093 DSC_0084

さすがに200mm側だと手ぶれを抑えるのが大変。かといってD70の内臓ストロボを使おうにも、弱すぎて役に立たず。もっとも、どのみちフラッシュは使わないので、個人的には問題にならない。カメラを押さえつけて撮影するのみ。
写りは文句なし。芸術的というより工芸的だ。こういうのは好き。D70レンズセットの18-70mmと、18mm側で条件を同じにして撮り比べてみると、気持ち暖かい色見になる気がする。ただ、これはカメラのちっちゃい液晶画面で見比べたときの話で、Photoshopで開くと大差ない。あと、タムロンのほうが画角が正確っぽい。
何よりこのクラスのレンズの魅力は、ボディのサイズにあると思う。なにせ、D70レンズセットの18-70mmと変わらないわけで、もう積極的にこの18-70mmを使う理由がなくなってしまった。というわけで、これからはこっちを常用することにしよう。

2005/09/25

某所で知った「象られた力」(飛浩隆)を読む。そうとうおもしろい。4本の中編が収められていて、うち1本の「デュオ」以外は未来の宇宙を舞台に展開されるしっかりしたSFである。だから、必然的に設定や小物には趣向が凝らされているし、それに成功している。つまり、オタク的に面白い。その魅力は、現代を舞台にした「デュオ」にも溢れていて、それだけでも満足な一冊だった。もっとも、設定や小物が魅力的なのは、単にアイデアというよりも、その作中での生かし方の巧妙さにあるんだろう。ありきたりかもしれないネタを気持ち良く予想外の方向に引っ張っていってしまうストーリーと描写。
そういう、新しい世界を見せてもらう心地よさに加えて、いずれの作品にも個人的に共感できる視点があり、それも楽しむことができた。巻末の「解説」には「形と力の関係が云々」と書いてあるけれど、むしろ各作品に通底しているのは、力の背景にあるのが「個人」なのか「個人を越えた存在」(「死者」とか「宇宙」)なのか、その決定不能に抗している主人公(たち)を描くことなんじゃないだろうか。問題に対峙する主人公(たち)の解や行動は各作品ごとに異なっていて、その描き分け方が、うまい具合に魅力的なキャラクターづくりに貢献している。そういう意味では、この4本を選んできたのは正解だったと思う(ほかを読んだことはないけど、なんとなく)。
最後に表題作である「象られた力」の重箱をつつきたいわけですが、宇宙全体で活躍する建築家のハバシュの作品は、シジック以外の星系にもあるんじゃないだろうか? だとすると、シジックの歌が本編のような解釈をされることには無理があるような気がするんだけど…… それとも、リットン&ステインズビー協会がうまいことやってるんでしょうか。

2005/09/19

新婚のK宅へ。ひがなうだうだ過ごし、夜になってから多摩川の土手でひとしきり花火を燃やした。家庭用花火の火薬の匂いには、一日に対するノスタルジックと、季節に対するノスタルジックと、人生に対するノスタルジックとがごちゃまぜになっていて、無条件にはしゃぐにはつらい瞬間がある。だから、みんなが楽しんでいるのを端で見ているので十分なんです。それなら、はしゃげる。

2005/09/18

DSC_0025

金曜日は飲み友達(あえて)数名でトプカへ。思わず誕生日をお祝いしていただき、本当にありがとうございました。翌日は久しぶりに頭痛で目が覚めました。花を頂いたり、予期せぬ豪華なプレゼントを頂いたり、うれし恥ずかしなポラロイドを撮っていただいたりしましたが、何よりああして一緒に楽しむ機会をつくっていただいたことがたまらなく嬉しかったです。これからいろいろあると思いますが、末永くよろしくお願いします。

いただいたプレゼントたちの一部。

DSC_0036


ジムの写真はこちらからお楽しみください。
http://www.flickr.com/photos/k16/sets/966783/show/
どうやらSICP第1章の趣旨を勘違いしていたっぽい。しかも2重に。
いただいたコメントで紹介されている記事(Scheme:末尾再帰で木をトラバース)を読んで気が付いた一つ目の勘違いは、末尾再帰で書くことにより必ずしも効率がよくなるわけではないということ。それを意識してSICP第1章を読み直すと、確かにそんなことは書いてない。それどころか、式の処理モデルとインタプリタの実装とは別のはなしだって強調されてる。
もう一つの勘違いは、末尾再帰とiterativeなプロセスの混同。正確にいうと混同していたわけではなく、末尾再帰で書くことでiterativeに書いたことにもなると思いこんでいた。どっちも、勘違いの程度としてはたいしてかわらないので、いいわけにもならない。
結局、SICP第1章の目的は計算プロセスをより深く理解することであって、coolなプログラムを書くことではないんだろう。

以上を踏まえて、両替問題のiterativeバージョンに再挑戦。アイデアは、前回の項和を求めるプロシージャをiterativeに書こうというもの。このアイデアそのものは同じだけど、すこし頭がすっきりしたので問題がクリアに見えるようになった。

まず、一般に f の項和を求めるプロシージャが次のようにiterativeに書けることを確認。いちおう末尾再帰になっている。
;; Iterative sum
(define (sum f a z)
(define (sum-iter i summed)
(if (> i z)
summed
(sum-iter (+ i 1) (+ summed (f i)))))
(sum-iter a 0))

(sum (lambda (x) x) 1 10)
=> 55

これを、先日の両替問題におけるsumに応用すると、次のようになる。
;; change coin iterative
(define (d k)
(cond ((= k 1) 1)
((= k 2) 5)
((= k 3) 10)
((= k 4) 25)
((= k 5) 50)))

(define (cc-iter a k)
(define (sum i summed)
(if (= i (- k 1))
summed
(sum (+ i 1)
(+ summed (cc-iter (- a (d (- k i))) (- k i))))))
(cond ((< a 0) 0)
((= k 1) 1)
(else (sum 0 1))))

(define (count-change-iter a)
(cc-iter a 5))

(count-change-iter 100)
=> 292

これは、末尾再帰ではない。けど、iterative (だよね?)。

2005/09/15

電波をインターネッツで公開することの是非についての考察。

もやもや を具体的な姿で示すことと、具体的な姿を もやもや にすることは、単純な逆変換というわけではない。前者は具象化と呼ばれ、後者は抽象化と呼ばれる。これらは確かに逆変換なのだけど、それが単純でないといっている理由は、変換が準同型でないからだ。もやもや →姿→ もやもや で戻ってきた もやもや は、一般には最初の もやもや とは次元が違う。この、もやもや の次元に、順序をつけよう。順序のつけ方は任意だけど、「その もやもや の意味を評価できる第三者の数」に応じて、> または < または = を適用することにする。第三者は人間とは限らない。また、意味の定義はここでは与えない。この順序を、 もやもや のモデルを集合と見なしたときの包含関係により定義しても同じことである。
たとえば。
いまここで、自分の頭に漂っていた もやもや1 を、「多次元のもやもや」みたいな言い方で姿ある形に書き下した。これは、もやもや1 を具象化したことに相当する。さらに、順序をつけることで、書き下した概念を改めて もやもや2 に変換した。なお、もやもや1 は(定義により)そのまま日本語で説明することは不可能だが、もやもや2 は書き表せる。書き表せる、ということは、最初の もやもや1 に比べて、意味を評価できる第三者の数が明らかに多くなったと考えてよい。つまり、もやもや1≦もやもや2(等号は、もやもや2 を評価できるのが依然として自分だけの場合に成立する)。

うーん、どうでもいい。こういう「それっぽい」ことを書くのはやめてください、という声が内側から聞こえるが、電波でも書けば もやもや の次元があがるんだよ。だから書くことにした。

2005/09/13

SICP-第1章の両替問題の効率化(末尾再帰化)に悩んでいたら昼休みが終わってしまった。どうでもいいけど、こういう徒労を繰り返しているうちに人生が短くなっていくからちゅういしろ。あと、これから書くのは答えじゃないからちゅういしろ。

まず、変数と関数をいくつか用意する。
  • a:総額
  • k:コインの種類
  • d:コインの種類に応じて金額を返す関数
  • f:両替問題を解く関数

SICPでの考え方は、次のとおり。
f ( a , d ( k )) = f ( a - d ( k ), d ( k )) + f ( a , d ( k - 1))

これを式変形していくと、次を得る。
f ( a , d ( k )) = ∑_i=0→k-1 { f ( a - d ( k - i ), d ( k - i ))} + f ( a , d ( 0 ))

最後の項は定義により 0 だから、結局 f についての項和が得られる。この和をダイレクトにSchemeで書くと、次のようになる。

(define (d k)
(cond ((= k 1) 1)
((= k 2) 5)
((= k 3) 10)
((= k 4) 25)
((= k 5) 50)))

(define (sum-cc cc a k)
(cond ((< a 0) 0)
((or (= a 1) (= k 1)) 1)
(else (+ (cc (- a (d k)) k)
(sum-cc cc a (- k 1))))))

(define (cc a k)
(sum-cc cc a k))

(define (count-change a)
(cc a 5))

これは結局SICPの例と等価だよな。sum-ccだけ見れば普通の総和計算のコードなので、頭を捻って継続引き渡しスタイルで書くとかすれば、「見た目」は末尾再帰にできそうな木がする。それに、もうちょっとSICPを真面目に読み進めれば、∑を末尾再帰で書くヒントが書いてありそうな木がする。でも、評価の順番を書き下していけば結局SICPの例と同じ木になるわけで、そんなんじゃちっともうれしくないね。このあたりでいつもつまずく。SICPの第1章で主張しているのは、計算プロセスをrecursiveからiterativeにすれば計算機コストの面ではうれしい、って話だと思うんだけど、それってアルゴリズム(っていうか問題の解法)の話じゃないんだよねきっと。かといってプロシージャの表現の話でもないし。
ところでiterativeの訳語って逐次的?
晒されているアホな環境を抜け出して次のステージに行くには、アホを威嚇射撃しつつ自分の道をゆっくり進むしかない。(Joel On Software―射撃しつつ前進

2005/09/12

今日の訓示。コミュニケーションのコストは相手のプロパティによって決定する。だからといってコミュニケーションから逃げてはいけない。

2005/09/10

万年筆のインクを買いに銀座へ。明治屋でサミュエル・アダムスを開けてもらって歩行者天国で飲む。仲町商店街の阿波踊り大会をのぞきにいく。家に買えって肉を焼く。強火で30秒、肉の暑さに応じて弱火で15秒〜30秒。今日はいろいろ休み。

2005/09/08

技術を習得するっていうのは、溜め込んだ知識や情報や経験に横糸を通していくことだと思う。っていうか、昔、徹子の部屋でそんなことを言っているのを見て、なるほどなあって思った。知識や情報や経験は、それぞれ独立あるいは未分化の状態で縦糸としてぶら下がっている。そこに横糸を通すことで、ばらばらだった縦糸を結合し、あるいは未分化だった縦糸のうち関係のあるもの同士を編みこんでいく。
縦糸と横糸は卵と鶏で、常に縦糸が先に垂れていてくれるとは限らない。もちろん縦糸が先の場合は多い。たとえば母国語なら、環境が縦糸をいやおうなく用意してくれ、成長してから文法を学んだり文学に触れたりすることで横糸が通る。ところが外国語の場合はどうだろう。現地で生活することにより母国語と同じプロセスで外国語を習得できる場合もあるけど、はじめに横糸を通すほうが習得しやすいって面もあるんじゃないだろうか。つまり、文法を学ぶことで言語としての構造とノリを俯瞰し、それを横糸にして、単語やイディオムや定型句を縦糸として結びつけていく方法。高い金と時間を使って駅前留学できる人にはお勧めしないが、闇雲に縦糸を垂らす余裕がない貧乏人には悪くないアプローチだと思う。コンピュータプログラミングとか数学とかも同じ傾向があるよね。そういう抽象度の高い技術ほど、横糸の役割が重要になる。ただし、横糸に縦糸をぶら下げただけでは出来上がる絨毯が歪になるので、必ず改めて横糸を通し直さなくちゃいけない。そして、再び縦糸を結んでいく。以下くりかえし。
いずれにしろ、技術を習得すべく努力している場合には、自分がいま縦糸と横糸のどちらのステータスにあるのかを意識してトレーニングにあたるのが懸命だろう。そうでないと、あまりにも非効率だから。当然、教材や講義にも縦糸を垂らすのに向いたやつと横糸を通すのに向いたやつがあるわけだが、縦糸用の教材や講義で横糸を垂らそうとしても徒労に終わる。これはつまり、教材や講義を提供する側も、その教材や講義が縦糸なのか横糸なのかを意識すべきだということ。提供者と受益者の意図が合致しないほど不幸なこともない(自分で書いていて耳が痛い)。

何でこんなことを書いたかっていうと、このページを読んだから。

解法網羅型参考書の効果的な使い方::
http://www003.upp.so-net.ne.jp/chief/reference.htm

via. プログラミングのための線形代数 - なんでも:: 2005-09-03 (Sat) 00:31:00

解法網羅型参考書は、横糸であって縦糸ではない。それを意識して使えば非常に便利なものだと思う。ちなみに、『プログラミングのための線形代数』も横糸だと思う。

2005/09/06

オレ機能仕様を満たそうとがんばってたら、ブログロのことすっかり忘れてた。そして、その間に一つの命題を発見した!
命題
睡眠時間を減らすと、仕事の能率が上がる場合がある。
しかもこの命題は簡単に証明することができる。証明には以下の2つの補題を使う。
補題1
睡眠時間を減らすと、人間的な感覚が鈍る。
補題2
ある種の仕事は、人間的な感覚をもって挑むには苦痛すぎる。
この命題の例外もまた容易に見つかる。例外は、機械的な作業や事務仕事以外の、本当の仕事だ。注目すべきは、この例外を上手く捉えた場合、それにより睡眠不足に陥るので、結果としてあらゆる仕事が上手く回るという点である。これなんて宗教?