タグ

algorithmとAlgorithmに関するblueleのブックマーク (44)

  • 検索エンジンの自動学習アルゴリズムがSEOの未来を変える? » SEO Japan

    世界各地で定期的に起こるSEOが終わったかどうかの議論ですが日でも再燃している最近のようで楽しいです。さて今回はそんな議論のさなか、あえてロシアのNo.1検索エンジン「ヤンデックス」に注目。開発者の2人が検索エンジンのアルゴリズムに関する興味深い話をしています。サイト側が行うSEOが死んだかどうかはともかく、検索エンジンのアルゴリズムは日々進化し続けているようです! — SEO Japan 多くのSEOコンサルタント、そして、SEO業者が、テクノロジーを用いて自動的にSEOを実行したいと願っている。検索エンジンもまたやはり同じような考えを持っているようだ。Yandex(ヤンデックス)のCTO、Ilya Segalovich氏は、モスクワのヤンデックス社を私が訪問した際、検索エンジンの構築が容易になり、開発者達が容易に利用できる“オープンソース”スタイルのソフトウェアを主に用いたテクノロジ

    検索エンジンの自動学習アルゴリズムがSEOの未来を変える? » SEO Japan
  • 機械学習 はじめよう 記事一覧 | gihyo.jp

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

    機械学習 はじめよう 記事一覧 | gihyo.jp
  • 暴走するアルゴリズム、ウィーナーの危惧 - Zerobase Journal

    金融の世界ではマシン同士の取引が「暴走」した事例が知られています。今後、多くの分野でマシン間通信が導入されていきますが、同様のリスクをはらんでいると言えます。これは単にリスクの量的な問題であるだけでなく、統治の問題としても考えるべきではないかと思います。 Wired日版に「暴走するアルゴリズム」というシリーズがありました。 アルゴリズムはあまりにわれわれの金融システムに浸透しているので、もはや市場はそれなしには機能しなくなってしまっている。(...) だが最悪の場合、それは不可解でコントロール不能のフィードバックのループとなる。これらのアルゴリズムは、ひとつひとつは容易にコントロールできるものなのだが、ひとたび互いに作用し合うようになると、予測不能な振る舞いを─売買を誘導するためのシステムを破壊しかねないようなコンピューターの対話を引き起こしかねないのだ。(...) 今日ではこれらの唐突

  • ナイーブベイズを用いたブログ記事の自動分類 - 人工知能に関する断創録

    カイ二乗値を用いた特徴選択(2010/6/25)の続きです。今まで使ってきた20 Newsgroupsというデータは英語文書でかつ元ネタがよく分からずあまり面白くなかったので、今回はこのブログ(人工知能に関する断想録)の記事を分類してみます。このブログの各記事には私の判断でカテゴリをつけています。たとえば、この記事は[機械学習][自然言語処理]です。カテゴリのリストはこのブログの左メニューにあります。この前、少し整理したので全部で18のカテゴリがあります。新しい記事を書いたとき自動でカテゴリを割り振ることはできるのでしょうか? (注)プログラミング言語はPythonを使っています。シリーズもので以前作ったコードを再利用してるので検索で飛んできた人はナイーブベイズを用いたテキスト分類(2010/6/13)から順に読んでください。 はてなダイアリーデータのダウンロードと整形 まず、はてなダイア

    ナイーブベイズを用いたブログ記事の自動分類 - 人工知能に関する断創録
  • GT Nitro: カーレーシング・ドラッグレーシングゲーム - Google Play のアプリ

    GT Nitro: Car Game Drag Raceは、典型的なカーゲームではありません。これはスピード、パワー、スキル全開のカーレースゲームです。ブレーキは忘れて、これはドラッグレース、ベイビー!古典的なクラシックから未来的なビーストまで、最もクールで速い車とカーレースできます。スティックシフトをマスターし、ニトロを賢く使って競争を打ち破る必要があります。このカーレースゲームはそのリアルな物理学と素晴らしいグラフィックスであなたの心を爆発させます。これまでプレイしたことのないようなものです。 GT Nitroは、リフレックスとタイミングを試すカーレースゲームです。正しい瞬間にギアをシフトし、ガスを思い切り踏む必要があります。また、大物たちと競いつつ、車のチューニングとアップグレードも行わなければなりません。世界中で最高のドライバーと車とカーレースに挑むことになり、ドラッグレースの王冠

    GT Nitro: カーレーシング・ドラッグレーシングゲーム - Google Play のアプリ
  • [Python] 文書の類似度判定プログラムを作ってみたの話 (前編)

    個人的に Python が熱いです。以前にも同じような事を言った気がしますが。多分デジャブです。 Python といえば、アリエルには言わずと知れた Python 界隈の大物が御座しますが。そんな大物の縄張りで、僕のようなチンピラがこれまた安っちい記事を書くのはかなり恐縮ですが。その辺りは気にせず、図太い精神で書いてこうと思います。 Python は、再帰の途中で内部状態を維持しつつ途中結果を返すジェネレータだったり、(mutable ながら)リストに対して map とか filter とか出来ちゃうところで Lisp を感じられる辺り、かなりオモロい言語です。 せっかくだし何か書きたいなという事で、ベクトル空間モデル [1] を使った類似文書検索プログラムを作ってみました。 出来たものだけ見せると、以下のように動作します。 入力文書は標準入力から受け取ってます。4 行目の「国会図書館は…

  • 「最強最速アルゴリズマー養成講座」関連の最新 ニュース・レビュー・解説 記事 まとめ - ITmedia Keywords

    最強最速アルゴリズマー養成講座: そのアルゴリズム、貪欲につき――貪欲法のススメ アルゴリズムの世界において、欲張りであることはときに有利に働くことがあります。今回は、貪欲法と呼ばれるアルゴリズムを紹介しながら、ハードな問題に挑戦してみましょう。このアルゴリズムが使えるかどうかの見極めができるようになれば、あなたの論理的思考力はかなりのレベルなのです。(2010/9/4) 最強最速アルゴリズマー養成講座: 病みつきになる「動的計画法」、その深淵に迫る 数回にわたって動的計画法・メモ化再帰について解説してきましたが、今回は実践編として、ナップサック問題への挑戦を足がかりに、その長所と短所の紹介、理解度チェックシートなどを用意しました。特に、動的計画法について深く掘り下げ、皆さんを動的計画法マスターの道にご案内します。(2010/5/15) 最強最速アルゴリズマー養成講座: アルゴリズマーの登

  • Rsync Algorithm « Python recipes « ActiveState Code

    ActiveState Code (http://code.activestate.com/recipes/577518/) This is a pure Python implementation of the rsync algorithm. On my desktop (3.0GHz dual core, 7200RPM), best case throughput for target file hash generation and delta generation is around 2.9MB/s. Absolute worst case scenario (no blocks in common) throughput for delta generation is 200KB/s to 300KB/s on the same system. Tested in Pytho

  • Algorithm - 連想配列の実装としてのハッシュはオワコン? : 404 Blog Not Found

    2012年01月17日11:45 カテゴリアルゴリズム百選Tips Algorithm - 連想配列の実装としてのハッシュはオワコン? 珠玉のプログラミング Jon Bentley / 小林健一郎訳 つまり「終わったコンテナ」。 以前からうすぼんやりと考えて来た危惧が、すこしはっきりと見えてきた。 徳丸浩の日記: Webアプリケーションに対する広範なDoS攻撃手法(hashdos)の影響と対策 もうそろそろハッシュ(テーブル)以外の手段の連想配列の実装手段を格的に模索するべきではないか、と。 そのデータ構造は、君の魂を差し出すに足るものかい? 連想配列(Associative array)がコレクション(Collection)、すなわち数多のデータ構造をまとめるデータ構造としての覇者となったのはもはや疑いようがない事実でしょう「配列で実装されるデータ構造ではなくて、配列を実装するデータ構

    Algorithm - 連想配列の実装としてのハッシュはオワコン? : 404 Blog Not Found
  • Heapsort, Quicksort, and Entropy

    Numerous web-pages compare heapsort and quicksort. Most of them say something along the lines of `both take an average time scaling as N log N, but A good implementation of QUICKSORT usually beats HEAPSORT in practice.' Some take this folklore a bit further, giving quantitative details: `On average the number of comparisons done in HEAPSORT is about twice as much as in QUICKSORT, but HEAPSORT avoi

  • ソートと探索(ヒープソート1)

    木構造による探索 以前、データ構造を学習した際に「木構造」を取り上げました。 「木」は、もともと枝分かれしたものを表現するのに適したデータ構造です。 節にデータを置くことにすれば根から葉に向かってたどる経路が探索のプロセスを表していると考えることができます。 ですから、節に置いたデータと探索キーを比較しながら、根から葉に向かってたどっていけば、探索が実現できるはずです。 木構造を利用した探索アルゴリズムには、二分探索木 、AVL木、B木など数多くありますが、ここでは最も基となる二分探索木について勉強しましょう。 二分探索木とは 木構造の一種として、二分木というものがありましたが、これをもとにして探索を行うのが 二分探索木(binary search tree)です。 二分探索木とは、二分木の各節に要素(データ)を持たせたもので、任意の節xについて、左部分木に含まれる要素は節xよりも

  • サービス終了のお知らせ

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

  • Source Code for Data Structures and Algorithm Analysis in C (Second Edition)

  • サービス終了のお知らせ

  • 転置インデックスを実装しよう - mixi engineer blog

    相対性理論のボーカルが頭から離れないmikioです。熱いわっふるの声に応えて今回はTokyo Cabinetのテーブルデータベースにおける検索機能の実装について語ってみたいと思います。とても長いのですが、最後まで読んだあかつきには、自分でも全文検索エンジンを作れると思っていただければ嬉しいです。 デモ モチベーションをあげていただくために、100行のソースコードで検索UIのデモを作ってみました。Java 6の日語文書を対象としているので、「stringbuffer」とか「コンパイル」とか「倍精度浮動小数」とかそれっぽい用語で検索してみてください。 インデックスがちゃんとできていれば、たった100行で某検索エンジン風味の検索機能をあなたのデータを対象にして動かすことができます。ソースコードはこちら(テンプレートはこちら)です。 でも、今回はUIの話ではないのです。ものすごく地味に、全文検索

    転置インデックスを実装しよう - mixi engineer blog
  • 第5回 転置索引の実装 | gihyo.jp

    はじめに 前回、前々回と転置索引の論理的構造について見てきました。今回は、転置索引の具体的なデータ構造や実装について説明していきます。 辞書の実装 辞書は通常、単語に対応した情報を高速に取得するために、ハッシュや木構造などのデータ構造を取ります。現在は, 安定した性能や単語の順序関係を利用したいなどの理由で、木構造のデータ構造が使われることが多いと思います。最も単純な場合、2分探索木(Binary Search Tree)や2分探索(Binary Search)の実装が考えられます。 2分探索(木)による辞書の実装 では、辞書の具体的なデータ構造について、図を交えて解説していきましょう。 前回も触れましたが、辞書には単語とその単語に対応するポスティングリストの位置情報のペア(のリスト)が格納されています。単語で検索をするので、ペア自体は単語をキーとして並び換えられます。 たとえば, 前回の

    第5回 転置索引の実装 | gihyo.jp
  • 開発メモ: オンメモリB+木による省メモリ連想配列

    Kyoto Cabinet 1.2.2から加わったGrassDBは、オンメモリでページ管理を行うB+木を実装してメモリを節約しちゃう仕組みである。それを使ってJavaPythonRubyPerlなどのハッシュ(連想配列)機構を鬼のように省メモリにしてみる。頑張ればなんと20分の1になる。 前提 B木やその変種のB+木などは、キーの順序が近いレコード群を「ページ」という単位にまとめてシリアライズしてストレージに書き込むことで、入出力の頻度を減らして高速化することを意図している。メモリに比べて低速なストレージの上で大量のデータを管理するために使われる。多くのRDBMSやいくつかのDBMがB+木をサポートしているのはそれが理由であろう。一方で、メモリ上で検索可能なデータ構造を表現するためには、二分探索木やその特殊例である赤黒木が使われる。STLのstd::mapの実装にも赤黒木を使うのが一

  • B木 - naoyaのはてなダイアリー

    昨年から続いているアルゴリズムイントロダクション輪講も、早いもので次は18章です。18章のテーマはB木(B Tree, Bツリー) です。B木はマルチウェイ平衡木(多分木による平衡木)で、データベースやファイルシステムなどでも良く使われる重要なデータ構造です。B木は一つの木の頂点にぶら下がる枝の数の下限と上限を設けた上、常に平衡木であることを制約としたデータ構造になります。 輪講の予習がてら、B木を Python で実装してみました。ソースコードを最後に掲載します。以下は B木に関する考察です。 B木がなぜ重要なのか B木が重要なのは、B木(の変種であるB+木*1など)が二次記憶装置上で効率良く操作できるように設計されたデータ構造だからです。データベースを利用するウェブアプリケーションなど、二次記憶(ハードディスク)上の大量のデータを扱うソフトウェアを運用した経験がある方なら、いかにディ

    B木 - naoyaのはてなダイアリー
  • 高速な安定ソートアルゴリズム "TimSort" の解説 - Preferred Networks Research & Development

    先日、TimSortというソートアルゴリズムが話題になりました。TimSortは、高速な安定ソートで、Python(>=2.3)やJava SE 7、およびAndroidでの標準ソートアルゴリズムとして採用されているそうです。 C++のstd::sort()よりも高速であるというベンチマーク結果1が話題になり(後にベンチマークの誤りと判明)、私もそれで存在を知りました。実際のところ、ランダムなデータに対してはクイックソート(IntroSort)ほど速くないようですが、ソートというシンプルなタスクのアルゴリズムが今もなお改良され続けていて、なおかつ人々の関心を引くというのは興味深いものです。 しかしながら、オリジナルのTimSortのコードは若干複雑で、実際のところどういうアルゴリズムなのかわかりづらいところがあると思います。そこで今回はTimSortのアルゴリズムをできるだけわかりやすく解

    高速な安定ソートアルゴリズム "TimSort" の解説 - Preferred Networks Research & Development
  • Amazon.co.jp: オンラインアルゴリズムとストリームアルゴリズム (アルゴリズム・サイエンスシリーズ 5 数理技法編): 徳山豪: 本

    Amazon.co.jp: オンラインアルゴリズムとストリームアルゴリズム (アルゴリズム・サイエンスシリーズ 5 数理技法編): 徳山豪: 本