2012-08-22 3 views
2

다음은 난수에 대한 큰 질문입니다. 일련의 난수에 숫자의 반복이 포함될 수 있습니까?일련의 순수한 난수에 대한 혼동

순수 난수라고 불리는 것에 대해 혼란스러워합니까? 우리가 0-9 범위의 20 개의 난수를 생성하기를 원한다면 반복이 있어야하지만 분명히 그 시리즈가 순수한 난수라고 말할 수는 없을 것입니다. 맞습니까?

+1

순수한 난수는 비 결정적입니다. 그처럼 간단합니다. 손에있는 철학을 무시합니다. – nullpotent

+7

http://dilbert.com/dyn/str_strip/000000000/00000000/0000000/000000/00000/2000/300/2318/2318.strip.gif –

답변

4

일반적으로 특정 시퀀스가 ​​무작위라고 말하지는 않습니다. 대신, 우리는 무작위 분포 (가능한 많은 시퀀스와 그 확률)에 대해 이야기합니다.

동전을 던지면 머리가 위로 올라가거나 꼬리에 올 수 있습니다. 머리는 무작위가 아니며 꼬리는 무작위가 아닙니다. 무작위로 동전을 뒤집는 행위입니다.

무작위 순서는 여러 가지 다른 분포에서 추출 (또는 샘플링) 될 수 있습니다. 우리가 유통을 선택할 때 우리는 종종 어떤 물리적 인 과정을 모델링하려고합니다. 예를 들어 몇 개의 다이 롤을 순서대로 모델링하고 싶다면 1에서 6까지 여러 정수를 그릴 수 있습니다. 우리가 모델링 한 다이 롤에 반복이있을 수 있기 때문에 그리기에는 반복이있을 수 있습니다. 시퀀스 [1, 1, 1]은 [2, 5, 3]과 같은 발생 확률을 갖는다. 각 확률이 동일한 확률 분포를 균일이라고합니다.

셔플 링 카드를 모델링하려면 반복 할 수 없습니다. 카드의 실제 데크가 셔플되면 각 카드에는 정확히 한 위치가 있습니다. 그것은 반복 될 수 없다. 이 경우 시퀀스 [1, 1, 1]은 발생할 수 없습니다. 셔플 링 카드에 대한 분배 또한 일정 할 것이지만 (모든 확률은 동등한 확률을가집니다) 반복이있는 시퀀스는 포함하지 않을 것입니다.

임의 분포에서 시퀀스를 선택하는 데 사용되는 계산 방법은 분포에 따라 다릅니다. 반복하지 않는 생성자에서 반복하지 않고 시퀀스를 생성하려면 간단히 생성기에서 샘플을 수집하고 반복 여부를 테스트하고 반복 일 경우 폐기하고 다시 시도하십시오. 이것은 작동하지만, 이러한 시퀀스를 계산하는보다 효율적인 방법이 있습니다.

분포의 여러 샘플 평균 또는 고객 도달 시간 샘플과 같은 상황에서 발생하는 불균등 확률 분포도 있습니다.

5

물론 일련의 난수에는 숫자의 반복이 포함될 수 있습니다. 순전히 무작위 주사위를 던지면 두 번 연속 같은 숫자가됩니다!

3

실제로 임의의 숫자에는 반복되는 시퀀스가 ​​포함됩니다. 진정으로 무작위적인 시퀀스와 분명히 무작위적인 시퀀스를 생성하려고하는 인간의 차이를 알 수있는 가장 좋은 방법 중 하나는 인간이 생성 한 시퀀스에서 반복되는 시간이 더 적다는 것입니다.

임의로 생성 된 숫자의 중요한 속성 중 또 다른 하나는 다음 번호의 출현 확률이 관찰 된 이전 숫자와 이상적으로 관련이 없어야한다는 것입니다. 예를 들어, 무작위로 동전의 머리에 99 개의 동전을 뒤집어 씌우는 것은 100 번째 동전이 올라 오는 확률에 영향을주지 않습니다. 동전이 실제로 균형을 잡지 못하는 좋은 경우가있을 수 있습니다 ...

편집 : 문자열의 http://en.wikipedia.org/wiki/Statistical_randomness

성공 또는 실패 : 통계 임의성에 위키 피 디아 기사에 관심있는 독자를 일련의 숫자가 무작위 여부를 결정 여부를 내가 직접 여기에 대해 제기 질문에 대한 응답으로 숫자 (그래서 그 숫자의 생성자)는 일반적으로 임의성 테스트 배터리를 적용하여 측정됩니다. 예를 들어, 큰 수의 그룹에 하나의 숫자가 너무 많으면 숫자 배포가 일정하지 않다고 합리적으로 판단 할 수 있습니다. 마찬가지로, 임의 숫자의 목록에서 0 이후에 발생하는 모든 숫자 만 계산하는 경우에도 균일 한 분포라고 예상해야합니다. 또한 배포판에서 특정 숫자의 두 자리 ('00'또는 '11 ')를 기대합니다. 무수한 숫자의 테스트가 있습니다. 숫자 순서대로 던져 넣을 수 있습니다. 테스트가 실패하면 테스트가 더 적어 질수록 (동일한 테스트의 임의성 소스와 비교할 때) 무작위 수를 근사하는 작업이 '더 나은'것입니다 순서.

기계의 상태를 기반으로 난수 생성기의 출력을 결정하거나 입력을 기반으로 출력을 안정적으로 생성 할 수있는 기능으로 다소 불규칙적 인 것은 아닙니다. 출력의 무작위성 만 중요합니다. 그러나 무작위성을 응용할 때 공격자가 임의의 숫자를 결정하는 능력은 일반적으로 응용 프로그램에 매우 나쁜 영향을 미칩니다. (특히 암호화 및 도박 응용 프로그램)

+0

최근에 저는 algrthm 4 순수 난수 생성과 같은 작업을하고 있습니다. 우리는 abt 프로그래밍 언어 (C, java ..)를 사용하여 함수 2가 임의의 숫자를 생성하지만 모든 의사 난수를 생성합니다. 2 일 동안 정수로 number의 RAM에 d 개의 자유 바이트를 반환하는 함수를 만듭니다. 수량 f를 사용하는 메모리가 실행 시스템에 따라 달라집니다 난 내게 임의의 숫자를 줄 것 같아요. 나는 100 + 타이머에서 실행되는 함수에 의해 생성 된 번호를 확인 & 숫자는 아주 아주 몇 번 반복되고, 내 기능에 행복 할 수 있습니다 순수한 난수를 줄 수 있다고 가정 할 때, 뭐라구? –

+0

이 질문에 대한 답변으로 제 답변에 좀 더 자세한 내용을 추가했습니다. 컴퓨터의 사용 가능한 RAM이 균등하게 분산되어 있다면 매우 놀랍습니다. 말하자면,이 숫자 mod 8을 사용하면 점진적으로 더 많은 것을 알 수 있습니다. 그러나 위에서 언급했듯이 공격자에게 임의성의 소스에 대한 단순한 제어를 제공하여 의도하지 않은 동작을 일으킬 수있는 임의성의 어플리케이션에서는 위험합니다. (UNIX와 Windows는 이와 같은 순서로 많은 임의성 소스를 집계한다고 생각합니다. 난수 생성기를 시드합니다.) – argentage