algorithmに関するenerickのブックマーク (5)

  • ChordアルゴリズムによるDHT入門 - 情報科学屋さんを目指す人のメモ

    何かのやり方や、問題の解決方法をどんどんメモするブログ。そんな大学院生の活動「キャッシュ」に誰かがヒットしてくれることを祈って。 Chordの解説ページは移転しました。こちらをご覧ください→「ChordアルゴリズムによるDHT入門」 Symphonyの解説を書いたとき、「Chordの理解を前提」にしていたので、今回はChordの細かい解説スライドを作成しました。 Chordの説明はDHTの中でももっともたくさん書かれているものだと思います。 もちろん、それと同じように書いたのではほとんど意味がないと思うので、 論文を読んでもすぐには分からない全体像から、どこが重要か、どの点によってメリットが生まれているかなどに注目しつつ、飲み込みやすいストーリーになるように注意しました。 なおかつ、出来るだけ論文からぶっ飛びすぎないようにも気を付けてみました。 まだ荒削りなのですが、とりあえずどうぞ。

    enerick
    enerick 2011/09/23
    わかりやすかった
  • Adobe Photoshop CS5に実装されるPatchMatchの実力 - A Successful Failure

    動画:Adobe Photoshop CS5の新機能はもはやえげつないレベル… | ◆めっつぉ:スクエニ&ガジェットニュースとしてAdobe Photoshop CS5の新機能が紹介され話題になっている。 概要を知るには動画で見るのが手っ取り早いが、エントリではSIGGRAPH2009で発表された元論文*1を参照して、その詳細を紹介したい。 エントリで紹介する画像は全て元論文からの引用であり、高解像度画像にリンクしている。「失業者が出るレベル」とコメントされているが、高解像度画像によりそのクオリティを確認してもらいたい。 PatchMatchの概要 Adobe Photoshop CS5の新機能は、近似画像ないし近似画像領域を発見するための無作為近隣探索アルゴリズムであるPatchMatchによって実現されている。最近隣探索(nearest-neighbor search)は先行研究で

  • Sorting Algorithms Demo

    Sorting Algorithms We all know that Quicksort is one of the fastest algorithms for sorting. It's not often, however, that we get a chance to see exactly how fast Quicksort really is. The following applets chart the progress of several common sorting algorithms while sorting an array of data using in-place algorithms. This means that the algorithms do not allocate additional storage to hold tempora

    enerick
    enerick 2011/06/06
    Chrome11(mac)だとブロック解除しても上手く表示できなかったからFirefox4で見た
  • 二分木を使った数式の逆ポーランド記法化と計算 - smdn.jp

    一般に人が読むことを前提にした数式はx = 1 - 2 + 3の様な形式で表記されますが、演算の順序などを考えるとコンピュータにとってはこの表記は扱いにくいものです。 コンピュータとしてはこの式はx 1 2 - 3 + =と表記されていたほうが扱いやすくなります。 このような形式での表記が逆ポーランド記法です。 逆ポーランド記法で記述された数式x 1 2 - 3 + =は、「xに1から2を引いた(-)ものに3を足して(+)代入する(=)」と読むことができます。 より機械的な表現にすれば「xに、1に2を-して、それに3を+して、それを=する」と読むこともできます。 つまり、この表記においては、演算対象と演算処理が処理順に記述されることになります。 プログラミングなどではx = 1 - 2 + 3;といった式を書きますが、実は実行時にはスタックというものを使って逆ポーランド記法的に計算していま

    二分木を使った数式の逆ポーランド記法化と計算 - smdn.jp
  • ダイクストラ法(最短経路問題)

    ダイクストラ法 (Dijkstra's Algorithm) は最短経路問題を効率的に解くグラフ理論におけるアルゴリズムです。 スタートノードからゴールノードまでの最短距離とその経路を求めることができます。 アルゴリズム 以下のグラフを例にダイクストラのアルゴリズムを解説します。 円がノード,線がエッジで,sがスタートノード,gがゴールノードを表しています。 エッジの近くに書かれている数字はそのエッジを通るのに必要なコスト(たいてい距離または時間)です。 ここではエッジに向きが存在しない(=どちらからでも通れる)無向グラフだとして扱っていますが, ダイクストラ法の場合はそれほど無向グラフと有向グラフを区別して考える必要はありません。 ダイクストラ法はDP(動的計画法)的なアルゴリズムです。 つまり,「手近で明らかなことから順次確定していき,その確定した情報をもとにさらに遠くまで確定していく

  • 1