タグ

algorithmに関するmizogucheのブックマーク (6)

  • 様々なrate limitアルゴリズム - Carpe Diem

    概要 インターネットに晒されているWebサービスでは TV等で紹介されたことによる大量流入 悪意ある人物からの攻撃 クライアントのバグに依る大量リクエスト など、来想定していた以上のトラフィックが来ることはよくあります。 単純にシステムを構築すると大規模トラフィックに対応できずシステムがスローダウンしてしまうため、何かしらrate limitをかけておいた方が良いです。 ただしrate limitと一口に入っても色々あるため、今回は主なrate limitアルゴリズムを紹介します。 Leaky bucket Leaky bucketはデータ転送レートを一定にする(=上限を設定する)アルゴリズムです。 下の図のように、様々な流量の水流がそのバケツに流れ込んでも小さな穴からは一定の水流が流れ出す仕組みです。 ref: What is the difference between token

    様々なrate limitアルゴリズム - Carpe Diem
  • エレベータに見るアルゴリズムの性能と公平性のバランス|Rui Ueyama

    現実世界でもコンピュータの中でも、何らかの性能指標だけを追求すると参加者にとって極端に不公平になってしまうことがある。例えばエレベータとHDDは共通点がありそうに思えないが、この2つは性能特性的にとてもよく似ていて、リーズナブルな性能と公平性を両立させるために同じ制御方法が使われている。これについてちょっと説明してみよう。 1基しかない場合のエレベータの動き方は単純だ。一度上に動き出すと、上で待ってる人や降りる人がいる限り上昇し続ける。同じように、一度下に動き出すと、下で待っている人や降りる人がいる限り下降し続ける。これ以外の動き方をするエレベータはまず存在しないので、これが唯一の制御方法のように思えるけど、別にこうしなければいけないというルールはない。 エレベータの平均待ち時間を最適化することを考えてみよう。そうすると、一方向に動き続ける代わりに、エレベータが現在存在する階に一番近い人の

    エレベータに見るアルゴリズムの性能と公平性のバランス|Rui Ueyama
    mizoguche
    mizoguche 2017/11/24
    一方デザイナーはエレベータの横に鏡を設置した http://blog.livedoor.jp/lunarmodule7/archives/3675720.html
  • シャミアの秘密分散法で秘密のデータを分割管理する - Kim's Tech Blog

    つい最近PollyPassHashという新しいパスワード管理手法を知りました。 PolyPassHashingについては時間があれば別のポストで書きますが、要約すると、ある一定数の管理者の正しいパスワードが入力されないと暗号化されたパスワードデータベースを復号化できないようにするための仕組みです。 このポストではPolyPassHashingの中核の暗号技術である シャミアの秘密分散法 の紹介とそれを実現する数学的な仕組みを解説したいと思います。 この記事の内容 シャミアの秘密分散法とはなにか 用語 実際にやってみる: Rubyでシャミアの秘密分散 仕組み シェアの計算 シークレットの復元 シャミアの秘密分散法とはなにか 名前からわかるとおり、シャミアの秘密分散法はRSAのアルゴリズムにも貢献した有名なイスラエル人の暗号研究者アディ・シャミアによって作られました。 シャミアの秘密分散法は秘

  • Neural networks and deep learning (ニューラルネットワークと深層学習)

    ニューラルネットワークと深層学習 What this book is about On the exercises and problems ニューラルネットワークを用いた手書き文字認識 逆伝播の仕組み ニューラルネットワークの学習の改善 ニューラルネットワークが任意の関数を表現できることの視覚的証明 ニューラルネットワークを訓練するのはなぜ難しいのか 深層学習 Appendix: 知性のある シンプルな アルゴリズムはあるか? Acknowledgements Frequently Asked Questions Sponsors Resources 「ニューラルネットワークと深層学習」は無料のオンライン書籍です。 このでは、次のような内容を扱います。 ニューラルネットワーク:コンピュータに、観測データにもとづいて学習する能力を与える、生物学にヒントを得たプログラミングパラダイム。 深

    Neural networks and deep learning (ニューラルネットワークと深層学習)
  • GitHub - prakhar1989/awesome-courses: :books: List of awesome university courses for learning Computer Science!

    Awesome CS Courses Introduction There are a lot of hidden treasures lying within university pages scattered across the internet. This list is an attempt to bring to light those awesome CS courses which make their high-quality materials, i.e. assignments, lectures, notes, readings and examinations, available online for free. Table of Contents Algorithms Artificial Intelligence Computer Graphics CS

    GitHub - prakhar1989/awesome-courses: :books: List of awesome university courses for learning Computer Science!
  • 経路探索アルゴリズムA*を立体地形に対応させてみる - WonderPlanet DEVELOPER BLOG

    今回エンジニアブロクを担当する小瀬です。 経路探索アルゴリズムといえば、A*(エースター)が有名ですが、タワーディフェンスやRTSなど平面的なものに使われる事が多いかと思います。複雑な立体交差などに対応するのは難しいですが、SFC向けに発売されたタクティクスオウガのような地形であれば多少の変更で実現可能です。 A*自体はそれほど難しいものでも無いとは思いますが、基的な部分としては 開始地点から検索を始め、周囲にあるグリッドの移動量とゴールまでの直線距離を求め、その合計をウェイト値として求める。 移動先のグリッドからは移動元のグリッドへの方向(または座標)を持たせておく ウェイト値計算の行われたグリッドは、探索対象としてリストなどに保持しておく リスト中で最もウェイト値の低いグリッドへ移動し、移動元のグリッドはリストから外す 隣接グリッドが壁や、既に計算済みのグリッドに囲まれた場合はそのま

    経路探索アルゴリズムA*を立体地形に対応させてみる - WonderPlanet DEVELOPER BLOG
  • 1