タグ

情報理論とprogrammingに関するkamei_rioのブックマーク (2)

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

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

    Google Chromeが採用した、擬似乱数生成アルゴリズム「xorshift」の数理
    kamei_rio
    kamei_rio 2016/01/06
    32bit乱数が理論的に安全なのか実用的に安全なのか、無知なので判別できてない。あと周期はすごく大事なんだけど、偏りの指標ってなかったっけ?
  • Javaで書かれたソースコードの大部分は冗長? | スラド デベロッパー

    家SlashdotでYour Java Code Is Mostly Fluff、New Research Finds(あなたのJavaコードの大半は無駄なもの、新たな研究で判明)なる記事が出ている。元ネタはITworld。 さらにその元ネタの論文を見ないとなかなか意味が把握しにくいのだが、自然言語による文章解析をプログラムコードにも適用したところ、そのような結果が得られたという話のようだ。 自然言語で書かれた文章は、その一部の単語がなくなったとしても意味を把握できることが多い。このように文中でなくなっても意味が変わらない単語を「chaff」(もみ殻)と呼び、逆にその単語がなくなると意味が分からなくなる/意味が変わってしまう単語は「wheat」(小麦)と呼ぶという。自然言語でこのような「chaff」と「wheat」を抽出する手法をプログラミング言語にも応用してJavaソースコードを分析し

    kamei_rio
    kamei_rio 2015/02/16
    自然言語は誤りに強いという文脈における"冗長"はネガティブな表現ではないと思う。それを言い始めたらテキストを圧縮してみろな話になるぞい
  • 1