(22:17) 今日は喫茶店に行って、この論文を読んでいた。
The Variable-Increment Counting Bloom Filter
Counting Bloom Filters (CBF) の性能をマシにするというもの。
昨日の夜はだいぶバカなことを書いていた(よくあることだが)。
BF では、何回もフィルタを通すので、そのすべてのフィルタでビットが立っていて初めて衝突したことがわかる。
しかし、そこからたとえば補助的なデータを使ったとしても、削除することはできない。
それぞれのフィルタがすべて衝突を考えずにビットを1にしているので、当然それを0に戻したりするとひどいことになる。
補助データで削除したことにすることも考えられるが、それだと典型的なユースケースであるはずの、データの追加と削除を繰り返すような場合にどんどん劣化していく。
そういうことを考えると、そもそも削除をしようと思うと、どうしても CBF のようなおぞましいことをしなければいけないということになる(VI-CBF では 1.5 倍ぐらいマシになっているようだが)。
しかし、この (VI-)CBF というのは、普通のハッシュよりマシなのか?
偽陽性があってもいいということなら、ハッシュでも容量を節約できるんじゃないか?
…と考えてみたけれど、どういう場合にどっちのほうがよくなるのかまで考えるのは難しそうだ。
調べてみると、こんなのがあった。
The Bloom Paradox: When not to Use a Bloom Filter?
タイトルからして期待できそうだ。
VI-CBF よりは時期が早いっぽいけど。
しかし、これも難しそうだ。
(VI-CBF のやつもちゃんと理解できていない)
そういえば、今日はこんなのを読んだ。
これがきっかけで、可愛い女の子とのやりたみの件についてまた考えた。
この件は、前も考えたことがある。
また、今日もこんなツイートをした。
ツイッターで女子学生にアプローチしちゃうおじさんと自分を分けるものは怠惰さしかないので怠惰は偉大
— 真鍋@這い上がるために努力中 (@takeda25) 2014, 3月 2
しかし、科学技術の発展に賭ける・怠惰な自分をネタにするというのは、実現から逃げている。
これは自分の人生に対して誠実なあり方じゃないんじゃないか?
男の真面目な生き方には、「いかにしてヤるか」というのが含まれているべきじゃないんだろうか?
というのは、思考回路というのは、欲求というクライアントからの要求に応えるために存在するものだと思っているからだ。
クライアントからの要求に対して、未来の科学技術ネタで逃げるようなシステム開発が考えられるだろうか。
「今度打ち上げるロケットに搭載する制御プログラムを作ってほしい」と言われたときに、「100年もしたらドラえもんが作ってくれますよ」とか「そもそもロケットなんか打ち上げなくてもいいじゃないですか」などと返すことはあり得ない。
(もっとも、顧客との調整で要求仕様に修正を加えるというのはありだと思う。本当にそれが必要なのか? というレベルで。顧客が本当にほしかったもの云々)
まあ、さすがにここに書きながら考えるというわけにはいかない。
しかし、ぼくは(公開する)日記に書かないと頭が整理できないという欠点がある。
これをどう解消するか。
まずは別名義の日記を作る?
(生々しくなってきた)(しかしネタにするのは云々)
一旦保留にしよう。
うちは、妻とは比較的インターフェイスが疎結合なので、それさえ満たしていれば内面的なことはあまり言われない。
おかげで、日記には自由に思ったことを書ける。
いいことだ。