タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

AlgorithmとProgrammingとSearchに関するagwのブックマーク (37)

  • Ideone.com

    Ly8gYm9vbCBxdWVyeShpbnQgeCkgeyByZXR1cm4gWCA8PSB4OyB9IOOBruWgtOWQiOOAggppbnQgc29sdmUoKQp7CglpbnQgYj0xPDwzMDsKCWludCBhbnM9Yi0xOwoJd2hpbGUoYil7CgkJaWYocXVlcnkoYW5zLWIpKWFucy09YjsKCQliLz0yOwoJfQoJcmV0dXJuIGFuczsKfQoKLy8gYm9vbCBxdWVyeShpbnQgeCl7cmV0dXJuIHg8PVg7IH0g44Gu5aC05ZCI44CCCmludCBzb2x2ZSgpCnsKCWludCBiPTE8PDMwOwoJaW50IGFucz0wOwoJd2hpbGUoYil7CgkJaWYocXVlcnkoYW5zK2IpKWFucys9YjsKCQliLz0yOwoJfQoJcmV0

  • Binary search - Wikipedia

    In computer science, binary search, also known as half-interval search,[1] logarithmic search,[2] or binary chop,[3] is a search algorithm that finds the position of a target value within a sorted array.[4][5] Binary search compares the target value to the middle element of the array. If they are not equal, the half in which the target cannot lie is eliminated and the search continues on the remai

    Binary search - Wikipedia
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • 焼きなまし法 - Wikipedia

    この項目では、確率的メタアルゴリズムについて説明しています。金属の熱処理については「焼きなまし」をご覧ください。 焼きなまし法(やきなましほう、英: Simulated Annealing、SAと略記、疑似アニーリング法、擬似焼きなまし法、シミュレーティド・アニーリングともいう)は、大域的最適化問題への汎用の乱択アルゴリズムである。広大な探索空間内の与えられた関数の大域的最適解に対して、よい近似を与える。 S. Kirkpatrick、C. D. Gelatt、M. P. Vecchiらが1983年に考案し[1]、1985年に V. Cerny が再発見した[2]。 その名称は、金属工学における焼きなましから来ている。焼きなましは、金属材料を熱した後で徐々に冷やし、結晶を成長させてその欠陥を減らす作業である。熱によって原子は初期の位置(内部エネルギーがローカルな極小状態)から離され、よりエ

  • Bayesian Setsによる関連文書検索システムStupa - mixi engineer blog

    都会よりも田舎が好きなfujisawaです。Bayesian Setsというアルゴリズムを使って、関連する文書を高速・高精度に検索できるシステムを作成しましたので、そのご紹介をさせていただきます。 Bayesian Setsとは Bayesian Setsはいくつかアイテムを入力すると、それを補完するようなアイテムを返してくれるアルゴリズムです。原著論文の先頭に"Inspired by Google Sets"と書かれているように、Google Setsを参考にして作成されています。実際にどのような出力が得られるか、Google Setsに以下の表のクエリを検索して試してみますと、 クエリ 出力 apple, banana chocolate, strawberry, vanilla, cherry, ... apple, macintosh software, windows, mac,

    Bayesian Setsによる関連文書検索システムStupa - mixi engineer blog
  • 第7回 転置索引の構築 | gihyo.jp

    はじめに これまで、転置索引の構造や具体的なデータ構造を見てきました。今回は、検索したいテキスト文書から、どのようにこの構造を構築するかを説明していきます。 ディスクベースの構築方法 第3回では、表を作成しそれを転置させることで転置索引を構築しました。実際にコンピュータに処理をさせる場合も、メモリ上の2次元配列で同様に構築することが可能となります。しかし、通常の転置索引は非常に疎な表となるため、この方法ではメモリを使いすぎてしまいます。また、リンクリストなどのメモリ上でのデータ構造を用いることにより、上記の方法と比較して少ないメモリ量で構築することもできます。 これらの方法はいずれも、対象とする文書集合を変換した転置索引が実メモリに収まる場合にのみ可能となる方法となります。しかし多くの場合、転置索引は実メモリよりも大きくなります。そのような場合はディスクを用いた構築方法が必要となり、効率的

    第7回 転置索引の構築 | gihyo.jp
  • 第4回 形態素解析のしくみ | gihyo.jp

    ソフトウェア的な索引では見出し語に対して、その見出し語が使われている文書(ファイル名、文書ID等)のリストを保存します。検索時は索引から見出し語を見つけ、その見出し語が使われている文書のリストを取得するだけなので、高速に検索が行えます。 全文照合方式と索引方式には、それぞれメリットとデメリットがあります。全文照合方式は、検索のたびに対象のテキストデータをメモリ上に読み込んで照合処理を行うため、大量の検索対象の場合、どうしても検索時間がかかるという欠点があります。 索引方式は、高速に検索が行える反面、あらかじめ索引を作成しておかなければなりません。索引の作成処理は、かなり負荷の高い処理になってしまいます。 このため、全文照合方式と索引方式には、それぞれ向き、不向きがあります。利用する場面に応じて使い分けるのがポイントです。検索対象が少量で検索回数も少ないなら全文照合方式、検索対象が大量で頻繁

    第4回 形態素解析のしくみ | gihyo.jp
  • 第5回 転置索引の実装 | gihyo.jp

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

    第5回 転置索引の実装 | gihyo.jp
  • 第4回 転置索引の詳細 | gihyo.jp

    前回は転置索引の概要を説明しました。今回は転置索引をもう少し詳しく見ていきます。 転置索引=辞書+転置リスト 転置索引は大きく分けて2つの部分から構成されています。文書に出現する単語のリストである「辞書」と、その辞書にある各単語がどの文書に出現するかを表したポスティングリストの集合の「転置リスト」からなります(図1⁠)⁠。ポスティングリストやポスティングに関しては前回簡単に説明しましたが、図を見て再度確認してください[1]⁠。 図1 転置索引の構成 辞書は単語だけでなく、その単語に対応するポスティングリストの位置情報を含んでいます。よって、辞書を探索することで、該当する単語のポスティングリストを取り出すことが可能となります。 一方、ポスティングリストは、どの文書に出現するかを表すのに最低でも文書のID(数値)が必要となります。書籍の場合は、文書はページなのでページ番号が文書IDとなります。

    第4回 転置索引の詳細 | gihyo.jp
  • はてなダイアリーのようにキーワードを自動でリンクするアルゴリズムを知りたいです。…

    はてなダイアリーのようにキーワードを自動でリンクするアルゴリズムを知りたいです。単純に考えると、①キーワードのリストを持っておく。②対象となる文章に、あるキーワードが含まれているかを検索する。③「②」の検索をキーワードの数だけ繰り返す。ということになると思います。1万語のキーワードリストがある場合、1万回の検索を行うことになり、たとえば多数の投稿がある場合は効率も悪いですし負荷も掛かります。もっと効率のいいアルゴリズムがあるのでしょうか。

  • 『【DiGRA公開講座】モンテカルロ木探索とは何か?』

    将棋と比べて囲碁の評価関数を難しくしているのは、 ・将棋の駒は種類ごとに機能と優劣に差があるが、囲碁の石にはそれがない。 ・リバーシにおける角のように、明らかな特徴を持った場所が少ない。 ・支配領域の広さを基準としても、領域が確定するのはゲーム終了時になる。 ・局所的な最善手が全体の最善手ではなく、相手に取らせるためにわざと置く「捨石」というテクニックが常套となっている。 などの点で、さらに上級者の間でしか理解できないような評価基準が存在する。 ・石の厚い薄い 石の厚みは物理的厚さではなく、ある石の配置が全局的に与える影響のこと。 ・形の良し悪し 複数の石の配置の評価。良い形になるように、悪い形にならないように注意することにより、「打ち筋が良くなる」効果がある。ただし「愚形の妙手」も多数存在する。 「代表的な悪い形」 ┼┼┼┼┼┼ ┼┼●┼┼┼ ┼┼●●┼┼ アキ三角 ┼┼┼┼┼┼ ┼┼●

    『【DiGRA公開講座】モンテカルロ木探索とは何か?』
  • 「Googleを支える技術」に載っていない日本語検索エンジンの技術 - nokunoの日記

    Web検索エンジンは、大きく分けて次の2つからなります。利用者からのクエリーを直接受ける検索サーバ検索サーバから利用されるインデックス世界中のWebサイトを集めてきて解析し、インデックスに登録するクローラインデックスというのは、利用者から検索される単語をあらかじめ列挙しておいて、単語からWebサイトのURLを引くのに必要なデータ構造のことです。検索エンジンはGoogleを支える技術にあるように、「下準備があればこその高性能」なわけです。 インデックスを作成するためには、あらかじめWebページの内容を単語に分割する必要があります。英語では単語と単語の間をスペースで区切るため、この作業はさほど難しくありません。しかし日語では、単語の境界はそれほど自明ではないため、日語特有の処理をする必要があります。 日語の文から単語に分解するには、形態素解析を使う場合と、N-gramを使う場合があり、そ

  • Ngram(N-gram)とは何か & 形態素解析との比較

    全て 1.このサイトについて 2.作品DB開発/運用 3.ホームページ制作技術 4.Perl 5.C言語 / C++ 6.検索エンジン&SEO 7.サッカー 8.自分のこと 9.Linux 10.旅行 11.思ったこと 12.パソコン 13.Berkeley DB 14.その他技術系 15.企画 16.スマートフォン 17.鑑賞 18.皆声.jpニュース 19.インターネット業界 20.運用マニュアル(自分用) 21.技術系以外実用書 22.料理 23.ALEXA 24.アニメ 25.会計 26.漫画 27.設計書 28.色々サイト作成 29.サーバー 30.自分専用 31.生活 32.OP/ED/PV 33.ゲーム 34.DB整備 35.新規開始作品紹介 36.英語圏の話題 37.大道芸 38.映画 39.PHP 40.ダイエット 41.Mac 42.JavaScript 43.MySQ

  • 404 Blog Not Found:アルゴリズム百選 - 二分探索(binary search)

    2007年12月04日08:30 カテゴリアルゴリズム百選Math アルゴリズム百選 - 二分探索(binary search) 今回は二分探索を取り上げます。 検索:コンピューターの最もよくある利用法 「二分探索って何?」「ググレカス」と言われないためにこの記事は存在するのですが、Webの検索に限らず、「目的のデータを見つけて取り出す」というのは、およそコンピューターの利用法で最もポピュラーなものです。 配列:コンピューターがデータを扱う根的な方法 そのデータはコンピューターのなかでどう置かれているかというと、非常に単純です。デジタル化されたデータ=数値が一定間隔で並んでいるだけです。こういうデータ構造を、配列(array)といい、この数値一個一個のことを要素(element)と言います。 現代のコンピューターでは、最小要素はバイト(byte)と呼ばれています。このバイトの中には0と1

    404 Blog Not Found:アルゴリズム百選 - 二分探索(binary search)
  • 連載:検索エンジンを作る|gihyo.jp … 技術評論社

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

    連載:検索エンジンを作る|gihyo.jp … 技術評論社
  • 第5回 N-gramのしくみ | gihyo.jp

    前回は形態素解析を使う検索エンジンのしくみについて説明しました。今回は、FINDSPOTで使用しているN-gramという検索エンジンのしくみについて説明します。 N-gramによる見出し語の切り出し 前回は、形態素解析による検索エンジンでは、検索可能な最小単位が分かち書きの切り分け単位となる点を説明しました。 一方、N-gramを使った検索エンジンでは、単純に文字の並びを見出し語としてインデックスを作成します。1文字を元にインデックスを作成する方法をユニグラム、2文字の並びを元にインデックスを作成する方法をバイグラム、3文字の並びを元にインデックスを作成する方法をトリグラムと呼んでいます。 1文字:ユニグラム 2文字:バイグラム 3文字:トリグラム N-gramによる見出し語の切り出しは、形態素解析のための文法解析を伴わないため、特定の自然言語に依存しないという特徴があります。 FINDS

    第5回 N-gramのしくみ | gihyo.jp
  • OBB vs AABB - Radium Software Development

    This domain may be for sale!

    agw
    agw 2006/01/18
    Utah Teapotの起源。