タグ

algorithmに関するma-rusukeのブックマーク (14)

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

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

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

    �Acrobat � Edition Thanks to special permission from Cambridge University Press, we are able to bring you the complete Numerical Recipes in C book On-Line! To utilize this resource, you will need an Adobe Acrobat viewer linked as a helper program to your WWW browser. Permission is granted by the copyright owners for users of the World Wide Web to make one paper copy of these PostScript files for t

  • ORWiki

    OR学会50年の歴史の中で,OR事典の編纂・改訂は通算3度目となる.いろいろな理由からOR事典編集委員会は,「OR事典」をWebに公開するという手段をとることになった.前回はCDによる出版であった. 資料編だけは「OR事典」から切り離して,OR学会の通常のホームページの中に移すことになった.これは逆瀬川浩孝委員長のアイディアである。内容の性格上,資料追加も間違いの訂正も広報委員会の責任で簡単に出来るようになる. 前回までの学会の歴史資料はそのまま残してある.今回はデータ追加作業を基に多少の資料追加を行った.前事務局長の藤木秀夫さんには,その後の学会活動全般にわたる記録をまとめて原稿を作成してもらった.学術会議関係も藤木さんが前回の形式に習って資料原稿を作成し,FMES会長の高橋幸雄さんに目を通していただいた. 各支部から増補追加の原稿が送られてきた.Webのサンプルを見てくださいと言って

  • クイックソートとは コンピュータの人気・最新記事を集めました - はてな

    ma-rusuke
    ma-rusuke 2007/11/28
    また、二つの要素の評価値が等しい場合、クイックソートはその2要素の並びを保存しない(「安定なソート」でない)。この性質を嫌うアプリケーションでは、クイックソートを使えない。
  • 逆行列を求めるプログラム

    プログラムで行列演算をしていると逆行列が必要になることがしばしばあります。 2×2の逆行列なら簡単に求まるからいいんですが、それより大きな行列になると公式らしい公式が見当たらないので仕方なくLU分解のルーチンを組む、なんてことを私は何回か経験しました。 ただ、そのLU分解のルーチンが結構厄介で、ピボット操作などもちゃんとルーチンに組み込んでおかないとゼロ除算とかが発生していまい、当は逆行列が存在するにもかかわらず算出できない、なんてことになってしまいます。 そもそもこのテの数値演算のアルゴリズムは数式上では正確でもコンピュータに計算させると大きな誤差が発生してしまうので困ったもんです。 ごちゃごちゃしたプログラムを組まなくても逆行列が出せないかなぁ、と思ってちょっと考察してみました。

  • 球面を均等に分割するアルゴリズム — Soft x-ray beamline at SPring-8.

    球面を均等に分割するアルゴリズム (計算方法) 平面を均等な面積の小片に分割するのは簡単だ。 X軸、Y軸を均等な間隔で分割して、方眼紙のように分割すれば、おのおのの断片はすべて均等な面積になる。このような方眼紙に分割したものは、メッシュとよばれ、いろいろな計算によく使われる。 ところで、ある種の計算では、球面を均等に分割したメッシュが必要。ところが、単純に方眼紙のように切っても、球面上で均等な面積を持つメッシュは得られない。 ここで工夫が必要となる。一番初めに考えられるのは、正多面体を、基構造として、それを順次、細分化していく方法だ。まず、この基となる正多面体の選び方が重要となる。  正二十面体のように、初めに大きな多面体を採用すると、少ない回数の細分化プロセスで、細かいメッシュが得られる。しかも、細分化された小片の形状が正三角形に近く、比較的均一となる。そして、得られる小片群は、5回

  • CGAL - Computational Geometry Algorithms Library

    Boolean Operations CGAL::corefine_and_compute_boolean_operations(statue, container); Wrapping CGAL::alpha_wrap(); Triangulations CGAL::make_triangulation(); Axis Aligned Bounding Box Tree CGAL::AABB_tree tree(faces(surface_mesh)); The Heat Method CGAL::Heat_method_3::estimate_geodesic_distances(); Mesh Segmentation CGAL::sdf_values(surface_mesh); Classification CGAL::Classification::classify(las_p

  • http://www.activebasic.com/aba/wiki.cgi?%A5%B3%A5%E0%A5%BD%A1%BC%A5%C8

  • Binary space partitioning - Wikipedia

    This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed. Find sources: "Binary space partitioning" – news · newspapers · books · scholar · JSTOR (May 2016) (Learn how and when to remove this message) The process of making a BSP tree In computer science, binary space partitio

    Binary space partitioning - Wikipedia
  • k-d tree - Wikipedia

    In computer science, a k-d tree (short for k-dimensional tree) is a space-partitioning data structure for organizing points in a k-dimensional space. K-dimensional is that which concerns exactly k orthogonal axes or a space of any number of dimensions.[1] k-d trees are a useful data structure for several applications, such as: Searches involving a multidimensional search key (e.g. range searches a

    k-d tree - Wikipedia
  • http://robotics.me.es.osaka-u.ac.jp/MiyazakiLab/Research/pingpong/2003/kdtree.html

  • プログラムを2倍から4倍早くする方法 - GIGAZINE

    プログラミングの話なので、ソフトウェアを使うだけのユーザーには関係ない話です。 要するに実行速度の遅いプログラムを2倍から4倍高速化させるには非常に基的なトリックというか技術を使えば可能ですよ、というお話。 アルゴリズムの考え方なので、仕事上どうしてもプログラムの実行速度を上昇させる必要があるが、やり方がイマイチよく分からないという人は必見。 Dr. Dobb's | An Algorithm for Compressing Space and Time | 3 1, 2006 かの有名な「ライフゲーム」を例に出し、プログラミングのコードの内容を高速化するにはどういうアプローチを取ればいいのか、その際に使用する再帰的アルゴリズムの考え方、複雑な式を簡単な式に圧縮する方法、圧縮することで実行時間の節約が可能になること、などをやたら詳細に解説しています。 ぶっちゃけ、これが理解できるのであれ

    プログラムを2倍から4倍早くする方法 - GIGAZINE
  • Strassenのアルゴリズム - 行列の乗算の高速化

    シュトラッセンのアルゴリズム(Strassen algorithm)は、行列の積を高速に計算するアルゴリズムである。通常、行列同士の積を計算するにはの時間が必要だが、このアルゴリズムを用いると、の時間で計算できる[1]。1969年、フォルカー・シュトラッセンが開発した[1][2]。 便宜上、を偶数と考えて、以下のように部分行列に分解する。 そして、以下の七つの行列をつくる。 このとき、 の関係が成り立つ。 この関係を利用して計算すると、部分行列同士の乗算が、通常の方法では8回必要なのに、この方法では7回ですむようになり、計算時間が削減される。部分行列への分割を再帰的に行うことにより、さらに計算時間を削減することができる。 脚注[編集] ^ a b 奥村晴彦『C言語による最新アルゴリズム事典』技術評論社、1991年、51頁。ISBN 4-87408-414-1。 ^ Strassen, Vo

  • 1