タグ

アルゴリズムに関するchorinskyのブックマーク (32)

  • 物理モデルのガンダムを遺伝的アルゴリズムで歩かせたムービーがすごい

    3Dと物理エンジンを使っていろいろな実験を行っているむにむにさんが、「ガンダムを遺伝的アルゴリズムで歩かせた」というムービーをニコニコ動画とYouTubeにアップしています。そもそも遺伝的アルゴリズムというのが何かわからなくても、それを説明してくれるムービーも用意されているので、いったいどれだけすごいことを試行錯誤しているのかがわかるようになっています。 YouTubeでのアカウントは「3D Creature Physics(99munimuni)」という名前になっています。 ガンダムを遺伝的アルゴリズムで歩かせた。walked the Gundam By genetic algorithm - YouTube すでに物理エンジンでガンダムを歩行させることに成功したむにむにさんが挑戦したのが、遺伝的アルゴリズムで歩行を改善していくということ。 このザクっぽい単純モデルだとたくさんのモデルを

    物理モデルのガンダムを遺伝的アルゴリズムで歩かせたムービーがすごい
    chorinsky
    chorinsky 2012/02/20
    これって滑り台の人かな
  • Algorithms by S. Dasgupta, C.H. Papadimitriou, and U.V. Vazirani

  • コルモゴロフ複雑性 - Wikipedia

    コルモゴロフ複雑性(コルモゴロフふくざつせい、英語: Kolmogorov complexity)とは、計算機科学において有限長のデータ列の複雑さを表す指標のひとつで、出力結果がそのデータに一致するプログラムの長さの最小値として定義される。コルモゴロフ複雑度、コルモゴロフ=チャイティン複雑性 (Kolmogorov-Chaitin complexity) とも呼ばれる。 この画像はフラクタル図形であるマンデルブロ集合の一部である。このJPEGファイルのサイズは17KB以上(約140,000ビット)ある。ところが、これと同じファイルは140,000ビットよりも遥かに小さいコンピュータ・プログラムによって作成することが出来る。従って、このJPEGファイルのコルモゴロフ複雑性は140,000よりも遥かに小さい。 コルモゴロフ複雑性の概念は一見すると単純なものであるが、チューリングの停止問題やゲー

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

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

  • 第5回さくさくテキストマイニングに参加しました #さくテキ - nokunoの日記

    第5回 さくさくテキストマイニング勉強会 : ATND データクリーニング入門 〜精度は細部に宿る〜 by toilet_lunch様 掃除は大事です!! Unicode正規化 フィルタリング 第2水準の漢字は捨てる 短いツイートは捨てる URLは捨てる あなたの質問に答えてみた 〜疑問に対する応答〜 by gepuroさん イカ娘の記事から答えをマイニング Cabochaを使って係り受け解析 質問文から疑問詞を取り出す 当に気持ちのいい全文検索〜Lucene/Solr入門〜 by AntiBayesianさん 検索エンジン入門 転置インデックス 適合率と再現率とF値 TF-IDF Lucene/Solr入門 Solrのインストール Schema設定:typesとfields gosenで形態素解析 ツイートをCSVで登録 まとめ 検索は大規模データ時代には必須 全文検索,転置インデック

  • 頻出典型アルゴリズムの演習問題としてよさげなやつ - kyuridenamidaのチラ裏

    効率的な別解とか存在する問題もあるけど演習によさそうなやつをピックアップ。そのアルゴリズムじゃないと解けないわけではないって問題も多いので注意。(ただ演習するのには都合が良いかなと)※個人的難易度をつけてみました。とても主観的な難易度付けなので気にせず解いてみてください。深さ優先探索・Balls[☆]・Sum of Integers[☆]・The Number of Island[☆]・Block[★]幅優先探索・Mysterious Worm[★]・Cheese[★]・Seven Puzzle[★☆]・Stray Twins[★★]・Deven-Eleven[★★]・Summer of Phyonkichi[★★☆]ワーシャルフロイド法(For 全点対最短路問題)・Traveling Alone: One-way Ticket of Youth[★]・A reward for a Car

  • アルゴリズムの勉強のしかた - きしだのHatena

    この記事で、アルゴリズムの勉強はアルゴリズムカタログを覚えることじゃないよということを書きました。 プログラムの理論とはなにか アルゴリズムの勉強というのは、スポーツで言えば腕立て伏せや走り込みみたいな基礎体力を養うようなもので、「ソートなんか実際に自分で書くことないだろう」とかいうのは「サッカーは腕つかわないのに腕立ていらないだろう」とか「野球で1kmも走ることなんかないのに長距離の走り込みいらないだろう」とか言うようなものです。 Twitterでアルゴリズムの勉強とはなにかと尋ねられて、「アルゴリズムの基的なパターンを知って、それらの性質の分析のしかたをしって、いろいろなアルゴリズムでどのように応用されているか知って、自分が組むアルゴリズムの性質を判断できるようになることだと思います。 」と答えたのですが、じゃあ実際どういうで勉強すればいいか、ぼくの知ってるからまとめてみました。

    アルゴリズムの勉強のしかた - きしだのHatena
  • 離散フーリエ変換を用いた多倍長乗算の話

    はじめに CPU のレジスタに入り切らないような巨大あるいは高精度な数値データの演算を行うとき、四則演算をやるにもそのためのルーチンを用意しなければならない。(*1) ここでは、「CPU のレジスタではちょっとはみ出す」という程度の数値データのことは考えない。何万桁、何百万桁という普通では目にしないような巨大な数値データを扱う場合に掛け算をどうすればよいかについて考える。(*2) はっきり言ってそんな巨大な数が扱えたところで日常生活にこれといった恩恵があるわけではないが、敢えて常識を覆すことによって掛け算の質が見えてくるかも知れない……などと論文調にこじつけてみたけれど、実は単なる好奇心だったりする。ただ、常識が覆されるのは事実だ。私は実際に巨大な数の計算を必要としているのではなくて、常識を覆えすことに快感を覚えるのである。(*3) 先に断っておくと、以下の解説を全部理解するには

  • Advanced Algorithms | Electrical Engineering and Computer Science | MIT OpenCourseWare

    This is a graduate course on the design and analysis of algorithms, covering several advanced topics not studied in typical introductory courses on algorithms. It is especially designed for doctoral students interested in theoretical computer science.

    Advanced Algorithms | Electrical Engineering and Computer Science | MIT OpenCourseWare
  • アルゴリズムとデータ構造

    書はコンピュータ サイエンスにおけるアルゴリズムとデータ構造を解説します。「プログラム書けるよ」と言う人達でも意外とアルゴリズムやデータ構造に関する知識を持っていません。 自身のプログラミング スキルを向上させたり隣のプログラマとちょっと差をつけるために是非とも身に着けておきたい知識です。 アルゴリズムとデータ構造は世の中にたくさんあります。書では適当な書籍で学べる基的なものを紹介します。データ構造の章では主に線形のデータ構造とグラフデータ構造を解説します。アルゴリズムの章では主に探索アルゴリズムと整列アルゴリズムを解説します。

  • MapReduce - Wikipedia

    MapReduce(マップリデュース)は、コンピュータ機器のクラスター上での巨大なデータセットに対する分散コンピューティングを支援する目的で、Googleによって2004年に導入されたプログラミングモデルである。 このフレームワークは関数型言語でよく使われるMap関数とReduce関数からヒントを得て作られているが、フレームワークにおけるそれらの用いられ方は元々のものと同じではない。 MapReduceのライブラリ群は、C++、C#、Erlang、Java、OCaml、PerlPythonPHPRuby、F#、R言語、MATLAB等のプログラミング言語で実装されている。 MapReduceは巨大なデータセットを持つ高度に並列可能な問題に対して、多数のコンピュータ(ノード)の集合であるクラスター(各ノードが同じハードウェア構成を持つ場合)もしくはグリッド(各ノードが違うハードウェア構成

  • ダイクストラ法(最短経路問題)

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

  • 【連載】コンピュータビジョンのセカイ - 今そこにあるミライ (10) 顔検出の主流アルゴリズム「Viola-Jones法」 | エンタープライズ | マイコミジャーナル

    Viola-Jones法による顔検出 顔検出で現在主に使用されているのは、ViolaとJonesの2人が考案した「Viola-Jones法」というアルゴリズムです。Viola-Jones法では、顔検出を行いたい対象の1枚の画像に対して、以下の図のように探索窓(例えば8ピクセル×8ピクセルのような判定領域)を左上から走査して順番に動かしていきます。 この探索窓の領域ごとに、あらかじめBoostingという機械学習アルゴリズムにより作成しておいたCascade構造の識別器というものにより、顔画像であるかどうかの判定を行います。このように、「各探索窓において顔が存在するかどうかをCascade構造の識別器により高速に判定する」というのが、顔検出の基的な流れです。 Viola-Jones法でポイントとなるのは、以下の2つのステップの処理です。 前処理:大量の学習データを用いたAdaBoostによ

  • lsh

    2. ( 最 ) 近傍点探索 ( Nearest Neighbor Search) とは いわゆる、特徴空間内での類似データ探索 二種類の問題が考えられる 定義 ℜ d 空間上の点集合 P が与えられた場合 最近傍点探索 クエリ点 q に対し、 p∈P で、 ||p-q|| を最小とする点 p を求める問題 r- 近傍点探索 クエリ点 q に対し、 p∈P で、 ||p-q||<r となる点 p を ( 存在するのならば ) 列挙する問題 3. 近傍点探索問題 近傍点探索アルゴリズムは、以下のようなタスクにおいて利用される インスタンスベース学習(k-近傍法) クラスタリング データセグメンテーション データベース検索 最短経路木探索(Minimum Spanning Tree) データ圧縮 類似データ検索 4. 近傍点探索アルゴリズム 最も単純なものは、クエリ点 q と、 p∈P の点全

    lsh
  • 何が必要なのか - 急がば回れ、選ぶなら近道

    ちょっと最近というか、ここ数年はというか、ここ10数年は、 常に強迫的に勉強せざるえない状況が続いておりまして、 まぁその辺の反省も踏まえて、 特に今後のIT屋さんとして何が必要ですか、 という点をまとめておく。 「マスターしておきたい技術」という感じです。 今は汎用機・オープン化に変化があった時期以上の転換期でもあり、 twitterのTL上の知り合いのほぼ8割強が ここ一年で転職するという異常事態になっています。 自分自身も現状の会社では満足に仕事ができないということで 会社を作ったという経緯もあり、 そんな中で、動く人たち「共通の仕様」みたいなものを感じます。 そんなこんなで、 要は、特に一線で活躍している技術者の人たちには、 共通のコモンセンスというのがあるな、 ということを良く思う訳です。 これは冷静に見ると、汎用機の時代からあまり変わってなくて、 つまり基礎(基ではないですよ

    何が必要なのか - 急がば回れ、選ぶなら近道
  • FrontPage - 画像処理工学特論07

  • who7s ウォルシュ・アダマール変換

    [PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。 直交変換として有名なフーリエ変換は、変換核として三角関数を用いる。 一方、ウォルシュ・アダマール変換(Walsh Hadamard Transform: 以下WHT)は、矩形関数を変換核として用いる。 アルゴリズムを最後に述べるが、矩形関数を用いるため、定数倍を除いてWHTは加減算のみとなり、実際はフーリエ変換等より高速に処理を行うことができる。 そのため、一時期は熱心に研究された。 しかし、昨今のハードウェアの進歩により、今日ではそれほど魅力的ではなくなっている。 それでも、幾らかは利用価値はあるし、知識の一つとしても損は無いと思える。 また、WHTはインターネット上で調べても、あまり資料が発見できない。 よって、少しでも必要とするものの助けになれば幸いである。 まず、WHTは

    who7s ウォルシュ・アダマール変換
  • University of Aizu Online Judge

    Welcome This online judge system includes problems criated by faculty members and students of The University of Aizu. In addition, it includes an archive of problems from different programming contests. You can solve problems which were given in the programming contests for high school students, Japan domestic contests for ACM/ICPC, and Asia regional contests for ACM/ICPC in Japan. The system wil

  • SoftComputing lab.

    ソフトコンピューティングとは ソフトコンピューティングとはあいまいさを許容し、むしろそれを活かして過度な精密性の追求を避けることで扱いやすさ、頑健性、低コスト性などを目指す情報処理手法のことを差します。具体的には、ファジィ理論、ニューラルネットワーク理論、遺伝的アルゴリズム、カオス理論、学習理論などさまざまな分野が含まれます。 更新情報 2006/01/01 サーバ移転に伴い、サイトのリニューアルを行いました。 ※コンテンツの更新はありません。

  • 「最強最速アルゴリズマー養成講座」関連の最新 ニュース・レビュー・解説 記事 まとめ - ITmedia Keywords

    最強最速アルゴリズマー養成講座: そのアルゴリズム、貪欲につき――貪欲法のススメ アルゴリズムの世界において、欲張りであることはときに有利に働くことがあります。今回は、貪欲法と呼ばれるアルゴリズムを紹介しながら、ハードな問題に挑戦してみましょう。このアルゴリズムが使えるかどうかの見極めができるようになれば、あなたの論理的思考力はかなりのレベルなのです。(2010/9/4) 最強最速アルゴリズマー養成講座: 病みつきになる「動的計画法」、その深淵に迫る 数回にわたって動的計画法・メモ化再帰について解説してきましたが、今回は実践編として、ナップサック問題への挑戦を足がかりに、その長所と短所の紹介、理解度チェックシートなどを用意しました。特に、動的計画法について深く掘り下げ、皆さんを動的計画法マスターの道にご案内します。(2010/5/15) 最強最速アルゴリズマー養成講座: アルゴリズマーの登