monte carlo algorithm

Preview:

DESCRIPTION

monte carlo university of seoul distributed computing

Citation preview

UNIV. OF SEOUL

Computer Science

Kim Jung Hoon

물리적, 수학적 시스템의 행동을 시뮬레이션

하기 위한 계산 알고리즘.

다른 알고리즘과 다르게 통계학적이고, 무작위의

숫자를 사용하는 non-deterministic 방법.

이러한 무작위의 숫자를 사용하여 Simulation

하여 원하는 결과를 도출해 내는 것

여러 속성을 갖는 객체의 집합에서 어떠한

현상을 알고자 하는 경우

정확한 값을 얻기 위해서는 허용가능한

시간내에 결과를 얻기가 힘이 든다. 이는

몬테칼로 방법을 통하여 근사적 해를

선형시간내에 얻을 수 있음을 의미한다.

문제에 대한 지식이 존재하지

않던가, 오류의 영향 등이 시스템의

퍼포먼스 혹은 신뢰성에 얼마나 영향을

주는지를 판별해 볼 수 있는 시뮬레이션

Step

가로, 세로가 1인 정사각형

반지름이 1인 원(1/4)

가로, 세로가 1인 정사각형

반지름이 1인 원(1/4)여기서 직사각형의 넓이

= 1

여기서 원의 넓이

= pi * 1/4

가로, 세로가 1인 정사각형

반지름이 1인 원(1/4)0 ~ 1 사이의

난수를 발생시켜

우리가 알고 있는 식이 맞는지

확인해본다.

Sample에서는 2000번의 난수를

측정하였다.

점이 원 안에 들어갈확률 = 파이/4

찍은점 : 2000

히트 : 1569

미스 : 431

Monte carlo method에 의한

원주율의 계산

1569 / 2000 = 4 * pi

4*1569 / 2000 = 3.138

2개는 꽝이고 하나는 당첨

카드를 변경하고 있지 않으면 선택될확률은 1/3 이다.

카드를 변경한다고 할 경우에는꽝1, 꽝2,당첨이 있을경우제일 처음 꽝1을 뽑으면 진행자는 꽝2를뒤집고 우리는 당첨을 선택하게 된다.제일 처음 꽝2를 뽑으면 진행자는 꽝1을뒤집고 우리는 당첨을 선택하게 된다.제일 처음 당첨을 뽑고 진행자가 꽝#을뽑으면 우리는 나머지 꽝을 선택하게 된다.

바꾸는 것이 좋다.

처음 선택할 때는 1/3의 확률이지만

하나가 꽝임을 알경우 다른 값은 2/3의

확률이 된다.

몬테칼로 알고리즘을 통하여 시뮬레이션

참조 :

http://en.wikipedia.org/wiki/Monty_Hall_pro

blem