랜두
RANDU랜두는[1] 1960년대와 1970년대에 주로 사용되었던 파크-밀러 유형의 선형융합형 유사수 생성기(LCG)이다.[2]이는 반복에 의해 정의된다.
초기 시드 번호와 함께 V 을(를) 홀수 번호로 지정한다. 정수 j 를 생성하며, 이 정수는31 [1, 2 - 1] 구간에 균일하게 분포하지만, 실제 적용에서는 다음 공식으로 Philosorandom rationals 에 매핑되는 경우가 많다.
- = 2
IBM의 RANDU는 지금까지 디자인된 것 중 가장 잘못 생각된 무작위 숫자 생성기 중 하나로 널리 여겨지고 있으며,[3] 도널드 크누스에 의해 "정말 끔찍하다"고 묘사되었다.[4]아래에서 볼 수 있듯이 2보다 큰 치수에 대한 스펙트럼 시험에서 불량하게 실패한다.
및 탄성 계수 상승을 위해 이러한 특정한 값을 결정한 이유는32-bit-integer 단어 크기로, 모드 231와 65539{65539\displaystyle}의 산술(즉, 216+3){\displaystyle({\text{즉,}}2^{16}+3)}계산 빠르게 하드웨어에 비트 운영자들을 사용합니다, 그러나 v을 해야 할 수 있알ues는 통계적 품질이 아닌 계산적 편의를 위해 선택되었다.
승수 및 계수의 문제
n-차원 공간에서 점을 생성하기 위해 계량 m을 사용하는 선형 응집 발전기의 경우, 점들은(! ) 1/ m 이하의 평행 하이퍼플레인으로 떨어진다.[5] 이는 저계량 LCG가 고차원 몬테카를로 시뮬레이션에 적합하지 않음을 나타낸다.m = 2^31 및 n = 3의 경우 LCG는 이론상 최대인 최대 2344 평면을 가질 수 있다.훨씬 더 엄격한 상한은 같은 마르사글리아 논문에서 표준 형태의 하이퍼플레인의 모든 계수의 절대값의 합으로 증명된다.즉, 하이퍼플레인이 Ax1 + Bx2 + Cx3 = 0, 1, 2 등 일부 정수인 경우 최대 평면 수는 A + B + C이다.[5]
이제 우리는 RANDU에 대해 선택된 승수 65539와 계량 2의31 값을 검토한다. 모든 항을 mod 2로31 취해야 하는 다음 계산을 고려한다.재귀 관계를 다음과 같이 쓰는 것부터 시작하십시오.
2차 인자를 확장한 후 다음과 같이 된다.
- 왜냐하면32 2 mod31 2 = 0이기 때문이다.
그리고 다음과 같이 세 점 사이의 상관관계를 보여줄 수 있다.
계수의 절대값을 합치면 3D로 16평면 이하를 얻을 수 있으며, 위의 도표와 같이 면밀한 검사에서 15평면밖에 되지 않는다.LCGs의 표준에 의해서도, 이것은 RANDU가 끔찍하다는 것을 보여준다: 단위 큐브를 샘플링하기 위해 RANDU를 사용하는 것은 단지 15개의 평행 평면을 샘플링할 뿐, 2344 평면의 상한에 가깝지도 않다.
1970년대 초 랜두(LANDU)를 광범위하게 사용한 결과, 그 때의 많은 결과가 의심스러운 것으로 보인다.[6]이러한 잘못된 행동은 이미 1963년에[7] 36비트 컴퓨터에서 감지되었으며, 32비트 IBM System/360에서 신중하게 재구성한[clarification needed] 것이다.1990년대[8] 초까지 널리 숙청된 것으로 생각되었으나, 1999년까지는 FORTRAN 컴파일러가 여전히 있었다.[1]
샘플 출력
초기 시드 = 에 대한 LANDU의 출력 기간의 시작은 다음과 같다.
참조
- ^ a b Compaq Fortran 언어 참조 매뉴얼(주문 번호: AA-Q66SD-TK) 1999년 9월(이전의 DIGAL Fortran 및 DEC Fortran 90)
- ^ Entacher, Karl (June 2000). "A collection of classical pseudorandom number generators with linear structures - advanced version". Archived from the original on 18 November 2018.
- ^ 크누스 D.E.컴퓨터 프로그래밍의 기술, 제2권: 세미머셜 알고리즘, 제2판애디슨 웨슬리, 1981년ISBN 0-201-03822-6.섹션 3.3.4, 페이지 104. "랜두라는 바로 그 이름은 많은 컴퓨터 과학자들의 눈과 배에 충격을 주기에 충분하다!"[비랜덤성에 대한 통계적 테스트의 추가 적용]
- ^ 크누스(1998), 페이지 188
- ^ a b Marsaglia, George (1968). "Random Numbers Fall Mainly in the Planes". Proc. Natl. Acad. Sci. U.S.A. 61 (1): 25–28. doi:10.1073/pnas.61.1.25. PMC 285899. PMID 16591687.
- ^ Press, William H.; et al. (1992). Numerical Recipes in Fortran 77: The Art of Scientific Computing (2nd ed.). ISBN 0-521-43064-X.
- ^ http://portal.acm.org/citation.cfm?id=363827의 7번 참조
- ^ 도널드 크누스와의 인터뷰
외부 링크
| Wikiquote에 관련된 인용구가 있음: RANDU |