タグ

algorithmとdevに関するsuikyoのブックマーク (6)

  • ビット数を数えるルーチン - Weblog on mebius.tokaichiba.jp

    かつてJR横浜線 十日市場駅近くのMebius (CPU:Pentium 150MHz)より発信していたウェブログです。 32bitの立っているビット数を高速に数えるアルゴリズムとして、 int bitcount(unsigned long n) { n = ((n&0xaaaaaaaa) >> 1) + (n&0x55555555); n = ((n&0xcccccccc) >> 2) + (n&0x33333333); n = ((n&0xf0f0f0f0) >> 4) + (n&0x0f0f0f0f); n = ((n&0xff00ff00) >> 8) + (n&0x00ff00ff); n = ((n&0xffff0000) >> 16) + (n&0x0000ffff); return n; } こういうのが良く知られている。1行目で2ビットずつ足し合わせることで2ビットの中の

    ビット数を数えるルーチン - Weblog on mebius.tokaichiba.jp
  • 新はてなブックマークでも使われてるComplement Naive Bayesを解説するよ - 射撃しつつ前転 改

    新はてブ正式リリース記念ということで。もうリリースから何週間も経っちゃったけど。 新はてなブックマークではブックマークエントリをカテゴリへと自動で分類しているが、このカテゴリ分類に使われているアルゴリズムはComplement Naive Bayesらしい。今日はこのアルゴリズムについて紹介してみる。 Complement Naive Bayesは2003年のICMLでJ. Rennieらが提案した手法である。ICMLというのは、機械学習に関する(たぶん)最難関の学会で、採択率はここ数年は30%を切っている。2003は119/371で、32.1%の採択率だったようだ。 Complement Naive Bayesの位置づけは 実装が簡単 学習時間が短い 性能もそこそこよい という感じで、2003年段階にあっても、絶対的な性能ではSVMに負けていた。しかし、学習が早いというのは実アプリケーシ

    新はてなブックマークでも使われてるComplement Naive Bayesを解説するよ - 射撃しつつ前転 改
  • Judy Arrays Web Page

    What is Judy? Judy is a C library that provides a state-of-the-art core technology that implements a sparse dynamic array. Judy arrays are declared simply with a null pointer. A Judy array consumes memory only when it is populated, yet can grow to take advantage of all available memory if desired. Judy's key benefits are scalability, high performance, and memory efficiency. A Judy array is extensi

    suikyo
    suikyo 2006/07/03
    まつもとさんの記事より.高速アレイ.
  • GC FAQ -- draft

    GC FAQ -- draft This is a draft FAQ for the GC-LIST. Comments, editorial remarks, and especially additions are welcome. The file is currently broken up into three parts, corresponding roughly to general stuff, techniques and algorithms, language interfaces to GC, and more difficult topics. As sections grow, these files may be reorganized in an attempt to keep the individual files small enough to b

    suikyo
    suikyo 2006/05/26
    Garbage Collection FAQ, 代表的なアルゴリズムがリストされている.
  • 「アルゴリズム」って? 「プログラマ」って? - 檜山正幸のキマイラ飼育記 (はてなBlog)

    メモ編に対してですが、id:sumiiさんから、「アルゴリズム」という言葉の意味と使い方に関して、以下のコメントをいただきました: 通常の定義では、「アルゴリズム」といったら(特に断らなければ)任意の有効な入力について停止せねばならず、停止しない(かもしれない)場合は「セミアルゴリズム」といいます。もしそれ以外の理解をしている「プログラマ」がいるとしたら、単なる誤りか、少なくとも通常の定義とは異なるかと。 とまー、「プログラマ/技術者」ならば、「アルゴリズム」という言葉を、上記のごとく理解している(べき)だろう、ということです。 僕は週に何回か、プログラマ/技術者の方々と打ち合わせをします。そのときよく、「そこのロジックはどうなっているの?」とか「アルゴリズムはもう決まっています。」なんて会話になります。そんな打ち合わせの出席メンバーのような人々が「プログラマ/技術者」であり、今のような会

    「アルゴリズム」って? 「プログラマ」って? - 檜山正幸のキマイラ飼育記 (はてなBlog)
    suikyo
    suikyo 2006/04/21
    「アルゴリズム」の定義には停止性が含まれる.知らなかった….
  • No Free Lunch Theorem—理想の**の探し方—

    すべての評価関数に適用できる効率のよいアルゴリズムは存在しない。 “すべての評価関数”というのは上の例で言えば“すべての”ということである。 この定理を証明する前に、まずよく知られた探索アルゴリズム[5]を挙げて、探索とはそもそもどのようなものなのかを説明しよう。 探索アルゴリズム “探索”というのは問題の解の候補の中からよいものを探し出すことである(同語反復という感じだが)。ここでは次のように、評価関数が定義された問題を解く過程のことを探索と呼ぶことにする。 解の候補の有限集合を、その要素のひとつをとする。 評価関数はから有限集合への写像である(の要素のひとつをで表す)。 の最大値を与えるようなが問題の解で、それを見つけたいのである。 このような探索問題を解くためのアルゴリズムには大きく分けて次の2つがある。 アルゴリズムのように知識を用いて解を構成するもの(適切なヒュ

    suikyo
    suikyo 2006/04/21
    理想の探索アルゴリズムが存在しない条件
  • 1