タグ

programmingとalgorithmに関するtypesterのブックマーク (17)

  • Islands in the byte stream

    大チェッカーすばらしい。こういうのがほしかった。 Mobile Application Development なおフィードはだれでも追加できるようにしてあります。 http://central.sonatype.org/articles/2014/Oct/28/enforcing-valid-dependency-versions/ 2014年10月の話ですが、これのせいで手元のライブラリのアップロードが失敗するようになってました。これからは、依存ライブラリのバージョンは "3.+" ではなく"[3,4)" (3以上4未満)などのような数学的範囲表記(mathematical range syntax)をしなければならない、ということです。詳しくは上記エントリを参照のこと。 変更例: https://github.com/gfx/android-power-assert-plugin/c

    Islands in the byte stream
  • integral imageについて調べた - soh335 memo

    integral imageというアルゴリズムがあるのを昨日知って、いまいち仕組みが分からなかったので色々調べてみた。 これを使うと、画像のある領域の明るさを求める事が出来る。 一応理解もかねて頭の中にあることを書いてるので、間違ってたらすいません。 のABCDという所の明るさを求めたいとすると、この方法の場合は0D+0A-0B-0Cで明るさが出ると考える。 つまり、各点までの明るさの総和が出ていれば、ABCDの中を一つ一つ足さなくても明るさが求まる。 で、その為に、一旦0Dの四角形の各点の明るさを元に計算をしておく。 明るさを求めたい領域が分かってて、かつ1回だけしか必要じゃない場合はintegral imageを使う必要はなくて、元々顔認識とかに使われているらしんですけど、何度もいろんな領域の明るさを求めようとすると、領域の中を毎回足しまくってると遅すぎるので、先に明るさマップみたいな

    integral imageについて調べた - soh335 memo
  • 「最強最速アルゴリズマー養成講座」関連の最新 ニュース・レビュー・解説 記事 まとめ - ITmedia Keywords

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

  • GNU strlen を読む - blog.8-p.info

    Hacker News でみかけた Glibc’s strlen implementation: Probably not what you’d guess というスレッドが面白かった。スレッドでは GNU の他に OpenBSD (べたな C, i386, x86-64) と Apple (SSE3 を使っている) にもリンクがあるんだけど、ここでは GNU strlen の実装についてだけ説明します。 実装 GNU strlen は文字列から long word 単位でおおまかに NUL っぽいものを探してから、バイト単位でこまかく探す、という方法をとっている。 strlen.c にある strlen は、トリッキーなところを丁寧にコメントで補っているせいもあってやや長い。まず、strlen の引数の str のアドレスが long word にそろっていない場合、最初の for ルー

  • PDL で PageRank - naoyaのはてなダイアリー

    id:smly さんが PageRank や HITS を Python で実装 されているのに触発されて、自分も PageRank を Perl で実装してみました。 PageRank の計算の中心になるのは Power Method (べき乗法) です。べき乗法では行列とベクトルの積を計算しますので、手軽に使える行列演算ライブラリがあると楽でしょう。 色々調べてみたところ、PDL (The Perl Data Language) が良く使われているようでしたので、これを選択しました。PDL では各種行列演算が簡単に行える他、文字列評価をオーバーライドして行列の文字列出力を良い具合で定義してくれていたりと、なかなかに便利です。PDL は行列計算以外にも色々な科学技術計算やグラフ描写などの操作をサポートしているようです。 さて、PDL を使った PageRank 計算のコードは以下のように

    PDL で PageRank - naoyaのはてなダイアリー
  • リンク解析とか: 重要度尺度と von Neumann カーネル - smly’s notepad

    NAIST の入学手続を終えた. 残りの期間はサーベイするぞーということで shimbo 先生の講義資料「リンク解析とその周辺の話題」を読んでいます. 一日目, 二日目の資料は PageRank, HITS, SALSA などの重要度尺度の紹介と, von Neumann Kernels と HITS の関係についてのお話が中心. これらを実装してみた. 後半に進むほど力尽きて記述が適当になってます:)PageRankポイントはランダム遷移行列による random walk では定常分布に収束しない (エルゴード性 (ergodic) を満たさない) という点. どうして満たさないかというと. sink (出次数のない節点) が存在するとき, 明らかに既約 (irreducible) でないのでエルゴード性を満たさない. 複数の強連結成分を持つケース => 周期性を持つと考えてよい? 周期

  • 最速インターフェース研究会 :: Mozilla24でしゃべってきました

    9/15日にMozilla 24 出張Shibuya.js 24でしゃべってきました。 http://shibuyajs.org/articles/2007/08/24/Shibuya-js-24 資料はこちら。 http://ma.la/files/shibuya.js/mozilla24.html JavaScriptBloom filterのデモ。今のところ実用性が無い。仕組みを理解するのには良いかも。 http://la.ma.la/misc/js/bloomfilter/ Bloom Filterについてはここら辺が詳しい。 http://chasen.org/~taku/blog/archives/2006/01/bloom_filter_1.html http://ja.wikipedia.org/wiki/%E3%83%96%E3%83%AB%E3%83%BC%E3%83

  • osakana.factory - グレースケールのひみつ

    Adobe PhotoShop で RGB モードの画像を 256 階調のグレースケールへ変換する方法は、1 通りではありません。グレースケールへの変換コマンドは、ガンマや色空間などの概念が絡み合っていて、結構複雑です。仕組みを理解していなかったために、モード メニューから グレースケール を選んでも望んだような結果が得られなかったり、不適切に彩度を取り除いて画像の階調を潰してしまうというようなことも考えられます。ここでは、何通りかのグレースケール化方法を、計算式から考えていきたいと思います。計算式は、PhotoShop 以外の一般的な画像処理でも利用できる汎用的なものです。

    osakana.factory - グレースケールのひみつ
  • 別れた彼・彼女を消せる写真リサイズの新手法「Scene Carving」(動画)

    写真は真っ二つに、しなくていい。 昔の彼・彼女を思い出のアルバムからサックリ消せる、悲しいリサイズの新手法が生まれました。名づけて「scene carving(シーン・カーヴィング)」。 ただのリサイズじゃないですよ? 文字通りシーンをカーヴィング(彫刻、切り分け)して、元の縦横比率で残したいところ(例:赤ちゃん抱いてる女性)とか、丸ごと消したいところ(例:海岸の男)を指定して寄せたり伸ばしたりできるんです。 この新しいアルゴリズムは世界最大のCGの祭典「SIGGRAPH」でイスラエルのコンピュータサイエンス研究所(Efi Arazi School of Computer Science)のAriel Shamir氏が発表しました。動画冒頭では、最近何かと話題の三菱電機米国研究所(MERL)と兼務で、同じMERLのShai Avidan氏と共同発表というクレジットになってますね。 CGやら

    別れた彼・彼女を消せる写真リサイズの新手法「Scene Carving」(動画)
  • 無印吉澤(※新エントリはhatenablogに掲載中) - Bloom filterの解説文

    吉澤です。このサイトではIPv6やP2Pなどの通信技術から、SNSやナレッジマネジメントなどの理論まで、広い意味での「ネットワーク」に関する話題を扱っていたのですが、はてなブログに引っ越しました。 最新の記事は http://muziyoshiz.hatenablog.com/ でご覧ください。 RSSフィードは http://muziyoshiz.hatenablog.com/feed に手動で変更するか、 Feedly or Live Dwango Reader を使っている方は以下のボタンで変更ください。 ■[P2P]Bloom filterの解説文 最近、アリエルエリアのホームページがリニューアルされたのをきっかけにサイト内のドキュメントをいろいろ覗いていたら、チーフアーキテクト井上氏によるBloom filterの解説文がありました。去年の11月には既に公開されていたようなので今

  • Link Coasters - Your Link Building Partner

    Outrank Your Competitors with Finest Backlinks without Breaking Your Bank Building backlinks is a make or break of your business’s SEO performance. We’ve simplified things on how you can get the FINEST BACKLINKS on the Internet’s highly reputed and authoritative websites.

    Link Coasters - Your Link Building Partner
  • 機械は人狼を見つけられるかな 06:13

    半白: 3/23 13.0434782608696% 面白い: 9/55 16.3636363636364% 面白く: 2/11 18.1818181818182% 白く: 8/35 22.8571428571429% 白い: 16/64 25.0% 白黒: 6/23 26.0869565217391% 白っぽい: 12/41 29.2682926829268% 白かっ: 4/12 33.3333333333333% 面白: 5/13 38.4615384615385%面白い。「人に白いというヤツは人狼」はやはりそれなりに正しそう。そして勝負を楽しむのは白要素かな。 http://shinh.skr.jp/expwolf/ スパムフィルタの要領で作った人狼を探すプログラムです。新四国のURLを適当に放り込んでください。 http://shinh.skr.jp/expwolf/?q=http

    機械は人狼を見つけられるかな 06:13
    typester
    typester 2006/02/18
    ベイズ推測で人狼を探す。かっけ!!
  • ぷよぷよの作り方【Windowsプログラミング研究所】

    ぷよぷよの作り方 概要:ぷよぷよの礎となるアルゴリズムをプログラム付きで解説します。 ぷよぷよはアルゴリムが高度なためテトリスで落ちゲーの基礎を習得した方に最適です。 ★☆ 注意 ☆★ この解説は「テトリスの作り方」の差分解説になります。 ぷよぷよ独自の内容中心に解説していきますので、 動作するプログラムを組みたい場合は「テトリスの作り方」も参照して下さい。 またゲーム全体の流れ制御や各種エフェクトについても解説しません(公開しているプログラムをご覧下さい)。 ■とことんぷよぷよ(ソースファイル / 実行ファイルその他) 私が作った作品の実行画面は以下のようになります。 このプログラムには様々な機能が実装されていますが、 ここではこのプログラムからぷよぷよに最低限必要なプログラムを抜粋して アルゴリズム中心に解説していきます。 ■データ構造の復習 一定の大きさを持つマスを単位に処理します。

    typester
    typester 2006/02/14
    ぷよぷよアルゴリズム
  • John Resig - Javascript Diff Algorithm

    Using an idea grabbed from a mailing list post, I implemented the diff algorithm discussed in the following paper (free registration required): P. Heckel, A technique for isolating differences between files Comm. ACM, 21, (4), 264–268 (1978). The implementation, itself, has two functions, one of which is recommended for use: diffString( String oldFile, String newFile ) This method takes two string

  • http://www.i-on.gr.jp/~lan/blog/archives/000592.html

  • http://hawaii.aist-nara.ac.jp/~shige-o/cgi-bin/wiki/wiki.cgi?%C6%FE%CC%E7%BC%D4%B8%FE%A4%B1%B2%F2%C0%E2

  • algorithm

    奥村晴彦さんの「C言語による最新アルゴリズム事典」技術評論社、1991年、の C 言語プログラムの Ruby への翻訳に挑戦します。プログラムの説明は同書を読んでください。変換はできるだけ逐語的に行っています。プログラムの動作は原作の C プログラムのそれと比較してチェックしていますが、うまく動作しないときは C から Ruby への変換のさいに起きたものです。バグレポートは tnomura@mnet.ne.jp までお願いします。 この Ruby 翻訳版はできるだけレイアウトも含めて原作の C プログラムを変更しないようにしたため、必ずしもRuby らしいコーディングスタイルとは言えないかもしれませんが、プログラムがきちんと動作することを優先しました。C から Ruby への翻訳の著作権に関しては Ruby のライセンスに準じます。配布、改変は自由です。ただし、プログラム体には原作者の

  • 1