既知のアルゴリズムより速いアルゴリズムを作れたのは 初めてなのでうれしくなってしまってここに書くのだ。
でも、よく考えると、ソートが遅くて困るのは配列がメモリいっぱいに なるくらい大きいときだろうし、in placeでない追加の記憶域が 必要なアルゴリズムはあまり有益ではないからだれもやらなかった だけかも知れないな。 自分で作ったプログラミング言語で書いてあるというのはなんだけど。
仕組みは 前に言ったとおりトーナメントで一位を決めて、 次に一位に負けたもの同士でトーナメントをやって二位を決める、 以下同様。tourの中では {A, {B,{D,{E}}},{C}} のようなリスト構造に AはBよりもCよりも大きい、BはDよりも大きい、DはEよりも大きい という意味をもたせてある。define tour(ar){ --tournament sort len=length(ar) if(len==1) return ar[0] half=floor(len/2) l1=tour(ar[#half]) l2=tour(ar[half+#(len-half)]) if(l1[0] > l2[0]){ cons(l1[0], cons(l2, rest l1)) } else cons(l2[0], cons(l1, rest l2)) } define sort(ar){ if(ar=={}) return {} ar = map(x->{x}, ar) r={} while(not empty ar){ ar=tour(ar) r=cons(ar[0], r) ar=rest(ar) } return reverse(r) }
「この植物は、根が爆発物と接触すると葉の色が緑から赤に変わるという。」なんか信じがたい話。いったいどんな原理で地雷を検出できるというのだろう。
▼ こういうゴシップは取り合わないつもりだったけどあまりに印象が強かったので。
警察は博士の妻(53)からも事情を聴く方針。私の持論は、人生の幸福は仕事上の成功とは関係なくて、家庭をもってそれが円満であることだという事なんだけど、・・・
▼ 泳ぎの達者な人でも、服を着たまま泳ぐと---たとえばおぼれた人を助けようと飛び込んで---おぼれることがあるらしい。服をつけていると意外なほどに抵抗が大きくなって自由に動けなくなるらしい。
というような事を考えつつ、 ガチャピンチャレンジリスト。
サーフィン、ジェットスキー、スキューバダイビング、恐ろしい恐ろし過ぎる。
どうしたんだガチャピン。おれが子供のころお前はそんなデーンジャラスなガイではなかったはずだ。いったいおまえに何が起こったのだ。
▼
「いま、これをやるのは不適切だ」と考えて何かをするのを
我慢して、そしてやって良いときにはすでにしなびて色あせている、
なんか自分の人生はそんなことばかりのような気がする。
本当はもっと良い方法を開発済みなんだけど、だれも知らない方法をつかっても受け入れられないだろうから、先にその方法の論文を書いて普及させなくてはならないだろう。そのため、今回の実験の論文では採用を見送らなくてはならない。残念。
▼ ある種の有能さというのは、美しいものを知らないこと、または目の前にある以上のものが見えないことを必要としているのではないか。
と、いうような冗談はさておき、成人式を18才の3月に移すのはどうだろ。あの問題は要するに成人式が彼らの実際の生活の変化と一致していないのが問題なんだと思います。18才の春ならば就職する人はまさにこれから社会人になろうとしているわけだし、進学する人も一人暮らしを始めたりと、新しい生活への期待と不安に胸ふくらましている時期のはずです。こういうときに悪ふざけをする人というのは居ないでしょう。(就職先の社長がテレビを見ていないとも限りませんしね。) 一方20才というのは最悪のタイミングではないかと。就職したものは仕事に慣れて世の中をなめる余裕もあるはずだし、学生は初志を忘れて、就職活動、卒論もまだ遠く、弛緩しきっている頃でしょう。
それでだめならやめることです。儀式は参加するものが望むようでなければ意味がありません。
昼に大根入りの雑炊を我慢して食べたあとにわかに気持ちが悪くなる。 吐いてしまう。 いまでも大根があまり食べられないせいで不便なのに 上の理由からますます大根が嫌いになるのではないかと心配したりする。
▼ で、検討の結果だいたい平均の実行時間は
トーナメントソート < マージソート < クイックソート < ヒープソートなのではないかと思う。大体一段ごとに2倍くらい違うと思う。 トーナメントソートは私が今回作った方法。 データでトーナメント戦をやって一位を決め、次に二位は一位に 直接当たったやつらでトーナメント戦を行い以下同様というアルゴリズム。 もしかするとN log log Nかもしれない。
▼ こーゆー(役にも立たない)事をやっているから仕事がはかどらないんだけど、いちど何かを考え始めると、 そっちのことが頭のなかをぐるぐる回って、仕事に集中できない。何かをしないのは出来るけど何かを考えないのはとても難しいことだ。苦痛でさえある。
夢中になると他のことを忘れて集中してしまうという「うっかり博士」的キャラを確立しておけばそういうことをしても許されるから楽だったんだけど。
でも、もしかしたら「そう思われてない」と思っているだけで、周りからはそう思われている可能性もあるな。
しかし、辛気くさくて気分が落ち込んできて研究意欲をそがれるので途中でやめた。「『挫折』って書いてあるんだからそれくらい予想しろよ」っていうツッコミがあるだろうとは思うが、しかし読んだ印象としてはむしろ著者の個性や日米の文化の違いが原因だと思うなあ。ちょうど、一部の日本映画に近い貧乏くささと辛気くささ。
数学者のあとを訪ねて著者の心に去来した翳りを私小説的に書くような部分はわたしにとっては不要。たとえば星を見上げて、この世に居場所がなかったラマヌジャンは星の世界に居場所を見つけたのだろう、みたいな感想を書いている部分のような。 普通ではないような体験をした人の話は体験を具体的に書けばその心は想像してあまりあるわけで私小説的感想はいりません。
で、気を取り直して、パウロ・コエーリョの「アルケミスト」を読み始める。 すでに挫折を経験している私には 「あきらめないで、信じていれば夢はきっと叶う」とか というメッセージをさすがに素直には受け取れないけど、 読んでいて少し気分が明るくなるのは本当。
▼ 先週あたりから、やっと関東の冬のにおいがするようになった。 関東の冬のにおいというのは、要するに乾燥した土埃のことだ。 このにおいは嫌いだ。
電子回路のような、というかむしろコンピュータのような情報処理能力が生物の細胞のなかで実現されている可能性を考えてみる。一番障害になるのは安定した結線が作れないことだ。きちんと決まったところに情報が届けられることこそ情報処理機械の枢要だ。それはコンピュータのどれか二本の配線をとって入れ替えてみたらどうなるか考えれば分かる。どれとどれを入れ替えても決定的に能力が損なわれるだろう。
この論文のなかでは、ジャンク遺伝子と考えられていた配列から転写されたRNAが他のDNA領域に結合して転写や発現の制御を行っている可能性について論じている。 RNAの配列ははっきりとした標的を持った情報伝達にまさにぴったりだ。 従来、その手の転写制御やシグナル伝達はタンパク質とDNAの相互作用によるものだと考えられていた。 しかしRNAなら一つのターゲットをねらうのに必要な塩基配列の長さは(感覚的な見積もりだけど)蛋白とくらべて十分の一で充分だろう。そしてジャンク配列はタンパク質をコードする配列の十倍以上ある。合わせて百倍以上だ。これはコンピュータに喩えてみればプロセッサのトランジスタ数が百倍になって、メモリが百倍になったようなものだ。それによって獲得できる複雑さは比例どころではない。しかもRNAの配列はタンパク質の結合より標的選択性が(多分だけど)正確だ。この機構は細胞内情報処理の主要部分である可能性さえある。
これは細胞がすることが出来る情報処理が百倍程度、多彩になりうることを意味する。細胞の情報処理は発生における分化、環境の変化に対する反応、という形で現れる。
この話はほかの臓器以上に脳にとって重要だ。脳は数百の似てはいるけど異なった分化をした領域をもっているが、この種の分化の多くがこの機構で担われている可能性もある。 一卵性双生児の精神病の発病の一致率は大抵50%位なんだけど、そういうことにも関わっているかも知れない。 また、脳には発生の過程で組み込まれる先験的アルゴリズムや先験的欲求があるが、 そのような組み込みの情報の量は遺伝子の量で限定を受けている。 しかしその容量の限界が件の理屈で飛躍的に増えるかも知れない。
▼ と、以上を書いたのは実は昨日だ。 どうも自信がなくて、筆をおさえていた。けど件の論文以上にさらに踏み込んで書けば、 つまり細胞の核はすでにコンピュータである可能性があるということだ。RNA断片を信号とし、DNA-RNAの相補的結合をメモリとし、決まったDNA上の配列に会合したRNA×2,DNA,タンパクの相互作用を論理ゲートにしたコンピュータ。 これは従来考えられていたタンパクDNA相互作用を使った細胞内情報処理の方法に比べて百倍の容量が(原理的には)可能だし、タンパク質を使う従来の方法に比べてリボゾームで翻訳される必要がないので十倍は早いだろう。 コンピュータとそうでない機械との差は有限の種類の構成要素しかないのに新しいビット列を加えるだけで動作を変えることができ、しかもチューリング的に完全であることだ。
そして、多細胞生物になってからこちらの生物進化の多くが、新しい物質的要素を加える物質進化ではなく、このDNA-RNAコンピュータのソフトの変化が細胞の振る舞いを変えるという情報進化になっている可能性さえある。細胞が持っている/使える物質は変わらないけれども、細胞が環境(=周囲の細胞の振る舞いと生物体外の環境)に対して行うふるまいが変化するような進化。細胞の振る舞いがつりだす細胞の社会の進化。細胞のハードウェアの進化からソフトウェアの進化へ。
いやちょっと想像が飛躍しすぎたかな。
思考を縛るタブーについて。まあ、とにかく読め。
これを書いたPaul Graham氏というのはYahoo storeの元になったViawebというやつのシステムを作った人だ。かれはその柔軟で強力なシステムはLispで書いたからこそ可能になったと主張している。 だけどそれに対して誰かが「ViawebはLispだから成功したのか、Paul Grahamだから成功したのか」と異議を差し挟んでいた。これは揶揄を含んだ異議だけど同時にGraham氏の知性への畏敬のようなものがこもっているような印象をその時に受けた。 で、私も「口にできないこと」を読んでその気持ちがわかったよ。
あと最近話題になっている99.5%とかの判別率をたたき出すベイジアンspamフィルタを始めたの彼らしい。多くのプログラムは実際、彼のアルゴリズムのコピーだ。それについてはこちら。
あと毎度ながら、翻訳をしてくれる川合さんに感謝。
▼ わたしに年賀状をくれた人へ、お返事が無くてすみません。がっかりしないで下さい。私は年賀状を出さない人なので。
とくに主義ということでもなく、単にものぐさなだけね。「虚礼だ!」とか言う人もいるけど私はそうは思わない。転勤とか引っ越しとかが多い今日びでは一年に一度くらい親しいひとと連絡先を確認しあうのは有用だとさえ思います。
▼ あえて帰省もせず、この9連休、秘密プロジェクトその3につぎ込んでしまった。統計力学の量子力学からの導出にね。頭の中が物理でいっぱい。こういうときは頭の中を今の仕事に切り替えるのが難しくなりそうだ。それが恐いので日曜の今日から仕事始めようと思ったけど、やっぱり秘密プロジェクトをやってしまった今日も。