나는 멈추는 문제에 대한 또 다른 설명을 읽고 있었고, 예를 들어 무한 시퀀스와 관련하여 주어진 모든 문제를 생각하게했습니다. 그러나 나는 내 프로그램에서 무한 시퀀스를 사용하지 않습니다-너무 오래 걸립니다. 모든 실제 응용 프로그램에는 하한과 상한이 있습니다. 실수조차도 진짜가 아닙니다-32/64 비트 등으로 저장된 근사치입니다.
문제는 그들이 멈췄을 때 결정될 수있는 프로그램의 서브 세트가 있는가하는 것입니다. 대부분의 프로그램에 충분합니까? 프로그램의 '중단 가능성'을 결정할 수있는 일련의 언어 구성을 만들 수 있습니까? 나는 이것이 전에 어딘가에서 연구되었으므로 어떤 점이라도 높이 평가 될 것입니다. 언어는 튜링 완료되지 않았지만 거의 튜링 완료와 같은 것이 있습니까?
당연히 그러한 구조는 재귀와 무한한 while 루프를 배제해야하지만, 충분히 쉽게 프로그램을 작성할 수는 없습니다.
예를 들어 표준 입력에서 읽는 것은 제한적이지만 충분히 쉽습니다. 문제 도메인에 따라 입력을 10,000,000 자로 제한합니다.
티아
[최신 정보]
의견과 답변을 읽은 후 아마도 내 질문을 다시 말해야합니다.
모든 입력이 바인드 된 특정 프로그램에 대해 프로그램이 정지하는지 판별 할 수 있습니다. 그렇다면 언어의 제약 조건과 입력 세트의 한계는 무엇입니까? 이들 구성의 최대 세트는 중단 될 것으로 추론 될 수있는 언어를 결정할 것이다. 이것에 대한 연구가 있습니까?
[업데이트 2]
다음은 정답입니다. 1967 년에 http://www.isp.uni-luebeck.de/kps07/files/papers/kirner.pdf 에서 돌아 왔습니다 .
최소 상태 시스템에 대해 정지 문제가 이론적으로 해결 될 수 있다는 사실은 1967 년 Minsky에 의해 이미 주장되었다 [4] : 반복적 인 패턴. 이 반복 패턴의 지속 시간은 기계의 내부 상태 수를 초과 할 수 없습니다 ...”
(따라서 유한 한 튜링 머신을 고수하면 오라클을 구축 할 수 있습니다)