アルゴリズム

あみだくじ

ある人の課題を手伝ったのでメモ。下のあみだくじで、「上の 1, 2, 3, 4, 5 がそれぞれ下の同じ数字に行くように横線を引きなさい」という問題でした。パッと見で全然わからなかったのですが、線形代数の問題とのことで、置換とか互換とか、そのあたりの「対…

はてなのCAPTCHAのクラック

今度研究室でOpenCV勉強会というのをすることになったのですが、そのネタにと思い、id:yaneurao:20090802 を参考にはてなの画像認証をクラックしてみました。CAPTCHAの画像をHTMLを解析して自動収集するところから書き始めたりして、全然30分では終わらず3時…

文字の全ての組み合わせの列挙

例えばパスワードに総当たり攻撃をかけるときには、文字のあらゆる組み合わせからなるパスワードを作ってみて攻撃することになります。どういうアルゴリズムで作れるのか興味を持ったので書いてみました。 こんなクラスを定義しておきます。いまいちスマート…

平均、標準偏差

「Niblackの手法」という二値化のアルゴリズムをコーディングしていたのですが、その中では平均と標準偏差を求める処理が必要になります。ものすごく端折って書くと、最初はこのような感じで求めていました。 int[] array = new int[]{1, 7, 3, 8, 9, 4}; do…