Pål GD가 말한 것에 덧붙여서, 길이 이하 의 모든 프로그램을 실행하고 최대 초 동안 실행할 수 있음을 기억하십시오 . 따라서 100 자 길이의 정답을 얻는 프로그램이있을 수 있지만 실행하는 데 120 초가 걸립니다. 그 프로그램 호출하십시오 . 에 이 프로그램을 확인할 수 있습니다,하지만 당신이 그것을 폐기 있도록 실행하는 데 시간이 오래 걸립니다. 길이가 100 인 모든 프로그램을 확인한 후에는 정답을 찾을 수 없으므로 길이가 프로그램과 이전에 시도한 모든 프로그램을 시도하십시오 . 를 재 시도하십시오.iiPi=100101 P, (우리가 아는) 프로그램이 정답을 줄 것이지만 여전히 너무 오래 걸리므로 버립니다. 우리는 도달 할 때까지 프로세스를 유지합니다 . 그런 다음 우리는 길이가 인 모든 프로그램을 시도 하고 도달 하면 올바른 대답을 줄 수있을 정도로 오랫동안 실행되도록했습니다. 그런 다음 중지합니다. 원하는 알고리즘을 찾았습니다. 프로그램 의 길이 는 짧지 만 ( ), 소요되는 시간이 120 초 ( )가 될 때까지 기다려야 했기 때문에 반복은 입니다. ). 따라서 단순히 프로그램 의 최대 길이를 의미합니다.i=120≤120Pi=120P|P|=100s=120i=max{|P|,s}P그리고 를 실행하는데 걸린 시간 .s
그것을 보는 또 다른 방법은 프로그램을위한 소요 , 우리가 확인해야 정답을 생산하는 초 이상반복하고, 최소한 반복 때문에 우리는 경우를 찾을 수 있습니다 전에그런 다음 해당 프로그램을 아직 확인하지 않았으며 이면 프로그램을 충분히 오래 실행하지 않았습니다.Ps |P| si<|P|i<s
이 검색 방법은 답변이있는 경우에만 답변을 얻을 수 있습니다. 최단 또는 가장 빠른 답을 찾을 수는 없습니다. 올바른 답변을 제공하는 프로그램을 찾 자마자 프로세스가 종료된다고 생각하면 그 이유가 분명해야합니다.