8299308020

8299308020



Dowód tw. 1.18 (szkic):

P w

fttl

s

TT

stop pętla


Łatwiej mówić o programach komputerowych analizujących inne programy, niż o maszynach Turinga, więc tego będę się trzymał. Ale dla pełnego dowodu należałoby rozważać maszyny Turinga.

Załóżmy więc, że problem stopu jest rozstrzygalny; mamy więc taki program komputerowy S w jakimś języku programowania, który jako dane bierze dowolny tekst programu P w tym języku oraz dowolne dane w, chwilę działa, następnie zatrzymuje się, i drukuje poprawną odpowiedź na pytanie, czy program P na danych w kończy obliczenie, czy też działa nieskończenie długo.

Skonstruujmy program R przez dobudowanie do programu S:


•    „podwajacza danych”, który tworzy dwie kopie podanych mu na wejściu danych, i doczepmy go do obu wejść programu; w ten sposób program R będzie wczytywał tekst programu P i sprawdzał, czy program P zatrzymuje się na swoim własnym tekście;

•    ślepą pętlę, i doczepmy ją do wyjścia „stop”.

Wobec tego, jeśli program P zatrzymuje się na swoim tekście, to program R na tekście programu P się zapętla; a w przeciwnym razie zatrzymuje się (i drukuje wynik „pętla”).

I w końcu sprawdźmy, jak zachowuje się program R na swoim własnym tekście; to znaczy wykonajmy go z R zamiast P. Są dwie możliwości:

•    albo R zatrzymuje się na R; wtedy S powinien dać wynik „stop”; tak więc R wchodzi w ślepą pętlę — sprzeczność;

•    albo R zapętla się na R; wtedy S powinien dać wynik „pętla”, ważne, że zatrzymać się i dać wynik; tak więc R zatrzymuje się — znowu sprzeczność.

W każdym przypadku dostajemy sprzeczność. To dowodzi, że oryginalny program S nie może istnieć.

Załóżmy, że istnieje funkcja s(p, w), która na każdych danych zatrzymuje się i stwierdza, czy obliczenie p(w) jest skończone. Definiujemy funkcję

fun r(p) :

if s(p,p) then {while true do od} /* ślepa pętla */ else return true; fi

Czy obliczenie r(r) się zatrzymuje?


Rys. 1.2: Programistyczna wersja dowodu tw. 1.18.

Wniosek 1.19

Żaden język, dla którego problem stopu jest rozstrzygalny, nie może mieć pełnej mocy maszyn Turinga (czyli: nie może być zupełny w sensie Turinga).

13



Wyszukiwarka

Podobne podstrony:
DSC00017 (18) Warunek generacji Wzmocnieni* wzmacniacza z pętlą dodatniego aptząfcem* zwrotnego wyno
2011 04 18 05 14 TT iOM r «> ał»W*«»WŚ*k « afefi
Zdjęcie037 (18) 2imię i nazwisko.............................. , ............... . tt młMcar  &
Obraz (2527) 246 Rys. 18.3. Szkic „dzwonowego" elekirolizcra dc otrzymywania gazów chemicznie a
Slajd35 (104) -4- + * pOtQC2«rv tt proęromov*orvfr * potoczni %*Qk9 Programowalne układy logiczne:
20490 zdj Start suma = suma + i Pisz s Stop Programowanie komputerów I
CAD2 (2) Wymiary detalu są następujące 5-45 •18.1. Czynności wstępne > Po zapisaniu na dysk szabl
17662 Slajd35 (104) -4- + * pOtQC2«rv tt proęromov*orvfr * potoczni %*Qk9 Programowalne układy log
18 Katarzyna Bartusik w postaci narzędzia lub zapisu papierowego albo komputerowego. Aby wspomagać
18 Administrator sieci zamontował bezprzewodowe karty sieciowe w trzech nowych komputerach. Które dw
Kai*, proces potomny «r—- -    dl(<tt, nMvr»_t»— ---_ Zadanie 6b Program
rozdział 1 postanowienia ogólne00013 17)    opracowania programów komputerowych; 18)
■m ii & j jP TT siMł DG Edukacja i Kultura Program „Uczenie się przez cale
File0020 (4) 34 już to samo stanowi niezbity dowód, że w urządzeniach publicznych są grube biedy. A

więcej podobnych podstron