タグ

Algorithmに関するlarkerのブックマーク (56)

  • ConsistentHashing - コンシステント・ハッシュ法

    ConsistentHashing - コンシステント・ハッシュ法 目次 この文書について コンシステント・ハッシュ法 実例 実装 用途 コンシステント・ハッシュ法 この文書について "Tom White's Blog: Consistent Hashing" の日語訳です. http://weblogs.java.net/blog/tomwhite/archive/2007/11/consistent_hash.html 推敲歓迎: 誤訳, タイポ, 訳語の不統一, そのほか... 原文のライセンス: http://creativecommons.org/licenses/by-nc-sa/2.0/ 私は今までに何度かコンシステント・ハッシュ法にとりくんだことがある。 このアイデアをあらわした論文 ( David Karger らによる Consistent Hashing and R

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

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

    larker
    larker 2013/03/04
    単語境界のない言語の為のキーワード分割
  • サルでもわかる顔検出の原理 - 科学信仰

    顔検出機能はここ数年で急激に普及してデジカメとかケータイとかにフツーに入るようになったり、Google画像検索のオプションに入ってたりして、すっかりコモディティ化しちゃってるけど、ちょっと前まではすごい困難で実用化に手を出すなんてとてもとてもな技術だったんだよね。 2001年のViola & Johnsの論文*1で超高速&超正確な検出アルゴリズムが発表されるまでは。 これの画期的だった点は非力なパソコン(とか現在のケータイ内蔵CPUとか)で画像中からリアルタイムに顔を検出できたことなんだ。 キモは3点。 Integral-ImageによるHaar-like検出器の高速演算 AdaBoostによる検出能力の強化 多段フィルタ(cascade)による非顔領域の高速排除 具体的にどれがViolaらのオリジナルの仕事なのかはよく知らないけれど。 少なくとも一個目と三個目はそうな気がする。 Inte

    サルでもわかる顔検出の原理 - 科学信仰
  • データマイニングで使われるトップ10アルゴリズム - データサイエンティスト上がりのDX参謀・起業家

    2006年のデータマイニング学会、IEEE ICDMで選ばれた「データマイニングで使われるトップ10アルゴリズム」に沿って機械学習の手法を紹介します(この論文は@doryokujin君のポストで知りました、ありがとうございます!)。 必ずしも論文の内容には沿っておらず個人的な私見も入っていますので、詳細は原論文をご確認下さい。また、データマイニングの全体観をサーベイしたスライド資料がありますので、こちらも併せてご覧下さい。 データマイニングの基礎 View more presentations from Issei Kurahashi 1. C4.5 C4.5はCLSやID3といったアルゴリズムを改良してできたもので、決定木を使って分類器を作ります。決定木といえばCARTが良く使われますが、CARTとの違いは以下のとおりです。 CARTは2分岐しかできないがC4.5は3分岐以上もできる C

    データマイニングで使われるトップ10アルゴリズム - データサイエンティスト上がりのDX参謀・起業家
  • 30分でわかる高性能な圧縮符号vertical code - EchizenBlog-Zwei

    検索エンジンの転置インデックスなどデータ列を小さいデータサイズで持たせたい、という状況がある。こういう場合圧縮符号を使うのが一般的でunary符号やgamma符号、delta符号など様々な種類がある。 圧縮符号の中でイチオシなのがvertical code(vcode)。これは岡野原(@hillbig)氏によって提案された圧縮符号で単純な仕組みでdelta符号並の性能を誇っている。 記事ではvcodeのポイントを絞って30分でわかるように解説してみる。 vcodeは棚にを並べる作業を連想すると理解しやすい。棚は予め高さが決まっているので全てのが入るような棚を用意する。つまり というようなものを想像する。 この棚は8冊のが並んでいるが左から5冊目のが他よりも背が高い。このため5冊目のに合わせて背の高い棚が必要になる。だが他のは5冊目のほどに背が高くないので、5冊目が

    30分でわかる高性能な圧縮符号vertical code - EchizenBlog-Zwei
    larker
    larker 2011/10/24
    vertical code
  • 高度な検索

    検索ツールは、複数のサブ インデックスを含むインデックスに基づいて実行されます。検索ツールで基検索を行う際には、context インデックスと content インデックスの 2 つのインデックスのみを使用します。content インデックスには、ダイジェスト化されたコンテンツのトークン化されたフル テキスト インデックスが含まれます。つまり、リソースにアップロードされた Word 文書のテキストはすべて抽出されてインデックス化されますが、ビデオ パッケージはメタデータのみがインデックス化されます。検索結果が返されたときに、一致する用語がハイライト表示されるのはこのコンテンツです。 context インデックスでは、コンテンツ ソースのキーワード インデックスが利用できます。これは、コンテンツを含むワークサイトまたはコースです。検索ツールで基検索を実行すると、+content:<cur

    larker
    larker 2011/03/29
    Lucene(あいまい)検索
  • Javaアルゴリズム

    Javaでいろいろなアルゴリズムを表現するコーナです〜 今はサンプルコードしかないですが、説明も公開する予定です

  • JavaのアルゴリズムでBoyer-Moore法についての質問なのですが・・・http://www.bohyoh.com/Boo... - Yahoo!知恵袋

    JavaのアルゴリズムでBoyer-Moore法についての質問なのですが・・・ http://www.bohyoh.com/Books/JAlgoData/index.html にあるテキストを使い独学で勉強をしているのですが、回答を見てもさっぱりなので 質問します。 JavaのアルゴリズムでBoyer-Moore法についての質問なのですが・・・ http://www.bohyoh.com/Books/JAlgoData/index.html にあるテキストを使い独学で勉強をしているのですが、回答を見てもさっぱりなので 質問します。 もともとのテキストのプログラムは以下のようになっていました。 import java.util.Scanner; class BMmatch { static int bmMatch(String txt, String pat) { int pt; int

    JavaのアルゴリズムでBoyer-Moore法についての質問なのですが・・・http://www.bohyoh.com/Boo... - Yahoo!知恵袋
  • さらに分かっておきたいトランジスタの種類 − @IT MONOist

    米国ラスベガスで開催された「CES 2024」では、スペースが大幅な増床となったスマートホーム関連の展示が注目を集めた。稿では、国内スマートホーム関連スタートアップの雄であるアクセルラボ CTOの青木継孝氏による、スマートホーム関連の展示を中心としたCES 2024のレポートをお送りする。

    larker
    larker 2010/04/21
    ロボット制御
  • ハル研究所 プログラミングコンテスト2009

    プロコントークを更新しました。前・実行委員長へのインタビューを掲載しています。 (2009/11/19) 日よりエントリーの受付を開始しました。プロコンに参加希望の方は、まずはお早めにエントリーをお願いします。なお、エントリーをいただいた方には、問題発表日の2009年11月26日(木)が近づきましたら、お知らせのメールをお送りします。 (2009/11/19)

    larker
    larker 2010/03/19
    すばらしい
  • Oracle Data Mining Techniques and Algorithms

    Most commonly used technique for predicting a specific outcome such as response / no-response, high / medium / low-value customer, likely to buy / not buy. Logistic Regression—classic statistical technique but now available inside the Oracle Database and supports text and transactional data Naive Bayes—Fast, simple, commonly applicable Support Vector Machine—Next generation, supports text and wid

  • 全文検索を実装したソースコードを読もう (1/4)- @IT

    第6回 全文検索を実装したソースコードを読もう 倉貫 義人 松村 章弘 TIS株式会社 SonicGarden 2009/9/3 優れたプログラマはコードを書くのと同じくらい、コードを読みこなせなくてはならない。優れたコードを読むことで、自身のスキルも上達するのだ(編集部) いよいよオープンソースの社内SNS「SKIP」を使ったコードリーディングも最終回となりました。Railsの基的な構成から、テストコードやRSpecの書き方といった内容に加え、前回はOpenIDをRailsで活用する応用編まで、コードとともに学んできました。 最終回となる今回は、SKIPの目玉機能の1つである全文検索を扱います。最終回にふさわしく、内容も高度なものになっていますが、ここまでおつきあいいただいた読者の皆さまであれば、十分に理解できる内容だと思います。 SKIPにおける全文検索機能では、任意の検索キーワード

  • ジャンル別ゲームの作り方とアルゴリズムまとめ - ネットサービス研究室

    ゲームの作り方とアルゴリズムをジャンル別にまとめてみました。ゲーム制作や、プログラミングの勉強用にご活用ください。言語別ゲームプログラミング制作講座一覧もあわせてお読みください。 リンク切れがおきていたものは、URLを表示しておくので、Internet Archiveなどでキャッシュを表示させてみてください。 RPG ゲームの乱数解析 乱数を利用した敵出現アルゴリズムの解説 各種ゲームプログラム解析 FF、ドラクエ、ロマサガのプログラムの解析。乱数の計算など ダメージ計算あれこれ(http://ysfactory.nobody.jp/ys/prg/calculation_public.html) ダメージの計算式 エンカウントについて考えてみる エンカウント(マップでの敵との遭遇)の処理方法いろいろ RPGの作り方 - ゲームヘル2000 RPGのアルゴリズム ドルアーガの塔 乱数の工夫の

    ジャンル別ゲームの作り方とアルゴリズムまとめ - ネットサービス研究室
  • C言語による輪郭追跡処理について

    ここでは、私、酒井理雄(TSUGU)が卒業研究において作成した DIB画像の輪郭追跡プログラムのアルゴリズムについて解説をしたいと思います。 ご意見やご感想、また、ここおかしいんじゃない?というような所があれば連絡していただけると作者が喜びます。 最初にこのドキュメント中の画像の見方について説明します。 下のような画像が多数出てきますが、その色は次のような意図で塗られています。

  • Programming Magic is under construction

    Thank you for being patient. We are doing some work on the site and will be back shortly.

    Programming Magic is under construction
    larker
    larker 2008/12/09
    重複しないランダムな数値
  • 順列の列挙

    ここでは,順列の列挙について考えます。順列はいくつかの文字を順序を考慮して並べたものです。文字がどのようなものであるかは重要でないので,ここではまず,数字1からnまでを使った順列を考えましょう。例えば,1から4の数字から,3個とる順列は (1,2,3), (1,2,4), (1,3,2), (1,3,4), (1,4,2), (1,4,3), (2,1,3), (2,1,4), (2,3,1), (2,3,4), (2,4,1), (2,4,3), (3,1,2), (3,1,4), (3,2,1), (3,2,4), (3,4,1), (3,4,2), (4,1,2), (4,1,3), (4,2,1), (4,2,3), (4,3,1), (4,3,2). の計24個あります。一般に,n個のものから,r個取ってできる順列の個数は, n・(n−1)・・・(n−r+1)

  • mt19937ar: Mersenne Twister with improved initialization

    English Version News: SIMD-oriented Fast Mersenne Twister (SFMT) をリリースしました。 SFMTはオリジナルのMersenne Twisterより約二倍速く、 よりよい均等分布特性を持ち、零超過初期状態からの回復も高速です。 SFMTのページを見てください。 (2007/1/31) 1998年版MTの初期化ルーチンには、シードの最上位ビットが 状態ベクトルにあまり反映されないなどの(小さな)問題が ありました。 同種の問題 は、いとこであるTT800に対して Jeff Szuhay によりすでに報告されていましたが、 対応が遅れました。 ここに、この問題点を解決した2002年版標準コードmt19937ar (arはアレイ)を おきます。 従来の初期化ルーチンに変えて、init_genrand(seed)をお使い下さい。 特に3

    larker
    larker 2008/12/04
    メルセンヌツイスタ
  • 【インフォシーク】Infoseek : 楽天が運営するポータルサイト

    日頃より楽天のサービスをご利用いただきましてありがとうございます。 サービスをご利用いただいておりますところ大変申し訳ございませんが、現在、緊急メンテナンスを行わせていただいております。 お客様には、緊急のメンテナンスにより、ご迷惑をおかけしており、誠に申し訳ございません。 メンテナンスが終了次第、サービスを復旧いたしますので、 今しばらくお待ちいただけますよう、お願い申し上げます。

  • 文字列、暗号化 - .NET Tips (VB.NET,C#...)

    文字列、暗号化編メニュー文字列基改行、タブ文字などの定数 文字列の途中で改行する ダブルクォテーション(")をダブルクォテーションで囲まれた中に記述する 文字列が空かどうか調べる 2つの文字列が等しいかを調べる 大文字小文字、半角全角、ひらがなカタカナの区別をしないで文字列を比較する 文字列内に指定された文字列があるか調べ、その位置を知る 文字列の長さ(文字数)を取得する 文字列から指定した部分を取得する 文字列から1文字取得する、文字列内の文字を列挙する 文字列から一行ずつ読み込む 文字列を指定回数繰り返した文字列を取得する サロゲートペアや結合文字が含まれているか調べる 文字がひらがなか、カタカナか、漢字か、英数字か調べる 整形文字列を連結する 文字列を削除する 文字列から指定した文字を削除する 文字列の前後に付いている余計な文字を削除する 文字列を置換する 文字列を挿入する 小文字

  • 暗号化アルゴリズム Blowfish を JavaScriptで

    暗号化アルゴリズム Blowfish で暗号化と復号化 IE4+, NN4.06+, Gecko, Opera6+ 概要 JavaScript で暗号化アルゴリズム Blowfish を使えるようにします。 以下の4つのモードが利用できます。 ECB (Electronic Code Block) CBC (Cipher Block Chaining) CFB (Cipher Feedback) OFB (Output Feedback) 尚、ライブラリには Base64 Encode/Decode 機能はありません。 必要でしたら拙作のBase64ライブラリを利用してください。 Download Download [blowfish.js] Download [base64.js] Sample キー [ 1-56 byte ] 暗号化 復号化 Round数 Mode ( IV はラン