문제

다음과 같은 문제가 Solvable입니다. 입력과 정확히 그 중 정확히 정확히 멈추는 지식을 가진 두 가지 프로그램이 중지를 결정합니다.

프로그램 중 하나를 결정할 프로그램이 중지됩니다.

P(Program x,Program y){

    if(x will be halted)

          then return 1;

    else

           then return 2;
}
.

우리는 1이면 프로그램 X가 정지 될 것이라는 것을 알고 있기 때문에 우리는 중단 될 것임을 알고 있기 때문에, 프로그램 x가 정지 될 것입니다. 온화한 프로그램 Y가 중지됩니다.

다음은 새로운 프로그램 콜 D

를 구성합니다.
D(X,Y){

     if(P(X,Y) == 2)

         D will halt;

      else

         while(1)//D will not halt;

  }
.

는 arritbrary 프로그램을 둡니다.

그래서 우리가 d (d, s)

d가 중단되면

D가 멈추지 않으면

D가 중단되지 않으면

D가 멈추지 않습니다

문제와 동일한 모순을 닫습니다.

그러나 그 질문은 그것이 solvable이라고 말했습니다.

도움이 되었습니까?

해결책

중요한 측면에서 시작하십시오. $ x $ $ y $ 그들은 멈추게 될 것인가? 질문을 정의 할 수 있도록 시스템에 대한 특정 입력을 지정해야합니다 (예 : 질문은 " $ x, y $ 정확히 $ \ epsilon $ 에서 정확히 종료됩니다. "또는 어쩌면"주어진 ... 항상 정확히 항상 입력으로 그 자체로 정지 ... " )

나는 당신을 혼란스럽게하는 것을 본다. 문제는 실제로 solvable입니다. $ p $ 모두 $ x $ $ y $ 및 답변을 먼저 멈추십시오.

해결 방법의 문제점은 $ P $ $ x, y $ 정확히 중 하나가 중지하고 다른 하나는 그렇지 않습니다.

$ d $ 에 적절한 입력이 $ p $ 에 적절한 입력이어야합니다. 이제 $ d (d, s) $ 이라고 불리는 것을 알아보십시오. $ d $ 이 올바른 출력을 반환하는지 확인하려면 적절한 입력이 있어야합니다. $ d $ < / span> 또는 $ s $ 중지! 하지만 ... $ s $ $ d $ $ P $ 에 대한 적절한 입력이 아니므로 $ d $ . 따라서 $ d (d, s) $ 에서 출력을 의지 할 수는 없습니다

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 cs.stackexchange
scroll top