Maszyny Turinga i problemy nierozstrzygalne. Maszyny Turinga i problemy nierozstrzygalne

Podobne dokumenty
JAO - J zyki, Automaty i Obliczenia - Wykªad 1. JAO - J zyki, Automaty i Obliczenia - Wykªad 1

Algorytmy zwiazane z gramatykami bezkontekstowymi

Języki, automaty i obliczenia

Języki, automaty i obliczenia

Hierarchia Chomsky ego Maszyna Turinga

Języki, automaty i obliczenia

Arytmetyka pierwszego rz du

Podstawy matematyki dla informatyków

Równowano modeli oblicze

Relacj binarn okre±lon w zbiorze X nazywamy podzbiór ϱ X X.

Logika dla matematyków i informatyków Wykªad 1

2.2. Gramatyki, wyprowadzenia, hierarchia Chomsky'ego

Gramatyki, wyprowadzenia, hierarchia Chomsky ego. Gramatyka

Gramatyki regularne i automaty skoczone

Teoretyczne Podstawy Informatyki

Maszyna Turinga języki

Obliczenia inspirowane Naturą

Twierdzenie Wainera. Marek Czarnecki. Warszawa, 3 lipca Wydziaª Filozoi i Socjologii Uniwersytet Warszawski

Hierarchia Chomsky ego

JAO - Wprowadzenie do Gramatyk bezkontekstowych

WST P DO TEORII INFORMACJI I KODOWANIA. Grzegorz Szkibiel. Wiosna 2013/14

Dopełnienie to można wyrazić w następujący sposób:

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

Imię, nazwisko, nr indeksu

(j, k) jeśli k j w przeciwnym przypadku.

Macierze. 1 Podstawowe denicje. 2 Rodzaje macierzy. Denicja

Matematyczne Podstawy Informatyki

WST P DO TEORII INFORMACJI I KODOWANIA. Grzegorz Szkibiel. Wiosna 2013/14

A = n. 2. Ka»dy podzbiór zbioru sko«czonego jest zbiorem sko«czonym. Dowody tych twierdze«(elementarne, lecz nieco nu» ce) pominiemy.

Zadania. 1 Sªowa, liczby, grafy. Jezyki, Automaty i Obliczenia. Damian Niwi«ski i Wojciech Rytter. 11 lutego 2012

Efektywność Procedur Obliczeniowych. wykład 5

Teoria obliczeń czyli czego komputery zrobić nie mogą

10110 =

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

Przekroje Dedekinda 1

Zadanie 1. (6 punktów) Słowo w nazwiemy anagramem słowa v jeśli w można otrzymać z v poprzez zamianę kolejności liter. Niech

Listy i operacje pytania

tylko poprawne odpowiedzi, ale nie wszystkie 2 pkt poprawne i niepoprawne odpowiedzi lub brak zaznaczenia 0 pkt

i, lub, nie Cegieªki buduj ce wspóªczesne procesory. Piotr Fulma«ski 5 kwietnia 2017

PROBLEMY NIEROZSTRZYGALNE

Metodydowodzenia twierdzeń

x y x y x y x + y x y

1. Podstawy budowania wyra e regularnych (Regex)

Wykład5,str.1. Maszyny ze stosem ... 1,0 λ r. λ,z λ

Metody dowodzenia twierdze«

Rachunek zda«. Relacje. 2018/2019

Zdzisªaw Dzedzej, Katedra Analizy Nieliniowej pok. 611 Kontakt:

W poprzednim odcinku... Podstawy matematyki dla informatyków. Relacje równowa»no±ci. Zbiór (typ) ilorazowy. Klasy abstrakcji

Indeksowane rodziny zbiorów

Obliczenia inspirowane Naturą

Zbiory i odwzorowania

Macierze i Wyznaczniki

1 Kodowanie i dekodowanie

Przykład: Σ = {0, 1} Σ - zbiór wszystkich skończonych ciagów binarnych. L 1 = {0, 00, 000,...,1, 11, 111,... } L 2 = {01, 1010, 001, 11}

Podziaª pracy. Cz ± II. 1 Tablica sortuj ca. Rozwi zanie

Zad. 1 Zad. 2 Zad. 3 Zad. 4 Zad. 5 SUMA. W obu podpunktach zakªadamy,»e kolejno± ta«ców jest wa»na.

Zadanie 4 Zadanie 5 Zadanie 6. Repetytorium z JFiZO. Jakub Michaliszyn 25 maja 2017

Maszyna Turinga. Algorytm. czy program???? Problem Hilberta: Przykłady algorytmów. Cechy algorytmu: Pojęcie algorytmu

Ekstremalnie maªe zbiory

Ciaªa i wielomiany. 1 Denicja ciaªa. Ciaªa i wielomiany 1

Zadanie 1. Czy prawdziwa jest następująca implikacja? Jeśli L A jest językiem regularnym, to regularnym językiem jest też. A = (A, Q, q I, F, δ)

Podstawy Informatyki Maszyna Turinga

JAO - Języki, Automaty i Obliczenia - Wykład 2. JAO - Języki, Automaty i Obliczenia - Wykład 2

Uczenie Wielowarstwowych Sieci Neuronów o

Podzbiory Symbol Newtona Zasada szuadkowa Dirichleta Zasada wª czania i wyª czania. Ilo± najkrótszych dróg. Kombinatoryka. Magdalena Lema«ska

Ekonometria Bayesowska

Geometria Algebraiczna

Jednotaśmowa, deterministyczna maszyna Turinga :

Matematyczne Podstawy Informatyki

Matematyka dyskretna dla informatyków

Systemy hybrydowe. Joanna Iwaniuk. 2 listopada 2010

Lab. 02: Algorytm Schrage

3.4. Przekształcenia gramatyk bezkontekstowych

Języki formalne i automaty Ćwiczenia 9

1 Bª dy i arytmetyka zmiennopozycyjna

Programowanie funkcyjne. Wykªad 13

Szeregowanie zada« Wykªad nr 5. dr Hanna Furma«czyk. 4 kwietnia 2013

Wst p do informatyki. Systemy liczbowe. Piotr Fulma«ski. 21 pa¹dziernika Wydziaª Matematyki i Informatyki, Uniwersytet Šódzki, Polska

ELEMENTARNA TEORIA LICZB. 1. Podzielno±

Opisy efektów kształcenia dla modułu

Funkcje wielu zmiennych

Automat ze stosem. Języki formalne i automaty. Dr inż. Janusz Majewski Katedra Informatyki

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

Problem decyzyjny naley do klasy NP. (Polynomial), jeeli moe by rozwizany w czasie conajwyej wielomianowym przez algorytm A dla DTM.

Mierzalne liczby kardynalne

Języki, automaty i obliczenia

Teoria grafów i sieci 1 / 58

Opis matematyczny ukªadów liniowych

Gramatyki rekursywne

Struktury danych i złozoność obliczeniowa. Prof. dr hab. inż. Jan Magott

Wykªad 4. Funkcje wielu zmiennych.

Hotel Hilberta. Zdumiewaj cy ±wiat niesko«czono±ci. Marcin Kysiak. Festiwal Nauki, Instytut Matematyki Uniwersytetu Warszawskiego

Macierze i Wyznaczniki

Ÿ1 Oznaczenia, poj cia wst pne

*** Teoria popytu konsumenta *** I. Pole preferencji konsumenta 1. Przestrze«towarów 2. Relacja preferencji konsumenta 3. Optymalny koszyk towarów

EGZAMIN MATURALNY Z INFORMATYKI

Informatyka, matematyka i sztuczki magiczne

ALGORYTMY SORTOWANIA DANYCH

X WARMI SKO-MAZURSKIE ZAWODY MATEMATYCZNE 18 maja 2012 (szkoªy ponadgimnazjalne)

Metoda tablic semantycznych. 1 Metoda tablic semantycznych

Transkrypt:

Maszyny Turinga Maszyna Turinga jest automatem ta±mowym, skª da si z ta±my (tablicy symboli) potencjalnie niesko«czonej w prawo, zakªadamy,»e w prawie wszystkich (tzn. wszystkich poza sko«czon liczb ) klatkach ta±my jest domy±lny symbol B. Formalnie maszyna jest zadana przez sekwencj : gdzie: M = (Q, Σ, Γ, δ, q 0, B, F ) Q, Σ, Γ to odpowiednio: zbiór stanów, symboli wej±ciowych i symboli ta±mowych; δ : Q Γ Q Γ {B} { 1, 0, +1}; q 0 Q, F Q; B to specjalny symbol domy±lny, B / Σ.

Konguracja maszyny Turinga Konguracja maszyny skªada si ze sªowa na ta±mie (pomijaj c symbole B), stanu oraz pozycji gªowicy czytaj cej. Je±li sªowem na ta±mie jest a 1 a 2... a m a gªowica czyta symbol k-ty, gdzie k m + 1, to zapisujemy konguracj jako a 1 a 2 a 3... a k 1 q a k a k+1... a m. Zakªadamy, ze symbolem (m + 1)-szym jest automatycznie B. Przykªadowa konguracja maszyny. Liniowy zapis konguracji to abcaa q cabab.

Przykªad maszyny Turinga Nast puj ca maszyna akceptuje j zyk przej±cie p Z / Z K q oznacza,»e L = { a n b n : n 1 } δ(p, Z) = (q, Z, K), gdzie K oznacza ruch gªowicy maszyny.

Przykªad maszyny Turinga c.d. Oznaczmy przez relacj przej±cia w jednym kroku od jednej konguracji do nast pnej. Konguracj pocz tkow maszyny jest K 0 = q 0 a 1 a 2... a n, gdzie a 1 a 2... a n jest sªowem wej±ciowym w (nad alfabetem Σ). Maszyna Turinga M akceptuje sªowo gdy z konguracji pocz tkowej mo»emy doj± do konguracji zawieraj cej stan akceptuj cy. J zykiem akceptowanym przez M jest L(M) = { w : q 0 w α q β, dla pewnych α, β Γ, q F } Dla naszej przykªadowej maszyny: Zatem 0011 L(M). q 0 0011 XXYYY q 4, oraz q 4 F.

Wersje maszyny Turinga Mo»liwe s ró»ne wersje maszyny Turinga, równowa»ne co do mocy obliczeniowej (z dokªadno±cia do funkcji wielomianowej) Maszyna Turinga z ta±ma niesko«czona w obie strony; Maszyna Turinga wielota±mowa; Maszyna z dwuwymiarow ta±m ; Maszyna z jedn kolejk zamiast ta±my (automat kolejkowy); Maszyna z dwoma stosami zamiast ta±my; Maszyna z dwoma licznikami zamiast ta±my. Twierdzenie (Teza Churcha-Turinga) Dany problem decyzyjny, reprezentowany przez j zyk L, jest cz sciowo rozstrzygalny (posiada algorytm, by mo»e bez wªasno±ci stopu) wtw. gdy istnieje maszyna Turinga akceptuj ca L.

J zyki rekurencyjne i przeliczalnie rekuremcyjne J zyki (problemy decyzyjne) cz ±ciowo rozstrzygalne to te dla których istnieje akceptuj ca maszyna Turinga, nazywamy je równie» przeliczalnie rekurencyjnymi. Cz ±ciowa rozstrzygalno± oznacza,»e istnieje algorytm który poprawnie odpowiada TAK, ale mo»e sie zdarzy,»e odpowiedzi powinno by NIE, natomiast algorytm tej odpowiedzi nigdy nie udzieli (nie zatrzyma si ). J zyki dla których istnieje algorytm decyzyjny (maszyna Turinga) z wªasno±cia stopu nazywamy rekurencyjnymi (rozstrzygalnymi). Twierdzenie Je±li L jest rekurencyjny to L (dopeªnienie L) te» jest. Je±li L i L s przeliczalnie rekurencyjne to L i L s rekurencyjne.

Konstruktywne kodowanie maszyn Turinga Ka»d maszyn Turinga mo»emy konstruktywnie zakodowa jako ci g zer i jedynek i przyporz dkowa maszynie Turinga numer, M i jest i-t maszyn Turinga (której kodem jest zapis binarny liczby i). Mogªoby si zdarzy,»e w normalnym kodowaniu nie ma maszyny odpiadaj cej kodowaniu i, wtedy przyjmujemy»e M i jest jednostanow maszyn która nic nie akceptuje. Sªowa wej±ciowe te» mo»na zakodowa efektywnie (np. leksykogracznie). Niech w i i-tym sªowem wej±ciowym. Wszystko redukujemy do alfabetu binarnego. Deniujemy j zyk przek tniowy (d od ang. diagonal): L d = { w i : w i / L(M i ) }

J zyk przek tniowy nie jest cz ±ciowo rozstrzygalny Twierdzenie (1) J zyk L d nie jest przeliczalnie reukurencyjny. Nie istnieje takie j,»e L d = L(M j ). (2) Dopeªnienie j zyka L d jest przeliczalnie rekurencyjne, ale jest nierozstrzygalne ( nie rekurencyjne). Dowód (1) Gdyby L d = L(M j ) dla pewnego j to w j L(M j ) w j / L(M j ). Otrzymujemy sprzeczno±, zatem takiego j nie ma. Tak wi c nie istnieje maszyna Turinga akceptuj ca L d. (2) Uruchamiamy i-t maszyn sprawdzaj c czy w i L(M i ). Kodowanie maszyn jest konstruktywne, zatem mamy algorytm, który dla w i L(M i ) da odpowied¹ TAK i si zatrzyma. Dopeªnienie L d nie jest rekurencyjne bo L d nie jest przeliczalnie rekurencyjne.

Problemy nierozstrzygalne Twierdzenie Nast puj ce problemy s nierozstrzygalne (nierekurencyjne), natomiast s cz ±ciowo rozstrzygalne (przeliczalnie rekurencyjne) Dowód Problem stopu maszyny Turinga Problem przynale»no±ci w L(M) (dla danego sªowa w i maszyny Turinga M). Gdyby±my umieli sprawdzi peªnym algorytmem (z wª sno±cia stopu) który± z powy»szych problemów to mieliby±my algorytm dla dopeªnienia L d, tzn. umieliby±my sprawdzi czy w i L(M i ) za pomoc algorytmu, który si zawsze zatrzymuje. No ale ten ostatni problem jest nierozstrzygalny (chocia» jest przeliczalnie rekurencyjny).

Nierozstrzygalne problemy dla gramatyk bezkontekstowych Niech Valid(M, w) = K 0 # K R 1 # K 2 # K R 3 # K 4 # K R 5 #... K m b dzie zbiorem skªadajacym si z jednego sªowa odpowiadaj cego zmodykowanej historii dziaªania maszyny M na sªowie w, tzn. K 0 = q 0 w, K i K i+1, oraz K m zawiera stan akceptuj cy. Je±li takiego sªowa nie ma, czyli w / L(M), to deniujemy Valid(M) =. Niech NonValid(M, w) b dzie dopeªnieniem Valid(M, w). Lemat Dla danej maszyny Turinga i sªowa w mo»na skonstruowa gramatyki G 1, G 2, G takie, ze. Valid(M) = L(G 1 ) L(G 2 ), L(G) = NonValid(M, w)

Nierozstrzygalne problemy dla gramatyk bezkontekstowych cd. Twierdzenie Nast puj ce problemy s nierozstrzygalne dla gramatyk bezkontekstowych G 1, G 2, G, G 1 L(G 1 ) L(G 2 ) 2 L(G) = Σ 3 L(G ) jest j zykiem regularnym Pierwsze dwa punkty s oczywistym wnioskiem z poprzedniego lematu. Dla dowodu (3) we¹my dowolny nieregularny j zyk bezkontekstowy L 0. Wtedy bezkontekstowy j zyk L = Σ #L 0 L(G )#Σ jest regularny wtw. gdy L(G ) = Σ. Tak wi c problem z punktu (2) sprowadzili±my do problemu z punktu (3). Nierozstrzygalno± (2) implikuje nierozstrzygalno± (3).

Niekonstruktywna egzystencjalno± automatu sko«czonego Twierdzenie Nie istnieje algorytm konstrukcji automatu sko«czonego dla j zyka L(G), gdzie G jest gramatyk bezkontekstow generuj c j zyk regularny (wiemy»e taki automat istnieje). Uzasadnienie. Gramatyka G z punktu (2) poprzedniego twierdzenia generuje j zyk regularny. Gdyby±my umieli skonstruowa automat sko«czony A dla tego j zyka to moglibysmy sprawdzic ªatwo czy L(G) = Σ korzystaj c z algorytmu na równowa»no± deterministycznych automatów sko«czonych. Jednym z tych automatów jest A a drugim automat akceptuj cy Σ. Problem L(G) = Σ jest nierozstrzygalny, zatem nie ma algorytmu konstruuj cego automat A (pomimo tego,»e wiemy»e A istnieje).