π 및 e와 같은 비합리적인 숫자를 사용하여 난수를 생성 할 수 있습니까?


21

, 및 와 같은 비이성적 인 숫자 는 소수점 뒤에 고유하고 반복되지 않는 순서를 갖습니다. 그러한 숫자에서 번째 숫자를 추출하고 (여기서 은 메소드가 호출 된 횟수입니다) 숫자를 그대로 사용하여 완벽한 난수 생성기를 얻지 않아야합니까? 예를 들어, , 및 를 사용하는 경우 첫 번째 숫자는 123, 두 번째 숫자는 471, 다음 숫자는 184 등입니다.πe2nn2eπ


30
당신은 당신의 머리에 "무작위"의 이상한 정의가 있습니다. "임의"는 "예측할 수 없음"을 의미합니다. 시퀀스는 어떻게 예측할 수 없습니까? "무작위"의 정의는 무엇입니까? 아마도 당신이 "무작위"라고 부르는 것은 다른 이름을 가지고있을 것입니다.
Eric Lippert

7
노트 스피 알고리즘은 이전 자리를 생성하지 않고, 임의의 PI에서 16 진수를 생성하는데 사용될 수있다.
rcgldr

10
@EricLippert 모든 의사 난수 생성기가 예측 가능한 것은 아닙니까?
Federico Poloni

7
이 용어는 몇 번 등장했습니다. 이것은 "임의의 숫자"가 아닌 "의사 난수"입니다. 알고리즘 적으로 생성 된 숫자이므로 (임의가 아님) 임의의 숫자가 갖는 바람직한 속성이 많이 있습니다. 또 다른 알고리즘은 "NYC 전화 번호부"알고리즘입니다. 여기서 전화 번호 목록을 알파벳순으로 내려 가고 각 숫자에서 마지막 숫자를 가져옵니다. 무작위 적이지는 않지만 통계적 행동이 좋은 의사 난수입니다!
Cort Ammon-

5
"의사"는 "유사하지만 유사하지 않음"을 의미한다. 따라서 의사 난수는 난수와 유사하지만 난수는 아닙니다. 그래서 나는 당신의 생각의 기차를 따르지 않습니다. 이제 암호화 강도 PRNG는 공격자가 내부 상태를 알 수없는 경우 암호화 된 PRNG를 실제 RNG와 구별 할 수없는 통계적 테스트가 없으며 예측 가능성이없는 바람직한 특성을 가지고 있습니다. 그러나 pi의 자릿수에는 해당 속성이 없습니다. 그들은 매우 예측 가능합니다.
Eric Lippert

답변:


17

가장 명백한 단점은 비이성적 인 수에 기반한 PRNG 알고리즘의 불필요한 복잡성입니다. LCG보다 생성 된 숫자 당 훨씬 더 많은 계산이 필요합니다. 이 복잡성은 일반적으로 시퀀스를 진행함에 따라 커집니다. 2 천만 비트에서 256 비트의 π를 계산하는 데 1000 대의 컴퓨터에서 23 일이 걸렸으며 (2010 년) RNG의 경우 다소 복잡합니다.


47

완벽한 완벽한 합리적 정의의 경우, 설명하는 메커니즘은 완벽한 난수 생성기가 아닙니다.

  • 반복하지 않는 것만으로는 충분하지 않습니다. 십진수 0.101001000100001 반복되지는 않지만 답은 "항상"0, 때로는 1, 다른 것은 없기 때문에 임의의 숫자를 생성하는 끔찍한 생성기입니다.

  • 우리는 실제로 모든 숫자가 π 또는  e 의 십진 확장에서 똑같이 자주 발생하는지 알지 못합니다 (그렇지만 의심합니다).

  • 많은 상황에서 우리는 임의의 숫자를 예측할 수 없어야합니다 (실제로 임의의 사람에게 "무작위"의 의미를 물으면 예측할 수없는 것에 대해 말할 것입니다). 잘 알려진 상수의 숫자는 완전히 예측 가능합니다.

  • 우리는 일반적으로 임의의 숫자를 합리적으로 빠르게 생성하려고하지만 수학적 상수의 연속 자릿수 생성은 상당히 비싸다.

  • 그러나 π 와  e 의 자릿수는 통계적으로 무작위로 보이는데, 가능한 모든 자릿수 순서가 자주 발생하는 것처럼 보입니다. 예를 들어, 각 숫자는 10 분의 1에 매우 가깝습니다. 각 두 자리 수열은 100 개 중 1 개에 매우 가깝습니다.


11
세 번째로, 예측할 수 없도록 생성 프로세스에 일종의 '비밀'입력이 있어야합니다 (또 다른 난수 생성기에 의존하지 않으려면 생성 프로세스 자체가 결정적이어야 함). 이 추가 입력을 종종 시드 라고합니다 .
이산 도마뱀

6
@Discretelizard 이것은 사실이지만 "위치 로 시작하는 연속 숫자 반환"이외의 시드 범위는 많지 않습니다 . 당신이 본 시간까지s 그 순서는 먼저 내에서 몇 번 발생, 자리2 개 의 숫자 π 가 처음 내에서 고유 그래서, 높은 확률로 자리하고 씨앗을 알고있다. 2logss2πs
David Richerby

2
@Barmar :이 시점에서이 기술이 "표준"PRNG보다 실제로 성능이 뛰어나고 (공간 효율이 더 높은지) 묻어 야합니다.
케빈

2
파이 또는 전자의 숫자가 있습니다 뷰어 /받는 사람 / 코드 차단기 등 이미 얼마나 멀리 순서를 따라 아무 생각이 없습니다 특히 때문에, 완전하게 예측할. 시퀀스의 숫자 237423에서 시작하면 무작위로 파악하는 데 시간이 오래 걸립니다.
리버스 엔지니어

10
@DaveBoltman 우리가 암호화와 같은 일을하지 않는다면, 아무도 그것을 알아 채기 위해 신경 쓰지 않을 것입니다. 우리가 암호화를 수행하는 경우, 상대방이 어떤 알고리즘을 사용하는지 알고있는 것으로 가정합니다.이 경우 시퀀스에서 어떤 비합리적인 숫자가 나오는지, 다음과 같은 매개 변수를 제외하고는 숫자를 선택하는 방법이 포함됩니다 "자리에서 시작 ". 적이 당신이 사용하고있는 숫자를 모른다면, 다음 숫자는 문자 그대로 아무 것도 될 수 있지만, s 과 게임이 끝났습니다. my birthday
David Richerby

29

공격자가 모든 한 자리를 예측할 수 있기 때문에 암호 적으로 쓸모가 없습니다. 또한 시간이 많이 걸립니다.


11
OP는 절대 암호화 기술을 언급하지 않습니다 ...
AnoE

13
@AnoE 그래서? 암호화가 무작위의 열렬한 사용자이기 때문에이 프로세스는 암호로 쓸모가 없다는 것은 여전히 ​​관련이 있습니다. 당신은 장치를 지참 /dev/random하고 /dev/urandom누군가가 변함없이 암호화를 가져올 것이다.
그렉 슈미트-복원 모니카

6
쓸모없는 암호화 보안이 실시간 PRNG 생성에 얼마나 놀랐는지 놀라실 것입니다. 비합리적인 숫자는 종종 GPU PRNG에 사용됩니다. PRNG의 "보안"이 단순히 관련이없는 많은 응용 프로그램이 있습니다. 코 히어 런트 노이즈 생성과 같은 중요한 요소는 분포 품질과주기 반복 빈도 및 인접한 시드 (눈사태 믹서를 수정해야 함)로 인한 상관 관계 영향입니다. 솔직히 대답은 틀렸고 여기에 속하지 않으며 아마도 삭제되어야합니다.
WHN

6
이것은 질문에 대한 답변이 아닙니다. 링크 된 질문의 OP는 몬테 카를로 분석 시딩에 난수를 사용합니다. 질문 된 문제를 해결하기위한 업데이트를 고려해야합니다. mathoverflow.net/questions/26942/…
CramerTV

8
PRNG가 암호화 적으로 안전 할 필요가없는 많은 응용 프로그램이 있습니다. 그러나 OP는 어떤 목적에 유용한 지 묻지 않았으며,이 방법이 "완벽한 RNG"인지 물었다. 그들은 "완벽한"의 의미를 명확하게 밝히지 않았지만, RNG의 주요 용도 중 하나에 부적합하다는 사실은 그 질문에 대답하는 것과 매우 관련이있는 것 같습니다.
제프리 브렌트

7

( 많은 사람들이 난수 생성기가 단일 정규 시퀀스와 동일하지 않다고 지적한 후 업데이트 됨 )

π 에서 정규 시퀀스를 얻을 수 있는지 묻는 경우 (즉, 모든 숫자가 균일하게 표시됨) mathoverflow에 대한 몇 가지 답변이 있습니다. 예를 들어 Pi의 자릿수 분포에 대한 답변 은 다음과 같습니다.

... π 는 정상적인 숫자 라고 생각 합니다 (~ 모든 자릿수 시퀀스의 균일 한 분포).π

자릿수 분포 데이터는 예 : http://www.eveandersson.com/pi/precalculated-frequencies 또는 https://thestarman.pcministry.com/math/pi/RandPI.html (처음 1000 자리)을 참조하십시오 .

enter image description here

mathoverflow에는 다음과 같은 훌륭한 답변이 있습니다.


3
질문이 중복되었다고 생각하면 왜 대답합니까? 원하지 않는 게시 동작을 강화하지 말고 간단히 플래그를 지정해야합니다.
dkaeae

8
@dkaeae 다른 사이트에서 중복 된 질문에 대한 지원은 없습니다. 또한 다른 사이트의 동일한 질문에 다른 답변을 얻을 수 있습니다. 이 경우 수학과 같은 사이트 는 보안 문제를 많이 고려하지 않을 수 있습니다. 이 답변 도 참조하십시오 . 여러 사이트에서 동시에 동일한 질문을하는 것은 노력을 낭비하는 경향이 있기 때문에 권장하지 않습니다. 그러나 다른 사이트에서 다른 시간에 다른 사람들이 같은 질문을하는 것은 일반적으로 괜찮습니다.
이산 도마뱀

6
불행히도 숫자가 정상이라고해서 숫자를 출력하는 것이 좋은 RNG를 제공한다는 것을 의미하지는 않습니다. 이러한 RNG의 출력은 여전히 ​​전적으로 예측 가능합니다. 허용 여부는 응용 프로그램에 따라 다릅니다. 그래서, 나는 "pi가 정상이고 사건이 종결되었다"고 말하는 것만 큼 간단하지 않다고 생각합니다.
DW

2
그것은 처음 몇 자리에 대한 황제 관찰입니까? 그게 무슨 뜻입니까?
마샬 크래프트

1
@DW 나는 π와 e와 같은 숫자의 조합을 사용하려고한다고 언급했습니다. 그리고 발전기의 시퀀스가 ​​얼마나 먼지 모른다면 어떻게 출력을 예측할 수 있을까요?
Abhradeep Sarkar

1

일반적으로이 접근 방식은 효과가 없습니다. "무작위"라는 말은 많은 다른 숫자를 얻는다는 의미는 아니지만 다른 측면도 있습니다. 예를 들어, 고전적인 테스트는 두 자리 또는 세 자리 등의 모든 조합이 동일한 빈도로 발생하는지 확인하는 것입니다. 이것은 매우 간단한 테스트인데, 이는 명백한 비임의 결과를 배제 할 수 있지만, 실제로는 임의의 행동을 확인하기에는 너무 단순합니다.

이에 관한 기본 소스에 대한 링크 모음으로 무작위성 테스트 에 대한 Wikipedia 페이지를 참조하십시오 . 그들은 상당히 복잡한 소리를내는 개념을 많이 언급합니다. 이에 대해 자세히 설명하는 것은 중요하지 않지만 특정 숫자를 이러한 숫자의 좋은 소스로 선언하는 것은 직관적으로 불가능합니다.

긍정적 인 점 : 특정 비합리적인 숫자의 경우, 당신은 그것을 시도해 보는 것이 자유 롭습니다; 즉, 숫자를 충분히 큰 자릿수로 계산하고 알려진 모든 테스트를 통해 실행하십시오 (그 도구는 위 링크 참조). 측정은 사용 사례에 대한 충분한이며, 당신이 알고있는 경우이 cryptographical 애플리케이션에 분명히 쓸모없는, 당신이 시작하는 경우는 항상 같은 번호를 얻는다면, 당신은 과거를 얻을 경우 품질이 저하 될 수 있음을 경우 n당신이 고른 임의성을 테스트하기 위해 해당 숫자를 사용할 수 있습니다. 그러나 전용 (의사) 난수 생성기를 사용하는 것이 훨씬 좋습니다. 그리고 물리적으로 임의의 좋은 소스를 능가하는 것은 없습니다.


4
좋아 그런데 π이자형모든 2, 3, 4, ... 자리 시퀀스가 ​​경험적으로 올바른 주파수로 설정되는 특성을 갖습니다. 아무도 그것을 증명할 수 없었지만 사실 인 것 같습니다.
David Richerby

3
Ayrat의 답변은 수학자가 이러한 테스트를 수행 한 다른 사이트로 연결됩니다. 그들은 π가 통계 테스트를 만족한다고 믿지만 아직 증명하지 못했습니다.
Barmar

그렇습니다. 이것이 제가 마지막 단락에서 의미 한 바입니다. 경험적으로 시도해 보는 것은 가치가 있습니다. 그러나 임의의 "복잡하게 보이는"비합리성에 대해서는 엄격하게 입증되지 않았다 (또는 단순히 사실이라고 가정 할 수 없다). @DavidRicherby, @ Barmar
AnoE

1

많은 의사 난수와 마찬가지로 생성 방법을 알기 전까지는 정확한 난수를 제공합니다. 선택한 비이성적 인 (대수 및 초월이 아닌) 숫자는 일반적이며 다른 숫자보다 추측하기 쉽습니다. 덜 일반적으로 보이는 발전기를 선택하면이 방법에 아무런 문제가 없습니다.


4
심각한 비 효율성, 알고리즘이 무엇인지 모르는 적에게 의존한다는 사실, 생성기의 잘못된 선택으로 인해 시퀀스가 ​​잘못 될 수 있다는 사실을 제외하고는 문제가 없습니다.
David Richerby

4
그런데 질문에 제시된 숫자 중 2 대수적이며 π이자형초월 적입니다.
David Richerby

초월 숫자는 대수가 아닌 실수입니다. 실수가 대수적이지 않고 초월적일 수는 없습니다.
Brady Gilg
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.