계산 가능한 기능보다 계산 불가능한 기능이 더 많은 이유는 무엇입니까?


29

저는 현재 알고리즘과 복잡성으로 책을 읽고 있습니다. 현재 계산 가능한 함수와 계산할 수없는 함수에 대해 읽고 있으며, 저의 저서에는 계산 가능한 것보다 계산할 수없는 더 많은 함수가 있다고 말하고 있습니다. 실제로 대다수는 계산할 수 없습니다. 어떤 의미에서 나는 직관적으로 받아 들일 수 있지만이 책은 공식적인 증거를 제시하지도 않고 주제에 대해 자세히 설명하지도 않습니다.

나는 증거를보고 여기 누군가가 그것에 대해 자세히 설명하고 / 계산 가능한 기능보다 계산할 수없는 기능이 더 많은 이유를 더 엄격하게 이해하고 싶었습니다.


두 개의 무한 세트를 비교할 때 "more"의 의미를 수정해야합니다.
Raphael

답변:


31

countably 많은 계산 가능한 기능 :

각 계산 가능한 함수에는 하나 이상의 알고리즘이 있습니다. 각 알고리즘에는 유한 세트의 기호를 사용하는 유한 설명이 있습니다 (예 : 기호 사용하는 유한 이진 문자열) . 로 표시되는 유한 이진 문자열의 수 는 셀 수 있습니다 (즉, 자연수 의 수와 동일 ).{0,1}{0,1}N

따라서 계산 가능한 기능 은 최대 개수 가 많을 수 있습니다 . 각 에 대해 상수 함수 가 계산 가능 하기 때문에 계산 가능한 많은 계산 가능 함수가 적어도 있습니다 .c{0,1}f(x)=c

다시 말해, 다음과 같은 관계가 있습니다.

  • 계산 가능한 함수 세트
  • 알고리즘 세트
  • {0,1} 에서 유한 스트링 세트 및{0,1}
  • N자연수 세트 인

반면에, 거기에 uncountably 문자열 (또는 자연수)에 비해 많은 기능. 함수 (또는 )은 각 입력에 대한 값을 지정합니다. 이러한 각 값은 다른 값과 독립적으로 선택할 수 있습니다. 따라서 가능한 기능이 있습니다. 자연수에 대한 함수의 수는 실수의 수와 같습니다.f:NNf:{0,1}{0,1}NN=2N

셀 수없이 많은 함수 만 계산할 수 있기 때문에 대부분은 그렇지 않습니다. 실제로 계산할 수없는 함수의 수는 입니다.2N

이것을 직관적으로 그림으로 나타내려면 자연수와 실수 또는 유한 이진 문자열과 무한 이진 문자열에 대해 생각하십시오. 자연수와 유한 문자열보다 더 많은 실수와 무한 이진 문자열이 있습니다. 다시 말해 (이 사실에 대한 증거는 Cantor의 대각선 인수카디널 산술 참조 ).N<2N


좋은 대답입니다! 내가 이해하지 못하는 것은 (여기에 사소한 것이 누락되었을 수 있음) 을 얻는 방법은 무엇입니까? NN=2N
hsalin

추기경 산술입니다. 자연수는 무한한 이진수로 자연수의 이진수로 기록하십시오.
Kaveh

"각 알고리즘에는 유한 집합의 기호를 사용하여 유한 설명이 있습니다"라는 가정이 왜 참입니까? 알고리즘에 무한한 설명이없는 이유는 무엇입니까?
Roland Pihlakas

알고리즘 정의의 일부인 @RolandPihlakas (원하는 경우 컴퓨터 프로그램).
Kaveh December

9

계산할 수없는 많은 부울 함수의 "명시 적"구성입니다. 하자 어떤 고정 된 비 계산 가능한 부울 함수가 될, 중단 문제의 특성 기능을 말한다. 함수 집합 각 는 계산할 수 없으며 는 계산할 수 없습니다.K

F={f:N{0,1}:xN,f(2x)=K(x)}.
fFF

계산 가능한 기능을 가진 유사한 구조가 있습니다. 계산 가능한 함수 주어 ,하자 즉, 가 다르면 유한 한 값에 많은. 모든 함수 는 계산 가능합니다 (유사한 많은 차이를 하드 코딩). 이전 상황과 달리 는 셀 수 있습니다.R

G={g:N{0,1}:nNmn,g(m)=R(m).}
gGRGG

따라서 계산 가능한 경우처럼 "잠재적 인"무한대가 아닌 실제 무한대 인 "무한대"의 자유도를 가지므로 계산할 수없는 함수가 많이 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.