진정한 난수 생성기 : Turing 계산 가능?


39

나는 "정말로 임의의"숫자의 생성이 Turing 계산 가능한지 아닌지에 대한 확실한 대답을 찾고 있습니다. 나는 이것을 정확하게 표현하는 방법을 모른다. "임의의 숫자 생성을위한 효율적인 알고리즘"에 대한이 StackExchange 질문 은 내 질문에 대한 대답과 비슷합니다. Charles Stewart는 그의 대답에서 "[Martin-Löf randomity]는 기계에 의해 생성 될 수 없습니다"라고 말합니다. 로스 스나이더는 "튜링 / 등록 기계와 같은 결정 론적 프로세스는 '철학적'또는 '진정한'난수를 생성 할 수 없다"고 말했다. 진정한 난수 생성기를 구성하는 요소에 대한 명확하고 수용된 개념이 있습니까? 그렇다면 Turing Machine으로 계산할 수 없다는 것을 알고 있습니까?

아마도 관련 문헌을 가리키면 충분할 것입니다. 도움을 주셔서 감사합니다.

편집하다. 지식이 풍부한 답변에 대해 Ian과 Aaron에게 감사드립니다! 나는이 분야에서 상대적으로 학교에 다니지 않았으며 도움을 주셔서 감사합니다. 이 부록에서 질문을 조금 확장 할 수 있다면 순수한 랜덤 소스 (Oracle?)에 액세스 할 수있는 TM이 고전 TM이 할 수없는 함수를 계산할 수 있습니까?


1
"정말 임의"의 정의를 먼저 고려하면 도움이됩니다.
MS Dousti

답변:


52

나는 토론에 상당히 늦게 참여하고 있지만, 이전에 제기 된 몇 가지 질문에 답하려고 노력할 것입니다.

먼저 Aaron Sterling이 관찰 한 것처럼 "정확한 임의의"숫자, 특히 계산 복잡성 또는 계산 관점에서 사물을보고있는 경우의 의미를 결정하는 것이 중요합니다.

그러나 복잡한 이론에서 사람들은 주로 의사 난수 ( pseudo- randomness), 의사 난수 생성기 ( pseudo- random generator), 즉 문자열에서 문자열까지의 함수에 관심 이있어 출력 시퀀스의 분포가 효율적인 프로세스에 의해 균일 한 분포와 구별 될 수 없다 (여러 시간 계산, 다항 크기 회로 등과 같은 여러 가지 효율적인 의미 가 고려 될 수있는 경우). 그것은 아름답고 매우 활발한 연구 영역입니다,하지만 대부분의 사람들이이 연구는 진정으로 무작위없는 객체 동의 것이라고 생각, 그들이 단지 충분하다 보면 (따라서 용어는 "의사")를 무작위로.

계산 이론에서, "진정한 무작위성"에 대한 좋은 개념이 무엇인지에 대한 의견이 나 왔으며, 실제로 Martin-Löf의 무작위성 개념이 우세한 개념이다. Martin-Löf randomness의 좋은 속성). 문제를 단순화하기 위해 무한 이진 시퀀스의 무작위성을 고려할 것입니다 (문자열에서 문자열까지의 함수와 같은 다른 객체는 이러한 시퀀스로 쉽게 인코딩 할 수 있습니다).

계산 가능한 프로세스 가 없는 경우 (이 프로세스를 3 배 지수 시간 이상으로 계산할 수있는 경우에도) 무한 이진 시퀀스 는 Martin-Löf 랜덤 입니다.α

(1) "무작위 결함"이란 무엇을 의미합니까? 그 부분은 쉽습니다 : 그것은 측정 값 0의 집합입니다. 즉, 거의 모든 시퀀스가 ​​갖지 않는 속성입니다 (여기서 우리는 Lebesgue 측정 값 에 대해 이야기 합니다. 즉, 각 비트가 다른 비트와 독립적 으로 확률 이 있는 측정 값입니다) 비트). 이러한 결함의 예는 "무의식적으로 1/3의 0과 2/3의 1"로 많은 수의 법칙을 위반하는 것입니다. 또 다른 예는 "모든 n에 대해 의 첫 2n 비트 가 완벽하게 분포됩니다 (1만큼 많은 0)"입니다. 이 경우 많은 수의 법칙은 만족 스럽지만 중심 한계 정리는 아닙니다. 등0 α1/20α
(2) 시퀀스가 ​​특정 측정 단위 0에 속하지 않는 계산 가능한 프로세스 테스트 방법은 무엇입니까? 다시 말해, 어떤 측정 값 세트 0을 계산 가능하게 설명 할 수 있습니까? 이것이 바로 Martin-Löf 테스트에 관한 것입니다. Martin-Löf 테스트는 입력 k를 계산할 수있는 경우 (즉, 입력 있는 Turing 머신을 통해 ) 일련의 문자열 , 생성 하는 계산 가능한 절차입니다 . 따라서 중 하나로 시작하는 무한 시퀀스의 세트 는 최대 측정됩니다 (토폴로지가 마음에 들면 제품 토폴로지에서 열린 세트 임). 무한 이진 시퀀스). 그런 다음 세트kwk,0wk,1Ukwk,i2kG=kUk측정 값은 이며 Martin-Löf nullset이라고 합니다. 이제 무한 바이너리 시퀀스 가 Martin-Löf nullset에 속하지 않으면 Martin-Löf 랜덤 이라고 말함으로써 Martin-Löf 랜덤 성을 정의 할 수 있습니다 . 0α

이 정의는 기술적 인 것처럼 보이지만 몇 가지 이유로 올바른 것으로 널리 인정됩니다.

  • 충분히 효과적입니다. 즉, 그 정의에는 계산 가능한 프로세스가 포함됩니다
  • 충분히 강하다 : 확률 이론 교재 (많은 수의 법칙, 반복 로그의 법칙 등)에서 찾을 수있는 "거의 확실한"속성은 Martin-Löf 테스트로 테스트 할 수있다 (때로는 증명하기 어렵다)
  • 다른 정의를 사용하는 여러 사람들에 의해 독립적으로 제안되었습니다 (특히 Kolmogorov 복잡성을 사용하는 Levin-Chaitin 정의). 그리고 그것들이 모두 같은 개념으로 이어진다는 사실은 그것이 올바른 개념이어야한다는 힌트입니다 (튜링 머신, 재귀 함수, 람다 미적분 등을 통해 정의 될 수있는 계산 가능한 기능의 개념과 비슷합니다).
  • 그 뒤에 수학적 이론은 매우 좋습니다! Kolmogorov의 복잡성 및 응용 프로그램 소개 (Li 및 Vitanyi), 알고리즘의 임의성 및 복잡성 (Downey 및 Hirschfeldt)의 계산 및 임의성 (Nies) 이라는 3 가지 훌륭한 책을 참조하십시오 .

Martin-Löf 랜덤 시퀀스는 어떻게 생겼습니까? 음, 완벽하게 균형 잡힌 동전을 가져 와서 뒤집기 시작하십시오. 뒤집을 때마다 머리에 0을, 꼬리에 1을 쓰십시오. 시간이 끝날 때까지 계속하십시오. 그것이 Martin-Löf 시퀀스의 모습입니다 :-)

이제 초기 질문으로 돌아갑니다. Martin-Löf 랜덤 시퀀스를 생성하는 계산 가능한 방법이 있습니까? 계산 가능한 프로세스를 사용하여 시퀀스 를 생성 할 수 있다면 계산 가능한 프로세스를 사용하여 싱글 톤 { } 을 설명 할 수 있으므로 는 임의적이지 않기 때문에 직관적으로 대답은 NO 입니다. 공식적으로 이것은 다음과 같이 수행됩니다. 시퀀스 가 계산 가능하다고 가정하십시오 . 다음 Martin-Löf 테스트를 고려하십시오. 모든 대해 길이 의 접두사 를 출력하고 다른 것은 출력하지 . 이것은 최대 (실제로 정확히)ααααkakαk2k정의에서와 같이 세트 의 교집합 은 정확히 { }입니다. QED !!Ukα

실제로 Martin-Löf 랜덤 시퀀스 는 훨씬 더 강력한 의미로 계산할 수 없습니다. oracle (그 자체가 무한 이진 시퀀스 임)를 사용 하여 일부 oracle 계산이 계산할 수 있으면 모든 , 비트에 대해 는 의 첫 번째 비트 를 계산하는 데 필요하다 (실제로는 Martin-Löf randomness 의 특성 이다. 불행히도 문헌 에서처럼 거의 언급되지 않음).αβαnnO(1)βnα


자 이제 요셉의 질문의 "편집"부분 : 순수한 랜덤 소스 (오라클?)에 접근 할 수있는 TM이 고전적인 TM이 할 수없는 함수를 계산할 수 있는가?

계산 성의 관점에서 대답은 "예와 아니오"입니다. 오라클이 랜덤 소스에 액세스 할 수있는 경우 (출력이 무한 이진 시퀀스로 표시됨) 확률이 1 인 경우 Martin-Löf 랜덤 오라클을 얻을 수 있습니다. 앞에서 본 Martin-Löf 랜덤은 계산 가능하므로 오라클 자체를 출력하기에 충분합니다! 또는 함수 을 원한다면, 모든 대해 오라클 의 첫 비트 중 0이 몇 개인지를 알려주 는 함수 를 고려할 수 있습니다 . 오라클이 Martin-Löf 랜덤이라면이 기능은 계산할 수 없습니다.f:NNfnn

그러나 물론 이것이 부정 행위라고 주장 할 수도 있습니다. 실제로 다른 오라클의 경우 다른 기능을 수행 할 수 있으므로 재현 할 수없는 문제가 있습니다. 따라서 귀하의 질문을 이해하는 또 다른 방법은 다음입니다 : 함수가되는 비 계산 가능하지만, 이는이 임의의 오라클에 대한 액세스와 함께 튜링 기계가 있다는 의미에서 "긍정적 인 확률로 계산"할 수있는, (Oracle을 통해) 양의 확률로 계산합니다 . 그 증거는 매우 간단한 자루 이론으로 인해 대답은 아니다. 실제로 Robin Kothari가 주로 대답했습니다 .TM이 정확할 확률이 1/2보다 크면 입력 하여 가능한 모든 oracle 계산에서 모든 을 찾을 수 있습니다f n n f ϵ > 0 σ σ f σffnn"거대한 투표"를 얻는 결과, 즉 1/2 이상의 측정 오라클에 의해 생성 된 결과를 찾습니다 (이것은 효과적으로 수행 될 수 있습니다). 인수는 더 작은 확률로 확장됩니다 . 확률이 TM 출력 를 가정하십시오 . Lebesgue의 밀도 정리에는 유한 문자열 가 있으므로 오라클의 첫 번째 비트를 정확히 로 고정 한 다음 다른 비트를 무작위로 가져 오면 적어도 0.99의 확률로 를 계산 합니다. 이러한 를 취함으로써 위의 인수를 다시 적용 할 수 있습니다.fϵ>0σσfσ


8
정말 아름다운 답변입니다.
Suresh Venkat

1
이 (나에게!) 얽힌 질문에 대한 귀하의 상세한 답변의 명확성에 매우 감사드립니다. 감사!
Joseph O'Rourke

12

귀하의 질문에 대답하기 위해 "계산 가능한 계산"과 "유효하게 계산 가능한"사이에는 구별이있을 수 있습니다. "무작위 프로세스"를 "어떤 리소스가 있든 예측할 수없는 프로세스"로 정의하고 "결정적 프로세스"를 "많은 리소스에 대한 입력 및 액세스를 고려하여 예측 가능한 프로세스"로 정의한 경우, "Turing 컴퓨터를 알고 시뮬레이션 한 경우 다음 프로세스의"실험 "결과를 항상 예측할 수 있기 때문에 어떠한 Turing 계산 기능도 랜덤이 될 수 없습니다.

이 프레임 워크에서 Martin-Lof 테스트는 결정 론적 프로세스로 볼 수 있으며 랜덤 시퀀스의 정의는 정확하게 Martin-Lof 테스트 / Turing 계산 가능 / 결정적 프로세스에 의해 동작이 예측되지 않는 시퀀스입니다.

그러나 이것은 "실제에서 무작위 순서가 효과적으로 계산할 수 있는가?"라는 질문을 제기합니다. 실제로 여기에는 산업이 있습니다. 물리적 시스템 등의 컴퓨터 시뮬레이션을 수행하는 데 사용되는 수십억 개의 임의 (?) 비트가 포함 된 CD가 게시되어 있습니다.이 CD는 비트 시퀀스가 ​​여러 Martin-Lof 테스트를 통과하도록 보장합니다. The Drunkard 's Walk : How Randomness Rules Our Lives 책 은이 문제에 대한 팝적인 설명을보다 자세하게 설명합니다.

관련이없는 요점 : 나는 당신의 칼럼을 즐깁니다. :-)


11

직관적으로 "임의"는 "예측할 수 없음"을 의미하며 기계를 실행하여 Turing 기계에서 생성 된 모든 시퀀스를 예측할 수 있으므로 Turing 기계는 "정확히 임의의"숫자를 생성 할 수 없습니다. 무작위 시퀀스에 대한 많은 공식적인 정의가 있습니다 (무작위는 문자열의 길이가 무한대에 가까워 질 때만 의미가 있습니다). 모두 본질적으로 동일합니다. 아마도 가장 자연스러운 것은 Martin-Lof randomness인데, 이는 시퀀스가 ​​확률론에 대한 모든 계산 가능한 통계 테스트를 통과한다는 것을 의미하고, Chaitin random은 모든 초기 하위 시퀀스를 압축 할 수 없음을 의미합니다 (보다 구체적으로 높은 Kolmogorov 복잡도를 가짐). 이 두 가지 정의 모두에서 무작위 시퀀스를 생성하고 인식하는 것은 계산할 수 없습니다. "정보 및 임의성"책을 참조하십시오.


여기에 링크 : amazon.com/…
Suresh Venkat

고마워요, Ian & Suresh, 도서관에서 그 책을 검색하고 있습니다!
Joseph O'Rourke

또 다른 위대한 책은 Nies의 "계산 및 임의성"입니다.
Diego de Estrada

11

임의의 숫자를 생성하는 산술적 방법을 고려하는 사람은 물론 죄의 상태에 있습니다. 여러 번 지적한 바와 같이, 난수와 같은 것은 없습니다. 난수를 생성하는 방법 만이 있으며, 엄격한 산술 절차는 그러한 방법이 아닙니다. — 존 폰 노이만


하아! 좋은 인용문, 제프! 그리고 실질적인 요점으로.
Joseph O'Rourke

7

아무도 당신의 부록에 대답하지 않은 것 같습니다. 그래서 나는 그것을 쏠 것입니다 :

이 부록에서 질문을 조금 확장 할 수 있다면 순수한 랜덤 소스 (Oracle?)에 액세스 할 수있는 TM이 고전 TM이 할 수없는 함수를 계산할 수 있습니까?

질문을 더 정확하게하고 답을하려고합니다. (내 버전은 당신이 생각한 것이 아닐 수도 있으므로 그렇지 않은 경우 알려주십시오.)

난수 생성기에 액세스 할 수있는 결정적 TM이 있습니다. 이 TM은 이제 임의의 방식으로 난수 생성기를 사용하여 일부 함수 (실제 함수, 즉 입력 공간에서 출력 공간으로의 결정적 맵)를 계산합니다.

랜덤성에 대한 액세스 권한이있는 TM이 오류를 허용합니까? 그렇지 않은 경우, DTM은 어떤 임의의 비트를 제공했는지에 상관없이 정답을 제공해야합니다. 이 경우 임의의 문자열을 00000으로 지정할 수 있으므로 임의의 비트는 필요하지 않습니다.

DTM이 실수를 할 수는 있지만 무작위 추측보다 정답을 더 자주 받아야하는 경우 무작위 소스 없이도 할 수 있습니다. 이 DTM은 함수를 계산합니다 . 여기서 x는 입력이고, r은 oracle에서 가져온 임의의 문자열이며 는 출력의 비트입니다. DTM은 이제 가능한 모든 문자열 반복 하고 대다수 출력이 무엇인지보고 출력 할 수 있습니다.f를 r에fi(x,r)fir


"그렇지 않다면 DTM은 어떤 임의의 비트를 제공하든 정답을 제공해야합니다." 감사!
Joseph O'Rourke

실제로 나는 이것을 얻지 못한다. P = ZPP이거나 오류가 0 인 무작위 알고리즘 (예 : 라스 베이거스 알고리즘)이 결정적이어야한다고 제안하는 것 같습니다.
Suresh Venkat

언어를 결정하는 오라클 액세스 권한을 가진 DTM에 의해 제한된 시간이 지나면 DTM이 정지한다고 가정했습니다. 이 경우 오라클을 제거 할 수 있습니다. 제로 오류의 경우 0000 ...으로 대체하고 다른 목적으로 모든 유한 길이의 임의 문자열에 대해 무차별 강제 할 수 있습니다. (아마도 Las Vegas 알고리즘이 반드시 종료되는 것은 아니기 때문에 실제로는 알고리즘이 아니라는 의견이있을 것입니다.)
Robin Kothari

5

"질문 편집"과 관련하여 : 계산이나 복잡성에 대해 질문하는 경우 큰 차이가 있습니다. TM에 복잡성 한계가있는 경우 소위 랜덤 oracle 모델 을 얻습니다 . TM이 임의로 대량이지만 유한 한 자원을 사용할 수 있다면 상대 랜덤 의 세계에있는 것입니다 . Turing 학위가있는 것처럼 무작위 계층의 오라클이 있습니다. (사이드 포인트 : Koblitz와 Menzes의 유명한 비평 중 하나는 랜덤 오라클 모델의 사용에 관한 것이 었으므로 메타 질문은 최근의 학계 토론에 영향을 미치고 있습니다.)


그러나 명확히하기 위해 Joe는 임의의 오라클 (기본적으로 임의의 해시 함수) 또는 임의의 소스를 원했습니까? 이것들은 똑같지 않습니까?
Suresh Venkat

고마워, Aaron, 무작위 오라클 계층에 대한 언급이 유용합니다.
Joseph O'Rourke

@Suresh : 나는 무작위의 근원을 의미했다.
Joseph O'Rourke

둘 다 아마도 나보다 앞서 있을지 모르지만 난수는 "참조 프레임", 즉 예측에 사용할 수있는 리소스와 관련하여 정의되어야한다고 말하려고했습니다. "임의의 소스"는 Turing 머신과 관련하여 무작위 일 수 있지만 Halting Oracle과 관련하여는 아닙니다. Robin Kothari의 답변에 동의합니다. 필자의 요점은 "순수한 무작위 소스"가 현재 정의에 존재하지 않는 것 같다는 점이다.
Aaron Sterling

5

나는 아직도 수정 된 질문, 특히 TM에 제한을 두는 것을 이해하려고 노력하고 있습니다. 따라서이 답변이 원하는 것을 정확히 얻지 못할 수도 있지만 약간 좁히는 데 도움이 될 수 있습니다.

우리 는 볼록 체의 부피를 결정 론적으로 작은 지수로 근사 하면 무조건 불가능한 결과 가 있다는 것을 알고 있습니다 (이것은 Bárány와 Füredi 의 오래된 결과입니다 ). 반대로 샘플링을 사용하여이 문제에 대한 FPRAS얻을 수 있습니다 . 찾고있는 분리의 예입니까?


이 결과는 다항식 시간 알고리즘에 대한 것입니다. 나는 OP의 문제를 복잡성 이론이 아닌 계산 성 이론에 대한 질문으로 해석했다. "DTM에 의해 해결 된 문제가 + DTM에 의해 해결 된 것보다 더 큰 무작위성 원인입니까?"라는 의미로 해석했습니다.
Robin Kothari

이것은 가능하다. 따라서 나는 그것을 더 자세하게 살리려고 노력했다. 계산 수준에서 불일치로 인해 교회 튜링 논문을 무효화 할 수 있습니다.
Suresh Venkat

나는 그 볼륨 예를 좋아한다! 계산 성 이론에 대해 구체적으로 질문했지만 복잡성 차이에도 관심이 있습니다. 이전 답변이 진정한 무작위의 순수한 출처가 계산 가능하지 않다는 것을 입증했기 때문에 이것이 어떻게 CT를 ​​무효화 할 수 있는지 알지 못합니다 ...?
Joseph O'Rourke

임의의 소스 (수용 기준, 정지 확률 등)에 액세스 할 수있는 DTM의 의미를 공식화하면이 모델이 재귀 언어도 정확하게 계산 함을 보여줄 수 있어야합니다.
Robin Kothari

참 (계산 가능한 영역에서). 그러나 이제 나는 궁금합니다 : i 번째 비트가 자체 인코딩으로 i 번째 터닝 머신을 실행 한 결과 인 문자열을 구성한다고 가정하십시오. 이 문자열을 예측하면 Halting 문제를 해결하는 것과 일치하며 Martin-Lof 의미에서이 문자열은 무작위입니까?
Suresh Venkat
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.