-
Data: 2010-08-19 19:53:55
Temat: Algorytm do rozstrzygania problemu stopu dowolnej MT
Od: Mariusz Marszałkowski <m...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Kilka tygodni temu pokazałem algorytm który dla
każdego automatu skończonego, a więc także dla
każdej maszyny turinga ze skończoną taśmą,
rozwiązuje problem stopu.
Istnieje wiele algorytmów które rozstrzygają problem
stopu na automacie skończonym, przypomnijmy
jeden algorytm:
1) Wpisujemy A <-- 0
2) Wpisujemy B <-- ilość stanów maszyny
3) Wykonujemy jedną instrukcję automatu skończonego
4) Jeśli automat osiągnął warunek stopu to:
a) TAK
b) zakończ
5) Wpisujemy A <-- A + 1
6) Jeśli A > B to:
a) NIE
b) zkończ
7) Wróć do 3
Dowód poprawności: W wyniku wykonania programu
na automacie skończonym zmienia się jego stan.
W automacie skończonym stan poprzedni determinuje
stan następny. Po wykonaniu większej ilości instrukcji
niż jest stanów, przynajmniej jeden stan pojawił się
dwa razy, a więc doszło do wiecznego zapętlenia.
Ciekawe czy dla każdej maszyny turinga z nieskończoną (jednostronnie
bądź obustronnie) taśmą także istnieje jeden algorytm,
który rozstrzyga czy maszyna zatrzyma się, czy zapętli
w nieskończoność? Program działa dla maszyn turinga które
mają dowolną ale ograniczoną ilość stanów i ilość wartości
w komórce:
Algorytm rozstrzygający problem stopu po każdym wykonaniu
instrukcji zapamiętuje w tablicy szóstkę:
(P_o,P_n,S_o,S_n,V_o,_V_n)
P_o - pozycja głowicy (względem poz. startowej) przed wykonaniem
instrukcji
P_n - pozycja głowicy po wykonaniu instrukcji
S_o - stan maszyny przed wykonaniem instrukcji
S_n - stan maszyny po wykonaniu instrukcji
V_o - wartość w komórce przed wykonaniem instrukcji
V_n - wartość w komórce po wykonaniu instrukcji
Mogą zdarzyć się 3 rzeczy:
1) Podczas symulowania instrukcji w tablicy mogą pojawić się dwie
identyczne permutacje szóstek obok siebie - oznacza to że
algorytm się pętli w nieskończoność.
2) Zakres komórek odwiedzanych przez głowicę poszerzył się
w lewo lub w prawo (tzn głowica ustawiła się na komórce pierwszy
raz), a istnieje zapamiętany identyczny ciąg względnych zmian przed
poprzednim poszerzeniem.
3) Został osiągnięty warunek stopu.
Ze skończoności ilości stanów w komórce i z skończoności ilości
stanów maszyny wynika, że maszyna albo trywialnie się zapętli, albo
zacznie trywialnie rozszerzać zakres zmienionych przez
siebie komórek.
Jeśli algorytm jest poprawny, to pozostał nierozstrzygnięty tylko
ostatni problem, czyli problem stopu maszyny z dowolnymi danymi.
Pozdrawiam
Następne wpisy z tego wątku
- 19.08.10 21:22 Maciej Sobczak
- 20.08.10 02:15 Mariusz Marszałkowski
- 20.08.10 04:56 Jacek Czerwinski
- 20.08.10 06:43 Marcin 'Qrczak' Kowalczyk
- 20.08.10 08:50 Segmentation Fault
- 20.08.10 13:08 bartekltg
- 20.08.10 19:50 Mariusz Marszałkowski
- 21.08.10 07:52 Marcin 'Qrczak' Kowalczyk
- 21.08.10 09:53 Segmentation Fault
- 21.08.10 11:10 bartekltg
- 21.08.10 14:40 Mariusz Marszałkowski
Najnowsze wątki z tej grupy
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
Najnowsze wątki
- 2024-12-12 Warszawa => Administrator Bezpieczeństwa IT <=
- 2024-12-12 Ostrów Wielkopolski => Trener zespołu sprzedaży Call Center <=
- 2024-12-12 Kraków => Key Account Manager <=
- 2024-12-11 SEP 1 kV E
- 2024-12-11 DNS restrictions are on
- 2024-12-11 wielkie bu
- 2024-12-11 Białystok => Inżynier bezpieczeństwa aplikacji <=
- 2024-12-11 Aku LiPo źródło dostaw - ktoś poleci ?
- 2024-12-11 Warszawa => Specjalista Bezpieczeństwa Informacji <=
- 2024-12-11 Wrocław => Application Security Engineer <=
- 2024-12-11 Warszawa => Analyst in the Trade Development department (experience wi
- 2024-12-11 Lublin => Programista Delphi <=
- 2024-12-11 Motodziennik #305 Nowy ELEKTRYK za 350 złotych miesięcznie? Kreatywne kredytowanie problemów
- 2024-12-11 Warszawa => Spedytor Międzynarodowy <=
- 2024-12-11 Katowice => Key Account Manager (ERP) <=