아마도 대답은 동료가 정확하다는 것입니다. 튜링을 잘못 이해했거나 여기에 어떻게 적용됩니까?
모든 기계는 유한하기 때문에 '진짜'튜링 기계와 절대 멈추지 않는 프로그램이 없습니다. 간단한 무한 루프를 실행하는 사소한 프로그램은 5 분 또는 50 년 동안 실행될 수 있지만 유한 기계에서는 중지됩니다. '정확히 pi 계산'과 같은 사소한 비 정지 문제도 중단됩니다. 결국 계산은 더 많은 숫자를 저장할 수있는 용량을 초과하기 때문입니다.
튜링 결과는 유한 기계에서 특히 유용한 것을 보장하지 않으므로 퀘스트는 결실이 없습니다. 얼마나 많은 시간과 돈에 집중하고 수학자에게 무한대를 남겨 두는 것이 좋습니다.
당신은 같은 프로그램 { while true: print "running"; print "halted"; }
이 반례 라고 생각할 수도 있지만 그렇지 않습니다. 이 프로그램에는 부작용이있어 중단 될 수 있습니다. 부작용을 무시하고이 프로그램이 중단되지 않는다는 공식적인 증거를 고안 할 수 있습니다. 이 질문에서 우리는 중지에 대한 질문을 결정할 수없는 비 정지에 대한 공식적인 증거를 회피하는 프로그램에만 관심이 있습니다. 이것은 그런 프로그램이 아닙니다.
'강한'튜링과 '약한'튜링을 구별하는 데 도움이 될 수 있습니다. 강력한 튜링 기계는 실제로 무한하며 정지하지 않으면 무한한 시간 동안 작동합니다. 우리는 그것들을 만들 수 없습니다.
약한 튜링 기계는 시간과 공간에 제한이 있으며 우리가 만들 수있는 유일한 종류입니다. 우리는 그 한도 내에서 중단되는 것으로 입증 될 수없는 프로그램에 관심이 있습니다. 튜링은 그러한 프로그램이 있지만이를 식별 할 수는 없다고 말합니다. 한계가 충분히 낮 으면 프로그램을 작성하고 한계까지 실행하여 식별 할 수 있습니다.
튜링의 본질은 지름길이 없다는 것입니다. 문제가 계산적으로 실현 가능한지 확신 할 수있는 유일한 방법은 프로그램을 작성하고 실행하여 알아내는 것입니다. 시간과 돈이 충분하면 모든 프로그램을 작성하고 시간이 지남에 따라 프로그램을 실행하고 결과를 산출하는 프로그램 (홀더)을 찾을 수 있습니다. 다른 사람들은 여전히 실행 중입니다. 동료에게 충분한 시간과 돈이 있습니까?
그러나이 논쟁은 한계에 관한 것입니다. Turing과 NP complete는 예산의 규모 나 일정에 관계없이 특정 예산 내에서 또는 일정에 따라 특정 종류의 문제를 해결할 수 없음을 알려줍니다. 이런 종류의 문제의 예는 풍부합니다. 수백 개의 주소로 배달하기위한 경로 최적화 트럭의 포장 상자; 큰 프로그램에서 버그 찾기!
따라서 동료에게 예산과 일정을 요청하고 해당 예산이나 일정 내에서 해결할 수없는 문제를 일으킬 수 있다고 약속하십시오. 그 약속은 지키기 매우 쉬울 것입니다.