タグ

algorithmとAlgorithmに関するgologo13のブックマーク (108)

  • Amazon.co.jp: 近似アルゴリズム: V.V. ヴァジラーニ (著), 孝夫,浅野 (翻訳), Vazirani,Vijay V. (原名): 本

    Amazon.co.jp: 近似アルゴリズム: V.V. ヴァジラーニ (著), 孝夫,浅野 (翻訳), Vazirani,Vijay V. (原名): 本
  • やねうらお―よっちゃんイカを買いに行ったついでに家を買う男 - グラフ理論ならこれを読め!

    うちの会社では「グラフ理論を小学校のうちに学んでおかないから、そういうことになるんジャイ!(`ω´)」とか冗談とも気とも取れないような会話が平気で行き交う。それほどグラフ理論は大切な分野なのにプログラマには見過ごされがちだ。ただ、グラフ理論にはいいが少ない。そこで、グラフ理論ならこれを読め!というを紹介する。まずは、入門書としては、左のがお勧め。 大学の教科書としてよく採用されているのが左の「最適化とグラフ理論 技術者のための高等数学」値段も手ごろだし、高校卒業程度の知識でも読めると思う。 「そんな入門書ではなくて、もっと詳しいは無いか?」とid:Ozyさんに聞かれて私が勧めたのは、シュプリンガー・フェアラーク東京シリーズの「グラフ理論」 このシリーズは黄色い表紙とお馬さんのマークが目印だ。 これより詳しいとなると日語で読めるものは発売されていないと思う。「グラフ同型判定問題

    やねうらお―よっちゃんイカを買いに行ったついでに家を買う男 - グラフ理論ならこれを読め!
  • 第 13 回 順序木

    日の内容 13-1. 順序木 13-2. 連想配列 このドキュメントは http://edu.net.c.dendai.ac.jp/ 上で公開されています。 13-1. 順序木 順序木の定義 順序木は、値の大小に基づいて値を格納する木であり、低いコストで値を小さ い順に取り出すことが可能になります。 順序木とは、各頂点に値を持つ二分木のうち、次の性質を持つものです。 左の枝に接続している全ての頂点の要素は、この頂点の要素より小さい。 右の枝に接続している全ての頂点の要素は、この頂点の要素より大きい。 このような性質を持っている木に対して新たな値を格納することを考えます。 値を格納できる場所を探す際、各頂点の持つ値と比較していくことで、頂点の 右の枝の方面か左の枝の方面か選ぶことができます。 すると、木の深さ分だけ値を比較することで挿入可能な場所を捜し出せること になります。 木の深さは、

    gologo13
    gologo13 2011/04/28
    順序木、連想配列の順序木による実装。初めてこれらの実装がわかった ~/snippets/C++/Tree/ を参照 / てか、これ学部2年の講義かよ(^^;
  • NLP2011に参加してきました - 射撃しつつ前転 改

    もう一ヶ月以上も前の話になりますが、2011年の言語処理学会年次大会で、かな漢字変換について発表をしてきました。 日本語入力についてのテーマセッションが用意されているということで、発表申し込みをしようかどうか迷った挙句、仕事が忙しいからあきらめたのですが、〆切前日にG社の方から「明日が〆切なのでよろしく」的なメールが来て、そんなに申し込みが少ないなら出すか…ということで発表してきました。蓋を開けてみたら2セッション分の発表があって割と大人気だった訳ですが、こんな機会がないとなかなか会わないような人にたくさん会えたので、結果的には行ってきて良かったです。 発表に関しては会社ブログの方に既に資料を上げたので、こちらでは実装の細かいところの話をちょっと書いてみたいと思います。 資料にも書きましたが、構造化SVMをFOBOSで最適化する場合、 正解パスへはペナルティを与えつつ現在のパラメーターで変

    NLP2011に参加してきました - 射撃しつつ前転 改
    gologo13
    gologo13 2011/04/21
    ようわからんけどすごい。
  • Googleアルゴリズム200項目全てを特別公開 | フォーデザイン

    Googleアルゴリズムの200の要素を発見しましょう!(Let’s Try to Find All 200 Parameters in Google Algorithm) は2009年に書かれた記事ですが、パンダアップデートが適用された今現在(2011年4月)でも重要項目が多く書かれているもので。 多くはGoogleの特許(合衆国特許出願0050071741)に基づいていますが、筆者のアンが自身の解析結果や予測を盛り込んでいる事で、より実践に近い内容になっています。 SEO初心者の方は、これからのウェブ制作の軸に、SEOエキスパートの方はもう一度自身のサイトを見直す目次として確認してみてはいかがでしょうか。 ドメインに関する13要因 ドメイン年齢 ドメイン取得からの長さ ドメイン登録情報(Who is情報)の表示/非表示 ドメイン種類(サイトレベルドメイン(.com や co.uk) ト

    Googleアルゴリズム200項目全てを特別公開 | フォーデザイン
  • SELECT Lab::Tutorial at ICML 2008: Beyond Convexity - Submodularity in Machine Learning

    Beyond Convexity: Submodularity in Machine Learning Description Convex optimization has become a main workhorse for many machine learning algorithms during the past ten years. When minimizing a convex loss function for, e.g., training a Support Vector Machine, we can rest assured to efficiently find an optimal solution, even for large problems. In recent years, another fundamental problem st

  • アプリプラネット: ログインする

    アカウントを作成しますか? 以下にメールアドレスをご入力ください。メールアドレスの認証後は、すぐにソーシャルコミュニティに入ることができます! あなたのメール アドレス:

  • A*アルゴリズムについて整理 - yasuhisa's blog

    辞書を参考にしながら。NAISTのI期辺りでやったはずなんだが、かなりすっ飛んでいる。 デジタル人工知能学事典 [CD-ROM付] 作者: 人工知能学会出版社/メーカー: 共立出版発売日: 2008/05/16メディア: 単行購入: 1人 クリック: 6回この商品を含むブログ (6件) を見る A*アルゴリズムとは?グラフ探索アルゴリズムの一つ。「開始ノードから現在位置に至るまでのコスト」と「現在位置からゴールまでの推定コスト」の2つのコストを用いてadmissibleな条件(後述)の元でコストが最小であるような経路を効率的に見つけることができるアルゴリズムである。1960年代に開発されたアルゴリズムであるが、50年経った今でもばしばし使われている。 現在いるノードをp、開始ノードからpまでの最小コストをg(p)、pからゴールまでの最小コストをh(p)と書くとすればpを経由して開始ノード

    A*アルゴリズムについて整理 - yasuhisa's blog
  • Luceneの曖昧検索を100倍高速化したアルゴリズム - nokunoの日記

    @nobu_k さんのつぶやきでこのエントリを知りました。Changing Bits: Lucene’s FuzzyQuery is 100 times faster in 4.0Luceneで曖昧検索を効率化した話です。 最初の実装では、転置インデックスを全探索して編集距離がN以下の単語を拾っていたレーベンシュタインオートマトンという、編集距離がN以下の単語のみをアクセプトするオートマトンを利用することにした 単語ごとに構築したレーベンシュタインオートマトンをマージするという操作が必要になるが、なかなかうまくいかなかった 難解な論文を見つけたが、実装は難しかった良いライブラリを見つけたので、PythonからJavaに移植した 最後に1つだけ残ったバグは、移植の失敗ではなく元ライブラリのバグだった。報告すると1日で直ってきた。この前のエントリでは、有限状態トランスデューサを使った辞書の圧縮

  • パターン認識に関する公開プログラム

    宇野毅明と有村博紀による公開プログラム(コード) このページでは、公開しているプログラムのコードがダウンロードできます。主に、列挙アルゴリズムやデータマイニングに関するものです。全て、宇野毅明、あるいは、良く一緒に研究をしてお世話になっている北海道大学の有村博紀先生によって作られたものです。各プログラムに使用言語とコード作成者が書いてありますので、質問、あるいはバグの報告などは、作成者にご連絡ください。宇野毅明は uno@nii.ac.jp、有村博紀先生は arim@ist.hokudai.ac.jp です。 !!! コードの最近のバージョンに、マッキントッシュのフォーマットではエラーが出るというバグがありました。現行バージョンではこのバグは治っています。 LCM (Linear time Closed itemset Miner) ver.2     (C言語、宇野毅明) [文献 1] 

  • アレゴリズムとデータ構造入門 — KYOTO-U OPENCOURSEWARE

    授業の紹介 コンピュータ上で計算を行うプログラムはデータ構造とアルゴリズムから構成される。講義では,プログラミングについてコンピュータサイエンスの立場から論じる。使用するプログラミング言語は Scheme であり、基的なプログラミングの概念について学ぶとともに、実際にプログラミングを経験することを通じて、プログラミングの質を習得することを狙う。 技術的必要条件 オープンコースウェアの講座資料をご覧いただくには、アクロバットリーダーが必要です。アクロバットリーダーは、こちらのAdobe社 Acrobat Reader ダウンロードサイトからダウンロードできます。 Copyright 2008, by the Contributing Authors. Cite/attribute Resource. 奥乃博教授. (2007, March 12). アレゴリズムとデータ構

  • ブルームフィルタ - Wikipedia

    この項目では、確率的データ構造について説明しています。画像にぼかし効果を付加する画像フィルタについては「川瀬のブルームフィルター」をご覧ください。 ブルームフィルタ(英語: Bloom filter)は、1970年に Burton H. Bloom が考案した空間効率の良い確率的データ構造であり、あるデータが集合の要素である(集合に含まれている)かどうかの判定に使われる。ただし判定は正確ではなくて、含まれていないのに含まれていると誤って判定すること偽陽性(false positive)の可能性がある。しかし含まれているものを含まれていないと誤判定すること偽陰性(false negative)はない。なお集合に要素を追加することはできるが、集合から要素を削除することはできない(ただし、拡張をした counting filter であれば削除もできる)。集合に要素を追加していくにつれて偽陽性の

    ブルームフィルタ - Wikipedia
  • 乱択アルゴリズム紹介(Bloom Filter) - Preferred Networks Research & Development

    吉田です。相変わらず乱択アルゴリズム紹介ということで、今日はBloom Filterの話をしたいと思います。今までと違うのはBloom Filterはある問題を解くアルゴリズムではなくデータ構造であるということです。データ構造に乱数を導入するとどういうことが出来るようになるか見てみましょう。

    乱択アルゴリズム紹介(Bloom Filter) - Preferred Networks Research & Development
    gologo13
    gologo13 2011/03/21
    よくわからん。
  • Cheney's Algorithm

    Cheney's Algorithm is a method of performing a copying garbage collection using semi-spaces, that is, it works by splitting heap memory into two parts and only using one at a time. Essentially, at any given moment there is an active part of memory from which new objects are allocated. When conditions get such that a garbage collection is needed, the live objects of the active part of memory are

  • Clever Algorithms: Nature-Inspired Programming Recipes

    Need help getting started with Genetic Algorithms, Neural Networks or Swarm Intelligence? Nature-Inspired Algorithms are Fascinating! But implementing them can be frustrating. The algorithm descriptions are incomplete, inconsistent and distributed across academic papers, websites and code. There are so many algorithms to choose from, it can feel overwhelming. Algorithms Handbook You need a handboo

  • Suffix Array(接尾辞配列)を学びたい人のためのリンク集 - EchizenBlog-Zwei

    私がCompressed Suffix Arrayを学ぶのに参考にした資料へのリンクをまとめてみた。 CSAだけじゃなく、これからSuffix Arrayを学ぶ人にも便利かもしれない。 解説記事 # [を] Perl による Suffix Array の実装] SUFARYの開発者、たつを氏による解説 perlで20行くらいでSuffix Arrayが作れる 入門用におすすめ # DO/Suffix Array 岡野原氏によるSuffix Arrayの解説記事 高速化などの高度な話題が豊富 中級者向け # white page Suffix Arrayのリンク集が充実 多くのライブラリが公開されている ツール・ライブラリ # SUFARY 臨時復旧ページ たつを氏によるSuffix Arrayライブラリ 非常に使い勝手が良い # sary: Suffix Arrayのライブラリとツール 高

    Suffix Array(接尾辞配列)を学びたい人のためのリンク集 - EchizenBlog-Zwei
  • Engineering the LOUDS Succinct Tree Representation - 射撃しつつ前転 改

    Engineering the LOUDS Succinct Tree Representation(O. Delpratt et al., 2006)を読んだ。モチベーションとしてはTxの実装ってどういう風になってるのかが知りたかったというのがある。 LOUDSというのは順序木を効率的に実装するためのアルゴリズムで、この論文ではさらにそれを改良したLOUDS++というのを実装・提案している。 基的なアイデアは、木の上の方から、ノードに存在する子ノードの数だけ1を並べる。デリミタは0。(まぁ、1と0が逆でもいいんだけど。)そうすると、それぞれの1とノードの対応が取れるようになる。このビット列をLBSと呼ぶ。LBSに対してis_leaf, parent, next_siblingなどの関数が実装できれば順序木が実現できる訳だけど、これらの関数はそれぞれ数個のrank, select操作で実

    Engineering the LOUDS Succinct Tree Representation - 射撃しつつ前転 改
  • 各ソートアルゴリズムの違いを視覚で理解できる動画 | スラド IT

    各ソートアルゴリズムをビジュアル化し、オーディオ効果もつけた動画を製作した人がいるそうだ (Geek.com の記事 (動画付き)、家 /. 記事より) 。 バブルソートやヒープソート、マージソートなどのソートアルゴリズムは少しでもプログラミングを勉強した者なら誰でも触れたことがあるだろう。無味乾燥で退屈ともいえるトピックであるが、この動画は非常に分かりやすく覚えやすいものとなっている。 ちなみに QuickBASIC や MS BASIC で似たようなデモが提供されていたそうなので、/.Jer の中には同様の動画を目にした事がある方もいらっしゃるかもしれない。

  • God's algorithm - Wikipedia

    God's algorithm is a notion originating in discussions of ways to solve the Rubik's Cube puzzle,[1] but which can also be applied to other combinatorial puzzles and mathematical games.[2] It refers to any algorithm which produces a solution having the fewest possible moves (i.e., the solver should not require any more than this number). The allusion to the deity is based on the notion that an omni

    gologo13
    gologo13 2010/08/10
    なんと神々しい名前
  • Spaghetti Source - 各種アルゴリズムの C++ による実装

    ACM/ICPC(プログラミングコンテスト)系列の問題を解くことを目標にして,各種アルゴリズムを C++ で実装してみた.極めて意地が悪い類の問題には対応していないし,特定の入力に対して高速に動くということもない.計算量も最良とは限らない. これらを参考にする方への注意とお願い: これらの記述は正確とは限りません.参考文献を参照することを強く推奨します.間違っている場合は是非教えてください. これらのプログラムは間違っているかもしれません.各人で検証することを強く推奨します.バグがあれば是非教えてください. 分類が怪しいので,これはこっちだろう,ということがあればコメントを下さると助かります. 注意! 現在書き換え中 TODO 分類を正しく行う. 全体的に説明と使い方を詳しく. Verify していないものを Verify. ボロノイ図(いつになることやら……) 基 テンプレート グラフ

    gologo13
    gologo13 2010/08/09
    いろんなコードがある!