タグ

algorithmに関するyoupyのブックマーク (46)

  • [P2PストレージLifeStuffの仕組み] Self-Encryption法によるデータ重複排除機構

    LifeStuffは、ユーザのデータを暗号化してP2Pネットワーク上に保存するサービスです。このとき、「ユーザが保存するデータの75%から90%は重複している」という性質を利用し、同じデータを保存しないようにして、ストレージの節約を行います。しかし、誰かが暗号化して保存したファイルと、自分が暗号化して保存しようとしているファイルが「同じである」と、一体どのようにして見分けられるというのでしょうか(次画像・画像の説明は文にて)。 ↓素朴なやり方ではうまく重複排除できない↓ 今回は、この問題を解決するためにLifeStuffが利用している技術Self-Encryptionについて、そのアイディアとエッセンスを紹介したいと思います。 私はこの方式を知ったとき「なるほど!」と思いました。この説明を読んだ方にも「なるほど!」と思っていただけると嬉しいです。 LifeStuff社の情報に、そうなった

    [P2PストレージLifeStuffの仕組み] Self-Encryption法によるデータ重複排除機構
    youpy
    youpy 2012/09/10
    データ自身のハッシュ値を鍵として暗号化 メタデータも暗号化して保存
  • 連載:検索エンジンを作る|gihyo.jp … 技術評論社

    運営元のロゴ Copyright © 2007-2025 All Rights Reserved by Gijutsu-Hyoron Co., Ltd. ページ内容の全部あるいは一部を無断で利用することを禁止します⁠。個別にライセンスが設定されている記事等はそのライセンスに従います。

    連載:検索エンジンを作る|gihyo.jp … 技術評論社
  • @intothecontinuum · archery

    This year for FILE Electronic Language International Festival at FILE SÃO PAULO 2016 - come cross the limit some intothecontinuum GIFs were displayed as part of FILE GIF 2016 – patterns as time paradox: between transience and permanence as curated by Fernanda Albuquerque de Almeida. Check out the full 240 page book cataloguing this years festivities and exhibitions here! They had some nice things

    @intothecontinuum · archery
  • アルゴリズムを学ぼう

    関連サイト出版社による関連ページが公開されています。 アルゴリズムを学ぼう (KADOKAWA/アスキー・メディアワークス) 関連書籍書の続編『続・アルゴリズムを学ぼう』も好評発売中です。 内容紹介書のテーマは、ガチのアルゴリズムとデータ構造、そして計算量です。 いや、確かに書は女の子がいろいろでてきたり、小話が入っていたりと、ゆるふわなオーラが漂っています。しかし、あえていいましょう。それは、見かけだけである、と。 プログラミングを学ぶにあたって、アルゴリズムとデータ構造は、どの言語を用いるにしてもすべての基礎であり、避けて通ることはできない道です。アルゴリズムとデータ構造を知らずにプログラムを書くことは、無免許で車を運転するぐらいに危険な行為です。 しかし、アルゴリズムとデータ構造をきちんと理解せずに、プログラムを書いているプログラマーが多数いるのも事実です。それは、アルゴリズム

    アルゴリズムを学ぼう
  • JSON Compression algorithms

    About JSON (Java Script Object Notation) is a lightweight data-interchange format. It is easy for humans to read and write. It is easy for machines to parse and generate. It can be used as a data interchange format, just like XML. When comparing JSON to XML, it has several advantages over the last one. JSON is really simple, it has a self-documenting format, it is much shorter because there is no

    JSON Compression algorithms
  • Prof. Takio Kurita (Top Page)

    [2020年4月1日] 広島大学に新設された先進理工系科学研究科を担当します. [2018年4月1日] 広島大学に新設された情報科学部を担当します. [2017年2月3日] 国際会議FCV2017でBest Poster Presentation Awardを受賞しました. [2015年2月13日] 産業技術総合研究所の由井誠さんをお招きして、広島大学統計科学研究拠点セミナーを開催します。 [2015/01/29] 国際会議FCV2015で Best Paper Award を受賞しました。 [2014年10月29日] 筑波大学の日野先生をお招きして、広島大学統計科学研究拠点セミナーを開催します。 [2014年10月10日] 広島画像情報学セミナーを開催します。 [2014年10月] 博士課程後期の学生1名が入学しました。また、総合科学部の3年生が1名栗田研究室に加わりました。 [2014

  • Ruby で FFT (高速フーリエ変換) を書いてみた - まめめも

    ref: 【ニコニコ動画】ミクをPCの再生音に合わせて自動で踊らせてみた ↑に触発されて波の処理をしたくなったので、Ruby で FFT (高速フーリエ変換) を書いてみました。 FFT とは、波の形を見て周波数とかを見抜く魔法のことです。数式とか考えたくないので、とにかく Ruby で書いてみました *1 。 def fft(a) n = a.size return a if n == 1 w = Complex.polar(1, -2 * Math::PI / n) a1 = fft((0 .. n / 2 - 1).map {|i| a[i] + a[i + n / 2] }) a2 = fft((0 .. n / 2 - 1).map {|i| (a[i] - a[i + n / 2]) * (w ** i) }) a1.zip(a2).flatten end これだけです。短いで

    Ruby で FFT (高速フーリエ変換) を書いてみた - まめめも
  • Tumblr

    「JPEG Tilt」というページを公開しました。MotionJPEG Builder を作った時に、JPEG のヘッダを読み込む処理を作ったので(結局これは使わなかったんですが)圧縮データの読み込み部分も作ってみようか、という気になって作ったのがこれです。JPEG ファイルで画像が圧縮される様子を視覚的に表現する…… という目標だったのですが、どうでしょうか。まあ内容が内容なので説明無しではさすがに意味が分からないと思います。 ということで、JPEG Tilt の見方を以下で簡単に説明します。 図1は、JPEG Tilt の画面です。画像が iTunes の CoverFlow のように並んでいますが、これの左側は画像の低周波成分のみを抜き出した物で、右に行くとより高周波の成分も含めるように並んでいます(低周波、高周波という言葉の意味はこの先で出てきます) 画像の上にマウスカーソルを乗せ

    Tumblr
  • ボイド (人工生命) - Wikipedia

    ボイド(Boids)は、アメリカのアニメーション・プログラマ、クレイグ・レイノルズが考案・作製した人工生命シミュレーションプログラムである。名称は「鳥もどき(bird-oid)」から取られている。 コンピュータ上の鳥オブジェクトに以下の三つの動作規則を与え、多数を同時に動かして群れの振る舞いをシミュレーションする。 分離(Separation) 鳥オブジェクトが他の鳥オブジェクトとぶつからないように距離をとる。 整列(Alignment) 鳥オブジェクトが他の鳥オブジェクトと概ね同じ方向に飛ぶように速度と方向を合わせる。 結合(Cohesion) 鳥オブジェクトが他の鳥オブジェクトが集まっている群れの中心方向へ向かうように方向を変える。 結果としてこのプログラムは驚くほど自然な動きを見せ、単純な規則を用いて群体としての複雑な振る舞いを再現できることを示した。以後、改良されたアルゴリズムが映

  • boidsで作る音符の群れ - ならば

    boidsのアルゴリズムに従って、音符を泳がした。 音符が線を通り過ぎたとき、その線に対応する高さの音が鳴る。 音符は全音符、二分音符、四分音符、八分音符の四種類。 wonderflで実行できる。クリックで音符を追加。 School of Musical Notes - wonderfl build flash online 単純な五線以外の形で音の線を作っても面白いかも。

    boidsで作る音符の群れ - ならば
  • エンジニアの面接でアルゴリズムを組ませる理由 | quipped

    @shibataismさんが、日経Bizアカデミーに「日エンジニアはシリコンバレーで通用するのか?」という記事を書いている。 「僕は文系だけど、エンジニアとして一流だ」と自己主張する人がいますが、採用側から見て実際にそうであることは稀です。シリコンバレーの企業では、採用面接の際に「 ○○アルゴリズムを書いてみてください」といったように、具体的かつ実践的な課題が出されます。こうした面接で、文系の人は(そもそも大学できちんと勉強したことがないので)適切な回答をするのが難しい場合が多いのです。 とあるのだが、アメリカの大学で数学を勉強し、プログラミングは独習したソフトウェアエンジニアとして1、少し補足してみたいと思う。 「文系」だからといって諦める必要はない これはまあその人の経験によるのだろうけど、文系出身のエンジニアだからといって諦める必要はない。[平林さん](https://falla

  • 1行のコードからアルゴリズム交響曲 - どのように、そしてなぜ? - 閉村観光

    この文章はTarkastele kokoさんのブログを訳したものです。精度の高い訳ではありませんので原文などと一緒に読まれることを勧めます。内容はate bitさんが作ったC64のデモにインスパイアされたTarkastele kokoさんがC言語1行で音楽を作り始めた。チャットで数人にこの成果を発表したところGoogle+とか広がって、Javascriptのソフトができてノン・プログラマも参加してきて大きな塊が形成されてハックしあう感じでノウハウが溜まってきた。もしかしたら将来、僕らがやっていることを数学的に説明してくれたら嬉しいな。 >>>それでは文 1行のコードからアルゴリズム交響曲 - どのように、そしてなぜ? Tarkastele koko 原文 http://bit.ly/rmkvno このごろ、音楽のような何かを音響合成するとても短いプログラムでいろいろな実験をしていた。私は

    1行のコードからアルゴリズム交響曲 - どのように、そしてなぜ? - 閉村観光
  • 常識を覆すソートアルゴリズム!その名も"sleep sort"! - Islands in the byte stream (legacy)

    TwitterのTLで知ったのだが、少し前に海外掲示板で"sleep sort"というソートアルゴリズムが発明され、公開されたようだ。このアルゴリズムが面白かったので紹介してみる。 Genius sorting algorithm: Sleep sort 1 Name: Anonymous : 2011-01-20 12:22 諸君!オレは天才かもしれない。このソートアルゴリズムをみてくれ。こいつをどう思う? #!/bin/bash function f() { sleep "$1" echo "$1" } while [ -n "$1" ] do f "$1" & shift done wait example usage: ./sleepsort.bash 5 3 6 3 6 3 1 4 7 2 Name: Anonymous : 2011-01-20 12:27 >>1 なん…だと

    常識を覆すソートアルゴリズム!その名も"sleep sort"! - Islands in the byte stream (legacy)
  • Sorting algorithms demonstrated with Hungarian folk dance

    We’ve seen sorting algorithms visualized and auralized, but now it’s time to see them through the spirit of Hungarian folk dance. In a series of four videos (so far), folks at Sapientia University in Romania demonstrate how different sorting algorithms work with numbered people dancing around and arranging themselves from least to greatest. See them in action in the video below. This one is for Bu

    Sorting algorithms demonstrated with Hungarian folk dance
  • GameInternals - Understanding Pac-Man Ghost Behavior

    GameInternals aims to spread knowledge of interesting game mechanics beyond the game-specific enthusiast communities. Each post focuses on a specific game mechanic that would normally only be known to high-level players of a particular game, and attempts to explain it in a manner that would be understandable even by readers unfamiliar with that game. GameInternals articles were researched and writ

    youpy
    youpy 2011/03/13
    モード(Scatter 四隅に散らばる、Chase 追いかける、Frightened ランダムに移動) 各Ghost の挙動(Shadow ターゲットの位置に向かう、Speedy ターゲットの4 つ先に向かう、Bashful Shadow のターゲット位置の対角線上に向かう、Pocky ターゲッ
  • diffの動作原理を知る~どのようにして差分を導き出すのか | gihyo.jp

    UNIXの基的なコマンドの1つであるdiff。 これに実装されているアルゴリズムは実に興味深い世界が広がっています。 稿では、筆者が開発した独自ライブラリ「dtl」をもとに「diffのしくみ」を解説します。 はじめに diffは2つのファイルやディレクトリの差分を取るのに使用するプログラムです。 ソフトウェア開発を行っている方であれば、SubversionやGitなどのバージョン管理システムを通して利用していることが多いかと思います。稿ではそのdiffの動作原理について解説します。 差分の計算の際に重要な3つの要素 差分を計算するというのは次の3つを計算することに帰結します。 編集距離 2つの要素列の違いを数値化したもの LCS(Longest Common Subsequence) 2つの要素列の最長共通部分列 SES(Shortest Edit Script) ある要素列を別の要

    diffの動作原理を知る~どのようにして差分を導き出すのか | gihyo.jp
  • タイムストレッチ、ピッチシフトのアルゴリズム

    タイムストレッチは音程を保ったまま再生速度を変える処理、 ピッチシフトは再生速度を保ったまま音程を変える処理です。 下図のように単純に波形を拡大、縮小すると再生速度と音程が 両方変わってしまいます。再生速度と音程を別々に変更するには 特殊な処理をする必要があります。 タイムストレッチ、ピッチシフトのアルゴリズムには、 FFTを用いる手法やクロスフェードを利用する手法などがあります。 以下ではWaveToneで採用しているクロスフェードによるタイムストレッチ、 ピッチシフトのアルゴリズムについて解説します。 タイムストレッチの基的なアルゴリズム 再生速度を2倍にするには、下図のように波形を小さなブロックに分割し、 ブロックを1つおきに配置します。 再生速度を0.5倍にするには、コピー元の位置を0.5ブロックずつずらしながら ブロックを配置します。 ブロックのサイズをある程度大きくしないと、

  • JavaScript, Canvas スキャンライン・シードフィル アルゴリズムによる塗り潰し : Serendip – Webデザイン・プログラミング

    HTML5 Canvas でバケツツールによる塗り潰しを実現するために、スキャンライン・シードフィル (Scan Line Seed Fill) というアルゴリズムを使ってみた。 アルゴリズムの詳細については、以下のサイトを参考にした。 参考:ActionScript入門Wiki@rsakane – 塗りつぶしアルゴリズム(スキャンライン – シードフィル編) ペイント・ルーチン (1)シード・フィル アルゴリズム 単純に言えば、水平方向に塗り潰し可能な範囲を探して塗り潰してゆき、それを塗り潰し可能な範囲が無くなるまで上下方向に繰り返していくといったもの。 JavaScript, Canvas スキャンライン・シードフィル アルゴリズムによる塗り潰しデモ 塗り潰し処理のコード var fillColor = function(startX, startY, imgData, penColo

  • MUSIC-DSP SOURCE CODE ARCHIVE

    youpy
    youpy 2010/04/01
    ソースコード Analysis Effects Filters Synthesis
  • 「ガベージコレクションのアルゴリズムと実装」という本を書きました。

    gcbook, gcai, GCGCLoverのみなさん、お待たせしました。「ガベージコレクションのアルゴリズムと実装」の情報公開です。 書名:ガベージコレクションのアルゴリズムと実装 著者:中村 成洋/相川 光 監修:竹内 郁雄 ページ数:472ページ 体価格:3,200円 発売開始日:2010年3月17日(水) ※地域・書店によって遅れることがあります ISBN:978-4-7980-2562-9 C3055 読み所 書は次の2つのテーマを扱います。 1.GCのアルゴリズム(アルゴリズム編) 2.GCの実装(実装編) アルゴリズム編では、これまでに考案されてきた数多くのGCアルゴリズムの中 から、重要なものを厳選して紹介します。伝統的かつ基的なものから、やや 高度なアルゴリズムを選定しています。GC独特の考え方や各アルゴリズムの特 性などを理解していただくのがアルゴリズム編の最大