절대 멈추지 않는 기계가 항상 반복됩니까?


22

정확히 동일한 테이프의 동일한 셀에 읽기 / 쓰기 헤드가있는 이전에 발생한 상태로 돌아가는 튜링 머신은 루프에 걸립 니 다. 그런 기계는 멈추지 않습니다.

누군가가 멈추지 않는 끊임없는 기계의 예를 제시 할 수 있습니까?


1
참고 : 테이프도 다를 수 있습니다. TM이 동일한 상태에서 단계 과 단계 t 2 > t 1 에서 동일한 셀에 들어갈 때 무한 루프에 대한 충분한 (그러나 필요하지는 않은) 조건 은 다음과 같습니다. 단계 t 2 단계의 헤드에 의해 방문 테이프 부분 스텝 단지 들어가기 전에 대응하는 부분과 동일하다 . t1t2>t1t2t 2 t 1t1t2t1
Vor

4
중단하지 않기 위해 TM을 반복해야하는 경우 TM의 중지 문제를 상당히 쉽게 해결할 수 있습니다. 이전의 모든 구성을 기억하고 각 단계에서 본 구성에 있는지 확인하십시오. 전에, 그리고 그렇다면, 당신은 그 일이 멈추지 않는다는 것을 알고 있습니다 (그렇지 않으면, 우리는 영원히 실행하기 위해 반복해야한다고 가정하기 때문에 영원히 실행되지 않을 것입니다. 즉, 멈추게됩니다. 그것에 대해 알고).
Patrick87

@Niel de Beaudrap의 답변에서 영감을 얻었습니다. 튜링 머신은 oeis.org/A014445 시퀀스를 계산하고 홀수를 얻으면 멈출 수 있습니다. oeis.org/A016742를 누계 로 계산 하고 숫자가 홀수이면 중지 될 수 있습니다. 또한 계산할 수있는 x^2x사이의 사이클 -100100그 결과가 부정적 일 때 순환이 정지 모듈과 함께 수행된다. x%2x가 0에서 양의 무한대까지의 범위를 계산 하고 결과가 2와 같을 때 멈출 수 있습니다. 어셈블리 언어에서 do / while / for 루프에서 조건부 점프가 발생하지만 조건부 점프만으로는 거의 의미가 없습니다.
Leonid

문제의 가정은 결정 론적 기계에만 해당됩니다.
Raphael

답변:


15

항상 테이프 헤드를 오른쪽으로 이동하고 각 단계에서 특수한 비 공백 테이프 기호를 인쇄하는 TM을 고려하십시오. 이것은 TM이 항상 오른쪽으로 이동하고 k 단계 후에 테이프 헤드가 기계의 k 번째 셀 위에 있기 때문에 상태를 반복하지 않기 때문에 중단되지 않음을 의미합니다. 결과적으로 기계의 각 구성은 다른 모든 구성과 다르며 기계는 항상 루프됩니다.

또한 그러한 기계의 존재를 비 구조적으로 보여줄 수도 있습니다. 결코 멈추지 않는 모든 TM이 결국 반복된다는 모순을 가정하십시오. 이는 문자열 w 에서 TM 을 시작 하면 결국 다음 중 하나가 발생 함을 의미합니다.Mw

  1. 멈추거나M
  2. 은 구성을 반복합니다.M

이 경우 정지 문제는 다음과 같이 결정될 수 있습니다. TM 과 문자열 w가 주어지면 테이프의 내용, 현재 상태 및 현재 테이프 위치를 기록하는 각 지점에서 w 에 대해 M 을 시뮬레이션 하십시오. 이 구성이 복제 인 경우 출력이 "중지되지 않습니다." 그렇지 않으면 Mw 에서 정지하면 "정지"를 출력합니다. 이 중 하나가 결국에는 보장되므로이 프로세스는 항상 종료되므로 중지 문제에 대한 알고리즘이있을 것입니다.MwMwMw

이것이 도움이되기를 바랍니다!


하, 그 편집으로 당신을 이겼습니다. 질문에 대한 내 의견을 참조하십시오. 나는 왜 멈추지 않는 TM이 모두 반복되어야 하는지를 설명하는이 방법을 좋아한다. 그것은 직관을 만든다.
Patrick87

@ Patrick87- 죄송합니다. 댓글을 보지 못했습니다. 나는 출퇴근길에 대한 부록을 생각하고 돌아 오자마자 자리에 앉았다.
templatetypedef

문제 없어요. 당신이 그것을 추가 한 것이 기쁩니다. 왜냐하면 그것을 설명하는 좋은 방법이라고 생각하기 때문입니다. 나는 당신이 저를 이겼 기 때문에 주석으로 만 대답으로 추가하지 않았습니다. : D
Patrick87

실제로, 테이프 광고 무한대로 돌아가는 정지 문제와 관련하여 "실제 문제"인 것 같습니다. 당신이 탐지 할 수있는 보이드 워커.
Raphael

12

π의 모든 소수 자릿수 (또는 임의의 기준에서 다른 비 종료 부분)를 계산하는 튜링 머신은 멈추지 않으며 각 셀에 한정된 횟수 만 쓸 수 있습니다. 물론, 정지 상태로의 전환이 없다는 사실은 끔찍한 선물이지만 최소한 자연스러운 예입니다.

f(n)={3n+1,if n is odd;n/2,if n is even,
fff(n)=n, ... 무의식적으로 무한대로 갈라집니다. 후자의 종류의 시퀀스가 ​​존재한다면, 이는 테이프가 계속 더 큰 숫자로 계속 변경 될 것이므로 위에서 설명한 튜링 머신이 반복되지 않음을 의미합니다.

나는의 숫자를 가지고 노는 것을 좋아 pi합니다. 숫자의 제곱 pi이 정확히 7
Leonid

@Leonid : 어떤 입력을 받아들이고 해당 입력에 의해 결정된 조건에서 정지하는 Turing 머신을 확실히 고려할 수 있습니다. 입력의 일부를 정지시키는 조건을 지정할 수도 있습니다. 설명 할 때 절대로 충족되지 않는 제약 조건을 설정하여 입력을 제공 할 수 있습니다.
Niel de Beaudrap

10

읽기 / 쓰기 헤드를 왼쪽으로 이동하지 않는 정지 중이 아닌 튜링 머신을 고려하십시오.


그들 중 일부는 여전히 반복됩니다. </ nitpicking>
Raphael

5

이것이 사실이라면 정지 문제를 결정할 수 있습니다. 튜링 머신을 실행할 때 보여지는 각각의 (테이프, 상태) 페어를 기록하면 머신이 멈췄거나 (이 경우 분명히 멈춤), 이전에 본 페어를 보게됩니다. 멈추지 않습니다.

정지 문제는 결정할 수 없기 때문에 이것은 사실이 아닙니다. (카운터 예는 다른 예를 참조하십시오.)


이 답변은 templatetypedef의 답변에 무엇을 추가 합니까?
라파엘

나는 그렇지 않다고 생각합니다. 미안, 내가 글을 쓸 때 그 대답을 놓쳤다.
재귀 적
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.