(Shiro 2012/01/03 10:04:38 UTC): 「正月にMetropolis Procedural Modelingを基礎から理解してみる」その1。 (この項は主に、Christophe Andriew, Nando De Freitas, Arnaud Douchet, Michael I. Jordan, "An Introduction to MCMC for Machine Learning", Machine Learning, 50, 5--43, 2003. を読んで自分なりに理解したところをメモしている。) モンテカルロ法で円周率を求めてみたことがある人は多いだろう。 左下が(0,0)、右上が(1,1)である正方形の中の一点をランダムに選び、 それが(0,0)を中心とする半径1の円内に入っているかどうかを調べる。 十分に多くのサンプルを取れば、円内に入った
最新の20件2025-03-20 競馬に関するアンケート 2024-05-10 支持率と勝率の関係とは? 2018-07-17 The Songs Festivals Of Portland, Oregon Music In The City 2018-03-01 KeHa Tickets Usa Headlining Tour 2018-02-13 2010 West Virginia Condition Fair Concerts 2012-11-17 ま女神のページ in English 2010-03-16 TARGET frontier JV 2010-03-11 Microsoft Excel 2015-12-23 コメント/分割コロガシのページ 2015-06-12 リンク集 2015-04-01 大庭和弥 2014-11-11 騎手別詳細分析 2014-07-25 mime
State モナドと疑似乱数で書いたように、遅延評価が利用できる言語では、無限数列が扱えるので、疑似乱数を使う際に状態を持たなくてもよい。その一例として、モンテカルロ法による円周率の近似を挙げてみる。 XY 平面に単位円を考える。 radius :: Double radius = 1.0この円がぴったり収まる大きさ1の正方形を描く。ここで、第一象限のみを考える。正方形のうち、第一象限にある部分の面積は、1/4。第一象限にある円の面積は、全体の 1/4 だから π/4。 モンテカルロ法では、第一象限の正方形の中に、ランダムに点(x,y)を打つ。たくさんのランダムな点を、疑似乱数から生成しよう。そのとき、状態を持つのではなく、乱数の無限数列を生成する。 import Random randomSeq :: Int -> [Double] randomSeq seed = randomRs (
確率法則を用いて問題を解くモンテカルロ法(Monte Carlo meyhod)では、質のよい乱数が必要である。 C言語で用意されている関数randと、高品質で高速に乱数を生成できるとして知られるメルセンヌ・ツイスタを利用して、円周率を評価してみる。 また、その際のアルゴリズムとして「あたりはずれ法」と「粗いモンテカルロ法」を用いて計算する。 図1のような単位円の第1象限領域の面積をモンテカルロ法にて求め、 解析的に求められる面積$\pi/4$と比較することによって、円周率の評価を行うことにする。 図1.単位円の第1象限領域 あたりはずれ法 あたりはずれ法とは、面積を評価したい領域$S_A$を面積が既知の領域$S$で囲み、 領域$S$上に分布が一様になるように$N$個の点を降らせる。 領域$S_A$上に落ちた点の数が$N_A$であれば、$S_A$の面積は、 で評価することができる。 図1の
The most direct way of generating random samples from a Poisson distribution is efficient for some parameters and inefficient for others. Wikipedia attributes the following algorithm to Donald Knuth: init: Let L ← exp(−λ), k ← 0 and p ← 1. do: k ← k + 1. Generate uniform random number u in [0,1] and let p ← p × u. while p > L. return k − 1. Here’s the idea behind the algorithm. The time between ar
今回は第1回インターンの id:tarao (ダイアリー書いてない (´;ω;`)) さんの担当、5章の確率論的解析と乱択アルゴリズムでした。前章までは各アルゴリズムの最悪の時間計算量を考えていましたが、現実には最悪の場合の入力ばかりがやってくるのではなく、典型的・平均的な場合の時間計算量を求めたいこともあります。確率論的解析がこういう時に必要になるようです。また、その時指標確率変数というのを用いると計算が楽になる (ことが多い) ということです。 今回は輪講中に、いくつか練習問題にも触れました。 5.1-3 偏ったコインを用いて 0,1 をそれぞれ 1/2 の確率で出力するアルゴリズムを作るには? → 2回振って (表、裏) か (裏、表) と出たらそれぞれ 0, 1 を返し、そうでなければやり直し、を繰り返す。 5.3-2 恒等置換以外の任意の置換をランダムに生成するアルゴリズム? →
京都の嵐山でお花見してきたbonlifeです。ベラシとその仲間たちよ、ありがとう! さてさて、話は急に変わりまして。モンティホール問題(ジレンマ)について扱ったこの日記を見ていたら、Ruby、PHPに比べてPythonが異常に遅いと指摘されていたので、ちょっと調べてみました。RubyやPHPでは乱数を生成するrand()が組み込みなのに対して、Pythonでは標準モジュールでの提供なので、まぁ仕方ないんだろうな、と思いつつ調査。 >>> import random >>> import profile >>> def random_generate(num): for i in range(num): random.randint(1,3) >>> >>> >>> profile.run('random_generate(100000)') 300005 function calls in
人生ゲームとかやる時用に 手軽になるように作ってみました。振る回数の期待値は全て3以下です。 振る必要のある回数の期待値も併記しています。これより減らせる場合はコメントによろしくお願いします。回数はおそらくΣ[k=1..∞](6^(k-1)%n)/6^(k-1)になるだろう、という予測が経ちましたが、全ての明記はちょっと複雑になるので止めておきます。n=13,14,16,17,19,20が最善でないです。 N=2 (1回) 方法1 さいころを1回振り、偶数の場合1、奇数の場合2 方法2 3以下なら1、4以上なら2 N=3 (1回) 方法1 さいころを1回振り、3で割った余りに1を足す 方法2 1〜2が1、3〜4が2、5〜6が3とする N=4 (1.5回) 5以上が出たら振りなおす 別解法 N=2を2回利用する(2回) 追記 omeometoさん提供(1.333333回) 1〜4が出たらその
You are here: Home / Microsoft / Doing the Microsoft Shuffle: Algorithm Fail in Browser Ballot March 6th Update: Microsoft appears to have updated the www.browserchoice.eu website and corrected the error I describe in this post. More details on the fix can be found in The New & Improved Microsoft Shuffle. However, I think you will still find the following analysis interesting. -Rob Introduction
2010-06-03 カテゴリ: Client Side タグ: JavaScript Tips アルゴリズム 前回の記事で予告したとおり、今回はJavaScriptのMath.random()で生成できる乱数の精度の話。 前回の記事で、JavaScriptでは2^53未満の正整数を扱うことができるということがわかったから、今回の記事では2^53未満のランダムな正整数を生成してみる。 具体的には↓のようなコード。 var ub = Math.pow(2, 53), list = []; for (var i = 0; i < 16; i++) { list[i] = Math.floor(Math.random() * ub).toString(2); while (list[i].length < 53) { list[i] = "0" + list[i]; } // padding }
数学セミナー2011年2月号 特集◎ランダムネスを捕まえる数学セミナー 2011年 02月号 [雑誌]出版社/メーカー: 日本評論社発売日: 2011/01/12メディア: 雑誌購入: 1人 クリック: 1回この商品を含むブログ (2件) を見る 二ヶ月以上遅れて速報とはこれ如何に。 ランダムネスに関するランダムな年表(チョイスはかなり偏ってます)西暦出来事1919フォン・ミーゼスがランダム性を数学的に定式化しようと試みる1920--6Xランダム性の定式化に辿り着くまでの多数の数学者による試行錯誤の時代1933コルモゴロフによる確率論の公理化ランダムネス誕生の時代1960ソロモノフが現在コルモゴロフ複雑性と呼ばれる概念を導入(数年後にコルモゴロフが同じ概念を独立に発見)1966マーティン=レフによる構成的ランダム性の定式化1970ソロヴェイはランダム強制法を導入し, の部分集合が全てルベー
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く