カテゴリー別アーカイブ: プログラミング

Perlで編集距離(レーベンシュタイン距離)

「Text::Fuzzy」という便利なものが上がってました。

アウトプット↓

というわけで挿入・削除・置換、すべてコスト1のようです。(Ver.0.05)

Tokyo Tyrant メモ

速いは正義(※ただしGPLは除く)なので、Tokyoシリーズが好きです。

すんなりには動いてくれなかったのでちょいメモ。

ハマったところは以下の通り。

  • Tokyo TyrantのPerlモジュールをmake testするときはTokyo Tyrantが動いている状態じゃないとPASSしなかった
  • デフォルトの状態では、/var/ttserver/casket.tch を使うようで権限で怒られるので /usr/local/sbin/ttservctl の basedir を basedir=”$HOME/var/ttserver” みたいに書き換える必要があった

後者はPerlからだと「miscellaneous error」という謎のエラーしか出ないので解決に少々時間がかかった。

ゅぃぼっとをTwitterに移植

特に深い意味はないけどTwitterに「ゅぃぼっと」の機能をフルに備えたものがなかったので移植してみました。
IDは「@_yui_bot_」です。
初めて触れた人工無脳がこの「ゅぃぼっと」で、Webサイトに設置して訪問者と遊ばせたりしたこともあって思い入れが結構強いです。
まあ大抵は「エロワード」ばっかり教えこまれて人格崩壊するんですが。(^_^;)

勝手に、ゅぃぼっと友の会」によると、1997年3月末に「ゆい」さんが正式公開したらしい。

主な仕様は

  • 辞書に従って返信してくれる
  • 「キーワード===答えさせたい言葉」で教育できる
  • 「おみくじ」と発言すると巫女が出てきて占ってくれる

という感じです。

Perlはバリバリ読める&書けるようになったので、毎度おなじみの「AnyEvent::Twitter::Stream」「Net::Twitter::Lite」などで移植。

さすがに巫女出すのは面倒だったので、「ゅぃ」がそのまま「おみくじ」を担当します。

教育は例えば「@_yui_bot_ おっぱい===NAMEさんの変態///」とツイートすると自動で学習して、次に「@_yui_bot_」に「おっぱい」とツイートすると「NAMEさんの変態///」と返信します。

NAMEの部分は「ゅぃ」からツイートを受け取る人のTwitter上での名前に置き換わります。

にしても、Twitterって人工無脳にとっては最高の場ですね。

Acme::ICPC

アルゴリズムが苦手なのを克服したいと思って大学4年間出ました。
中2から高2まで死んでた影響で1浪しているのでもう出場の機会はありません。

大学1年から英語要員として先輩にアジア地区予選に連れて行ってもらって以降、いつか自分も後輩をアジア地区予選に連れていきたいと思っていたのですが、叶いませんでした。

今回はまさかのプリンタの不調で30分以上粘ったけど、印刷用のテストページ以外なぜかページを吐いてくれませんでした。
A問題は大まかに自分が書いて細かいところを後輩が書いて通しました。

B問題はストリングストリームとソートでもうちょいというところまでいったけどデバッグし切れず。

再帰のところだけ桁不足分にゼロ追加し忘れている可能性が高い。

C問題以降は糞プリンタの影響でどんな問題があるのかも見れていません。

こんな終わり方で良いのか。
対策も一夜漬けだったためそこまでの悔しさも出ない。

この大会せめて賞金とか出ればもっとやろうと思うんだけど・・・。
才能ない人にとってはかなり大変な割にアジア地区予選程度では就活でもそこまでって感じなのがアレ。

自分がアルゴリズム書くのに向いてないのがよく分かっただけでも収穫ですかね。