タグ

algorithmとmathに関するtuneのブックマーク (3)

  • Google Chromeが採用した、擬似乱数生成アルゴリズム「xorshift」の数理

    2015年12月17日、Google ChromeJavaScript エンジン(処理系)である V8 の公式ブログにて、 JavaScript の標準的な乱数生成APIである Math.random() の背後で使われているアルゴリズムの変更がアナウンスされました。 Math.random() 関数は JavaScript を利用する際には比較的よく使われる関数ですので、親しみのある方も多いのではないかと思います。 新たなバグの発見や、従来より優秀なアルゴリズムの発見によってアルゴリズムが変更されること自体はそれほど珍しくはないものの、 技術的には枯れていると思われる Math.random() のような基的な処理の背後のアルゴリズムが変更されたことに驚きを感じる方も少なくないかと思いますが、 それ以上に注目すべきはその変更後のアルゴリズムです。 実際に採用されたアルゴリズムの原

    Google Chromeが採用した、擬似乱数生成アルゴリズム「xorshift」の数理
  • アルゴリズムの紹介

     ここでは、プログラムなどでよく使用されるアルゴリズムについて紹介したいと思います。 元々は、自分の頭の中を整理することを目的にこのコーナーを開設してみたのですが、最近は継続させることを目的に新しいネタを探すようになってきました。まだまだ面白いテーマがいろいろと残っているので、気力の続く限りは更新していきたいと思います。 今までに紹介したテーマに関しても、新しい内容や変更したい箇所などがたくさんあるため、新規テーマと同時進行で修正作業も行なっています。 アルゴリズムのコーナーで紹介してきたサンプル・プログラムをいくつか公開しています。「ライン・ルーチン」「円弧描画」「ペイント・ルーチン」「グラフィック・パターンの処理」「多角形の塗りつぶし」を一つにまとめた GraphicLibrary と、「確率・統計」より「一般化線形モデル」までを一つにまとめた Statistics を現在は用意して

    tune
    tune 2009/10/16
    様々なアルゴリズムの紹介、ペイントルーチンから圧縮関連まで
  • いろいろな曲線

    グラフ描画についての指針 グラフを調べる場合、次のことを念頭において計算を進めればよい。 (1) 曲線の存在範囲(Existence)や座標軸に対する対称性(Symmetry) (2) 座標軸との交点(Intersection)や曲線上の特殊な点の座標(Special point) (3) 関数の増減と極値(One) (4) 関数の凹凸と変曲点(Two) (5) 漸近線(Straight line) 私の高校時代、上記手順を覚えるために頭文字をつなぎ合わせて、 SESIOTS(セシオッツ) などという語呂合わせを考案したものだ。 例 曲線 Y2=X2(1-X2) のグラフを描いてみよう。 式の特徴から、曲線は、X軸に関して対称、Y軸に関して対称、原点に関して対称である ので、計算する範囲を、X≧0、Y≧0 としてよい。さらに、Y2≧0 であるので、 0≦X≦1 としてよい。このとき、与えら

    tune
    tune 2008/02/03
    いろいろな曲線
  • 1