タグ

関連タグで絞り込む (186)

タグの絞り込みを解除

Algorithmとalgorithmに関するyassのブックマーク (155)

  • http://live-e.naist.jp/sensor_overlay/5/doc/yoshida.pdf

    2011/10/29-30 5th sensor & overlay workshop Skip List Revisited! (再訪) 吉田 幹 BBR, PIAX Inc. ~探索アルゴリズムと構造化オーバーレイ、 両者の接点について考える~ “Skip listという探索のためのアルゴリズム(+デー タ構造)を通して、構造化オーバーレイに有用な 原理を考える” 5 ここでは、考えの道筋について発表します。 答えには至っていません。 研究にはまだまだ残された領域のあることを知っ てもらうことができたら光栄です。 なぜ、Skip listか (私は)構造化オーバーレイをこう捉えている “探索アルゴリズム” の適用領域が、1台のコンピュータ の内側から広域に拡がるネットワーキングの世界に展開 した形 特に、Pastry, Tapestry (Plaxtonのアルゴリズム), Kadem

  • B+Trees and why I love them, part I - Ayende @ Rahien

    One of the things that I enjoy about learning new things is the way it changes the way I look at the stuff that I already knows. Reading the LMDB codebase, and implementing a persistent B+Tree has given me a new depth of understanding about how relational databases (and Esent, too), work. I am going to go back to level zero and assume that you have never heard about this. You probably know what a

  • 6.851: Advanced Data Structures

    Prof. Erik Demaine Welcome to Advanced Data Structures, a graduate class at MIT. Please choose your semester: 2021 Spring 2017 Fall 2014 Spring 2012 Spring 2010 Spring 2007 Spring 2005 Spring (when the class was 6.897) 2003 Spring (when the class was 6.897) Accessibility

  • TechCrunch | Startup and Technology News

    Limited space! Get on waitlist to be the first to know when tickets go live!

    TechCrunch | Startup and Technology News
    yass
    yass 2013/08/10
    " 単に前回ユーザーが閲覧した後に投稿された記事だけを評価するのではなく、最近の未読記事も評価対象に加えることにた。"
  • 入門 データ構造とアルゴリズム

    インド工科大学(IIT)と企業の両方で豊富な経験を持つインド人著者による、実例豊富なデータ構造とアルゴリズムの解説書。伝統的なデータ構造とアルゴリズムのトピックで、基をしっかり押さえるだけでなく、集合のUnion/Find、動的プログラミングや計算量クラスといった話題も盛り込んでいます。圧倒的な情報量でプログラマに必要な知識を網羅。600弱の練習問題とその解を収録しており、理解度を細かく確認し、知識を着実に身に付けることができます。 正誤表 ここで紹介する正誤表には、書籍発行後に気づいた誤植や更新された情報を掲載しています。以下のリストに記載の年月は、正誤表を作成し、増刷書籍を印刷した月です。お手持ちの書籍では、すでに修正が施されている場合がありますので、書籍最終ページの奥付でお手持ちの書籍の刷版、刷り年月日をご確認の上、ご利用ください。 第1刷正誤表

    入門 データ構造とアルゴリズム
  • バイトニックソート - tuedaの日記

    http://www.tools-of-computing.com/tc/CS/Sorts/bitonic_sort.htm バイトニックソート自体アルゴリズム的に非常に不思議で美しいが実装がこれま た美しい。 物にはある種の美学がある。 include <iostream> #include <iterator> using namespace std; const int N = 8; int a[N] = {5,1,3,2,0,7,6,4}; int get (int i) { return a[i]; } void exchange (int i, int j) { int tmp = a[i]; a[i] = a[j]; a[j] = tmp; } int main ( int argc, char** argv) { copy (a, a+N, ostream_iterato

  • 続・アルゴリズムを学ぼう

    内容紹介前著「アルゴリズムを学ぼう」では、答が1つに決まる問題というのが多かったのですが、今回は数学、文字列、正規表現とオートマトン、ゲームAIなど、プログラマーなら知っておくべき基礎的な知識を、多岐にわたって集めました。 数学の分野では、基礎的な線形代数や群の知識を、ライツアウトを解くという題材を用いて説明しています。ライツアウトという具体例を用いることで、抽象的な線形代数や群の問題が、具体的なイメージを持って理解できるのではないかと思います。ライツアウトを完璧に解くという問題だけでも、さまざまな数学的知識が学べるということに、ちょっとびっくりしますね。 文字列の分野では、基礎的な文字列の検索アルゴリズムを集めました。検索は読者のみなさまもふだんから利用していることと思いますが、それがどのように動作しているのかを、実際のコードを使って解説します。ここには、さまざまなアルゴリズムの定石が

    続・アルゴリズムを学ぼう
  • 高速文字列解析の"別"世界 - 気ままなブログ

    1月に「高速文字列解析の世界」を購入してから半年が経ちました。以下、文字列と呼びます。 高速文字列解析の世界――データ圧縮・全文検索・テキストマイニング (確率と情報の科学) 作者: 岡野原大輔出版社/メーカー: 岩波書店発売日: 2012/12/27メディア: 単行購入: 15人 クリック: 324回この商品を含むブログ (4件) を見る 全文検索として、「CSA」や「FM-Index」が紹介されていますが、「全文検索システム」を作るには、これらだけでは不十分です。なぜなら、以下のような特徴があるからです。 文書IDの識別が遅い。 各文書IDに出現する頻度を求めるのが遅い。 ちなみに、転置インデックス(or N-gramインデックス)を使った場合、これらの処理は高速ですね。 インデックスを圧縮しているのだからしょうがないとも考えられますが、作りたいですよねぇ、「全文検索システム」。こ

    高速文字列解析の"別"世界 - 気ままなブログ
  • 計算幾何学問題「キュラゲの最小包含円を求めよう」の解説記事です!キーワードは「乱択アルゴリズム」 #ゲーム開発 - CodeIQ Blog

    CodeIQ中の人、millionsmileです。 出題者のstakemuraさんによる「計算幾何学」問題の解説記事です。 アクションゲームなどでキャラクターを攻撃するとき、ナイーブに1キャラクターごとに1ピクセル単位で処理していたら、計算時間は大変なことになります。さて、どうやったら物理演算を軽くできるのでしょうか?キーワードは「乱択アルゴリズム」です。 ゲーム開発をしている方は必見の記事です。 =============================== 高速化の秘訣は乱数にあり stakemuraです。 先月、「キュラゲの最小包含円を求めよう」というタイトルで、CodeIQでは初となる計算幾何学の問題を寄稿させて頂きました。いきなりの難問だったにも関わらず24名もの方に挑戦して頂き、中には当方が驚かされるような回答もあったりして、達成感を噛み締めている今日この頃です。さて、挑戦者が

  • 次元が高い場合に関してのsimhashの計算 - tsubosakaの日記

    最近simhashの実装を行っていて、データの次元が高いとsimhashを計算するのに必要なランダムなベクトルをメモリ上に乗らないという事態が生じたのでad hocな方法で回避していたけど、論文[1]をよく見直すとほぼ同じ方法でより計算コストが少ない方法が紹介してあったので少し解説を行ってみる。ちなみに以下の解説では低次元のビットベクトルに縮約した後にハミング距離が近いものをどうやって探索するかについては述べないです、それに関しては[1],[2]を参照してください。 ちなみに自分が実装したのは各ビットごとに次元に対するハッシュ関数を定義して計算する方法でした。この方法だと以下で開設する手法よりもf倍の回数ハッシュ関数を計算する必要があるので実行時間が割とかかる。 解説 simhash[3](文献によってはLSHと呼ぶこともある[2])は次元削減の手法の一つで、高次元のデータを低次元のビット

    次元が高い場合に関してのsimhashの計算 - tsubosakaの日記
  • algorithm - 基数木 + 平衡二分探索木 = 三分探索木 : 404 Blog Not Found

    2012年01月22日16:36 カテゴリアルゴリズム百選翻訳/紹介 algorithm - 基数木 + 平衡二分探索木 = 三分探索木 珠玉のプログラミング Jon Bentley /小林健一郎訳 最有力候補は、これかも。 Ternary search tree - Wikipedia, the free encyclopedia 三分探索木 - Wikipedia 404 Blog Not Found:algorithm - Patricia Trie (Radix Trie) を JavaScript で最近のTrie研究の傾向は、要素の動的変更が自在にできる一般向けのものではなく、一旦作成したら要素の追加と削除が困難な代わりにものすごくコンパクトになる、簡潔データ構造の応用手段の方に偏っていると素人目に感じるのですが、そろそろJudyたんのごとくハッシュテーブルとガチで闘うとか、逆

    algorithm - 基数木 + 平衡二分探索木 = 三分探索木 : 404 Blog Not Found
  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • TSUBAME のTesla を用いた GPGPU (CUDA) CUDAの基礎 丸山直也 2009/6/11

    松岡研究室は並列分散コンピューティング、特に高性能計算(HPC)に関するソフトウェア基盤技術の研究を行なっています。HPCとはコンピュータシミュレーションなどのより大規模な問題をより高速に計算するための技術です。昨今の科学技術の発展にはHPCにより支えられた非常に高度なコンピュータシミュレーションの重要性がますます高まってきており、松岡研究室では様々な応用分野の方々とも協力しつつより先進的なHPC基盤技術の研究開発に取り組んでおります。 また、近年では機械学習や深層学習(Deep Learning)技術の総称である人工知能AI技術が急激な勢いで実用化されつつありますが、この技術の発展には膨大なデータを極めて高速に処理する基盤技術が必要不可欠です。松岡研究室では、特に近年発展しているこのAI技術とHPC技術の融合を一つのテーマとして掲げており、各種アクセラレータ・スーパーコンピュータを用

    yass
    yass 2013/05/25
    " write barrierを用いることによって、普段から旧→新のポインタができたかどうか を全て覚えておかねばならない。"
  • http://boundary.com/blog/2013/05/14/approximate-heavy-hitters-the-spacesaving-algorithm/

  • Big-O Algorithm Complexity Cheat Sheet (Know Thy Complexities!) @ericdrowell

    Hi there!  This webpage covers the space and time Big-O complexities of common algorithms used in Computer Science.  When preparing for technical interviews in the past, I found myself spending hours crawling the internet putting together the best, average, and worst case complexities for search and sorting algorithms so that I wouldn't be stumped when asked about them.  Over the last few years, I

  • トライ(ダブル配列,簡潔データ構造)と STL コンテナ - ny23の日記

    以前実装した構築速度重視の動的ダブル配列 (表中 dda) の構築速度を Darts, darts-clone (0.32g beta5, 0.32e5), DASTrie (1.0), doar (0.0.10),簡潔データ構造を利用したトライ (tx 0.16) ,STL コンテナ (std::map, std::tr1::unordered_map) 辺りと比べてみた.キー集合としては,中規模で疎な集合(Wikipedia 英語版記事タイトル)と小規模で密な集合(郵便番号辞書)を用いた. ====================================================================== Wikipedia-en 記事タイトル | Build | Search | Search* | Size [bytes] =================

    トライ(ダブル配列,簡潔データ構造)と STL コンテナ - ny23の日記
    yass
    yass 2013/04/27
    " ダブル配列は基本的には文字単位で配列へのランダムアクセスが発生するものの,キャッシュが効く限り hash より有意に高速な検索が可能 "
  • Cuckoo Hashing - Radium Software

    ハッシュテーブルからエントリーを検索する処理は,一般に定数時間で済むとされている。つまり,どんなにエントリーが増えても検索の速さは変わらない,ということ。データ構造の教科書には必ず載っていることだね。 でも実際には,ハッシュの衝突が起こった場合に,速度の低下が発生する可能性がある。例えば,一般的なチェイン法(オープンハッシュ)だと,衝突したエントリーに関して線形検索を行うことになるから,衝突が多ければ多いほど,定数時間からは遠のいてしまう。 この速度低下を防ぐ方法はいろいろある。なかでも cuckoo hashing (カッコウ・ハッシング)は仕組みが面白い。こいつは,エントリーの検索を必ず定数時間で済ませてくれるという優れものなんだ。 Cuckoo hashing では,2つのハッシュ関数と,2つのテーブルを用いる。ここでは,2つのハッシュ関数をそれぞれ h1, h2 として,2つのテー

    Cuckoo Hashing - Radium Software
  • Story of Your Life » Blog Archive » Hopscotch Hashingを実装してみた

    動機 数年前Cuckoo Hashingも知らないの?と友人から信じられないという目で見られた経験から、いつかCuckoo Hashingを超えるアルゴリズムを実装してやるという(考案してやるという程は高くない)野望を持っていました。 そこで今回はHopscotch Hashingを実装してみました。 Herlihy, M., N. Shavit, and M. Tzafrir, “Hopscotch Hashing,” Proceedings of the 22nd International Symposium on Distributed Computing (DISC), pp. 350-364, Arcachon, France, September 2008. Hopscotch HashingはCuckoo Hashingと同様、定数時間での検索を可能にするハッシュテーブ

  • List::FrontCode - naoyaのはてなダイアリー

    先日 Array::Gap という Variable Byte Codes による整列済み整数の圧縮の実装を作りました。(id:naoya:20080906:1220685978) 今日は Front Coding を使った同じような圧縮リストクラス、List::FrontCode を作ってみました。Front Coding は辞書式順に整列済みの文字列リストなどを圧縮する手法です。WEB+DB PRESS Vol.42 のアルゴリズム&データ構造の記事で PFI の岡野原さんによる解説があったので、それを参考に実装しました。 Front Coding Front Coding は http://www.hoge.jp http://www.hoge.jp/a.htm http://www.hoge.jp/index.htm http://www.fuga.com/ http://www.

    List::FrontCode - naoyaのはてなダイアリー
  • DO++: 左傾赤黒木

    漢字で書くと仰々しいが、赤黒木 (wikipedia) red-black tree (english wikipedia)という平衡二分木で最も多くつかわれているデータ構造の、改善版が出てたそうだ。 left-leaning red-black tree (pdf) 日語に訳すと左傾赤黒木かな。簡単な漢字を並べている感じがしてしまう 赤黒木の詳細については、wikipediaなどをよんでもらうとして、これは更新時間が定数で更新箇所が局所的(これはマルチスレッドとかでロックする箇所をかなり細かい単位で、できるという強い利点もある)のだが、実装が結構面倒くさい。例えばC++ stl のmapとかの赤黒木の実装のstl_tree.h(google code search)は大変なことになっている(特にRb_tree_rebalance_for_eraseとか) 赤黒木というのは動的データ構造

    DO++: 左傾赤黒木