Archive for July, 2005

乱数のランダムネス

Posted by 向井 淳 on Saturday, 30 July, 2005
> >http://www.fastwave.gr.jp/diarysrv/arino/200507c.html#20050730-2 > > >この話はなかなか示唆的なような気がするが、指摘している個数の問題については、乱数用の関数は整数の範囲(0-2**32とか)等になっているので、lの値がこの範囲に比べてごく狭い場合(1000以下とか)ではそれは誤差の範囲内という気がする。 > >それより気になるのは、たとえばlが16とかのような2進法的に「綺麗な」数の時。あーつまり、乱数はすべてのビットについて一様にランダムなのかということがわからない。偏りの生じるビットはないのだろうか。 > >ごく簡単に考えると、仮に偏りのあるビットがあるとすると、最終的な値の分布にも偏りが生じるはずであり、一様分布である乱数発生アルゴリズムなら偏りのあるビットは存在せず、等しくランダムだという気がするが、さてどうなのだろうか。 > >たとえば、「半々の確率」を表現したいとする。このとき、一番下のビットが0か1かでチェックしていいのだろーか?というのが疑問。仮に、一番下のビットは均等に分布していても、現在の乱数値から次の乱数値の予測が可能だったりしないのだろうか(線型合同法とか特に……いや今は線型合同法は使ってないんだろうけど)。一番下ビットはナイーブすぎるとして、下位4ビットとかが意外に周期的だったりしないのだろうか。 > >でまぁそういうわけで、こういう場合はなんとなく100で割った余りを利用して0-49と50-99 を使ってみたりするのだけど、こっちの方が安全という保証はどこにあるんだろうか。この方が逆に怪しいケースもあるのかも。 > >……ということを mixi に書いておいたら鍋谷さんに >http://www001.upp.so-net.ne.jp/isaku/rand.html > を紹介された。まとめると、 > > >UNIX の rand は今でも線型合同法 > > > >線型合同法の場合、下位ビットは乱数としてけっこう怪しい > > > >random は統計的に怪しいらしい > > > >けっきょくメルセンヌ・ツイスターが最強ということで > > > > >つうことみたい。半々の確率を rand でやる場合には、100とかよりはもっと因数が少ない数(素数×2とか)を使ってみたり、真ん中あたりのビットを利用するように、乱数生成→右シフトした上で割ったりすると良いのではないかという気がしてきた。 > >まぁメルセンヌ・ツイスターを使えってことですかね。じゃ、どうやって使うかというと。 > > >http://www.jp.freebsd.org/QandA/HTML/2228.html > によると、 boost の乱数はメルセンヌ・ツイスターらしい。さらには、 >wikipedia > によればruby、PHP、それに glib でメルセンヌ・ツイスターが使われているのだとか。 ruby は耳にしたことがあったけど、けっこう使われているのだね。ってか glib から使えるのかー。ううむ知らなかった。 > >…… OCaml では >Mathlib > から使える模様。 > >Haskell では、まず言語規格上特に規定はなく、 ghc/hugs の実装上は randomIvalInteger という関数が主に担っているところまではわかったんだが、この関数の定義がちょっとよくわからない。けれどもこれは線型合同法をすごく一般化したもののように見える。たぶん。ぐぐってみると、いちおう >ここに実装した人はいる >っぽい。 > >他の言語については、きっと誰かが調査していることだろう。 >

新城カズマ『サマー/タイム/トラベラー』

Posted by 向井 淳 on Friday, 29 July, 2005
>ううーん。 > >ともかく、主人公たちの、物言いと、価値観と、思考法とが、どうにも引っ掛かって読みづらいの読みづらくないのって。 > >念のために書いておくと、読みづらいってのは別に文章が悪いということではなく、それはむしろ逆。細かいところの構成とか、きっちり書かれているという印象なので、再読してパズルピースを嵌めてみたいという思いも、ちゃんとある。でも逆に、あんまし再読したくないなぁという印象もある。なぜかっていうのが上で書いたような、主人公が(つまり作者が?)無条件に称揚する価値観とか思考法とか諸々に、ほとんどすべて留保しながら読むはめに陥ったからだ。てことはこれは相性の問題であるのだろう。 > >もう一点、この作品はあとがきで作者が述べているように「シンプルな青春小説」なのだけれども、ともかくいかにも青春小説然とした佇まいの執拗なまでの繰り返しが、読んでいて少々うんざりする。 > >が、まぁ、SFとして青春小説として、思ったより良いところに着地したようには思っていて、「アリかナシか」といったらそりゃあアリなわけですよ。つまらないということはない。でもまた、この終わり方もいかにも青春小説然としていてもにょるところがあったりして、何が嫌かということを言語化するとつまりオレは青春小説が嫌いだったのか?というところに陥って、それはそうでもないと思うのだが、でもそうなのかもしれないが、それはともかく、文章や描写は好きになれないが、総体としてはよく出来ているだろう。 > >まとめると、「微妙」(この表現はあんまり使いたくないんだけど)。 > >完成度とさっぴいて、±0か、+1か、というところか(SFM考課表換算で)。 > >ところでそうそう、これは意図的に「そう」なっているのだろうが、この本で描写される風景はきわめて「今」を切り取っていて、作中時間は西暦何年だ?登場人物は平成何年生まれだ?ということがとても気になる。というわけで、たとえば10年後に生き残って読まれるようなタイプのものではない。5年……あるいは3年後にはちんぷんかんぷんになってる可能性がある。興味があるなら、今、読んでおくことをオススメする。 >

FEEDBRINGER">FEEDBRINGER

Posted by 向井 淳 on Thursday, 28 July, 2005
>lighttpd なのかー(違)。 powered by のところにOSの記載がないのでわからないけど、これが *BSD だったりするといわゆる LAMP をことごとく外していて面白いのになぁと思ったりした。 > >ちょい使ってみたが、うーむ、 bloglines も使ってなかったのでいまいちまだよくわかってない感じ。 > >ところでこの日記も7ユーザが登録していただいてたみたいでした(オレが8人目)。ありがとうございます。 >

風博士で MM/memo のメモができなくなっていた

Posted by 向井 淳 on Thursday, 28 July, 2005
>つーか Javascript によるポップアップ防止にひっかかってた。 FireFox のバージョンを上げた時にデフォルト値が変わってたのだろう。調整するには、 about:config から dom.disable_open_during_load だったかをトグルする必要があってちょい面倒くさい。 > >ただし、これをトグルするとポップアップを全て許可する設定になってしまうわけで、これはちょっと悩ましい。メモる時だけトグルするのも面倒くさいし、許可リストにその都度追加するのも面倒くさい。さてどうしたものかなぁ……。 >

?駅">?駅

Posted by 向井 淳 on Thursday, 28 July, 2005
>いやーやられた。これはわかりませんでしたよ。そういうことかい。すばらしい。地元民なら楽勝なのかなあ。 > >via. >てきとうにかきちらし > >

S-Fマガジン8月号

Posted by 向井 淳 on Tuesday, 26 July, 2005
>すごい久しぶりに考課表を送ったので感想を書く。 > > >ケン・マクラウド「人類戦線」 > > >スターリンの死で物語は始まる。現実の歴史とはちょっと違う世界で、アメリカ主義に抵抗する主人公たちを描いた重苦しい作品……に、見えたわけだが。 > >現実の歴史とどこが違うのか、何が分岐点になっているのか?ということを考えながら読んでいってもわからない掴みどころのなさ、主人公が幼い時に垣間見た新型爆撃機のパイロットの謎なんかに混乱しつつ読み進めていくと、最後の数ページで唐突に仰天のオチに終わる。なにこれ? それでいてテーマは上掲のまま。 > >冒頭から期待される度合に比べてかなりヘンテコな作品でびっくりした。オススメ。 >+2 > > >ところで、これは「宇宙戦争テーマなのか?」と疑問を持ちながら読みすすめていくと、そうでもあり、そうでもないようであり……な感じで終わるのだが、他の特集記事を読むと「なるほどこれは『宇宙戦争』特集としてはアリな作品だ」と得心するのだった。 > > >チャールズ・ストロス「コールダー・ウォー」 > > >正直、ネタを割ってしまった方が興味を持てる人が多いだろうし、読めばすぐわかることなので、あっさりとネタを割ることにするが冷戦時の超兵器としてクトゥルフ神話の怪物たちが使われるというスパイもの。作者は未訳の Atrocity Archive でもクトゥルフ+スパイものをやっているので、たぶん気にいってるんだろう。 > >そういうテーマの作品として良くできているかというと、平凡という以上のところはない。が、スティーヴン・グールドなんかを登場させた細かなくすぐりはいい。 > >内容それ自体は冷戦なのだが、これが宇宙戦争かといえばなるほど宇宙戦争ではあろうという感じでもある。やや気に入った。 >+1 > > > >田中啓文『罪火大戦ジャン・ゴーレ』 > > >相変わらず食事どきには絶対読んではいけないグロ描写を楽しそうに書いている。イラストレーションで、主人公とおぼしき体がぜんぜん「ズレて」ない気がするのだが、それは仕方ないというべきか……。 >+1 > > >おまきゅーとか故郷まで100000光年とかは特にふつうという感じ。 > > >津原泰水「午後の幽霊」(後編) >については、正直言って前編がどうだったか綺麗さっぱり忘れてしまった。しかも長編の第2話で、終わり方もスッキリしていない。これは連載だから評点しなくていいのかと思っていたが、林さんからのメールによれば免除してよい旨が記載されていなかったので仕方なく点だけつける。というわけで評価放棄の >±0 > > >ところで、今号の唐沢俊一連載を読んで、いわゆる「忍者走り」、刀の「忍者握り」(逆手に握るアレ)や手裏剣を投げるという「忍者」っぽいスタイルは『隠密剣士』という昭和30年代後半のテレビドラマが起源と知る。20へぇ。 >

ocamlnet 1.1">ocamlnet 1.1

Posted by 向井 淳 on Tuesday, 26 July, 2005
>あ ocamlnet が smtp に対応してる。とても良いことだ。しかし、 API はイケてないなぁ……。 > >API のイケてなさは、ようするに SMTP のメソッドを全部やんないとメールが送れないという点にあるが、それ以前にサーバに接続するのがえらい面倒な気がする。ざっと眺めた感じでは Unix.getaddrbyname で名前からアドレスとドメインを取得して、 Unix.socket でソケットを開き、 Unix.bind でアドレスに束縛するところまでやって、ようやく Netchannels.socket_descr で raw_io_channel にして、ほんで Netchannels.lift_in と Netchannels.lift_out でもってチャネルの型を変換してはじめて Netsmtp.client を作ることができるとゆー……長いって! > >Netsendmail の API をほとんど変えずに内部的に Netsmtp を使うように変更すりゃいいのに、と、ちと思った。 sendmail コマンドを直叩きっていうのはちょっとないだろー。 >

DBD::SQLite3

Posted by 向井 淳 on Monday, 25 July, 2005
>というわけで SQLite3-ruby を使った DBD を実装してみた。ほぼ実装は完了っぽいところまでこぎつけた。 > >SQLite は 型が非常に曖昧というか、いわゆる「型なし言語」となっているので、 SQLite3-ruby では結果は全部文字列になっちゃうという問題がある。んで、 SQLite3-ruby にはそのための型変換をしてくれる機能があって、データベースオブジェクトの type_translation を真にしておけばそれでいいんだけど、そうすると table_info がおかしくなるという問題にぶちあたった。 > >そこでよくわからなくなって諦めたのだが、考えてみれば table_info はきっと内部的にクエリを発行していて、しかしながらそれは特殊なテーブルであるので型の情報とかが取り出せず、型変換用のメソッドが死んでるんだろうということに気付いた。 > >それを直すのと、後は attr として渡すあたりのあれこれをやれば完了だな。 > >ところで、これって需要あるのだろーか? や、自分で使いたいからあれこれやってるんだけれども。 > >ってか今頃になって気付いたのだが、 DBD::SQLite は自前の拡張ライブラリを持っているわけで、これって SQLite3 に流用できないのかな。それができないくらい API も変わってるのか? >

トラックバックの見分け方

Posted by 向井 淳 on Monday, 25 July, 2005
>トラックバックでは、エントリの冒頭を「概要」として送ることになっているけれどもそこはぜんぜん概要でもなんでもなく、トラックバックリストで似たよーな書き出しのエントリが集まる際には何の役にも立たないことがわかっている。 > >これを受けて冒頭に概要を入れようという話もあったりした気がするのだけど、そんな仰々しいことを書きたい人はともかく、そうでもない人が大半な気がする。だいたいのエントリは1段落か2段落くらいしかないみたいな。 > >んでまぁ、そういうのが問題だとして簡単に対処する方法は何かというと、概要として送られるものがエントリの冒頭部である点にあるような気がした。 > >書き出しが同じだけど、皆が皆、同じ結論になっているわけでもないわけで、結論(オチ)は末尾に書かれることが多い。とにかくブログ/web日記では圧倒的にその方が多い(気がする)。 > >それなら末尾の箇所を概要としてTBに送ればいいんじゃないのかな? > >先頭部分を切取るのは実装上の都合だったと記憶しているので、末尾を切り取っても問題ない気がする。問題は、「先頭部分を切取るのを前提としてTBを受けるサービスの存在」と、TBを送ることが即ネタバレに通じることくらいかな。 > >ふむ。 >

武富智『EVIL HEART』

Posted by 向井 淳 on Sunday, 24 July, 2005

合気道っていう武道を扱ったまんがってのがどれくらいあるのかということにはまったく無知なので、よくわからない。けれども、典型的イメージってのはバキに登場する渋川剛気なように思う。ようするに、一言で言えば投げ技の達人で、どんな攻撃を仕掛けても軽やかに投げ返されてしまう、武道の達人というよりは曲芸師と魔術師を足して2で割ったようなイメージ。

ところが合気道ってのは本当には試合もない、地味な護身術だったりする。いや、僕は合気道に対する知識もまたゼロに等しいわけですが、たぶんそう。でも、試合がない、自分からは戦わない、というのでは少年まんが的にわかりやすいものになりづらくて、扱いづらい面もあるんじゃないかというのは想像に難くない。そういうわけで「合気道まんが」といってもなかなか咄嗟に思いつかない。

でも、そういう武道であるところの合気道の特殊性に着目すると、逆に青年まんがにとっては実に相性がいいってのを示したのがこのまんがだと思う。

ケンカっぱやい主人公の少年の梅や、胡散くさいけれども合気道の達人のダニエル先生を主軸にして、家庭内暴力、不良少年たちの暴力とそれに対抗する暴力を描いていて、そこに「自分から戦ってはいけない」という合気道が上手い具合に絡まりあった、少年の成長ドラマとなっている。

いや、実に面白いです。

「なんでこのまんががヤンジャンなの?」というくらい、現在のヤンジャンの紙面の雰囲気と違うまんがなので、ちゃんとこのまま続いてちゃんと終わってくれるかということだけが心配です。