個人的には変な話いい話が多くて好きだ。
個人的には変な話いい話が多くて好きだ。
最近頭が悪くって困るね。物覚えも悪いし、集中力もない。ちょっと作業を中断するとすぐに何をやっていたか忘れてしまう。とりあえず、ブラウザは使い終わったら閉じようぜ。
国分寺に出来たステーキハンバーグ&サラダバー けんに行ってみました。昨日テレビで紹介していたのを私も見たのですが、同僚の方も見ていたようで、行ってみることに。テレビではいろんな手でコストを切り詰めているということを紹介していたので、肉も安っぽいんだろうと思っていたのですが、思ったよりちゃんとしていました。ライス・スープ・カレー・サラダバーがほとんどのメニューでデフォルトで付いてくるのが嬉しいですね。カレーも、シェーキーズのカレーみたいなのかと思ったら、想像以上でした。スープもガストのコンソメスープみたいなのかと思ったら、大きな肉が入っていて、しっかりした味でした。
先週末から差分抽出アルゴリズムに取り組んでいます。
二つの列の差分を調べるというのは、LCS(Longest Common Subsequence:最長共通部分列)やSES(Shortest Edit Script:最短編集スクリプト)を求める処理です。
例えば、abcdとabbbcという列があった場合、(ab)(c)というのがLCSで、共通(ab)追加(bb)共通(c)削除(d)みたいなのがSESです。追加2、削除1なので、編集回数は3で、これを編集距離(Edit Length)が3と呼びます。
で、実際にこれをどう解くかなのですが、以下、見つけた限りの資料。
で、結局私はどうしたかというと、「An O(NP) Sequence Comparison Algorith」の最後に書いてあるコードを元に編集距離を求めるプログラムを試してみて、そこから共通部分の検出時に記録をとるような処理を追加してLCSを求めました。
でも、複数ある答え(LCS,SES)のうち、一つしか求められないのが痛いところです。長い列と短い列の差分をとった場合、細切れな差分が出来てしまう場合があります。たとえば、ravsogiupihrhawegoiurseagroihuとroihuの差分をとった場合、削除(25文字)、共通(roihuとなってほしいのですが、実際には共通(r)、削除(3文字)、共通(o)、削除(1文字)、共通(i)、削除(3文字)、共通(h)、削除(8文字)、共通(u)、削除(10文字)のようになってしまいます。どちらも編集距離25なので、間違ってはいないのですが……。CVSを使っているとよく括弧だけの行が全然関係ない変更していない行とマッチして、気持ち悪い差分を出力してしまうことがありますが、これが原因なんですね。とりあえず、今回の用途では、4文字以上連続でマッチしないと共通と認識しないようにすることで回避してみました。普通どうするものなんでしょう。
不透明度はやはり0.0~1.0とすべきなんだろう。ということで関係するところを修正。
ただ、この手の輝度とか比率とかを表す部分って他にも色々あるんだよね。全部直すのはちょっと面倒だなぁ。まあ、少しずつ直していきましょう。
ある種のWiki記法(軽量マークアップ言語)をhtmlへ変換するだけのCGIが欲しいので、Haskellの勉強題材にしようと思い、サーバーにghcをインストールした。ちょうど「ふつうのHaskell入門」にもWikiの作成例があることだし。
のどの痛みはだいぶ和らいできた。ただ、代わりに咳が増えてきた。咳き込むと体温が上がる。
体調不良で会社を休むのはかなり久しぶりのことだと思う。
体調が悪くても、ゲホゲホじゅるじゅるいいながら会社に行っていたし(なんて迷惑な!)。
まあ、季節の変わり目には良くある症状ですね。
でも、この体調で人と長時間会話をする自信はない。
あ゛ー、やばいな。のどが痛い。