効率と高速化
http://chasen.org/~taku/blog/archives/2005/09/post_812.html
人づてに聞いた話なのですが、はてなキーワードを実際の blog に付与する処理は、 巨大な正規表現で行っているそうです。 本当にはてな内部では正規表現を使っているのでしょうか? perl の 正規表現エンジンは NFA なので、単純に or でつなげると、 キーワードの個数に比例する計算量になり、スケーラビリティ上の問題があります。 実際に上記のサイトの API を使ってみましたが、かなり遅いです。 この手の問題は、情報処理の教科書に出てくる AC 法を使うのが高速です。 1600倍ぐらい高速になりました。TRIE 板が C++ ということを考えても充分高速だと思います。
COM将棋の場合、効率は、オーダリングや安全な枝刈り技術などで変わってくるでしょうけど
効率が同じだった場合は、高速化で大きな差が出る。
どっちも重要
http://chasen.org/~taku/blog/archives/2009/07/post_827.html
プログラマ・ソフトウェアエンジニアと呼ばれる人間には、 2つのタイプがあるような気がしています。 「ハードウェア」プログラマ O(n) の計算量でも、その定数項を気にする 専用ハード好き (地球シミュレータ, メーンフレーム) 「ソフトウェア」プログラマ O(n^2) と O(n) は気にするけど、定数項は気にしない。 早期の最適化は避け、自明でわかりやすいコードを書く
高速化というのはこの定数項ですかね(^^;
あなたはどっちでしょう?
GA将!さんは100%後者っぽいんですが、CPU好きなところは前者
ぶっちゃけると、O(n^2) と O(n)という概念を知っているプログラマおよびSEが
日本のIT界にどれだけいるでしょうか?w
どんなに優秀なITエンジニアでも、元文学部とか元経済学部の人は知らないと思う。
せっかく地力の高い人が戦術級の仕事をしていたらもったいない。