정지 문제에서, 주어진 튜링 머신 ( 이 주어진 입력 ( 에서 정지 되는지 여부를 알 수 있는 튜링 머신 (Tinging machine) 가 있는지 관심이있다 . 일반적으로 이러한 가 존재 한다고 가정하면 증명이 시작됩니다 . 그런 다음 를 제한 한 다음 대각 인수의 인스턴스를 사용하여 모순을 도출 하는 경우를 고려합니다 . 만약 우리가 이라는 약속을한다면 그 증거는 어떻게 됩니까? 무엇 PROMISE에 관하여 , 에 기능적으로 동일 ?
TI T는 내가 M 내가 ≠ M 내가 ≠ M ‘ M ‘ M
Mi
T
i
M
i≠M
i≠M′
M′
M
답변
HALTS가 입력을 및 쌍으로 읽는 TM이라고 가정합니다 . 여기서 은 TM 인코딩이고 는 해당 TM에 대한 입력입니다.x M x
Mx
M
x
우리가 중지 모든 입력에 대해 정지 문제를 해결 가정하면 무슨 일이 일어날 경우 귀하의 질문은 있도록 동일한 기능을하는 TM의 인코딩되지 않습니다 .X M
⟨M,x⟩x
M
나는 이것이 모순을 의미한다고 주장한다. 나는 그 자리에서 이것을 생각해 냈으므로 내 증거에 대한 모든 비판을 환영합니다. 증거의 개념은 자체적으로 무언가를 대각선 화하는 대신, 일부 입력에서 다르게 동작하는 두 개의 상호 재귀 TM을 만들지 만 (기능적으로 동일하지는 않지만) 모순을 유발한다는 것입니다.
하자 와 (우리는 등, 시뮬레이션 인쇄 할 수있는 말을하는 것입니다, 설명이 상호 재귀 개의 TM 될 의 프로그램 내부 와 그 반대의 경우도 마찬가지). 재귀 정리에서 상호 재귀 TM을 만들 수 있습니다.D 2 D 2 D 1
D1D2
D2
D1
다음과 같이 및 를 정의하십시오 . 입력 , (임의로 10 개 선택)이면 수락하고 루프를 수락 합니다. (따라서 기능적으로 동일하지 않습니다).D 2 x | x | < 10 D 1 D 2
D1D2
x
|x|<10
D1
D2
입력 감안할 때 와 정의 에 시뮬레이션을 정지 및 중지 경우 정지하는 경우 또는 루프 루프.| x | ≥ 10 D 1 ⟨ D 2 , X ⟩ D 2 D 2
x|x|≥10
D1
⟨D2,x⟩
D2
D2
입력 감안할 때 와 정의 에 시뮬레이션을 정지 루프 경우 정지하고있는 경우 또는 정지 D 1 루프.| x | ≥ 10 D 2 ⟨ D 1 , X ⟩ D 1
x|x|≥10
D2
⟨D1,x⟩
D1
D1
그런 다음주의 그 어떤을위한 와 | x | ≥ 10 , D 1 (x)가 멈추거나 반복됩니다. 경우 D 1 입력 (X)에 정지하고는, 우리가 아는 정지 ( D 2 , X)을 결정하는 D는 2 입력 (X)에 정지하고. 그러나 입력 x 에서 D 2가 중지되면 HALTS ( D 1 , x) 가 반복됨을 의미합니다 .
x|x|≥10
D1
D1
D2
D2
D2
D1
경우 입력에 X의 루프, 모순 유사하게 다음과 같습니다.
D1x
가 D 1 또는 D 2 와 기능적으로 동등한 튜링 기계의 인코딩이 아닌 경우 이는 모순 입니다.이 경우 HALTS에 정의되지 않은 동작이 있습니다. 그러나 x 가 10 보다 큰 모든 문자열에서 임의로 선택되었습니다 . 따라서, 다르게 동작 (10)보다 큰 사이즈의 인코딩 튜링 기계가 존재 표시 남아 D (1) 및 D (2) . 그런 기계를 사소하게 만들 수 있습니다. QED.
xD1
D2
x
10
D1
D2
생각?
답변
당신은 여전히 숲에서 벗어나지 않습니다. 당신은 지금 당신이 그것을 다른 TM, 줄, 같은 문제로 실행하는 당신이 선택한 입력으로 M을 ' 기능적으로 동등하다고 M (당신이 새 규칙을 추가 말할 M 그래서 M ' 의 오프닝 이동 한 단계 오른쪽, 한 단계 왼쪽이며 그렇지 않으면 변경하지 않습니다). 여전히 모순이 발생합니다. M 과 동등한 모든 TM을 제거하려고 시도 할 수는 있지만 결정 할 수없는 세트입니다.
M′M′
M
M
M′
M
업데이트 . ⟨ 인코딩 체계 수정 는 TM M 의 해당 체계에 대한 설명을 나타내며TM, H 가 있다고 가정합니다.
⟨M⟩M
H
- 는 x 가 H 와 동일한 부분 함수를 계산하는 TM의 인코딩 일때 정의되지 않습니다(즉, x 와 H 는 기능적으로 동일합니다).
H(⟨M⟩,x) x H x H - 다른 모든 입력의 경우 는 M ( x )가 중지 된경우에만 true를 반환합니다.
H(⟨M⟩,x) M(x)
이제 일반적인 대각선 구조는 여전히 모순을 초래합니다. 에 의해 TM 를 정의하십시오
QQ(x)=
if H(<Q>, x) = false
return true
else
loop forever
분명히 와 H 는 기능적으로 동등하지 않으므로 x = ⟨
QH
찾아 그 Q ( ⟨
x=⟨Q⟩는 멈추지 않는 경우에만 정지하므로 TM H는 없습니다.
Q(⟨Q⟩)H