タグ

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

  • MD5は復号できる!? | ブログが続かないわけ

    前回のエントリ(パスワードを平文で管理するのはダメだ)のブクマコメントでYappoさんから貴重な情報を頂いた。 MD5が復号できるというのだ。 しかも、それができるDigest::MD5::ReverseというCPANモジュールがあるという。 これには驚いた。いろいろな情報を当たったところ、やはりMD5などのハッシュは復号できないと書いてあるからだ。 http://www5f.biglobe.ne.jp/~h-it/mlcont/mc0200.htm http://gimite.net/bcbqtree/qtreemain.cgi?mode=thread&thread=376 http://www.postgresql.jp/document/pg803doc/html/encryption-options.html しかし、こういうところでいう「復号できない」というのは「復号するアルゴリ

    MD5は復号できる!? | ブログが続かないわけ
    koyhoge
    koyhoge 2007/10/23
    ネット上にMD5データベースがあるらしい
  • 今どきの高専生があこがれる「石垣工務店」に秘められたドラマ

    高専生にとっての大イベント、「高専プロコン」の季節がやってきた。記者が初めて目にした高専プロコンは、ドラマとロマンが詰まったアミューズメントパークだった。 高専生の夢の舞台、「ロボコン」と「プロコン」 高等専門学校、略して「高専」に通う学生にとって、「全国高等専門学校ロボットコンテスト」(高専ロボコン)と「全国高等専門学校プログラミングコンテスト」(高専プロコン)が2大情報処理技術系コンテストであることに異論を挟む方は多くない。 どちらの知名度が高いかといえば、高専ロボコンに軍配が上がるかもしれない。高等専門学校連合会、NHKNHKエンタープライズが主催していることもあり、NHKで放送されることがその大きな理由だが、それ以外でも、2003年には高専ロボコンを題材にした映画「ロボコン」が公開。長澤まさみの初主演映画でもある同作品を見て高専ロボコンを知った方もおられるだろう。 ハードウェア(

    今どきの高専生があこがれる「石垣工務店」に秘められたドラマ
    koyhoge
    koyhoge 2007/10/22
  • 【レポート】CEDEC 2007 - リアルタイムの皮膚、顔面レンダリング技術をNVIDIAがリアルタイム実装 (1) 人間の皮膚の陰影処理モデルを考える | パソコン | マイコミジャーナル

    顔の皮膚の陰影表現というのはリアルタイム3Dグラフィックス、とくにゲームグラフィックスでの実装はかなり難しいとされてきた。それは人間の皮膚が光を反射、吸収、拡散するだけでなく、透明度は低いものの、皮膚下に浸透して散乱し再び出てくるという複雑な反射モデルになっているからだ。 この難しい人間の皮膚の陰影処理も、PS3,Xbox360といった最新ゲーム機や、今世代のDirectX 10世代のGPUでは、リアルタイムでもかなりレベルの高い表現ができるようになっている。 NVIDIAは、この皮膚の陰影処理についての最新技術についての解説を行った。 NVIDIAの最新スキンシェーダの解説を行った「高度なスキンシェーディング」セッション 人間の皮膚の陰影処理モデルを考える 人間の肌の陰影処理はスキン・シェーディング(Skin Shading)と呼ばれ、これを行うために特化したシェーダーをスキン

  • 【レポート】CEDEC 2007 - NVIDIA、DirectX 10世代の流体力学技術とスキンシェーダについて解説 (1) 3Dゲームにも採用されつつある流体物理シミュレーション | パソコン | マイコミジャーナル

    9月26日からの3日間、日最大級のゲーム開発者会議「CEDEC 2007」(CESA DEVELOPERS CONFERENCE 2007)が開催された。 今年は東京大学を会場とし、過去最高の1900名の受講者を記録した。東京ゲームショウとの日程が近かったことから、海外からの来場者や取材も例年よりは多かったようだ。 レポートの第一弾はグラフィックスプロセッサベンダの最大手であるNVIDIAの技術セッショントラックから、興味深かったものを抜粋して紹介する。 今年のCEDEC 2007は東京大学で開催された セッションの様子 3Dゲームにも採用されつつある流体物理シミュレーション リアルタイム3Dグラフィックスの分野でにわかに実装が開始され、一部には3Dゲームグラフィックスへの実装すら始まりつつあるのが流体物理、流体力学、あるいは流体シミュレーションとよばれる分野だ。 最近

  • ベジエ曲線の仕組み (1) - 昔話 - てっく煮ブログ

    asドローソフトなどでもお世話になることが多いベジエ曲線について解説していくシリーズ。小学生のころ、BASIC でのサンプルを入力して遊んでいたのですが、あまりのきれいさに衝撃を受けたプログラムがありました。それはこんな絵を出力するプログラムでした。左上と左下の点をそれぞれの x 座標、y 座標を少しずつ増やしながら、直線を引いています。いくつもの四角形が端に行くにしたがって変形していくところが、いかにも近未来風の CG に見えました(当時は)。しかも、この絵は直線だけで構成されているのに、カーブして見えるところが不思議でなりませんでした。さて、15年のときを経て、このプログラムを ActionScript で実装してみました。点をドラッグして曲線の変化を楽しんでみてください。前置きが長くなりましたが、実はこのカーブして見える曲線の部分は2次ベジエ曲線になっています。3つの黒い点がベジエ

    koyhoge
    koyhoge 2007/09/19
    おもしろいなぁ
  • 最速インターフェース研究会 :: 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

  • 別れた彼・彼女を消せる写真リサイズの新手法「Scene Carving」(動画)

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

    別れた彼・彼女を消せる写真リサイズの新手法「Scene Carving」(動画)
  • Web2.0時代の画像補完技術 - @IT

    2007/08/29 1万枚の写真を使ってできないことで、200万枚の写真ならできることがある。それは熟練したPhotoshopの使い手が1時間かかってやる写真加工の作業を、コンピュータ処理で自動化してしまうこと――。8月初頭に米国サンディエゴで開催された画像処理技術の祭典、SIGGRAPH 2007で発表されたシーン補完技術は、何百万枚もの写真をネットで集められるWeb2.0時代の画像処理技術だ。 写っている邪魔な対象物を自然に置換 「数百万枚の写真を使ったシーン補完」と題した論文と、その成果を発表したのは、カーネギーメロン大学のジェームズ・ヘイズ(James Hays)氏とアレクセイ・A・エフロス(Alexei A. Efros)氏。この補完技術のアイデアは、元となる写真に似た構図や配色の写真を、ネット上で集めた膨大な数の写真データベースから探し出し、元の写真の消したい部分、あるいは復

    koyhoge
    koyhoge 2007/08/30
    素材となる写真を大量に用意した中から選択して、自然に補完をする。
  • Rubyの浮動小数点数リテラルの扱いは正しいのか - hnwの日記

    題名の通りなんですが、前回の記事「PHP以外全員不正解」に対して「ダウト!」を頂戴したのでまとめてみます。 Cのこの動作が、唯一無二絶対のものであるとする根拠はどこにあるのでしょうか? strtod によれば、 If the subject sequence has the decimal form and at most DECIMAL_DIG (defined in ) significant digits, the result should be correctly rounded. If the subject sequence D has the decimal form and more than DECIMAL_DIG significant digits, consider the two bounding, adjacent decimal strings L and

    Rubyの浮動小数点数リテラルの扱いは正しいのか - hnwの日記
    koyhoge
    koyhoge 2007/08/03
    濃すぎてついていけませんw
  • NEC、圧縮速度を数十倍に高速化した"ロスレス画像圧縮"技術を開発 | エンタープライズ | マイコミジャーナル

    NECは25日、ロスレス画像圧縮の国際標準規格であるJPEG-LSやJPEG2000(可逆モード)と同等の圧縮率を備えつつ、圧縮速度をJPEG-LSの10倍以上、JPEG2000(可逆モード)の30倍以上に高速化する技術を発表した。 一般に、ロスレス画像圧縮では情報の切り捨てが許されない。このため、圧縮処理が非常に重くなり、大規模な画像データへの応用や低電力デバイスへの搭載が難しかった。今回は、アルゴリズムを自然画像のロスレス画像圧縮に特化させることで、処理に必要な回路規模の小型化を実現。サブサンプリングされた低解像度画像をもとに、独自の階層的2次元内挿予測手法を用いて高解像度画像を予測/符号化する新画素予測方式を採用することで、画素予測時の演算負荷を大幅に低減させ、高速化を達成した。 また、画像を低解像度から順次圧縮展開するプログレッシブ符号化/復号機能に対応しているので、低解像度のプレ

  • FastLSM: Fast Lattice Shape Matching for Robust Real-Time Deformation

    FastLSM: Fast Lattice Shape Matching for Robust Real-Time Deformation Alec Rivers Doug James Cornell University We introduce a simple technique that enables robust approximation of volumetric, large-deformation dynamics for real-time or large-scale offline simulations. We propose Lattice Shape Matching, an extension of deformable shape matching to regular lattices with embedded geometry; lattice v

  • Googleが各種データを利用しているのは順位決定ではなく適合性フィードバックのため? | Moz - SEOとインバウンドマーケティングの実践情報

    これまで僕が書いてきた記事は、ちょっと技術的になりすぎる傾向があったので、これからは単に、議論できそうなネタを提供したり、さらなる勉強に役立つソースを示すだけにとどめるよう努めていこうと思う。 Googleが検索ランキングを出すのに、行動データを使っていることが証明されたという記事(日語関連記事はこちら)を慎重に検討したあと、僕はもう少し深く掘り下げてみて、その記事とはちょっと違う結論に達した。 先に言っておくと、Googleは集めた(集める)あらゆるデータを活用していると、僕は考えている。検索クエリのログ、Google Analytics、Google AdSenseGoogle Toolbar、ブラウザの拡張機能といったツール類や、DoubleClickおよびFeedBurner等々から集めたデータを、検索ランキングを決めるアルゴリズムと広告のターゲティング技術、どちらの改善にも利

    Googleが各種データを利用しているのは順位決定ではなく適合性フィードバックのため? | Moz - SEOとインバウンドマーケティングの実践情報
  • 最速インターフェース研究会 :: ハッシュキーの存在チェックを超高速に省メモリで行う方法

    リンク先まとめて登録できる機能が付きました。 http://blog.livedoor.jp/staff_reader/archives/51034585.html かとゆー家断絶からリンク張られてるサイトをまとめて登録とか http://reader.livedoor.com/subscribe/?url=http%3A%2F%2Fwww6.ocn.ne.jp%2F~katoyuu%2F&extract=on スタートマック体験モニタのブログをまとめて登録とか http://reader.livedoor.com/subscribe/?url=http%3A%2F%2Fwww.apple.com%2Fjp%2Farticles%2Fstartmac_monitor_2%2Fwinners.html&extract=on できます。 リンク先の全件にAuto Discoveryをかけると、

  • APOPのぜい弱性で見えてきたMD5の「ご臨終」

    情報処理機構セキュリティセンターは4月,メール・サーバーの認証プロトコルの一つ「APOP」について注意を喚起した。この注意喚起は,電気通信大学の太田和夫教授のグループが,APOPで使うハッシュ関数「MD5」に新たな欠陥を発見したことに基づくもの。この欠陥は,APOPだけでなく,MD5を使う電子署名などのほかのアプリケーションの欠陥も示唆する。実際にどの程度危険なものか,技術に基づいて考えてみよう。 わからないはずのパスワードが解かれる APOPは,チャレンジ・レスポンスという方式を使って,メール・クライアントとメール・サーバーのやりとりを盗聴してもパスワードが解読できないようにする。パスワードを直接やりとりせずに,まずサーバーからクライアントに「チャレンジ・コード」という文字列を送る。クライアントはチャレンジ・コードとパスワードを連結したうえで,MD5というハッシュ関数を使ってハッシュ値を

    APOPのぜい弱性で見えてきたMD5の「ご臨終」
  • Skip graphs

    Skip Graphs James Aspnes, Gauri Shah Fourteenth Annual ACM-SIAM Symposium on Discrete Algorithms (SODA), January 2003, pp. 384-393. Submitted to Journal of Algorithms. Abstract Skip graphs are a novel distributed data structure, based on skip lists, that provide the full functionality of a balanced tree in a distributed system where elements are stored in separate nodes that may fail at any time.

  • 最速インターフェース研究会 :: 実践JavaScriptで配列をシャッフルする方法リファクタリング

    JavaScriptで配列をシャッフルする話を見て、そういえばArray#shuffleは以前書いた記憶があるなーと思って調べてみたらコピペだった。 http://www.fumiononaka.com/TechNotes/Flash/FN0212002.html Fisher-Yatesというアルゴリズムだそうです。 Array.prototype.shuffle = function() { var i = this.length; while(i){ var j = Math.floor(Math.random()*i); var t = this[--i]; this[i] = this[j]; this[j] = t; } return this; } a = [1,2,3,4,5]; a.shuffle() // 3,1,5,2,4 a // 3,1,5,2,4 ごく普通に実装

  • JavaScriptで配列をシャッフル

    配列をシャッフル、つまりランダムに要素の位置を入れ替えるというのを、sortメソッドを使ってやってみたのだけど、明らかにダメダメなものになってしまった。その後、あーでもないこーでもないと考えたのだけど、算数が得意すぎて頭が痛くなった。ということを某所でぼやいたらはてのくんがコードを見つけてくれた。どうやらFisher-Yatesという有名なアルゴリズムでやると良いらしい。 最初に書いたコードは、 var a = new Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9); a.sort( function (a, b) { return Math.ceil(Math.random() * 3) - 2; } ); というもの。sortメソッドは、パラメータに与えられた関数が負の値・0・正の値を返すことによって要素の順序を決定するので、その関数がランダムに値を返せばランダ

    JavaScriptで配列をシャッフル
    koyhoge
    koyhoge 2006/08/29
    Fisher-Yatesアルゴリズム
  • Rubyリフレクション

    最終更新日: リフレクション 「自分自身を自分で変えちゃうのかょッ(仮)」 ■はじめに 何かが変化するとき、直接の原因となるものに外的要因と内的要因がある、ように思う。 たとえば、 輪ゴムが伸びる。 水が氷に変わる。 草や木が成長する。 細胞分裂。 [�T] 無機的なモノがその形を変える場合、えてして、外力が働く必要があるように思える。 [�U] 生命的なモノが変化する場合、そのモノを構成する分子間での協調的な動作の結果、自発的に全体の形が変る、気がする。 (何をもって「生命的」かというのは難しい問題ですが) さて、 [�T]はトップダウン的。中央集権的。[�U]はボトムアップ的。分散強調的。ともいえるだろうか? 我々が普段何か「モノづくり」というときには、[�T]トップダウン的につくる。それを構成している部品(モジュール)が何かを考えて、部品を作り、それら組み立てる。アイボ

  • Judy Arrays Web Page

    What is Judy? Judy is a C library that provides a state-of-the-art core technology that implements a sparse dynamic array. Judy arrays are declared simply with a null pointer. A Judy array consumes memory only when it is populated, yet can grow to take advantage of all available memory if desired. Judy's key benefits are scalability, high performance, and memory efficiency. A Judy array is extensi

    koyhoge
    koyhoge 2006/07/03
    高速、拡張可能なCの配列ライブラリ。連想配列としても使える。
  • http://d.hatena.ne.jp/higotakayuki/20060702/p3