タグ

Algorithmとalgorithmに関するtanakaBoxのブックマーク (301)

  • b-Bit MinHashによる高速かつ省スペースな類似度判定 | SmartNews開発者ブログ

    ゴクロの浜です。ネットカフェでコードを書くのが好きです。 前回のエントリーでも触れられていますが、SmartNewsはホットな話題をユーザにお届けするために、常時、膨大な数のツイートおよびURLをクロールしています。こうして収集した記事に対し、様々な分析が施されますが、その中でも重要な処理の1つに、記事の類似度判定があります。内容の似通った記事をインデックスから発見し、グループ化する処理です。 毎秒、大量の新着記事が到着することから、この類似度判定は高速に実行する必要があります。また、インデックスを全てメモリに載せているので、類似度判定を実現する際の空間効率も要求されます。 今回は、SmartNewsが高速かつ省スペースな類似度判定のために使用しているb-Bit MinHashと呼ばれる手法を紹介します。2年前に、PFIの岡野原さんが非常に分かりやすい解説記事を書かれており、エントリー

  • 高速フーリエ変換

    先日, 調和解析の器械のことを調べていて, フーリエ変換をやってみる必要があった. データの個数の少い例なので, プログラムは簡単に書ける. 書きなが, 学生のころ(1953年ころ)に計算させられたことを思い出した. あの時に比べるといまは極楽だな. ところで高速フーリエ変換(FFT)というのがあって, 私は30年も前に, 高橋秀俊先生の追悼文を「コンピュータソフトウェア」誌に寄稿したときに, 高橋先生がFFTのプログラミングに熱中されていたことにも触れた. (この記事はCiNiiで探すと見つかる.) 当時の雑誌を取り出してみると, そのプログラムが掲載されている. もとは東大大型計算機センターのライブラリプログラムだからFortranで書かれれていたのを, 私が当時使っていたFranz Lispに書き直したものであった. 添字の名前などにはいかにもFortranという気分が残っているが.

  • Graphillion: 数え上げおねえさんを救え / Don't count naively

    Graphillion は膨大な数のグラフに対して検索や最適化、列挙を行うための Python モジュールです。このビデオは Graphillion の概要を知るためのチュートリアルです。「フカシギの数え方」 http://youtu.be/Q4gTV4r0zRs の続編として作成されました。 Graphillion is a Python software package on search, optimization, and enumeration for a very large set of graphs. This video is a quick tutorial to learn what Graphillion is. The story follows our previous episode, "Let's count!" http://youtu.be/Q4gT

    Graphillion: 数え上げおねえさんを救え / Don't count naively
    tanakaBox
    tanakaBox 2013/06/21
    続編。
  • 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

    tanakaBox
    tanakaBox 2013/05/13
    便利過ぎ。
  • Site Under Maintenance

    We'll be back soon! Our site is currently undergoing maintenance. Please check back later.

    Site Under Maintenance
    tanakaBox
    tanakaBox 2013/05/06
    楽しい。
  • javascript - Mathを再発明してみた : 404 Blog Not Found

    2010年09月14日06:30 カテゴリMathLightweight Languages javascript - Mathを再発明してみた 「基というからには四則演算で三角関数実装しないとねー」と思いつつ書いていたら… C言語による最新アルゴリズム事典 奥村晴彦 [javascript]三角関数の基 Math.random()を除いてMathを全部再発明しおえたので。 多倍長演算バージョンを作る時の下ごしらえにもなるかも。 下ごしらえ 仕様は Math - MDC アンチョコはもはや最新というにはあまりに古い、しかし代わりなき「C言語による最新アルゴリズム事典」。低レベルな車輪を再発明する人必携! 初期化と定数 定数の精度はおおげさに。 MyMath = {}; MyMath.E = 2.718281828459045235360287471352662497757; MyMat

    javascript - Mathを再発明してみた : 404 Blog Not Found
    tanakaBox
    tanakaBox 2013/05/01
    面白そう。
  • FURYU Tech Blog-フリューテックブログ | Furyu Tech Blog

    はじめに こんにちは、ピクトリンク事業部開発部サーバサイド開発課のkitajimaです。 ピクトリンク事業部開発部サーバサイド開発課ではDX Criteria の

    FURYU Tech Blog-フリューテックブログ | Furyu Tech Blog
    tanakaBox
    tanakaBox 2013/04/23
    後半知らなかったわ。処理系によって異なる。
  • BLUE*アルゴリズム

    2. 論文紹介 • Marc Sebban, et. al. “BLUE*: a Blue-Fringe Procedure for Learning DFA with Noisy Data” • http://labh-curien.univ-st-etienne.fr/~janodet/ pub/tjs04.pdf • ノイズを含む信号列から状態遷移図を推定 →それが何の役に立つの? 13年4月14日日曜日 3. 論文紹介 • Thomas Arts and Simon Thompson, “From Test Cases to FSMs: Augmented Test-driven Development and Property Inference” • http://www.cs.kent.ac.uk/pubs/2010/3041/content.pdf • ユニットテストの結果

    BLUE*アルゴリズム
  • フレーム問題 - Wikipedia

    フレーム問題(フレームもんだい、(英: frame problem)とは、人工知能における重要な難問の一つで、有限の情報処理能力しかないロボットには、現実に起こりうる問題全てに対処することができないことを示すものである。 1969年、ジョン・マッカーシーとパトリック・ヘイズ(英語版)の論文[1]の中で述べられたのが最初で、現在では、数多くの定式化がある。 現実世界で人工知能が、たとえば「マクドナルドでハンバーガーを買え」のような問題を解くことを要求されたとする。現実世界では無数の出来事が起きる可能性があるが、そのほとんどは当面の問題と関係ない。人工知能は起こりうる出来事の中から、「マクドナルドのハンバーガーを買う」に関連することだけを振るい分けて抽出し、それ以外の事柄に関して当面無視して思考しなければならない。全てを考慮すると無限の時間がかかってしまうからである。つまり、枠(フレーム)を作

    tanakaBox
    tanakaBox 2013/04/06
    ふむふむ。人間は全ての可能性を計算してるわけではないから、失敗するのだ。
  • A/Bテストよりすごい?バンディットアルゴリズムとは一体何者か - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? オバマ大統領の再選に大きく寄与したことで大きな注目を集めているA/Bテスト。A/Bテストを導入した、することを検討している、という開発現場も多いのではないだろうか。 そんな中、Web上で次のような議論を見つけた。 20 lines of code that will beat A/B testing every time Why multi-armed bandit algorithm is not “better” than A/B testing 一言でまとめると「A/Bテストよりバンディットアルゴリズムの方がすごいよ」「いやいやA

    A/Bテストよりすごい?バンディットアルゴリズムとは一体何者か - Qiita
    tanakaBox
    tanakaBox 2013/03/31
    興味深い。
  • 様々な全域木問題

    1. 2013 年 3 月 20 日 @ NTT DATA 駒場研修センター 第 12 回日情報オリンピオック春季トレーニング合宿 様々な全域木問題 前原 貴憲 (@tmaehara) 国立情報学研究所 2. 自己紹介 • 前原 貴憲(まえはら たかのり) • Twitter: @tmaehara • Web: http://www.prefield.com (Spaghetti Source) • 略歴: 2004 沼津工業高等専門学校卒 2007 東京大学 工学部 計数工学科卒 2012 東京大学大学院 情報理工学系研究科卒 現在 国立情報学研究所 • 専門分野:連続・離散最適化,数値計算 2/ 71

    様々な全域木問題
  • サービス終了のお知らせ - NAVER まとめ

    サービス終了のお知らせ NAVERまとめは2020年9月30日をもちましてサービス終了いたしました。 約11年間、NAVERまとめをご利用・ご愛顧いただき誠にありがとうございました。

    サービス終了のお知らせ - NAVER まとめ
  • 組合せ最適化入門:線形計画から整数計画まで

    SSII2022 [TS3] コンテンツ制作を支援する機械学習技術​〜 イラストレーションやデザインの基礎から最新鋭の技術まで 〜​

    組合せ最適化入門:線形計画から整数計画まで
    tanakaBox
    tanakaBox 2013/03/18
    整数計画
  • Googleの新しい圧縮アルゴリズムZopfliについて調べた。 - EchizenBlog-Zwei

    Googleの新しい圧縮アルゴリズムZopfliについて調べたのでメモしておく。 Compress data more densely with Zopfli - Google Developers Blog deflateアルゴリズム zopfliはdeflateアルゴリズムに基づいた圧縮ライブラリ。deflateアルゴリズムはデータをLZSSというLZ77を改良した圧縮法で圧縮し、その後ハフマン符号で符号化したもの。 deflateアルゴリズムの実装としてはzlibやgzipがある。zlibとgzipの違いはヘッダとフッタの持っている情報。 使ってみる googlecode(http://code.google.com/p/zopfli/)から取ってくる。 $$ git clone https://code.google.com/p/zopfli/ $$ cd zopfli $$ ma

    Googleの新しい圧縮アルゴリズムZopfliについて調べた。 - EchizenBlog-Zwei
  • P2Pの専門知識ゼロから独自DHTを実装評価するまでの学習方法と参考資料まとめ - 情報科学屋さんを目指す人のメモ(FC2ブログ版)

    何かのやり方や、問題の解決方法をどんどんメモするブログ。そんな大学院生の活動「キャッシュ」に誰かがヒットしてくれることを祈って。 P2P、特にDHTの前提知識が無い状態から、オリジナルDHTアルゴリズムを実装・評価できるようになるまでの学習方法と参考資料をまとめました。 基的なアルゴリズムの仕組みから、実装評価に用いるツールキットの使い方までを短期間で学習することが出来ます。 「P2Pに関する卒論を書こうと思っている人」や「P2Pアプリケーションの開発前に、アルゴリズムをテストしたい人」、「なんとなくP2Pアルゴリズムに興味が出た人」などにぴったりだと思います。また、研究室での後輩教育用資料にするのも良いと思います。実際に使いましたし。 ここで紹介する資料一覧は以下の通りです。 資料1:「ChordアルゴリズムによるDHT入門」 資料1ーオプション1:「DHTアルゴリズムSymphony

  • 分散ハッシュテーブル - Wikipedia

    分散ハッシュテーブル (英: Distributed Hash Table, DHT) とは、ハッシュテーブルを複数のピアで管理する技術のこと。2001年に発表されたCAN, Chord, Pastry, Tapestryが代表的なアルゴリズムとして挙げられる。 アドホック性とスケーラビリティの両立を目指す探索 (lookup) 手法で、コンピュータネットワーク上に構築されることから、オーバレイネットワークの一つといえる。 アドレスとコンテンツのハッシュ値を空間に写像し、その空間を複数のピアで分割管理することで、特定ピアに負荷が集中することなく大規模なコンテンツ探索を実現する。 DHTはサーバの集合により構成され、主な機能はハッシュテーブルと同等である。あるキー(ビット列)をハッシュ関数、あるいは何らかの直線化関数により論理的な空間の1点に射影し、射影された点に値を関連づけることを特徴とす

  • 中学生にもわかるウェーブレット行列 - アスペ日記

    id:echizen_tm さんの記事「ウェーブレット木の効率的で簡単な実装 "The Wavelet Matrix"」から始まったウェーブレット行列ブームから半年以上が過ぎ、すでに枯れた技術として確立されつつある感があります。 …嘘です。 日以外ではあんまり来ていません。 理由としては、やはりアルファベット圏では単語境界が明確であるため、こちらの記事で書かれているような「キーワード分割の難易度」といったことがあまり問題にならないということがあるかもしれません。 まあ、そういうわけで局所的に来ているウェーブレット行列ですが、日語をはじめとする単語境界のない言語圏にとっては重要なネタであると思うため、解説記事を書き直して*1みようと思います。 ウェーブレット行列でできること 主となる操作は、文字列に対する 定数時間の rank() と select()*2 です。 rank() は、「文

    中学生にもわかるウェーブレット行列 - アスペ日記
    tanakaBox
    tanakaBox 2013/03/04
    未読
  • Boids Pseudocode

    This is an explanation of the boids algorithm explained with the use of pseudocode. It is mostly the standard algorithm as described by Reynolds [1], with a few of my own tweaks thrown in. It should be enough to get you started with programming your own boids simulation and making up your own extra routines. If you have any queries regarding this or have difficulty understanding any parts of the e

    tanakaBox
    tanakaBox 2013/03/01
    pseudocode - 疑似コード。
  • ベリサイン、RSAよりも負荷が軽いECC(楕円曲線暗号)をSSL証明書に採用

    ベリサインは2013年2月14日、SSLサーバー証明書発行サービス「マネージドPKI for SSL」で選択可能な公開鍵暗号方式を拡充すると発表した(写真)。2013年上半期(2月26日を目標)から、従来のRSA(素因数分解による公開鍵暗号方式)に加えてECC(楕円曲線による公開鍵暗号方式)とDSA(離散対数による公開鍵暗号方式)を選択できるようにする。発行料金はRSA/ECC/DSAのいずれも選んでも同一であるほか、RSA証明書(1枚)の発行料金だけでRSA/ECC/DSAの3種類の証明書(3枚分の証明書)を同時に発行できる。 RSA以外の公開鍵暗号を用いた証明書発行サービスは、商用サービスとしては初めて、としている。ECCやDSAの証明書は、これらを利用可能なSSL製品(Webサーバー/Webブラウザーなど)において利用できる。日ベリサインによれば、現在の主要なWebサーバー/ブ

    ベリサイン、RSAよりも負荷が軽いECC(楕円曲線暗号)をSSL証明書に採用
    tanakaBox
    tanakaBox 2013/02/27
    後で調べる
  • Algorithms by S. Dasgupta, C.H. Papadimitriou, and U.V. Vazirani

    tanakaBox
    tanakaBox 2013/02/19
    これは面白そう。