Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

난수

From noriwiki


개요

난수란 어떤 규칙성 없이 무작위로 발생한 수를 말한다. 이때 계산을 통해서 구한 난수를 의사 난수 (Pseudo-Random Number) 라고 한다. 컴퓨터에서 사용되는 모든 난수는 의사 난수이다. 의사난수는 일반 난수에 비해 여러 장점이 있다.

  1. 대표성 : 의사 난수의 알고리즘은 그 난수의 패턴을 대표한다.
  2. 반복성 : 의사 난수는 언제나 같은 결과를 내 놓기 때문에 결과가 보존된다.

일양 난수 (선형 합동법)

모든 숫자가 고르게 나오는 난수의 양상

[math]\displaystyle{ x_n = (Ax_{(n-1)} + C) mod M }[/math] A, C, M 은 정수. mod는 나머지 연산자. x는 시드 (난수의 시작점)

정규 난수

난수의 양상이 정규분포를 따르는 양상

박스 뮬러 변환 (Box-Muller transformation)

두개의 일양난수 [math]\displaystyle{ U_1, U_2 }[/math] 에 대하여, 정규 난수 [math]\displaystyle{ X_1, X_2 }[/math]는 다음과 같이 구할 수 있다.

[math]\displaystyle{ X_1 = \sqrt{-2logU_1}cos(2\pi U_2) \sim \mathrm{N(0,1)} }[/math]
[math]\displaystyle{ X_2 = \sqrt{-2logU_1}sin(2\pi U_2) \sim \mathrm{N(0,1)} }[/math]

포아송 난수

지수 난수

와이블 난수

감마 난수

응용

ray tracing