Maszyna Turinga, która powróci do wcześniej napotkanego stanu z głowicą do odczytu / zapisu w tej samej komórce dokładnie tej samej taśmy, zostanie przechwycona w pętli. Taka maszyna się nie zatrzymuje.
Czy ktoś może podać przykład ciągłej maszyny, która się nie zapętla?
x^2
gdziex
cykle pomiędzy-100
i100
a cyklowanie odbywa się za pomocą modulo i zatrzymać, gdy wynik jest ujemny. Mógłby obliczyćx%2
gdzie x wynosi od zera do dodatniej nieskończoności i zatrzymać, gdy wynik jest równy 2. W języku asemblera wykonaj pętle / while / for, wszystkie przechodzą w dół, mając skok warunkowy, ale sam skok warunkowy niewiele znaczy.Odpowiedzi:
Rozważ TM, która zawsze przesuwa głowicę taśmy w prawo i drukuje specjalny niepusty symbol taśmy na każdym kroku. Oznacza to, że TM nigdy się nie zatrzymuje, ponieważ zawsze przesuwa się w prawo i nigdy nie powtarza stanu, ponieważ po kroku k głowica taśmy znajduje się nad k-tą komórką maszyny. W związku z tym każda konfiguracja maszyny jest inna niż wszystkie inne i maszyna zawsze się zapętla.
Moglibyśmy również niekonstruktywnie pokazać istnienie takich maszyn. Załóżmy, że istnieje sprzeczność, że każda TM, która nigdy się nie zatrzymuje, ostatecznie zapętla się. Oznacza to, że jeśli uruchomisz TM na łańcuchu w , w końcu nastąpi jedna z następujących sytuacji:M w
W takim przypadku problem zatrzymania byłby rozstrzygalny w następujący sposób. Biorąc pod uwagę TM i ciąg w , symuluj M na w , w każdym punkcie zapisując zawartość taśmy, aktualny stan i bieżącą pozycję taśmy. Jeśli ta konfiguracja jest duplikatem, wyjście „nie zatrzymuje się”. W przeciwnym razie, jeśli M zatrzymuje się na w , wyprowadza „zatrzymuje”. Ponieważ jedno z nich z pewnością nastąpi w końcu, proces ten zawsze się kończy, więc dysponowalibyśmy algorytmem problemu zatrzymania, o którym wiemy, że nie istnieje.M w M w M w
Mam nadzieję że to pomoże!
źródło
Maszyna Turinga, która oblicza wszystkie miejsca po przecinku π (lub dowolną inną nie kończącą się frakcję, w dowolnej bazie) nigdy się nie zatrzymuje i może być napisana na każdej komórce tylko skończoną liczbę razy. Oczywiście fakt, że nie ma przejścia do stanu zatrzymania, byłby martwym rozdaniem, ale jest to przynajmniej naturalny przykład.
źródło
pi
. TM może zatrzymać się, gdy kwadrat dowolnej cyfrypi
jest równy dokładnie 7.Rozważ każdą nie zatrzymującą się maszynę Turinga, która nigdy nie przesunie głowicy odczytu / zapisu w lewo.
źródło
Gdyby tak było, problem zatrzymania byłby rozstrzygalny. Wystarczy nagrać każdą parę (taśmę, stan) widzianą podczas wykonywania maszyny Turinga, a maszyna albo się zatrzyma (w takim przypadku oczywiście się zatrzyma), albo zobaczysz parę, którą widziałeś wcześniej, w którym to przypadku maszyna nie zatrzymuje się.
Ponieważ problem zatrzymania jest nierozstrzygalny, nie może to być prawda. (Zobacz inne przykłady dla liczników).
źródło