タグ

algorithmに関するRaphael-w-bのブックマーク (12)

  • Web上の膨大な画像に基づく自動画像補完技術の威力 - A Successful Failure

    画像内に映り込んだ所望のオブジェクトを排除し、違和感の無い画像を生成するシーン補完技術に関しては近年複数の研究成果が発表されている。しかし中でも2007年のSIGGRAPHにて米カーネギメロン大のJames HaysとAlexei A. Efrosが発表した手法*1はブレークスルーとなりうる画期的なものだ。 論より証拠、早速適用例を見てみよう。エントリで利用する画像はPresentationからの引用である。元画像の中から邪魔なオブジェクト等の隠蔽すべき領域を指定すると、その領域が補完された画像が自動的に生成される。 アルゴリズム 効果は抜群だがアイデア自体は単純なものだ。Web上には莫大な数量の画像がアップされており、今や対象となる画像の類似画像を一瞬にして大量に検索することができる。そこで、検索された類似画像で隠蔽領域を完全に置き換えてしまうことで違和感の無い補完画像を生成するのだ。

    Web上の膨大な画像に基づく自動画像補完技術の威力 - A Successful Failure
  • マルコフ連鎖で日本語をもっともらしく要約する - ザリガニが見ていた...。

    そもそも、マルコフ連鎖とは何なのか?全く聞いたこともなかった。そして、文章を要約するのはとっても高度なことだと思っていて、自分のレベルではその方法を、今まで思い付きもしなかった。 しかし、以下のようなシンプルなRubyコードでそれが出来てしまうと知った時、目から鱗である...。一体、何がどうなっているのだ?コードを追いながら、マルコフ連鎖を利用するという発想の素晴らしさを知った! 作業環境 MacBook OSX 10.5.7 ruby 1.8.6 (2008-08-11 patchlevel 287) [universal-darwin9.0] mecab utf8環境でインストール済み マルコフ連鎖に出逢う rssを流し読みしていると、以下の日記に目が止まった。(素晴らしい情報に感謝です!) MeCabを使ってマルコフ連鎖 一体何が出来るコードなのか、日記を読んだだけではピンと来なかっ

    マルコフ連鎖で日本語をもっともらしく要約する - ザリガニが見ていた...。
  • Loop Patterns

    Owen Astrachan Eugene Wallingford Department of Computer Science Department of Computer Science Duke University University of Northern Iowa Durham, NC 27708 Cedar Falls, IA 50614 ola@cs.duke.edu wallingf@cs.uni.edu Copyright © 1998, Owen Astrachan and Eugene Wallingford Permission is granted to make copies for PLoP'98. Background There are many ways to look at patterns. An especially useful way to

  • スペル修正プログラムはどう書くか

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

  • ハードウェア乱数生成ルーチンhdrand.c

    ハードウェア乱数生成ルーチンhdrand.c  by とつげき東北  トップページに戻る 「ランダムな乱数」「良質な乱数」を得る 導入: プログラミングをしていて、「真にランダムな乱数」を得ようとしたときに困ることがある。 どんなに優れた決定論的擬似乱数ルーチンも、真にランダムな乱数を作ってはくれない。 結果としてtime値などを乱数の種にすることになるわけだ。 ゲームなどならその程度でも充分だが、セキュリティの重要なソフトではそうはいかず、ユーザのマウス入力のタイミングなどを読み取る必要が出てくる。 そこでCPUがPentium以降・Windows下でハードディスクが使用されている環境で、ユーザに不可解な入力作業をさせることなく、良い性質の乱数を得るためのルーチンを作っておく。 方法: テンポラリファイルフォルダにファイルを作成・削除し、その処理にかかった時間を高分解能

  • Mastering Algorithms with Perl : 404 Blog Not Found

    2006年11月02日19:00 カテゴリ書評/画評/品評 Mastering Algorithms with Perl 定番アルゴリズムを徹底理解!:ITproが もブクマされておりますが、それよりもこちらの方がおすすめ。 Mastering Algorithms With Perl J. Orwant / J. Hietaniemi / J. MacDonald 以前404 Blog Not Found:Hash != Associative Arrayでもちょこっと紹介しましたが、ここで改めて紹介しておきます。 書"Mastering Algorithms with Perl"には「定番アルゴリズムを徹底理解!」のアルゴリズムは全て載っている上、それぞれのベンチマークもちゃんと取ってます。"with Perl"とありますが、Perl色はそれほど強くないので、他のLLのユーザーにも役

    Mastering Algorithms with Perl : 404 Blog Not Found
  • [を] Count Sketch アルゴリズムというのがおもしろそう

    Count Sketch アルゴリズムというのがおもしろそう 2006-10-28-3 [Algorithm] これおもしろそう。 大量のデータから出現頻度の高いものを効率よく取り出す方法らしい。 - "Count Sketch" - Radium Software Development http://www.radiumsoftware.com/0610.html#061020 元の論文はここから読める。あとで読んでみる。 - Finding Frequent Items in Data Streams - Charikar, Chen, Farach-Colton (ResearchIndex) http://citeseer.ist.psu.edu/charikar02finding.html

  • Class::C3, Algorithm::C3 を勉強したよ! - IT戦記

    DBIx::Class を少し使ったことがあったので Class::C3 をなんとなくで理解していたんです。(ふーん幅優先版の NEXT モジュールでしょ?みたいな感じで。) でも、これは絶対にちゃんと細かい挙動まで勉強しといたほうがいいと思いました。 多重継承とか mixin とかに強くなりたいなと C3 C3 というのは Python 2.3 のドキュメントに書いてある MRO(Method Resolution Order 多重継承したときにどんな感じでメソッドを探索するかという順番) を決めるアルゴリズムで。Algorithm::C3 っていうのがそのアルゴリズムの Perl 実装なんです。 それに! Parrot でも使えるみたいだし! ちなみに MRO ってこんな感じね A には add というメソッドがある B にも add というメソッドがある C は A と B を多重継

    Class::C3, Algorithm::C3 を勉強したよ! - IT戦記
  • suffix array

    更新履歴 2004/01/07  O(N) 構築アルゴリズム三種追加(Ko &Alulu, Kim & al., Karkkainen & Sanders) Suffix Arrayは、最近注目を集めているデータ構造です。その理由として、 (1)大規模なデータに対して、高速に検索、情報抽出を行うことができる (2)BWTとしてデータ圧縮に用いることができる。 ことが挙げられます。(1)に関しては自然言語処理において、膨大な量のコーパスから情報(例えば、単語の出現回数など)を調べるときににSuffix Arrayを用いると非常に高速に求めることができます。 膨大な量のコーパスに基づいた自然言語処理が盛んになってきている今、Suffix Arrayが注目を集めています。 また、ゲノム情報を調べるバイオインフォマティクスにおいても、ここの配列と似ている部分(例えばCCAG)を調べるといった場合

  • たらいまわし関数の停止性証明 by ACL2 - kururu_goedel’s diary

    まずmeasureを定義。関数定義はlispと同様でdefun。アイデアとしては、まずa<=bとなるような組が最初、次に(a>b and b<=c)となるようなやつが、その次にそれ以外が来るように。二番目と三番目のクラスはa-bでさらに順序付けられています。 ACL2 !>(defun m (a b c) (if (and (integerp a) (integerp b) (integerp c)) (if (<= a b) 0 (if (<= b c) (cons (cons 1 1) (- a b)) (cons (cons 1 2) (- a b)))) 0))こんなのが返ってきて定義されたことを伝えてくれます。 Since M is non-recursive, its admission is trivial. We observe that the type of M is

    たらいまわし関数の停止性証明 by ACL2 - kururu_goedel’s diary
  • ゲーム木の探索問題

    ゲーム木の探索をする際に使われる様々な方法を紹介します。 基となる探索法 Depth first search と Breadth first search Iterative deepening Iterative broadening 探索における戦略 Minimax と Negamax 枝刈り法 αβ pruning Scout と NegaScout SSS* と DUAL* (概要) MTD(f) やその他の MTD (概要) その他の手法 Null window search

  • Kazuho@Cybozu Labs: キーワード抽出モジュールを作ってみた

    « IIS のログを tail -f | メイン | Lingua::JA::Summarize 0.02 » 2006年04月26日 キーワード抽出モジュールを作ってみた 一昨日、同僚の竹迫さんに、文書内からのキーワード抽出技術について教えてもらっていた時、わざわざ TF-IDF注1 用に別のコーパスを用意しなくても、MeCab だったら生起コストを辞書内に持っているんだから、それを使えばいいのではないか、という話になりました。 竹迫さんがその日のうちに作ってくれたプロトタイプで、アルゴリズムの改善とパラメータのチューニングを行ったところ、十分な品質が出そうなので、書き直して公開することにしました。 普通の Perl モジュールなので、 perl Makefile.PL && make && make install すれば使うことができます (15:50追記: すみません。 MeCab

  • 1