2012-04-11 3 views
-2

현재 임의 생성 표준을 기반으로 알고리즘을 작성해야합니다. 제 말은, 기존의 것을 고르고 다양한 요소들과 결합해야한다는 것입니다 (기존의 사실을 학습하는 수단 일 수도 있습니다). 그래서 무작위 발전기에 대한 기사를 읽기에 가장 좋은 곳은 무엇입니까? 나는 Wiki를 안다. 그러나 유한 한 시작을 가지려면 필자는 몇 가지 기사 나 논문을 읽어야한다. 게다가, 나는 빠른 시작이 필요하다. 현재 존재하는 무작위 생성기는 무엇이며 어떤 요인을 고려합니까? 그것에 사실을 부과하는 것이 얼마나 타당한가?최상의 난수 방정식

+2

우리는 사서가 아닙니다 ... – MarioDS

답변

1

현재 알고리즘은 임의의 숫자를 생성하지 않습니다. 그들은 의사 -random 번호를 생성합니다. 어느 것이 같은 것이 아닙니다.

랜덤 임의의 종류의 하드웨어를 사용하여 정상적으로 자연으로부터 숫자를 얻을 수 있습니다. 예를 들어, 대기 소음을 수신하도록 튜닝 된 FM 튜너의 음량을 읽으면 숫자가 상당히 무작위입니다. 그러한 발전기의 예는 random.org입니다. 주사위 던지기 또는 동전 던지기 로봇 또는 something similar을 구현할 수도 있습니다. 리눅스에서는 임의의 이벤트를 생성하기 위해 사용자를 사용하는/dev/random을 사용할 수 있습니다. 의사 - 랜덤 넘버 발생기는 암호화에 사용될 수있는 고품질의 난수를 생성하는 경우

결정하기 위해, PRNG 의해 생성 된 데이터는 this PRNG로서 테스트를 통과해야한다. 이는 쉽지 않으며 많은 PRNG가 비참하게 실패합니다. 상대적으로 높은 품질의 의사 번호 -random 번호를 생성하고 구현하기 쉬운 알고리즘 중 하나는 XorShift입니다. 그러나 쉽게 구현한다고해서 특정 발전기 뒤에있는 logic을 쉽게 이해할 수있는 것은 아닙니다.

또한 빠른 시작이 필요합니다.

모든 주제 퀵 스타트에서와 마찬가지로 위키 피 디아로 가서 주제에 대한 모든 참조 또는 Google을 읽는 것입니다. 지금까지는 그렇게하려고하지 않은 것 같습니다.

내가 아니 그렇게하지

위키

알 수 없습니다. 당신이 "wiki"를 알고 있다면 모든 기사의 끝에는 기사를 쓰는 데 사용 된 출처 목록이 있다는 것을 알 것입니다. 출처를 읽으십시오.

+0

en-lighting me .. 감사합니다. :) – DumboJumbo

+0

운영 체제의 암호화 PRNG는 여전히 PRNG이지만 외부 세계 엔트로피를 기반으로합니다. 리눅스에서는 엔트로피 풀에서 무작위가 아닌 무작위로 직접 숫자를 그릴 수 있습니다. 그리고 여전히 알고리즘이 관련되어 있습니다. – Joey

+0

질문에 대한 질문에 대한 임의의 조언 : 위키피디아에서 읽은 발전기를 소개하는 문서를 읽으십시오. 그리고 나서 참조 된 논문을 폭넓게 읽으십시오. – Joey

2

당신이 무엇을하고 있는지 잘 모르는 경우 (귀하의 질문이 L' Ecuyer 또는 Marsaglia와 같은 사람인 것처럼 들리지 않음), PRNG를 수정하거나 결합하지 마십시오. 발전기의 품질을 향상시키는 것보다 발전기의 품질을 해칠 가능성이 더 큽니다.

이 조언은 귀하가 영원한 PRNG에 관해 언급 한 경우 더욱 유효합니다.