タグ

ブックマーク / aoking.hatenablog.jp (2)

  • プログラマが一年かけて数 IA を復習した話 - にょきにょきブログ

    僕はプログラマとして生きている。世間のイメージとは少し違って、プログラマとして企業の中で生きていく上では数学的思考力はあまり必要とされない。これはろくすっぽ勉強してこなかった僕にとってはある意味幸いなことで、数学なんてものはさっぱり出来ないけどプログラミングは好きという僕の性格を世間はある程度受け入れてくれている。 でもプログラマとして生きる以上、日々技術力を磨くのは当たり前の話であり、少し高度なを読むとすぐ理解できなくなってしまう僕は自分の能力に辟易としていた。 普通の技術書なら僕でもそれなりに読めるのであるが、少しレベルアップしてコンピューターの質みたいなところに近づこうとすると、すぐに僕は迷子になってしまう。計算機プログラムの構造と解釈(通称 SICP)だとか、コンピュータの構成と設計(通称パタヘネ)だとか、トランザクション技法だとか、世界を支えるような名著を読んで、僕もプログラ

    プログラマが一年かけて数 IA を復習した話 - にょきにょきブログ
  • 遺伝的アルゴリズムで遅い正規表現を検出する - にょきにょきブログ

    ある正規表現に様々な文字列をわせてマッチするかどうか判定することは大変頻出するコードです。 稀に、わせる文字列のパターンによっては正規表現のマッチに猛烈に時間を消費する場合があります。 僕も少し前に遭遇し、下記に公開しています。 developer.cybozu.co.jp この時は、(\\w|_){1,64}@ という正規表現があって、____________________ のようにアンダースコアを複数含む文字列のマッチに大変時間がかかるという問題でした。 この、「対象文字列によってはマッチに時間がかかることがある問題」を、遺伝的アルゴリズムを用いて解決できないかチャレンジしてみましょう。 考え方としては、 ランダムな文字列を 10000 個ほど生成し、 それぞれ正規表現にマッチするか判定させ、 時間がかかった順にソートし、 上位を交配させて世代を繰り返せば、 遅い文字列が抽出でき

    遺伝的アルゴリズムで遅い正規表現を検出する - にょきにょきブログ
    wkubota
    wkubota 2015/10/19
    こういう問題に遺伝的アルゴリズムを使うのか…。なるほどなー
  • 1