タグ

Algorithmとalgorithmに関するringo6119のブックマーク (16)

  • 中日新聞:自動車工場のガロア体 QRコードはどう動くか

    その誕生を地元新聞も経済新聞も記事にしなかった。2年後、『コードの情報を白黒の点の組み合わせに置き換える』と最下段のベタ記事で初めて紹介された時、その形を思い浮かべることができる読者はいなかった。いま、説明の必要すらない。QRコードはなぜ開発され、どう動くのだろうか。 QRコードは、自動車生産ラインの切実な要請と非自動車部門の技術者の「世界標準の発明をしたい」という野心の微妙な混交の下、1990年代前半の日電装(現デンソー)で開発された。 トヨタグループの生産現場では、部品名と数量の記された物理的なカンバンが発注書、納品書として行き来することで在庫を管理する。そのデータ入力を自動化するバーコード(NDコード)を開発したのがデンソーだ。 バブル全盛の1990年ごろ、空前の生産台数、多様な車種・オプションに応えるため、部品も納入業者も急激に増え、NDコードが限界を迎えていた。63桁の数字しか

  • GitHub - twitter/the-algorithm: Source code for Twitter's Recommendation Algorithm

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - twitter/the-algorithm: Source code for Twitter's Recommendation Algorithm
  • Neil Fraser: Writing: Diff Strategies

    by Neil Fraser, April 2006 Computing the differences between two sequences is at the core of many applications. Below is a simple example of the difference between two texts: Text 1: Apples are a fruit. Text 2: Bananas are also fruit. Diff:   AppleBananas are also fruit. This paper surveys the literature on difference algorithms, compares them, and describes several techniques for improving the us

  • Raft(分散合意アルゴリズム)について

    Raftについて Raftという分散合意アルゴリズムの紹介 論文: In Search of an Understandable Consensus ALgorithm (Extended Version) 注意 Raft三日目くらいの人が自分の理解をもとに(適当に)書いています いつも通り用語の使い方は怪しい Raftと分散合意のどちらも特別詳しい訳ではないので、ちゃんと知りたい人は上記論文や他の説明を参照することを推奨します Raftって何? ざっくりと 分散合意アルゴリズム Paxos(おそらく有名な分散合意アルゴリズム)の改良版的な位置づけ(?) 機能追加や性能向上ではなく__理解可能性__の改善 etcdというCoreOS/Dockerをクラスタ化するためのツールで採用されているのが有名? 詳しくは知らないですが... 分散合意アルゴリズム クラスタ内の全サーバに一貫性のあるステ

    Raft(分散合意アルゴリズム)について
  • Cuckoo Hashing - Radium Software

    ハッシュテーブルからエントリーを検索する処理は,一般に定数時間で済むとされている。つまり,どんなにエントリーが増えても検索の速さは変わらない,ということ。データ構造の教科書には必ず載っていることだね。 でも実際には,ハッシュの衝突が起こった場合に,速度の低下が発生する可能性がある。例えば,一般的なチェイン法(オープンハッシュ)だと,衝突したエントリーに関して線形検索を行うことになるから,衝突が多ければ多いほど,定数時間からは遠のいてしまう。 この速度低下を防ぐ方法はいろいろある。なかでも cuckoo hashing (カッコウ・ハッシング)は仕組みが面白い。こいつは,エントリーの検索を必ず定数時間で済ませてくれるという優れものなんだ。 Cuckoo hashing では,2つのハッシュ関数と,2つのテーブルを用いる。ここでは,2つのハッシュ関数をそれぞれ h1, h2 として,2つのテー

    Cuckoo Hashing - Radium Software
  • バージョンの充足可能性問題 | POSTD

    (注:2017/02/06、いただいたフィードバックを元に翻訳を修正いたしました。修正内容については、 こちら を参照ください。) Dependency HellはNP完全ですが、この状況から脱却できるかもしれません。 パッケージにおけるバージョン選択の問題とは、完全である(全ての依存関係を満たしている)かつ互換性のある(互換性のない2つのパッケージが選択されていない)トップレベルパッケージPをビルドするために使われる依存関係の集合を見つけることです。ただし、菱形依存問題があるので、このようなセットは存在しない可能性があります。菱形依存問題とは、AはBとCが必要、BはDのバージョン2ではなくバージョン1が必要、CはDのバージョン1ではなくバージョン2が必要といったような問題のことです。この場合、Dの両方のバージョンを選択することはできないため、Aをビルドすることができないわけです。 パッケ

    バージョンの充足可能性問題 | POSTD
  • GitHub - ro31337/bigoposter: Big-O Complexities / Poster of common algorithms used in Computer Science

  • Algorithm Visualizer

    This page has moved to algorithm-visualizer.org.

  • VisuAlgo moves to https://visualgo.net/en

    Redirecting you to https://visualgo.net/en

  • t.dvi

    Purely Functional Data Structures Chris Okasaki September 1996 CMU-CS-96-177 School of Computer Science Carnegie Mellon University Pittsburgh, PA 15213 Submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy. Thesis Committee: Peter Lee, Chair Robert Harper Daniel Sleator Robert Tarjan, Princeton University Copyright c 1996 Chris Okasaki This research was sponso

  • ブルームフィルタ - Wikipedia

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

    ブルームフィルタ - Wikipedia
  • Satoshi Whitepaper

    1 ビットコイン:P2P 電子マネーシステム 中 哲史 satoshi@gmx.com www.bitcoin.co.jp 概要:純粋なP2P電子マネーによって、金融機関を通さない甲乙間の直接的オンライン取引が可能になる。電子署名は問 題の一部を解決するが、依然信用できる第三者機関による二重使用予防が求めらため、その恩恵は失われる。当システ ムはP2P電子マネーにおける二重使用問題の解決を提案する。このネットワークは取引に、ハッシュベースの継続的なプ ルーフ・オブ・ワークチェーンにハッシュ値として更新日時を記録し、プルーフ・オブ・ワークをやり直さない限り変更できな い履歴を作成する。最長である一連のチェーンは、取引履歴を証明するだけでなく、それがCPUパワーの最大のプールか ら発せられたことを証明する。大多数のCPUパワーがネットワークを攻撃していないノード(ネットワーク接続ポイント)

  • jsとcanvasでグラフの描画(力学モデル)を実装した

    こんにちは。 今回は、力学モデル (グラフ描画アルゴリズム) – Wikipediaというグラフを描画するための面白いアルゴリズムを見つけたので、 こいつをJavaScript(CoffeeScript)とcanvasで実装してみました。 動作デモ まずはこちらを御覧ください。 5つの丸が、ふわふわ動いてバランス良い配置になると思います。 用語の整理 まず、グラフとは、折れ線グラフや円グラフのようなものではありません。 頂点と辺の集合で構成されている方のグラフです。 グラフ理論 – Wikipedia グラフとは、↑のグラフのことで、 グラフの頂点のことをノード ノードの点と点を繋ぐ辺をエッジと呼びます。 基的な理論のおさらい 力学モデルのWikiに書いてある通りですが、少し噛み砕いてみます。 まず、ノードの座標決定には **クーロンの法則とフックの法則**という法則が絡んできます。 ど

    jsとcanvasでグラフの描画(力学モデル)を実装した
  • 素因数分解の方法

    素因数分解の計算 ある整数の素因数分解を考える時、すぐ思いつくのはその整数以下の素数で次々割っていくという方法です。 が、これだとまず素数を求める必要があり、これが厄介です。 そこで次に以下の様に、素因数分解したい数を2から整数の平方根までの数で次々割っていくという方法が考えられます。 (素朴試し割り法) なおここで紹介している方法は、最も単純な方法で素因数分解の方法としてはもっと洗練されたものがたくさんあります。 (i)素朴試し割り法の手順 素因数分解したい数 N を、まず一番小さな素数である2で割ります。 割り切れたら商( N/2 )をまた2で割ります。これを2で割り切れなくなるまで繰り返します。 この操作の結果残った数 R には素数2と2から作られる合成数(素数の積で表される数)は含まれなくなります。 素数2で割る操作の結果残った数を次に小さい素数3で割ります。これを3で割り切れなく

  • 素数判別、素因数分解<アルゴリズム<Web教材<木暮

    学習のポイント 素数判別、素因数分解の基的なアルゴリズムを理解します。 キーワード アルゴリズム、素数、剰余、素数判別、エラトステネスのふるい、素因数分解 これまでは、素数研究が社会に直接関係することはあまりありませんでした。ところが、電子メールなどの暗号化が必要になりました。その暗号鍵、復号鍵では、「非常に大きいを素因数分解する計算には非常に時間がかかる」ことをベースにしています(→参考:「公開鍵暗号方式の原理」)。そのため、素数に関する関心が高まっているのです。 2,3,5,7,11,13,17,…など、1と自分自身でしか割り切れない数を素数といいます。12=4×3や、18=2×9のように、素数ではない数のことを合成数といい、2、3、4、9など、合成数を割り切れる数を約数といいます。そして、2や3など約数自体が素数であるとき、その約数を素因数といいます。 素数を扱うアルゴリズムは、大

  • 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] に詳細に記されている。暗号学的ハッシュ関数としては使えない。 記入ミスやタイプミスを検出するためのもので、クレジットマスターによる悪意ある攻撃を防ぐものではない。多くのクレ

  • 1