タグ

algorithmとmathに関するcu39のブックマーク (7)

  • 円周率の16進数表現100億桁目を求めてみた! ― 円周率の世界記録をどのように検証するか ― - プログラムモグモグ

    あなたは円周率を何桁言えますか。3.14159…という、あの数字です。 円周率の小数部分は無限に続き、循環することもありません。 古来より、数学者は円周率の値を様々な幾何学的な近似や公式を用いて計算してきました。 その桁数は計算機の発明により飛躍的に伸び、収束の速い公式の発見や効率の良いアルゴリズムの発明などによって加速してきました *1。 5年前、私がまだ学生だった頃、円周率1億桁の計算に挑んだことがありました。 私にとって高精度計算の初めての挑戦で、様々な試行錯誤で苦労したのをよく覚えています。 itchyny.hatenablog.com 2017年現在、円周率計算の世界記録は22兆桁です。 円周率計算の歴史をご覧いただくとよく分かると思いますが、近年の円周率計算の世界記録からは次のような特徴が読み取れます。 2002年に1兆を超え、最新の記録 (2016年) は22兆桁 (10進数

    円周率の16進数表現100億桁目を求めてみた! ― 円周率の世界記録をどのように検証するか ― - プログラムモグモグ
  • [PDF]最小二乗法の今と昔

    ‐‐ ‐‐ Yin Jun‐Feng (Tongji University) 5 . 6 . 2008 House Open NII • • • • ⎩ ⎨ ⎧ = − = + ) 2 ( 2 3 ) 1 ( 5 3 2 L L y x y x ⎩ ⎨ ⎧ = − = + ) 2 ( 2 3 ) 1 ( 5 3 2 L L y x y x 1 , 1 ) 2 ( 2 3 ) 1 ( 5 3 2 = = ⎩ ⎨ ⎧ = − = + y x y x y x L L 1 , 1 ) 2 ( 2 3 ) 1 ( 5 3 2 = = ⎩ ⎨ ⎧ = − = + y x y x y x L L x y 5 3 2 = + y x 2 3 = − y x ) 1 , 1 ( 0 ⎪ ⎩ ⎪ ⎨ ⎧ = + − = − = + ) 3 ( 1 ) 2 ( 2 3 ) 1 ( 5 3 2 L L L y x

  • 平成19年度 - イベント - 国立情報学研究所 / National Institute of Informatics

    【概要】 21世紀を迎えてから、ロボット技術は我々の日常生活に浸透してきており、人間そっくりの案内ロボットが登場したり、癒し系のペットロボットやロボット工作キットが販売されていたりします。見た目や体つきはかなり発展したように見えますが、ロボット研究において大きな課題として残されているのが、いかにして「賢さ」を実現するか、という事です。一方で、脳科学の発展とともに、ロボットを人間のように賢くするためには人間の脳を見習わなければならない、という考え方も浸透して来るようになり、ロボット研究者と脳科学研究者が議論を交わす事も多くなってきました。 そのような背景から、講座では、ロボットの頭脳がどのように実現されているか、また脳科学の観点からどのようにすれば人間のような考え方のできるロボットが実現できるのか、というトピックについて解説します。

    平成19年度 - イベント - 国立情報学研究所 / National Institute of Informatics
  • Google Chromeが採用した、擬似乱数生成アルゴリズム「xorshift」の数理

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

    Google Chromeが採用した、擬似乱数生成アルゴリズム「xorshift」の数理
  • オンラインアルゴリズムで平均値の逐次計算 - Qiita

    オンラインアルゴリズムとは、データが逐次的に入ってきた時にも計算できるアルゴリズムのことである。 データを全て見た上で計算するバッチ(オフライン)アルゴリズムと対比してこう呼ばれる。 オンラインアルゴリズムは、すべてのデータをメモリ上に保持しておくのが厳しいような大規模データを扱う場合などによく使われる。機械学習の文脈でよく見かけるかもしれない。機械学習の文脈だと割と理論的に難しい物が多いが、平均、分散、サンプリングなどは簡単なシステムを作るときにも割とよく使うので、データが逐次的に来ても処理が書けるようになっておくと幸せになれることもあるはず。 今回は、平均値の逐次計算についてだけやり方を書いておく。 平均値の逐次計算 averageを求めたい平均値、totalを今までに処理したデータの個数として、 以下の形で記述できるようにすることを目標とする。

    オンラインアルゴリズムで平均値の逐次計算 - Qiita
  • 平方数かどうかを高速に判定する方法 - hnwの日記

    平方数とは、ある整数の平方(=二乗)であるような整数のことを言います。つまり、0,1,4,9,16,...が平方数ということになります。 ところで、与えられた整数が平方数かどうかを判定するにはどうすれば良いでしょうか。与えられた整数の平方根の小数点以下を切り捨て、それを二乗して元の数になるかどうか、というのがすぐ思いつく実装です。 <?php function is_square($n) { $sqrt = floor(sqrt($n)); return ($sqrt*$sqrt == $n); } しかし、平方根の計算は比較的重い処理です。もっと高速化する方法は無いのでしょうか。 多倍長整数演算ライブラリGNU MPには平方数かどうかを判定するmpz_perfect_square_p関数が存在します(PHPでもgmp_perfect_square関数として利用できます)。稿ではこの実装

    平方数かどうかを高速に判定する方法 - hnwの日記
  • mathblog.dk

    This domain may be for sale!

    cu39
    cu39 2014/02/04
    循環小数 1/d (d<1000) の循環桁数が最大になる自然数dを見つける。
  • 1