タグ

algorithmとwikipediaに関するInoHiroのブックマーク (54)

  • バケットソート - Wikipedia

    バケットソート(英: bucket sort)は、ソートのアルゴリズムの一つ。バケツソート、ビンソート(英: bin sort)などともいう。バケツ数 k 個使った場合、オーダーはO(n + k)となり、ソートする要素数nとk を無関係にできる場合線形時間ソートとなるが、要素間の全順序関係を用いるソートとは異なり、キーの取りうる値がk種類である、という入力により強い制限を要求するソートである。 概念[編集] バケットソートの概念 整列したいデータの取りうる値がm種類であるとき、m個のバケツを用意しておき、値ごとに1個のバケツを対応づける。元のデータ列を走査して、各データを対応するバケツに入れていく。この処理が終わった後、整列したい順序に従ってバケツから値を取り出せば、データをソートすることができる。 安定ソートを実現するためには、同じバケツに入っているデータは入れたときと同じ順序で取り出す

    バケットソート - Wikipedia
  • Luhnアルゴリズム - Wikipedia

    Luhnアルゴリズム(Luhn algorithm, ルーン・アルゴリズム)は、様々な識別番号の認証に使われている単純なチェックサム方式。MOD-10アルゴリズムとも。クレジットカード番号、IMEI番号、en:National Provider Identifier(アメリカでの医療機関の識別番号)、カナダ社会保険番号(Social Insurance Number)などで使われている。IBMの科学者 ハンス・ピーター・ルーン(英語版) が1954年1月6日に特許を申請し、1960年8月23日に発効した[1]。 アルゴリズムはパブリックドメインになっており、今日では広く利用されている。ISO/IEC 7812-1[2] に詳細に記されている。暗号学的ハッシュ関数としては使えない。 記入ミスやタイプミスを検出するためのもので、クレジットマスターによる悪意ある攻撃を防ぐものではない。多くのクレ

  • ページ置換アルゴリズム - Wikipedia

    ページ置換アルゴリズム(ページちかんアルゴリズム)とは、仮想記憶管理としてページング方式を使用するコンピュータのオペレーティングシステムにおいて、空き物理ページが少ない状態で新たなページを割り当てなければならないときにどのページを「ページアウト(スワップアウト)」するかを決定する方法を意味する。これはページフォールトが発生したときに使用可能なフリーなページが存在しないときに発生する。厳密には発生条件はシステムの種類や設定によって異なるが、フリーなページが全く無い場合か、あらかじめ設定したしきい値よりもフリーなページ数が少ないときに発生する。 以前にページアウトすべきページとして選択され置換されたページに再度アクセスが発生したら、そのページをページインする必要がある。そして、これにはI/Oの完了を待たなければならない。この、ページインを待つ時間の累計が小さいほどページ置換アルゴリズムが優秀で

  • 焼きなまし法 - Wikipedia

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

  • MinHash - Wikipedia

    In computer science and data mining, MinHash (or the min-wise independent permutations locality sensitive hashing scheme) is a technique for quickly estimating how similar two sets are. The scheme was invented by Andrei Broder (1997),[1] and initially used in the AltaVista search engine to detect duplicate web pages and eliminate them from search results.[2] It has also been applied in large-scale

  • 局所性鋭敏型ハッシュ - Wikipedia

    局所性鋭敏型ハッシュ(きょくしょせいえいびんがたハッシュ、英語: locality sensitive hashing)とは高次元のデータを確率的な処理によって次元圧縮するための手法である。ハッシュの基的な考え方は類似したデータが高確率で同じバケットに入るようにデータを整理するというものである。多くの場合においてこのバケットの数は入力されるデータサンプルの数よりもずっと小さくなる。 定義[編集] 局所性鋭敏型ハッシュを行うためのパラメータの集合をLSH族(Locality Sensitive Hashing Family)と呼ぶ。LSH族は距離空間と閾値、近似因子によって定義される。LSH族[1][2]は2点について次の2つの性質、 ならばとなる確率は以上である。 ならばとなる確率は以下である。 を満たす関数により与えられる族であり,はから一様乱数にしたがって選択される。このときは2点の

    InoHiro
    InoHiro 2014/12/02
  • フィボナッチヒープ - Wikipedia

    上記の償却計算量を最悪計算量にしたい場合は、弛緩ヒープ (英: relaxed heap) を用いると良い[1]。 フィボナッチヒープの構造[編集] フィボナッチヒープの例。次数0,1,3の3つの木を持つ。(水色で示されている)3つの頂点はマークされている。それゆえにヒープのポテンシャルは9である。 フィボナッチヒープはminimum-heap propertyを満足する木の集まりである。つまり、ある子のキーは常に親のキーよりも等しいか大きい。つまり最小のキーは常に何れかの木のルートにある。二項ヒープと比較してフィボナッチヒープの構造はより柔軟である。木は規定された形を特に持っておらず、極端な場合はヒープ中の n 個の要素が全て別々の(n 個の)木に属しているかもしれないし、深さ n の一つの木に属しているかもしれない。この柔軟さによって、ある種の操作を後回しにするなど「怠惰な」処理方法が

  • Reservoir sampling - Wikipedia

    Reservoir sampling is a family of randomized algorithms for choosing a simple random sample, without replacement, of k items from a population of unknown size n in a single pass over the items. The size of the population n is not known to the algorithm and is typically too large for all n items to fit into main memory. The population is revealed to the algorithm over time, and the algorithm cannot

  • ヒューリスティック - Wikipedia

    ヒューリスティック(英: heuristic、独: Heuristik)または発見的(手法)[1] [2]:7 [3]:272とは、必ずしも正しい答えを導けるとは限らないが、ある程度のレベルで正解に近い解を得ることができる方法である。発見的手法では、答えの精度が保証されない代わりに、解答に至るまでの時間が短いという特徴がある。 主に計算機科学と心理学の分野で使用される言葉であり、どちらの分野での用法も根的な意味は同じであるが、指示対象が異なる。すなわち、計算機科学ではプログラミングの方法を指すが、心理学では人間の思考方法を指すものとして使われる。なお、論理学では仮説形成法と呼ばれている。 計算機科学[編集] 計算機科学では、コンピューターに計算やシミュレーションを実行させるときに、発見的手法を用いることがある。たいていの計算は、計算結果の正しさが保証されるアルゴリズムか、または計算結果が

  • ソート - Wikipedia

    ソート (英: sort) は、データの集合を一定の規則に従って並べること[1]。日語では整列(せいれつ)、並べ替え(ならべかえ)、分類(ぶんるい)などと訳される[1]。 主に配列や連結リストのような、リストデータ構造に分類されるコレクション(コンテナ)に格納されている要素データを、全順序関係によって並べ替えることを指す。また、単に「ソート」といった場合、値の小さい方から大きい方へ順に並べる昇順(しょうじゅん、英: ascending order)を指すことが多い。その反対に値を大きい方から小さい方へ順に並べることを降順(こうじゅん、英: descending order)という。 対象となるコレクションのデータ構造や必要とされる出力、また時間的コストと空間的コストの兼ね合いによって、ソートに使われるアルゴリズムは異なる。 概要[編集] 効率的なソートは、ソート済みのデータを必要とする他

  • Multi-armed bandit - Wikipedia

    A row of slot machines in Las VegasIn probability theory and machine learning, the multi-armed bandit problem (sometimes called the K-[1] or N-armed bandit problem[2]) is a problem in which a decision maker iteratively selects one of multiple fixed choices (i.e., arms or actions) when the properties of each choice are only partially known at the time of allocation, and may become better understood

    Multi-armed bandit - Wikipedia
  • キャッシュアルゴリズム - Wikipedia

    この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方) 出典検索?: "キャッシュアルゴリズム" – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL(2023年8月) キャッシュアルゴリズム(英: cache algorithm)は、コンピュータ上で情報を格納するキャッシュを管理するプログラムまたはハードウェア構造を最適化するアルゴリズム群。キャッシュが一杯になったとき、このアルゴリズムで新たな情報を格納するための場所を選択し確保する。置換アルゴリズムあるいは置換ポリシーとも。 キャッシュのヒット率(hit rate)とは、探しているデータがキャッシュ上で見つかる率(頻度)である。キャッシュサイズを増やさずにヒット

    キャッシュアルゴリズム - Wikipedia
  • Bag-of-words model - Wikipedia

    The bag-of-words model is a model of text which uses a representation of text that is based on an unordered collection (or "bag") of words. It is used in natural language processing and information retrieval (IR). It disregards word order (and thus any non-trivial notion of grammar[clarification needed]) but captures multiplicity. The bag-of-words model has also been used for computer vision.[1] T

  • Okapi BM25 - Wikipedia

    In information retrieval, Okapi BM25 (BM is an abbreviation of best matching) is a ranking function used by search engines to estimate the relevance of documents to a given search query. It is based on the probabilistic retrieval framework developed in the 1970s and 1980s by Stephen E. Robertson, Karen Spärck Jones, and others. The name of the actual ranking function is BM25. The fuller name, Okap

  • [自己組織化写像] - Wikipedia

    自己組織化写像(じこそしきかしゃぞう、英: Self-organizing maps, SOM, Self-organizing feature maps, SOFM)はニューラルネットワークの一種であり、大脳皮質の視覚野をモデル化したものである。自己組織化写像はコホネンによって提案されたモデルであり、教師なし学習によって入力データを任意の次元へ写像することができる。主に1~3次元への写像に用いられ、多次元のデータの可視化が可能である。出力となる空間をマップ (map)、競合層 (competitive layer)、もしくは出力層 (output layer) と呼ぶ。出力層に対して入力データの空間を入力層(input layer)と呼ぶこともある。自己組織化写像はコホネンマップ (Kohonen map)、コホネンネットワーク (Kohonen network)、自己組織化マップ、ソム

    [自己組織化写像] - Wikipedia
  • 幅優先探索 - Wikipedia

    ドイツの都市間の接続を示した例 フランクフルトから幅優先検索を行った場合にできる木構造 幅優先探索(はばゆうせんたんさく、英: breadth first search)はグラフ理論(Graph theory)において木構造(tree structure)やグラフ(graph)の探索に用いられるアルゴリズム。アルゴリズムは根ノードで始まり隣接した全てのノードを探索する。それからこれらの最も近いノードのそれぞれに対して同様のことを繰り返して探索対象ノードをみつける。「横型探索」とも言われる。 幅優先探索は解を探すために、グラフの全てのノードを網羅的に展開・検査する。最良優先探索とは異なり、ノード探索にヒューリスティクスを使わずに、グラフ全体を目的のノードがみつかるまで、目的のノードに接近しているかどうかなどは考慮せず探索する。 アルゴリズム[編集] 根ノードを空のキューに加える。 ノードをキ

    幅優先探索 - Wikipedia
  • 一筆書き - Wikipedia

    六芒星の一筆書きの例。 一筆書き(ひとふでがき)とは、広い意味では「筆記具を平面から一度も離さず線図形を描く」ことである。狭い意味では、これに加えて「同じ線を二度なぞらない(点で交差するのはかまわない)」という条件が加わる。 以下は後者の狭い意味での一筆書きについて記す。 三角形「△」や四角形「□」は一筆書き可能だが、十字「+」は一筆書きできない。また、五芒星や白星「☆」、六芒星「✡」は一筆書き可能だが、アスタリスク「*」は一筆書きができない。このように、一筆書きできる図形とできない図形がある。 「与えられた図形が一筆書き可能かどうか」という問題の例として、「ケーニヒスベルクの橋の問題」(独: Königsberger Brückenproblem)が知られている。なお、ケーニヒスベルクとは実際にあった場所の名前である。 ケーニヒスベルクの七つの橋問題[編集] ブレーゲル川と七つの橋を示し

    一筆書き - Wikipedia
  • 基数ソート - Wikipedia

    基数ソート(きすうソート、英: radix sort)は、「比較によらないソート」[1]のアルゴリズムの一つで、位取り記数法で表現可能な対象について、下の桁から順番にソートしてゆき、最後に最上位桁でソートすると、全体が順序通りに並ぶ、という手法である。 nをデータの数、kを桁数として、計算量のオーダーはO(nk)である。また、アルゴリズム自身の性質により、素直な実装が安定ソートになる。[2] 前提条件[編集] このアルゴリズムは、データの種類が有限で、最大値・最小値がはっきりしているという仮定を置いており、全ての入力データが「3桁の整数」や「2文字のアルファベット」など決まった形式であることが分かっていなければならない。なおそれに加え、ある値のデータが必ず一つしか現れないとか、同じ値のデータは同一のものとしてしまって良い、といった場合には、もはやソートするのではなく、単純に、全体が入る大き

  • Tree traversal - Wikipedia

    Pre-order (node visited at position red ●): F, B, A, D, C, E, G, I, H;In-order (node visited at position green ●): A, B, C, D, E, F, G, H, I;Post-order (node visited at position blue ●): A, C, E, D, B, H, I, G, F. In depth-first search (DFS), the search tree is deepened as much as possible before going to the next sibling. To traverse binary trees with depth-first search, perform the following ope

    Tree traversal - Wikipedia
  • フィッシャーの正確確率検定 - Wikipedia ★

    フィッシャーの正確確率検定(フィッシャーのせいかくかくりつけんてい、英: Fisher's exact test)は、標の大きさが小さい場合に、2つのカテゴリーに分類されたデータの分析に用いられる統計学的検定法である[1][2][3]。フィッシャーの直接確率検定ともいう。名称は考案者ロナルド・フィッシャーに因む。 2 x 2分割表(2つの集団が2カテゴリーに分類されたデータを扱う場合、自由度は1)の2変数の間に統計学的に有意な関連があるかどうかを検討するのに用いられる。1 x 2分割表の場合もある。同じ状況で標の大きさが大きい場合には統計量の標分布が近似的にカイ二乗分布に等しくなるのでカイ二乗検定が用いられるが、標の大きさが小さい(分割表のセルの期待値に10未満のものがある)場合や、表中の数値の偏りが大きい場合にはこの近似は不正確である。この場合には正確確率検定が文字通り正確である