タグ

algorithmに関するymorimoのブックマーク (19)

  • Unique key generation

  • MySQLでTF-IDFの計算、あと2つのベクトルの内積の計算 (2006-12-19)

    文を形態素分解し、必要な品詞をtfテーブルとdfテーブルに入れる。分析対象となる文書群すべてについてこの処理を行い、各形態素のTF-IDF値を求めて文書をベクトル化する。他の文書ベクトルと内積を比較し、小さい順に「似ている記事」を求めたい (クラスタリングとかは別途)。 HarmanによるTF値の正規化とSparok JonesによるDF値の正規化をする場合のTF-IDF値の計算式は以下のようになる (参考文献): tfidf(i,j) = log2(freq(i,j) + 1) / log2(NoT) * (log2(N / Dfreq(i)) + 1)

  • 手軽にTF/IDFを計算するモジュール - download_takeshi’s diary

    情報検索の分野でよく使われるアルゴリズムで「TF/IDF」というものがあります。 ドキュメントの中から「特徴語」を抽出する、といったような用途でよく使われています。 TF/IDFアルゴリズムのくわしい解説はこことかここを見てください。 今回はこのTF/IDFの計算を「簡単」に実現するためのperlモジュールをCPANに上げましたので、ご紹介します。なまえはLingua::JA::TFIDFといいます。 Lingua::JA::TFIDF - TF/IDF calculator based on MeCab. http://search.cpan.org/~miki/Lingua-JA-TFIDF TF/IDF実装の困りどころ TF/IDFの実装を試みた方であればわかると思うのですが、実際にやろうとすると、TF(Term Frequency)の計算はなんら難しくありませんが、IDF(Inve

    手軽にTF/IDFを計算するモジュール - download_takeshi’s diary
  • 類似度と距離 - CatTail Wiki*

    2つのデータが似ている度合いを,類似度の大きさや距離の近さといった数値にしてあらわすことで,クラスタ分析や,k-近傍法,多次元尺度構成法(MDS)をはじめとするいろいろな分析を行うことが可能となる. ここでは,よく知られている類似度や距離について述べる. 類似度という概念は,2つの集合の要素がまさにどれだけ似ているかを数量化したものであり,距離とは,要素同士の離れ具合,従って非類似度とちかい概念と考えてもよい. 参考までに数学における距離の概念の定義を示すと, 距離空間の定義 Sを1つの空でない集合とし,dをSで定義された2変数の実数値関数 d(SxS) → R が,以下の4条件(距離の公理) D1 : (非負性) 任意のx,y∈Sに対して d(x,y)≧0. D2 : (非退化性) x,y∈Sに対し d(x,y)=0  ⇔ x=y. D3 : (対称性) 任意のx,y∈Sに対して d(x

    類似度と距離 - CatTail Wiki*
  • 経路探索アルゴリズムA* - gan2 の Ruby 勉強日記

    RTSや防衛ゲームでよく見るキャラが障害物を避けて通る移動方法って どういうアルゴリズムなんだろう?と気になったのでちょっと調べてみた。 そしたら、たぶんこれだっていうのが見つかったのでメモしておきます。 その名もA*(エースターって読むらしい)。 自分でFlash使って実装してみたい。 以下は参考ページ。 A*(A-star:エースター)探索アルゴリズム 概要の説明はここがすごく分かりやすい。WikipediaのA*の項を見たときは( ゜д゜)ポカーンって感じだったけど、ここの説明を読んだらすっきりした。 A*アルゴリズム、ActionScriptで。 Flashでの実装。ソース(コメントつき)あり。これを読んで勉強かなぁ。 http://torus.jp/memo/x200606/shibuya-js.rd.htmlと合わせて読むのがいいかも。 2007-07-12 C++での実装。ソ

    経路探索アルゴリズムA* - gan2 の Ruby 勉強日記
  • お知らせ » 『機械はどれだけ人間に近づけるのか』 ~第2回 チームラボアルゴリズムコンテスト~ - チームラボ株式会社

    2009/02/05: 『機械はどれだけ人間に近づけるのか』 ~第2回 チームラボアルゴリズムコンテスト~ 『機械はどれだけ人間に近づけるのか』 ~第2回 チームラボアルゴリズムコンテスト~ 情報があふれてる。 人間の手で一つ一つ情報を見て取捨選択することは不可能だ。 もし人間の手に代わるロボットがいたら世の中がちょっと変わるかもしれない。 人間が持つ見えないルールや思考をプログラムで実現してみたいと思わないだろうか。 それはきっと使う者を感動させ、未来をわくわくさせるだろう。 我々チームラボも常にそこに挑戦し続けたいと思っている。 そこで純粋なこの思いを満たせる場をコンテストという形で提供し、プログラマーの皆さんを応援したいと思う。 このアルゴリズムコンテストは、機械はどれだけ人間に近づけるのかというお題を通して、皆さんが日ごろ持っているアイデアを、様々な要素技術(例えば、自然言語処理

  • Universally unique identifier - Wikipedia

    A Universally Unique Identifier (UUID) is a 128-bit label used to uniquely identify objects in computer systems. The term Globally Unique Identifier (GUID) is also used, mostly in Microsoft systems.[1][2] When generated according to the standard methods, UUIDs are, for practical purposes, unique. Their uniqueness does not depend on a central registration authority or coordination between the parti

    Universally unique identifier - Wikipedia
  • YAPC::Asia 2008 Tokyo - Pathtraq - building a computation-centric web service » SlideShare

    The talk describes the architecture of Pathtraq, one of Japan's largest web access statistics service, covering from database compression techniques to embedded SQL in perl.Read less

    YAPC::Asia 2008 Tokyo - Pathtraq - building a computation-centric web service » SlideShare
  • はてなダイアリーのようにキーワードを自動でリンクするアルゴリズムを知りたいです。…

    はてなダイアリーのようにキーワードを自動でリンクするアルゴリズムを知りたいです。単純に考えると、①キーワードのリストを持っておく。②対象となる文章に、あるキーワードが含まれているかを検索する。③「②」の検索をキーワードの数だけ繰り返す。ということになると思います。1万語のキーワードリストがある場合、1万回の検索を行うことになり、たとえば多数の投稿がある場合は効率も悪いですし負荷も掛かります。もっと効率のいいアルゴリズムがあるのでしょうか。

  • 検索結果の「鮮度」が変わる、Google "QDF"アルゴリズムの仕組み:渡辺隆広のサーチエンジン情報館

    前々回の記事「百度、気で日の検索エンジン市場に参入する けど」の文中で、Googleの検索結果が同じキーワードでも朝と夜で変化するという話を書きましたが、それについて説明している日語の記事があまりないので、ここで解説をしておきます。この技術はもともと、米New York TimesのGoogleへのインタビューの中で紹介されたもので、QDF(query deserves freshness)と呼ばれるものです。日国内では2007年4月以降、Googleウェブ検索によく「5分前」「1時間前」「4時間前」といったラベルつきのリンクが掲載されることがありますが、これはQDFアルゴリズムによるものです。 --------------- GoogleYahoo!で検索した時に私たちが目にする検索結果の並び順というのは、ある時点におけるウェブページのランク付けの結果に基づいたものだ。ウェブ

    検索結果の「鮮度」が変わる、Google "QDF"アルゴリズムの仕組み:渡辺隆広のサーチエンジン情報館
  • APOPのぜい弱性で見えてきたMD5の「ご臨終」

    情報処理機構セキュリティセンターは4月,メール・サーバーの認証プロトコルの一つ「APOP」について注意を喚起した。この注意喚起は,電気通信大学の太田和夫教授のグループが,APOPで使うハッシュ関数「MD5」に新たな欠陥を発見したことに基づくもの。この欠陥は,APOPだけでなく,MD5を使う電子署名などのほかのアプリケーションの欠陥も示唆する。実際にどの程度危険なものか,技術に基づいて考えてみよう。 わからないはずのパスワードが解かれる APOPは,チャレンジ・レスポンスという方式を使って,メール・クライアントとメール・サーバーのやりとりを盗聴してもパスワードが解読できないようにする。パスワードを直接やりとりせずに,まずサーバーからクライアントに「チャレンジ・コード」という文字列を送る。クライアントはチャレンジ・コードとパスワードを連結したうえで,MD5というハッシュ関数を使ってハッシュ値を

    APOPのぜい弱性で見えてきたMD5の「ご臨終」
  • スペル修正プログラムはどう書くか

    Peter Norvig / 青木靖 訳 先週、2人の友人(ディーンとビル)がそれぞれ別個にGoogleが極めて早く正確にスペル修正できるのには驚くばかりだと私に言った。たとえば speling のような語でGoogleを検索すると、0.1秒くらいで答えが返ってきて、もしかして: spelling じゃないかと言ってくる(YahooMicrosoftのものにも同様の機能がある)。ディーンとビルが高い実績を持ったエンジニアであり数学者であることを思えば、スペル修正のような統計的言語処理についてもっと知っていて良さそうなものなのにと私は驚いた。しかし彼らは知らなかった。よく考えてみれば、 別に彼らが知っているべき理由はないのだった。 間違っていたのは彼らの知識ではなく、私の仮定の方だ。 このことについてちゃんとした説明を書いておけば、彼らばかりでなく多くの人に有益かもしれない。Google

  • http://www.pc-view.net/Network/030708/page2.html

  • JavaScript でソートアルゴリズムを可視化 - bkブログ

    JavaScript でソートアルゴリズムを可視化 JavaScript でソートアルゴリズムを可視化するプログラムを書いてみました。元ネタは Jon Bentley による ソートアルゴリズムを可視化する Java アプレットです。 アルゴリズム 要素数 動作確認は Firefox 2, IE 7, Opera 9 で行いました。要素数は最大で200まで選べますが、かなり重くなるので遅いマシンで実行すると危険です。 English version is also available. ソースコード: sort-animation.js 解説 X軸が配列の添え字、Y軸が配列の要素の値を示しています。最初に要素がランダムに並んでいる配列 (値に重複なし) を作って、それを各種のソートアルゴリズムでソートする様子をアニメーションで表示します。 ただし、要素のあらゆる変更に対して毎回表示を更新し

  • 高度プログラミング演習(九州大学全学共通教育科目)の説明資料

    実践プログラミング CとC++プログラミングに関するいくつかの例題と解説. 単なるプログラミングテクニックや文法の解説ではなく, 背後にある考え方の習得(アルゴリズム,データ構造,数学など)を重視して いる. プログラムをじっくり眺めそこから技法を学び取る. 最大値 [HTML] 曜日の計算 [HTML] 平均値,分散 [HTML] 2次方程式の解 [HTML] 最小自乗法 [PPT], [HTML] 待ち行列シミュレーション [PPT], [HTML] アーランの即時式モデル [PPT], [HTML] 行列のLU分解 [PPT], [HTML] ニュートン法による非線型方程式の解 [PPT], [HTML] 数値積分 [PPT], [HTML] 2分探索木 [PPT], [HTML] ヒープソート [PPT], [HTML] クイックソート [PPT], [HTML]

  • OBB vs AABB - Radium Software Development

    This domain may be for sale!

  • イケてないプログラム(使えない成果物)に見られる3つの共通点

    クイックソートの話で書いたとおり、相変わらず Excel - VBA と格闘する日々が続いております・・・orz 「大企業にありがちな問題。委託開発の甘い罠・・・」でも書いたとおり、今まで外注して作ったソフトウェアってほぼ 100% の確率でイケていないものが完成してます。年末に納品されたソフトウェアのできも酷いの何のって・・・ さて、いままで見てきたイケてないプログラムのダメソースに共通して言えることが3点ありまして、 DRY ( Don’t Repeat Yourself ) でない。同じもしくは似たソースのコピペが至る所に散在する。 ロジックに無駄が多すぎ。行き当たりばったりで作った感、満点。 アルゴリズム知らなさすぎ。馬鹿ループ処理で時間かかりすぎ。 のいずれか、もしくは全部が当てはまります。大抵は全部ですね。こういったソースが納品されると、センス無いなぁ〜と思っちゃうわけ。こうい

    ymorimo
    ymorimo 2006/01/31
    n個の要素からm個を選択する順列・組合せを求める。
  • Koders Code Search: RandomUtilsTest.java - Java - AL20

    ymorimo
    ymorimo 2005/10/07
    commonsのRandomUtilsのテスト。ランダム性のテストにchi-square test(χ2乗検定)を使用。
  • 良い乱数・悪い乱数

    C言語標準ライブラリの乱数rand( )は質に問題があり、禁止している学会もある。 他にも乱数には様々なアルゴリズムがあるが、多くのものが問題を持っている。 最も多くの人に使われている乱数であろう Visual Basic の Rnd の質は最低である。 そもそも乱数とは 乱数とは、来サイコロを振って出る目から得られるような数を意味する。 このような乱数は予測不能なものである。 しかし、計算機を使って乱数を発生させた場合、 次に出る数は完全に決まっているので、予測不能とはいえない。 そこで、計算機で作り出される乱数を疑似乱数(PRNG)と呼び区別することがある。 ここでは、特にことわらない限り乱数とは疑似乱数のことを指すとする。 計算機でソフト的に乱数を発生させることの最大のメリットは、 再現性があることである。 初期状態が同じであれば、発生する乱数も全く同じものが得られる。 このことは

    ymorimo
    ymorimo 2005/10/03
    「Math.random( ) は種を与える機能がない」これをどれくらい考慮するか。あとメルセンヌ・ツイスタをメモ。
  • 1