タグ

algorithmに関するkoyhogeのブックマーク (83)

  • るびま

    『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、日 Ruby の会の有志による Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0058 号 バックナンバー Rubyist Magazine 0058 号 RubyKaigi 2018 直前特集号 Rubyist Magazine 0057 号 RubyKaigi 2017 直前特集号 Rubyist Magazine 0056 号 Rubyist Magazine 0055 号 Rubyist Magazine 0054 号 東京 Ruby 会議 11 直

  • Processing の燃えるエフェクトを AS3 に移植した - てっく煮ブログ

    asProcessing のサンプル FireCube が興味深かったので ActionScript 3.0 に移植してみました。完成品がこれ。パフォーマンス改善Processing 版のソースコード に比べて、AS3 版ではいくつかのパフォーマンス改善を行っています。オリジナルでは、何かと色んな処理をピクセルごとの演算をしていました。ノイズの作成周りのピクセルとの平均色の変換それぞれ、ActionScript 3.0 では次のように実装しました。ノイズの作成 → BitmapData.noise()周りのピクセルとの平均 → ConvolutionFilter色の変換 → BitmapData.paletteMap()その結果、ピクセルごとではなく、画像に対して一気に計算できたので、パフォーマンスが大幅に向上しました。BitmapData 系のメソッドが充実してるのは ActionScr

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

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

  • Flashで数値計算を高速化する方法 - yukobaのブログ

    Flashで3Dなどでシュミレーションをすると、今後ますます高速な数値計算が求められると思います。Adobe MAXでの発表にあたり、数値計算のベンチマークをとっていったら、どんどん速くなっていったので、現状ここまで速くなったというのをまとめます。この件について、id:gyuque さんに激しく色々と教えてもらいました。深くお礼を申し上げます。 テスト内容 テスト内容として、要素数 100K のベクトルの内積を扱います。ベクトルの内積や行列の掛け算は、数値計算の最重要計算であり、かつ、ベクトルの内積は実装しやすいので、これにしました。ベンチマーク環境は、Win XP の Pentium4 3.2GHzです。2次キャッシュは 1MB なので、ベクトルは2次キャッシュに収まりきっていません。また、Flash Player は flashplayer_10_sa_debug.exe を使用してい

    Flashで数値計算を高速化する方法 - yukobaのブログ
  • 日立、神戸大、福井大が次世代ハッシュ関数「Lesamnta」を共同開発 | エンタープライズ | マイコミジャーナル

    日立製作所、神戸大学、福井大学の3者は15日、より安全な次世代ハッシュ関数「Lesamnta」を共同開発したと発表した。 新技術は情報通信研究機構(NICT)からの委託研究「次世代ハッシュ関数の研究開発(2007-2008年度)」によるものであり、世界の暗号技術標準を事実上決定するとされる米商務省国立標準技術研究所(NIST)の次世代暗号コンペティション(SHA-3コンペ)において、次世代ハッシュ関数の候補として正式に認定されたとのこと。 新技術は実装の容易さや処理速度などの要件に配慮しつつ、安全性を最も重視したアルゴリズムという。日立がRFID向けに開発したハッシュ関数「MAME」の設計指針を継承するとともに、従来のブロック暗号研究で培った安全性評価などの技術を活用し、高いデータ攪拌性を持つ複数の基関数を安全性と効率性とを考慮して最適配置することで、各種暗号解読への耐性を実現したとして

  • ウノウラボ Unoh Labs: diff with C++

    ミートソーススパゲティを作るときは、ミートソースから作るのが信条のbokkoです。それはさておき、今日はdiffのお話です。 diff diffは指定した2つのファイルの差分を求めるコマンド、もしくはその差分そのものを指します。普段から何気なく使用しているコマンドですが、その中で使われているアルゴリズムは結構難しいです。 差分を計算するということ 差分を計算するというのは以下の3つを求めることに帰結します。 ・Levenshtein Distance(Edit Distance) ・LCS(Longest Common Subsequence) ・SES(Shortest Edit Script) 上から順に1つずつ説明していきます。 Levenshtein Distance Levenshtein Distanceは2つのシーケンスの違いを数値化したもので編集距離とも言います。これは後述

  • Ringo's Weblog: 知識の量が質に変化する瞬間

    プライバシーポリシー | サイトポリシー | 商標 | フィード | サイトマップ Copyright© 2000-2007 Community Engine Inc. All rights reserved.

  • GoogleのMapReduceアルゴリズムをJavaで理解する

    GoogleMapReduceアルゴリズムをJavaで理解する:いま再注目の分散処理技術(前編)(1/2 ページ) 最近注目を浴びている分散処理技術MapReduce」の利点をサンプルからアルゴリズムレベルで理解し、昔からあるJava関連の分散処理技術を見直す特集企画(編集部) いま注目の大規模分散処理アルゴリズム 最近、大規模分散処理が注目を浴びています。特に、「MapReduce」というアルゴリズムについて目にすることが多くなりました。Googleの膨大なサーバ処理で使われているということで、ここ数年の分散処理技術の中では特に注目を浴びているようです(参考「見えるグーグル、見えないグーグル」)。MapReduceアルゴリズムを使う利点とは、いったい何なのでしょうか。なぜ、いま注目を浴びているのでしょうか。 その詳細は「MapReduce : Simplified Data Proc

    GoogleのMapReduceアルゴリズムをJavaで理解する
  • KONAMI、「METAL GEAR SOLID 4」関連セッションレポート

    【10月11日】 カプコンブースポート 「モンスターハンター3」など全タイトルが試遊可能 「東京ゲームショウ2008」KONAMIイベントレポート PS3/Xbox 360版「悪魔城ドラキュラ」製作決定、 MGO拡張パック第二弾追加情報を発表 「東京ゲームショウ2008」出展メーカー特設サイトリンク集 「東京ゲームショウ2008」記事リンク集 SCEJブースレポート PS3「リトルビッグプラネット」、「Flower」ほかDL専用PS3タイトルその1 (開発者インタビュー付き) マイクロソフトブースレポート サードパーティータイトルを中心に24タイトルをプレイアブル出展 マイクロソフト、東京ゲームショウ2008 Xbox 360スクリーンショット集 セガブース、イベントレポートその1 期待の3プロジェクトの記者発表会を開催! セガブース、イベントレポートそ

    koyhoge
    koyhoge 2008/09/12
    ぐっとくる良記事。
  • 貧弱環境プログラミングのススメ――柴田 淳 - @IT

    私の「プロの開発者」としてのキャリアは、同年代の開発者よりちょっと長いと思います。当時、読者からの投稿プログラムを掲載している雑誌がありました。そこに最初に送った短いゲームプログラムが採用されたのです。 中学生のころの話です。自分の作ったプログラムで最初にお金を稼いだのはそのときです。初めてパソコンを買って、1年たたないくらいの時期の出来事でした。 その後縁があって雑誌の編集部に遊びに行き、定期的にお邪魔しては、プログラムを作って掲載してもらうようになりました。中学生にとって、かなりいいお小遣い稼ぎになったように記憶しています。 当時のマシンは非力で、開発環境もいまほど充実してはいませんでした。多くのゲームPCに付属していたBASICというプログラミング言語を使って作られていました。当時のBASICは機能があまり豊富でなく、かつ処理速度に問題がある場合が多く、ちょっと凝ったことをしようと

    koyhoge
    koyhoge 2008/09/04
    いいコラムだなぁ
  • DO++ : 透過的データ圧縮

    可逆データ圧縮分野で、現在研究が盛んな分野の一つが、データを圧縮した状態のまま定数時間でランダムアクセスをサポートするデータ圧縮方式です(word RAMモデルでO(log n)サイズの復元が定数時間)。 これは、データをあたかも圧縮していないかのように扱えるため、透過的データ圧縮/構造と呼ばれています(英語だとまだ決まってない?)。 例えば1GBのデータを圧縮した状態で、途中300MB目から4Byteだけ復元しようというのが定数時間で実現できるわけです。これは理論的にもかなり強いことをいっていて,例えば今あるデータ構造やアルゴリズムが、O(T)時間である問題を解けるというのがあったら、それを全く同じO(T)時間のままデータ構造を圧縮し作業領域量を減らすことができます (一応データ構造に対し読み込み操作しか無い場合。書き込みもある場合はまたちょっと面倒になる) このデータを圧縮したまま扱う

    DO++ : 透過的データ圧縮
  • Dartsを試してみた - download_takeshi’s diary

    ダブル配列なTrie構造を実装するためのライブラリであるDartsを試してみました。 DartsはMeCabの作者として知られる工藤 拓氏の作品で、もともとMeCabに組み込まれていたDouble-Arrayのコード部分を、工藤氏が改めてリパッケージしてものだそうです。 なおDartsそのものはC++ライブラリなので、これを他の言語から使うにはバインディングが必要となります。perlから使うにはCPANにText::Dartsというモジュールがあがっているので、これを使わせてもらいます。 なおText::Dartsは、これまた有名なid:dankogai氏の作品です。 で、これらを試してみたのですが、結論から言うと Dartsを使うには Text::Darts 0.03は現時点でDarts0.32に対応していないっぽい。makeでコケる。なのでDarts0.31を使うべし。 Dartsに付

    Dartsを試してみた - download_takeshi’s diary
  • 著名ソーシャルメディアが使っているアルゴリズムを大公開! | Moz - SEOとインバウンドマーケティングの実践情報

    “アルゴリズム”は、もっとも非人間的なものの代表だともいえる。ソーシャルメディアにとって、そのアルゴリズムが不可欠だというのは、実に皮肉めいている。 僕はこの間、グーグルがどうやってユーザーデータを集めているかについて書いた記事を掲載した(前編、後編)。今回は、著名なソーシャルメディアサイトが、ユーザーデータを活用する上でどのようにアルゴリズムを用いているのか、白日の下にさらそう。 ソーシャルメディアを成り立たせているのは人間の力だが、ユーザーが入力したデータを利用できる状態にする仕組みは、アルゴリズムによって作られている。現在活動している無数のソーシャルメディアサイトで実証済みのことだが、ユーザーの関与とアルゴリズムによる処理ルールの上手いバランスを見出すことは、とても難しくなりがちだ。これから紹介するアルゴリズムは、悪意のないユーザーと結びついて初めてうまくいくものだ。 人気ソーシャル

    著名ソーシャルメディアが使っているアルゴリズムを大公開! | Moz - SEOとインバウンドマーケティングの実践情報
  • 待ち行列に入門した - steps to phantasien(2008-08-12)

    先週, 会社をさぼって システム性能評価と待ち行列理論 という講義を受けてきた. 待ち行列理論の入門講義で, 大学の学部でやるレベルの話らしい. 私は学部でも学部以外でも勉強したことがない話題だったので, とても興味深く聞いた. 受講後はすっかり盛り上り, 待ち行列で性能評価するぜ! という気分になったのだが, 実際は難しい. 性能評価一般の難しさはさておくとして, 待ち行列理論そのものがけっこう複雑. 数学が苦手な身には辛い. 理論の常として, 待ち行列の理論もまず解析対象の特性に様々な制限や前提を設けた上でモデルをたてる. そのモデルがうまく解析できたら, 少しずつ制限をとりはずしていく. 現実を扱えるモデルに至る道程は険しそうだ. 高価なツールを使えばそんな洗練されたモデルも扱えるのかもしれないけれど, もうちょっと庶民に優しい路線であってほしい. 解析に挫ける一方, 理論の成果が明

  • mixi Engineers’ Blog » 圧縮データベースを使おう

    チャリンコ通勤による滝のような汗で、朝からTシャツがシースルーになってしまうmikioです。さて今回は、Tokyo Cabinet(TC)のデータベースを各種のアルゴリズムで圧縮して利用する方法についてご紹介します。 圧縮B+木 B+木とは、比較関数の値による順序が近いレコード群を単一のページにまとめ、各ページにB木(multiway balanced treeの略であり、二分木(binary tree)とは違います)の索引を張ったものです。理論的にはレコードの探索も更新も O(log n) の時間計算量で行え、内部ノード(B木)の操作をキャッシュすると実質的には O(1) の時間計算量で探索や更新が行えるという、かなり安定した性能を備えるデータ構造です。その上、レコードが一定の順序に基づいて並べられているので、数値の範囲検索や文字列の前方一致検索が高速に行えたり、カーソルによって順序に基

    mixi Engineers’ Blog » 圧縮データベースを使おう
  • flight404でソースコード祭り | fladdict

    Flight404で作品のソースコードが公開されたっぽ。なんか中の人が、知りたい作品あったらソース公開するぜ!!みたいなこと書いての流れらしい。 いまさら紹介するような場所でもないけどFlight404は、こういうのとか、ちょっと前に話題になったitunesのプラグイン、マグネティックスフィアとか作った人。 Solar, with lyrics. from flight404 on Vimeo. これは是非、コード読まなきゃ。 Flight404太っ腹だなぁ。けど、これを公開したってことは、もう次のステップの表現が準備できてて、こんなのイラネーってことだよな。それでも太っ腹。

    koyhoge
    koyhoge 2008/02/12
    Processing勉強してみたくなった。
  • もう一つのおっぱい揺れシミュレータの作り方

    先日flashrodさんのところを参考におっぱいをシミュレートしてみたんだけどなんか変な感じ。同僚には「揺れてるんじゃなくてカップ数が変わってる」とか「これおっぱいじゃなくてお尻でしょう」とか言われる始末。 おかしい理由がパラメータの調整なのか、実装が糞なのか、その両方なのかよく分からないんだけど、何はともあれこの曲線がおっぱいに見えないと言う意見には頷かざるを得ない。陰でちょっと卑怯な補正しててこれだもんな。 ということで今日の午後は仕事してるふりをしながら、ちょっとおっぱいに思いを馳せてみた。 おっぱいとは何か。 YourAVHost・動ナビ等の、溢れる集合知の力を借りつつ熟考を重ね、ついに私は悟りを得た。おっぱいは「壁についた水袋」。これっす。身もふたもねぇ。 以前のばね-質点モデルの敗因、それは袋部分にだけとらわれて重要な「水」の部分を忘れたことではないか。我々がおっぱいに求めるも

    もう一つのおっぱい揺れシミュレータの作り方
  • ウノウラボ Unoh Labs: 自己学習で分類精度を向上させるベイジアンフィルタ

    20070201勉強会_ベイジアンフィルタ posted by (C)フォト蔵 ベイジアンフィルタを自己学習を行う事で文書を高精度にフィルタリングすることができるシステムです。 SpamassassinやPOPFileのようなspamメール振り分けソフトに使用されているのでご存知の方も多いと思います。 ベイジアンフィルタというとspamメールの処理で広く使われているイメージがありますが、 これをwebの世界でも応用してみれば面白いものができるんじゃないかと思っていろいろ開発してたのですが、 結局実現には至りませんでした。 このままではもったいないので、これまで勉強してわかってきたことを勉強会で発表しました。 勉強会の様子の動画と資料を公開します。 bayes.pdf 僕自身専門家ではないので、いろいろ間違ってる部分もあるかと思います。 その時はご指摘いただければ幸いです。

  • Owl/packages/popa3d/popa3d/md5/

  • 文書比較(diff)アルゴリズム

    文書比較(diff)アルゴリズム 前のドキュメント 次のドキュメント ViViの文書比較(diff)機能で使用しているアルゴリズムについて解説する。 これらのアルゴリズムは Myers 氏らの論文によるもので、氏は筆者のためにわざわざ論文をWebサイトで入手可能な形式にしてくださった。この場を借りてお礼申し上げる。 オリジナル論文は以下のWebサイトから入手可能である。 http://www.cs.arizona.edu/people/gene [1] E.W.Myers, "An O(ND) Difference Algorithm and Its Variations", Algorithmica, 1 (1986), pp.251-266 [2] S. Wu, U. Manber, G. Myers and W. Miller, "An O(NP) Sequence Comparis

    koyhoge
    koyhoge 2007/11/26
    エディットグラフ