タグ

2016年1月6日のブックマーク (3件)

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

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

    Google Chromeが採用した、擬似乱数生成アルゴリズム「xorshift」の数理
  • デザインパターンを読み解く

    ポリモーフィズム(サブクラスによる切り替え、抽象化) ここに分類されるのは、オブジェクト指向の第3原則、ポリモーフィズムを使用したパターンです。ポリモーフィズムを使用すると、動的に使用するクラスを切り替えることができます。<参照> 他に分類されているものでも、ポリモーフィズムが重要な位置を占めているものもありますが、ここではそれしか使われていないものを扱います。 ただデザインパターン全体を通して強調されているのは、インターフェースでプログラミングするということです。実装への依存をなくし、そうすることによって設計の骨組みを明らかにするのです。 Template 次のようなメソッドがあった場合に、処理Bのところを条件によって変えたい場合があるとします。 class Hogehoge { void doit() { ... 処理A ... ... 処理B ... ... 処理C ... } }

  • ベクトル空間のテンソルについて - Qiita

    一ヶ月前にGoogleがTensorFlowという機械学習ライブラリを公開しました。すでにQiitaにも幾つかの投稿がされています。さて、TensorFlowの公開でテンソルという単語を初めて聞いたという方がいると思います。そのような人を対象にテンソルの入門を書きたいと思います。 テンソルというのはベクトルや行列の仲間で、ベクトルが一次元、行列が二次元状に数値が並んでいるのを一般化して、$n$次元状に数値を並べたものです。なので、多次元配列を使えば、テンソルをプログラムの中で表現できます。 実際、TensorFlowでもnumpyのndarrayという多次元配列を利用しています。プログラムを書いたり利用したりする上で、上の説明で事足りることが多いでしょう。しかし、数学的に理解するという点からは満足できないでしょう。数学的に掘り下げてみましょう。 準備 まず、テンソルはベクトルや行列の延長上

    ベクトル空間のテンソルについて - Qiita