기계 코드를 제외한 모든 입력에 대해 정지 문제를 해결할 수 있습니까?


9

이 질문은 중단 문제에 대해 나에게 제기되었으며 온라인에서 누군가가 도울 수 있는지 궁금해하는 좋은 대답을 찾을 수 없었습니다.

입력이 TM 자체가 아닌 한 모든 입력의 TM에 대해 정지 문제를 결정할 수 있습니까? 원래:

Halts(TM, I)
    IF TM == I:
        Undecidable, return a random result/throw an exception, whatever
    ELSE:
        Solve the problem

Halts'(X)
    IF Halts(X, X):
        Loop infinitely
    ELSE:
        Print 'done'

이것은 모순을 해결하는 것 같습니다. 우리가 역설적 Halts (Halts ')라고 부를 때, 우리는 일관된 행동을 기대할 수 없지만, Halts (및 Halts')에 대한 다른 모든 호출은 합법적이고 해결할 수 있습니다.

나는 이것이 매우 직관적이지 않다는 것을 이해합니다. 비트의 일부 패턴이 모든 가능한 프로그램의 동작을 나타낼 수 있다면 TM과 입력이 일치 할 때 왜 갑자기 떨어질까요? 그러나 이것을 수학적으로 가능성으로 제거 할 수 있습니까?

그리고이 감소 된 정지 문제는 전혀 흥미롭지 않을 것입니다. 자체 코드를 입력으로 사용하는 의미있는 프로그램이 있더라도 약간 다른 입력에서 작동하도록 사소하게 다시 작성할 수 있습니다. 물론이 제안으로 왜 정지 솔루션이이 경고와 함께 존재할 수 있는지 이해할 수 없지만,이 가능성을 수학적으로 제거 할 수 있을까요?

도움을 주셔서 감사합니다.


7
결정 가능성은 유한 한 변경의 영향을받지 않습니다.

동등한 수의 동등한 TM이 있으며, 동등한 TM 을 탐지하는 (결정 가능한) 방법 이 없습니다 (즉, 정지 문제 자체와 본질적으로 동일 함). 그러나 몇 가지 복잡한 "허점"이 있습니다. 시도 컴퓨터 과학 채팅을 증명하는 자동화 된 THM 관련된 정지 문제의 추가 분석을 위해 등등 ... ... 대답에이 요리를 시도 할 수 있습니다
vzn

질문을 좀 더 명확하게 수정했습니다. 누군가를 잘못 인도하면 죄송합니다.
CS101

답변:


4

그러나 우리는 쉽게 제한을 극복 할 수 있습니다. 프로그램을 가정하자 입력 비트를 반대로 바꾸고 H' 결과에 다음 정의 !H모든 비트가 반전 된 상태 (예 : 1의 경우 0, 0의 경우 1). 그럼 우리는 당신의 전화H'(!H) 우리는 원래 문제로 돌아 왔습니다.


감사합니다. @David Richerby의 답변을 읽은 후에 이것이 이것이 답이라고 생각하기 시작했습니다. 모든 프로그램 Q에 대해 기능적으로 동등한 Q '를 구성 할 수 있다면 대각선의 문제뿐만 아니라 모든 문제에 대한 정지성을 다시 한 번 결정할 수 있습니다 . 나는 이것이 당신이 말하는 것을 봅니다.
CS101

12

정지 문제의 결정 불가능성에 대한 표준 증거를 상기하십시오. 어떤 기계가 H 정지 문제를 결정하고 입력시 기계 미디엄 사용 H 여부를 결정하기 위해 미디엄(미디엄) 멈추고, 그렇다면,  루프; 그렇지 않으면, 정지합니다. 지금,() 정지하지 않으면 정지합니다.

입력이 TM 자체가 아닌 한 모든 입력의 TM에 대해 정지 문제를 결정할 수 있습니까?

아니요. 이런 식으로 정지 문제의 정의를 변경해도 증거는 여전히 유효합니다. 우리는 언제 무슨 일이 일어나는지 상관하지 않습니다 H 받다 H 입력을 한 후에 모순이 발생하기 때문에 입력으로 , 에 H.

둘째, 수정 한 경우 H 입력 을 감지하기 위해 다른 기계를 사용하여 동일한 모순을 얻을 수 있습니다. ' 그것은  모든 입력에 대해 , '() 다음과 같은 경우에만 중지합니다. () 정지합니다. 이것들은 무한히 많고H 두 개의 튜링 기계가 동일한 지 여부를 결정할 수 없기 때문에 모든 것을 감지 할 수 없습니다.


3
마지막 단락만으로도 질문에 대답하기에 충분할 수 있습니다. 수행하려는 유한 한 적응 (의미론 기반)에 관계없이 동등한 시스템의 모든 인코딩을 하드 코딩 할 수 없습니다. (그것의 나머지 부분은 읽을 가치가 없다고 말하는 것은 아닙니다!)
Raphael

응답 해주셔서 감사합니다. 프로그램이 기능적으로 동등한 지 아닌지의 결정 불가능 성은 정지 문제의 결정 불가능 성으로부터 도출 된 것이 아닙니까? 왜 이것이 순환 추론이 아닌가?
CS101

1
@ CS101 : 결정 불가능 H우리는 다른 문제 를 해결하는 것이 불가능하다는 것을 보여주기 위해 사용할 때 "속임수"가 아닙니다.H'제한을 극복하려고합니다. 부수적으로, 우리는 많은 실제 프로그램 (모든 프로그램이 아님)의 종료 또는 비 종료를 증명하는 방법을 실용적으로 알고 있습니다. 그러나 프로그램의 동등성을 입증하는 것은 실제로 결정 하기가 훨씬 어렵다는 것을 알 수 있습니다 (둘 다 결정할 수는 없지만).
코디

혼란 스러워요. 전체 중지 문제가 내 추측에 따라 동일하다는 것을 잊었습니다. 감사.
CS101
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.