タグ

Algorithmに関するy_uukiのブックマーク (94)

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

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

    連載:検索エンジンを作る|gihyo.jp … 技術評論社
  • はてなブックマーク全文検索機能の裏側

    そろそろ落ち着いて来たころ合いなので、はてなブックマーク全文検索機能の裏側について書いてみることにします。 PFI側は、8月ぐらいからバイトに来てもらっているid:nobu-qと、id:kzkの2人がメインになって進めました(参考: 制作スタッフ)。数学的な所は他のメンバーに色々と助言をしてもらいました。 はてな側は主にid:naoyaさんを中心に、こちらの希望や要求を聞いて頂きました。開発期間は大体1〜2か月ぐらいで、9月の上旬に一度id:naoyaさんにオフィスに来て頂いて合宿をしました。その他の開発はSkypeのチャットで連絡を取りながら進めてました。インフラ面ではid:stanakaさん、契約面ではid:jkondoさん、id:kossyさんにお世話になりました。 全文検索エンジンSedue 今回の検索エンジンはSedue(セデュー)という製品をベースにして構築しています。Sedu

    はてなブックマーク全文検索機能の裏側
  • https://raftconsensus.github.io/

    https://raftconsensus.github.io/
  • Deep Learningと画像認識� �~歴史・理論・実践~

    1. Nakayama Lab. Machine Perception Group The University of Tokyo 東京大学 大学院情報理工学系研究科 創造情報学専攻 中山研究室 中山 英樹 2. Nakayama Lab. Machine Perception Group The University of Tokyo  1.Deep learning(深層学習)とは?  2.一般画像認識:Deep learning 以前と以後で何が変わったか ◦ Bag-of-visual-words (VLAD, Fisher Vector) ◦ Convolutional neural network (ConvNets)  3.Deep learningの数理 ◦ なぜ優れた性能が実現できるのか? ◦ ブレークスルーを生んだ各要素技術 ◦ 中山研究室での研究紹介  4.実

    Deep Learningと画像認識� �~歴史・理論・実践~
  • DSL-Researches

    近年,通信理論の分野でgossipプロトコルという通信手法が注目されている.これは情報伝達を確率的に行う手法のひとつであり,例えばアドホックネットワーク上でルーティングを行う際などに多く用いられる[1-4].しかし,gossipプロトコルの性能評価に関する理論的な結果はあまり多くない.また,gossipプロトコルは単一のパケットを拡散する場合のみが陽に考慮されており,複数のパケットを同時に拡散させた場合に関する研究はなされていないなどの問題もある. そこで研究では,複数の情報が拡散するという現象を調べるために,既存のgossipプロトコルを拡張し,同時に複数の情報を扱えるようにする.そしてその拡張されたgossipプロトコルにおける情報浸透確率などを解析し,その性質を調べていく. Gossipプロトコル 近年,身の回りのあらゆる物を有線あるいは無線のネットワークでつなぐことで様々なサービ

  • 1/30 発売!「プログラミングコンテスト攻略のためのアルゴリズムとデータ構造」 - iwiwiの日記

    書籍「プログラミングコンテスト攻略のためのアルゴリズムとデータ構造」が近日中に発売される予定です.会津大の渡部先生が著者で,Short Coding の Ozy さんと私が協力としての参加です.どうかよろしくお願いします. プログラミングコンテスト攻略のためのアルゴリズムとデータ構造 作者: 渡部有隆,Ozy(協力),秋葉拓哉(協力)出版社/メーカー: マイナビ発売日: 2015/01/30メディア: 単行(ソフトカバー)この商品を含むブログ (4件) を見る 書はアルゴリズムとデータ構造の入門書です.整列,探索,木構造などをはじめとする基礎的なアルゴリズムとデータ構造を初学者向けに説明します.前提とするのは基礎的なプログラミング能力のみです.コード例では C++ を用いています. これだけだと,よくあるのように思われるかもしれません.しかし,書は非常にユニークな特徴として,オン

    1/30 発売!「プログラミングコンテスト攻略のためのアルゴリズムとデータ構造」 - iwiwiの日記
  • A Fast, Minimal Memory, Consistent Hash Algorithm ご紹介(システム系論文紹介 Advent Calendar 2014). - Qiita

    A Fast, Minimal Memory, Consistent Hash Algorithm ご紹介(システム系論文紹介 Advent Calendar 2014).hashシステム系論文紹介分散ストレージjumpconsistenthash (稿は, システム系論文紹介 Advent Calendar 2014, 12/20 です http://www.adventar.org/calendars/440) 論文は arXiv から取得できます. http://arxiv.org/abs/1406.2294 Jump Consitent Hash と呼ばれる, 分散ストレージ系で有益なハッシュ関数を求めるアルゴリズムです. 現在史上最強のハッシュアルゴリズムのひとつと言えるでしょう. 無性に分散ストレージライブラリを作りたくなってきますね! 共著者の Eric Veach にも注

    A Fast, Minimal Memory, Consistent Hash Algorithm ご紹介(システム系論文紹介 Advent Calendar 2014). - Qiita
  • Paxos

    2. ⾃自⼰己紹介 l  久保⽥田展⾏行行(@nobu_k) l  製品開発部 l  Sedue/Bazil l  (Jubatus) l  ブル l  最近勉強してるもの l  開発⼿手法:要件定義・管理理 l  l  Transactional Information Systems(@ノーチラス) ‒  約1年年で念念願のリカバリーまで到達・・・! l  分散DB 2 3. 今⽇日の話 l  Paxos l  Consensus algorithm(protocol)の1つ l  ものすごく難しいことで有名(主に元論論⽂文が) l  流流れ l  Consensus l  問題設定 l  Paxos l  (ちょびっとだけ)Multi-Paxos l  参考⽂文献紹介 l  ⽇日語の⽂文献が少なく、⽤用語が怪しいですすいません 3

    Paxos
  • Raftを紹介する - obfuscatism

    はじめに Raft Consensus Algorithm の論文 “In Search of an Understandable Consensus Algorithm” http://ramcloud.stanford.edu/raft.pdf について簡単に紹介する。 また、論文のついでに読んでおくと理解が捗ると思われる文献(スライド、ウェブサイト)も紹介する。 というのも先日、ふと システム系論文紹介 Advent Calendar 2014 という物を私が立ち上げてしまったので、言い出しっぺの自分が先陣を切らせてもらう。 とはいえ今回の論文紹介にじっくり時間をかけて取り組めなかったため、雑な紹介になってしまう点はご了承いただきたい。 12月6日(土)に開催される 第3回 システム系論文輪読会 – connpass もあるため、輪読の発表会に興味のある方は是非参加いただきたい。 R

    y_uuki
    y_uuki 2014/12/05
    Raftの論文、読んでみたかったやつだ
  • Sorting Algorithms Animations

    KEY Black values are sorted. Gray values are unsorted. A red triangle marks the algorithm position. Dark gray values denote the current interval (shell, merge, quick). A pair of red triangles marks the left and right pointers (quick). DISCUSSIONThese pages show 8 different sorting algorithms on 4 different initial conditions. These visualizations are intended to: Show how each algorithm operates.

    Sorting Algorithms Animations
  • 冬のLock free祭り safe

    19. What is Blocking? コアが増えるほどに問題が顕著に! 早くしろよ… 早くしろよ… 早くしろよ… 早くしろよ… 早くしろよ… 早くしろよ… 早くしろよ… 早くしろよ… 早くしろよ… クリティカルセク ション

    冬のLock free祭り safe
  • A Tour of Machine Learning Algorithms

    In this post, we will take a tour of the most popular machine learning algorithms. It is useful to tour the main algorithms in the field to get a feeling of what methods are available. There are so many algorithms that it can feel overwhelming when algorithm names are thrown around and you are expected to just know what they are and where they fit. I want to give you two ways to think about and ca

    A Tour of Machine Learning Algorithms
  • 配列のランダマイズ、出来ますか?(後編)

    前回のエントリ、配列のランダマイズ、出来ますか?(前編)の続きです。 前回のエントリの最後では、次のようなコードを提示し、どこが問題なのかの疑問を提起しました。 // 配列の初期化 var a = []; for(var i = 0; i < 1000; i++) { a[i] = i; } function swap(s, d) { var t = a[s]; a[s] = a[d]; a[d] = t; } // ランダマイズ、その2 for(var i = 0; i < a.length; i++) { swap(i, (Math.random() * a.length) | 0); } ランダマイズのコードの厄介なところは、1回2回実行したところで問題がわからない点で、このプログラムもぱっと見た感じではきちんとランダマイズされているように見えます。ではどうやって問題があるかを判断す

  • Microsoft Word - HBase_Tier_Base_Compaction.docx

    HBase Tier Based Compaction by Akashnil Dutta 1. Overview The goal of the compaction selection algorithm is to schedule compactions efficiently. The current algorithm takes a set of candidate files as input, and produces a subset as output. If there is no eligible compactions, the output set can be empty. The candidate set is made of all the files in one region which are not already scheduled for

  • 「再帰→ループ」の変換が大変だった件 - IT戦記

    まず、ループは再帰で表現できる ループというのはすべて再帰呼び出しで表現できる。 たとえば、コレは var array = [1, 2, 3]; for (var i = 0; i < array.length; i ++) alert(array[i]); こんな感じになる (function f(array, i) { if (i < array.length) { alert(array[i]); return f(array, i+1); } })([1, 2, 3], 0); もし、 array がこの目的以外に使われないならコッチのがキレイかも (function f(array) { alert(array.shift()); if (array.length) return f(array); })([1, 2, 3]); ということは、再帰はループで表現できるはず という

    「再帰→ループ」の変換が大変だった件 - IT戦記
  • Zopfli - naoyaのはてなダイアリー

    Googleが今日(米国時間2/28)、オープンソースの新しい圧縮アルゴリズムZopfliをローンチした。今の標準圧縮技術であるzlibライブラリに比べて5〜8%圧縮率が高いといわれ、また解凍アルゴリズムは今のWebブラウザが現用しているもので間に合うため、Webサーバがこれを採用すれば、データの伝送速度が上がり、Webをやや速くすることができるだろう。 Google が出力が deflate 互換の圧縮アルゴリズムをオープンソースにしたというので、ちょっとタイムラインで話題になっていた。圧縮アルゴリズム周りにはまってた頃から結構時間が経ってしまって色々忘れてしまったけど、少しニュースを捕捉してみようと思う。 Zopfli は deflate 互換なので、deflate アルゴリズムを解釈できる実装なら伸張できる。当然ブラウザが持ってる deflate 実装で伸張できるので、エンドユーザー

    Zopfli - naoyaのはてなダイアリー
  • 1日で作る全文検索エンジン - Building a full-text search engine in "ONE" day - - とあるはてな社員の日記

    最近、「Introduction to Information Retrieval」というStanfordの大学院向け教科書のドラフトを読んでいます。id:naoyaあたりが勉強会で読んでいる教科書です。この教科書には、効率のいい全文検索システムを作るにはどうすればいいか、という(まさに)教科書的手法が網羅的に書いてあり、そのあたりに興味がある人には、非常に興味深く読めるお勧めのです。 ただ、面白い面白いと言っているだけでは、エンジニアとしては価値半減ですので、GW中にrubyで一日かけて実装してみました。 さすがに実装は、一日で作ったものですから、非常に素朴です。マルチバイト文字はbi-gramで、シングルバイトはスペースなどの区切り記号で認識しています。インデックスは、rubyの処理系のHashやArrayで保持しており、外部にMarshallで書き出す、というものです。検索エンジン

  • 常識を覆すソートアルゴリズム!その名も"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)
  • マンスリーAFCCニュース:2012年9月 モバイルユーザを狙う脅威の動向を俯瞰する ~入門編~(PDF)

    Operationalize your investment and speed your time to value for ID Plus, SecurID, and RSA Governance & Lifecycle. Resources include 24/7 tech support from a world-class team, personalized support, and peer-to-peer knowledge sharing. Rely on RSA to identify the capabilities and strategic direction that will serve you best, no matter where you are on your identity journey. Build an intimate understa

    マンスリーAFCCニュース:2012年9月 モバイルユーザを狙う脅威の動向を俯瞰する ~入門編~(PDF)
  • 並列環境におけるreduceとscanアルゴリズム

    "fireking" by cmyk1219 1. 概要 reduceとscanはGPGPUなどの並列環境下において重要な役割を果たす関数だけど、あまりこれらの関数、特にscanについて言及している記事はあまり見かけない。なので今回はreduceとscanについて調べた結果をまとめていきたいと思う。 2. reduce, scan関数の概要 2.1. reduce scanについてはreduceが分かればより理解しやすくなるので、ひとまずはreduceから始めることにする。 reduceとは、端的に言うと、対象のリストを与えられた二項演算子で纏め上げる関数だ。とは言っても、いきなりそんなことを言われてもよく分からない。まずは例を見ていこう: >>> import operator >>> reduce(operator.add, [1, 2, 3, 4, 5]) 15 >>> reduce

    並列環境におけるreduceとscanアルゴリズム