KISS(알고리즘)

KISS (algorithm)

KISS(Keep it Simple Studp)는 George Marsaglia[1][2][3]의해 도입된 의사난수 생성기 패밀리입니다.1998년부터 Marsaglia는 sci.math, comp.lang.c, comp.lang.fortran sci.stat.math를 포함한 다양한 뉴스그룹에 여러 버전의 제너레이터를 게시했다.모든 KISS 생성기는 랜덤성의 품질을 개선하기 위해 3개 또는 4개의 독립된 난수 생성기를 결합합니다.KISS 제너레이터는 32비트 또는 64비트의 랜덤 정수를 생성합니다.이 정수로부터, 필요에 따라서 랜덤 부동 소수점 번호를 작성할 수 있습니다.원래 1993년식 발전기는 선형 합동 발전기와 두 개의 선형 피드백 시프트 레지스터 발전기의 조합에 기초한다.주기95 2, 속도 및 통계 특성이 양호하지만 TestU01 [4]스위트의 Crush 및 BigCrush 테스트에서 선형 복잡성 테스트에 실패합니다.1999년 이후 최신 버전은 선형 합동 생성기, 3교대 선형 피드백 시프트 레지스터 및 2개의 다중 캐리어 생성기를 기반으로 합니다.1993년 버전보다 10~20% 느리지만 기간123 2가 길어 Test U01의 모든 테스트를 통과했습니다.2009년에 Marsaglia는 64비트 정수(64비트 프로세서에 적합)를 기반으로 멀티플 위드 캐리 제너레이터, Xorsshift 제너레이터 및 선형 합동 [5]제너레이터를 결합한 버전을 발표했습니다.주기는 약250 2(약75 10)입니다.

레퍼런스

  1. ^ Marsaglia, George; Zaman, Arif (1993). "The KISS generator". Technical Report, Department of Statistics, Florida State University, Tallahassee, FL, USA.
  2. ^ Rose, Greg (2018). "KISS: A Bit Too Simple" (PDF). Cryptography and Communications. 10: 123–137. doi:10.1007/s12095-017-0225-x.
  3. ^ Kneusel, Ronald T. (2018). Random Numbers and Computers. Springer. ISBN 978-3-319-77696-5.
  4. ^ L'Ecuyer, Pierre; Simard, Richard (2007). "TestU01: A C Library for Empirical Testing of Random Number Generators". ACM Transactions on Mathematical Software. 33 (4): 22–es. doi:10.1145/1268776.1268777.
  5. ^ "64-bit KISS RNGs". Feb 28, 2009.

추가 정보