Jednotaśmowa, deterministyczna maszyna Turinga :



Podobne dokumenty
2.Prawo zachowania masy

Opis programu do wizualizacji algorytmów z zakresu arytmetyki komputerowej

WYKŁAD 8. Postacie obrazów na różnych etapach procesu przetwarzania

Elementy cyfrowe i układy logiczne

Temat: Funkcje. Własności ogólne. A n n a R a j f u r a, M a t e m a t y k a s e m e s t r 1, W S Z i M w S o c h a c z e w i e 1

Wtedy wystarczy wybrać właściwego Taga z listy.

Podstawy Informatyki Gramatyki formalne

1. Podstawy budowania wyra e regularnych (Regex)

Bazy danych. Andrzej Łachwa, UJ, /15

INSTRUKCJA OBSŁUGI URZĄDZENIA: HC8201

Rozdział 6. Pakowanie plecaka. 6.1 Postawienie problemu

PODSTAWY METROLOGII ĆWICZENIE 4 PRZETWORNIKI AC/CA Międzywydziałowa Szkoła Inżynierii Biomedycznej 2009/2010 SEMESTR 3

System Informatyczny CELAB. Przygotowanie programu do pracy - Ewidencja Czasu Pracy

Podstawy programowania

Instrukcja obsługi zamka. bibi-z50. (zamek autonomiczny z czytnikiem identyfikatora Mifare)

WSTĘP DO PROGRAMOWANIA

OFERTA WYKŁADÓW, WARSZTATÓW I LABORATORIÓW DLA UCZNIÓW KLAS IV- VI SZKÓŁ PODSTAWOWYCH, GIMNAZJALNYCH I ŚREDNICH

Instrukcja obsługi Norton Commander (NC) wersja 4.0. Autor: mgr inż. Tomasz Staniszewski

ASD - ćwiczenia III. Dowodzenie poprawności programów iteracyjnych. Nieformalnie o poprawności programów:

Techniczne nauki М.М.Zheplinska, A.S.Bessarab Narodowy uniwersytet spożywczych technologii, Кijow STOSOWANIE PARY WODNEJ SKRAPLANIA KAWITACJI

1. Rozwiązać układ równań { x 2 = 2y 1

Urządzenia do bezprzerwowego zasilania UPS CES GX RACK. 10 kva. Wersja U/CES_GXR_10.0/J/v01. Praca równoległa

Harmonogramowanie projektów Zarządzanie czasem

Wiedza niepewna i wnioskowanie (c.d.)

EGZAMIN MATURALNY Z INFORMATYKI 19 MAJA 2015

Arkusz zawiera informacje prawnie chronione do momentu rozpocz cia egzaminu.

Metoda LBL (ang. Layer by Layer, pol. Warstwa Po Warstwie). Jest ona metodą najprostszą.

Opis ogólny AL154SAV5.HT

WZÓR SKARGI EUROPEJSKI TRYBUNAŁ PRAW CZŁOWIEKA. Rada Europy. Strasburg, Francja SKARGA. na podstawie Artykułu 34 Europejskiej Konwencji Praw Człowieka

Kurs wyrównawczy dla kandydatów i studentów UTP

KLAUZULE ARBITRAŻOWE

Arkusz zawiera informacje prawnie chronione do momentu rozpocz cia egzaminu.

Instalacja. Zawartość. Wyszukiwarka. Instalacja Konfiguracja Uruchomienie i praca z raportem Metody wyszukiwania...

Uchwały podjęte przez Nadzwyczajne Walne Zgromadzenie Zakładów Lentex S.A. z dnia 11 lutego 2014 roku

HiTiN Sp. z o. o. Przekaźnik kontroli temperatury RTT 4/2 DTR Katowice, ul. Szopienicka 62 C tel/fax.: + 48 (32)

Przygotowały: Magdalena Golińska Ewa Karaś

Spis treści. Dokument pochodzi ze strony LICZBY NATURALNE I UŁAMKI

Spis zawartości Lp. Str. Zastosowanie Budowa wzmacniacza RS485 Dane techniczne Schemat elektryczny

WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA

Twierdzenie Bayesa. Indukowane Reguły Decyzyjne Jakub Kuliński Nr albumu: 53623

EGZAMIN MATURALNY Z INFORMATYKI

Architektura komputerów

Matematyka dyskretna. Andrzej Łachwa, UJ, /14

Zadanie 1. Liczba szkód w każdym z trzech kolejnych lat dla pewnego ubezpieczonego ma rozkład równomierny:

REGULAMIN TURNIEJU SPORTOWEJ GRY KARCIANEJ KANASTA W RAMACH I OGÓLNOPOLSKIEGO FESTIWALU GIER UMYSŁOWYCH 55+ GORZÓW WLKP R.

raceboard-s Szybki start

System zarządzania bazą danych (SZBD) Proces przechodzenia od świata rzeczywistego do jego informacyjnej reprezentacji w komputerze nazywać będziemy

K P K P R K P R D K P R D W

XIII KONKURS MATEMATYCZNY

Instrukcja obsługi panelu operacyjnego XV100 w SZR-MAX-1SX

Ćwiczenie 7 Liczniki binarne i binarne systemy liczbowe.

UCHWAŁA NR... RADY MIASTA KIELCE. z dnia r.

14.Rozwiązywanie zadań tekstowych wykorzystujących równania i nierówności kwadratowe.

Microsoft Management Console

enova Workflow Obieg faktury kosztowej

Komputer i urządzenia z nim współpracujące

Systemy mikroprocesorowe - projekt

SPECYFIKACJA TECHNICZNA D GEODEZYJNA OBSŁUGA BUDOWY

Projekt MES. Wykonali: Lidia Orkowska Mateusz Wróbel Adam Wysocki WBMIZ, MIBM, IMe

DJCONTROL INSTINCT I DJUCED PIERWSZE KROKI

TEORIA GIER W EKONOMII WYKŁAD 1: GRY W POSTACI EKSTENSYWNEJ I NORMALNEJ

Zaawansowana adresacja IPv4

Poradnik, jak zamontować kompletny cylinder z głowicą 50, 60, 80ccm.

Instrukcja użytkowania DRIVER. Programator z przewodem sterowniczym. DRIVER 610 lub lub 2 strefy DRIVER

Edycja geometrii w Solid Edge ST

EGZAMIN MATURALNY Z MATEMATYKI CZERWIEC 2012 POZIOM PODSTAWOWY. Czas pracy: 170 minut. Liczba punktów do uzyskania: 50 WPISUJE ZDAJĄCY

PERSON Kraków

Elementy typografii. Technologia Informacyjna Lekcja 22

Roczne zeznanie podatkowe 2015

WZORU UŻYTKOWEGO EGZEMPLARZ ARCHIWALNY. d2)opis OCHRONNY. (19) PL (n) Centralny Instytut Ochrony Pracy, Warszawa, PL

Komunikacja w sieci Industrial Ethernet z wykorzystaniem Protokołu S7 oraz funkcji PUT/GET

PROE wykład 7 kontenery tablicowe, listy. dr inż. Jacek Naruniec

Konfigurator opisuje proces instalacji i konfiguracji karty sieciowej bezprzewodowej D-Link DWL-520+ w systemach /2000/XP /

WOJEWÓDZKI KONKURS FIZYCZNY

SZABLONY KOMUNIKATÓW SPIS TREŚCI

ZAPYTANIE OFERTOWE PRZEDMIOT ZAMÓWIENIA: DOSTAWA UŻYWANEGO SAMOCHODU DOSTAWCZEGO DLA ZAKŁADU WODOCIĄGÓW I KANALIZACJI W PACZKOWIE

Logowanie do mobilnego systemu CUI i autoryzacja kodami SMS

Zmiany w wersji 1.18 programu VinCent Office.

REGULAMIN KOSZTÓW PIŁKARSKIEGO SĄDU POLUBOWNEGO

Cyfrowy włącznik czasowy z lampką Nr produktu

STRONA GŁÓWNA SPIS TREŚCI. Zarządzanie zawartością stron... 2 Tworzenie nowej strony... 4 Zakładka... 4 Prawa kolumna... 9

Opracowała: Karolina Król-Komarnicka, kierownik działu kadr i płac w państwowej instytucji

INSTRUKCJA DO PROGRAMU LICZARKA 2000 v 2.56

SYSTEMY TRANSAKCYJNE (TraderTeam.pl: Rafa Jaworski, Marek Matuszek) Lekcja XVI

INSTRUKCJA OBS UGI

ZASADY WYPEŁNIANIA ANKIETY 2. ZATRUDNIENIE NA CZĘŚĆ ETATU LUB PRZEZ CZĘŚĆ OKRESU OCENY

Metrologia cieplna i przepływowa

Likwidacja barier architektonicznych to usuwanie tego, co przeszkadza ci korzystać z budynków, chodników, ulic i innych miejsc oraz mebli i sprzętów.

PROCEDURY OBOWIĄZUJĄCE NA ŚWIETLICY SZKOLNEJ

Matematyka dla liceum/funkcja liniowa

Arkusz zawiera informacje prawnie chronione do momentu rozpocz cia egzaminu.

Surowiec Zużycie surowca Zapas A B C D S 1 0,5 0,4 0,4 0, S 2 0,4 0,2 0 0, Ceny x

Moduł. Rama 2D suplement do wersji Konstruktora 4.6

Konspekt lekcji otwartej

UKŁAD ROZRUCHU SILNIKÓW SPALINOWYCH

Nowe głowice Hunter - DSP 700

Ogłoszenie Zarządu o zwołaniu Nadzwyczajnego Walnego Zgromadzenia Akcjonariuszy Yellow Hat S.A. z siedzibą w Warszawie

REJESTRATOR RES800 INSTRUKCJA OBSŁUGI

Uniwersytet Warszawski Organizacja rynku dr Olga Kiuila LEKCJA 12

Transkrypt:

Maszyna Turinga podstawowy abstrakcyjny model obliczeń Pojęcia: Alfabet: skończony zbiór symboli słowo nad alfabetem: skończony ciąg symboli słowo puste (ciąg symboli długości 0) ozn. e Język: dowolny podzbiór zbioru wszystkich słów nad ustalonym alfabetem Jednotaśmowa, deterministyczna maszyna Turinga : nieskończona taśma złożona z klatek głowica czytająco-pisząca moduł sterujący zawierający program maszyny M = ( Q, S, q 0, d ) Q skończony zbiór stanów, q 0 stan początkowy, S alfabet symboli taśmy; zawiera wyróżniony znak pusty (blank), oznaczany przez B lub. d podzbiór zbioru (Q S) (Q S {L,R,S}) // {L=Left, R=Right, S=Stay} stanowi program maszyny; każda piątka w zbiorze d jest instrukcją postaci (stan-1, znak-1) à (stan-2, znak-2, przesunięcie) Sytuacja początkowa: na taśmie zapisane słowo wejściowe, nie zawierające 1

B, pozostałe klatki zawierają B głowica taśmy ustawiona na pierwszym znaku słowa wejściowego maszyna w stanie q 0 Działanie maszyny (wykonywanie programu) Jeśli (stan-1, litera-1) à (stan-2, znak-2, przesunięcie) jest instrukcja maszyny M, oraz M jest w stanie stan-1, głowica czyta znak-1, to M przechodzi w stan-2 znak-1 zostaje zastąpiony przez znak-2 głowica wykonuje przesunięcie Sytuacja końcowa: dla aktualnego stanu oraz czytanego znaku nie jest zdefiniowana instrukcja w programie maszyny. Def. Maszyna M = ( Q, S, q 0, d ) jest deterministyczna jeśli d jest funkcją częściową na zbiorze Q S (czyli każda reguła ma inną lewą stronę). W przeciwnym przypadku (program maszyny jest "tylko" relacją) M jest niedeterministyczna. Def. Konfiguracja maszyny to trójka (stan, zawartość taśmy, położenie głowicy). Oznaczenie: X 1 X 2... X k-1 s X k X k+1... X m, gdzie s jest aktualnym stanem, X 1 X 2... X k-1 X k X k+1... X m jest zawartością spójnego fragmentu taśmy, k=1,...,m, 2

głowica czyta klatkę zawierającą X k pozostałe znaki na taśmie to blanki. Ex. 1. Zwiększanie liczby binarnej o 1 konfiguracja początkowa: p101011 końcowa: 101f100 Lub w takiej notacji: dane :...101011... p^ wynik :...101100... f^ Program M (p stan początkowy): (p, 0, p, 0, R) //idź w prawo (p, 1, p, 1, R) //idź w prawo (p, B, q, B, L) //blank - zawróć (q, 1, q, 0, L) //zamieniaj kończące 1 na 0 (q, 0, f, 1, L) //zamień ostatnie 0 na 1,koniec (q, B, f, 1, S) //gdy na wejściu same jedynki Jak jest długość programu w maszynie zwiększającej o 1 liczbę dziesiętna? Jak wyglądałby program gdyby kodowanie było unarne czyli liczba n zapisana za pomocą n jedynek? Ex. 2. Odwracanie kolejności znaków w słowie binarnym. Idea: kasujemy znak z lewej, "zapamiętujemy" go w "zbiorze stanów", idziemy do końca w prawo i na pierwszym pustym miejscu wpisujemy zapamiętany znak. 3

fragment programu (nie jest to jedyne rozwiązanie!): (p, 0, q, B, R) (p, 1, r, B, R) (q, *, q, *, R) (q, B, s, 0, L) (r, *, r, *, R) (r, B, s, 1, L) stany p, q pamiętają (rozróżniają) znak który jest transportowany na prawy koniec słowa. pełny program musi zawierać ponadto opisy: analogicznego transportu prawego znaku na lewy koniec stwierdzenia że wszystkie znaki już przestawione powstanie blank w środku słowa zsunięcie znaków Maszyna Turinga jako akceptor (lub: automat do rozpoznawania języka) Wyróżniamy drugi stan: (akceptujący) q f stan końcowy Def. Niech M będzie ustaloną deterministyczną MT M. Początkowo: na taśmie słowo w, nie zawierające symbolu pustego, nad alfabetem S, głowica czyta pierwszy symbol słowa w. Jeśli po skończonej liczbie kroków M zatrzymuje się w stanie akceptującym to mówimy że M akceptuje (rozpoznaje) słowo w. W przeciwnym przypadku (tj. gdy M zatrzymuje się w 4

innym stanie lub nie zatrzymuje się w ogóle) mówimy że M odrzuca słowo w. Def. Językiem akceptowanym przez deterministyczną MT M jest zbiór wszystkich słów akceptowanych przez M, oznaczany L(M). Def. Mówimy, że MT M akceptuje język L jeśli L(M) = L. Def. Język L jest rekurencyjnie przeliczalny := istnieje MT M akceptująca ten język Def. Język L jest rekurencyjny := istnieje MT M akceptująca ten język, zatrzymująca się na każdym słowie wejściowym (tzn. posiadająca własność stopu) Ex. Język palindromów nad alfabetem {a, b, c} 0 1 2 3 4 5 6 7 N T --+---------------------------------------- a B1R a1r a2r a3r B7L ans ans a7l b B2R b1r b2r b3r BNS B7L BNS b7l c B3R c1r c2r c3r cns cns B7L c7l B BTS B4L B5L B6L BTS BTS BTS B0R ------------------------------------------- Stan N odrzucenie (nie ma przejścia dalej) Stan T akceptacja. Tak zdefiniowana MT M ma własność stopu, zatem: Język palindromów jest rekurencyjny. Techniki konstruowania maszyn Turinga 1. Przechowywanie informacji w sterowaniu ("w zbiorze stanów", jak powyżej) 5

2. Taśma wielościeżkowa (znak na taśmie jest k-tką). Np. 3-ścieżkowa MT do rozpoznawania liczb pierwszych. Ścieżka 1: liczba wejściowa, z ogranicznikami #, $ Ścieżka 2: kolejne liczby naturalne, w pierwszej fazie wpisywana 2. Ścieżka 3: robocza kopiujemy ś.1 na ś.3, następnie odejmujemy ś.2 od ś.3, jak długo wynik dodatni. gdy wynik 0 to koniec, odrzuć, wpp. zwiększ ś.2 o 1 jeśli ś.2 = ś.1 to koniec akceptuj wpp. powtarzaj kopiowanie ś.1 na ś.3 itd. # 1 0 1 1 1 1 $ B B B B B B 1 0 1 B B B B 1 0 0 1 0 1 B B B głowica: ^ Badanie czy 47 jest liczbą pierwszą. Aktualnie wykonywane dzielenie przez 5. Dwukrotnie już odjęto ścieżkę 2 od ścieżki 3. 3. Odfajkowywanie symboli Na drugiej ścieżce można zaznaczać położenie do którego chcemy wrócić. Np. rozpoznawanie słów postaci ww. Albo a n b n. 4. Podprogramy. Przykład realizacja "odfajkowywania" symboli 6

odfajkować najbardziej na prawo położoną jedynkę S = { B blank, 0 "normalne 0" 1 "normalne 1" % "odfajkowane 1" } Program M (p stan początkowy): (p, 0, p, 0, R) (p, 1, p, 1, R) (p, B, q, B, L) (q, 0, q, 0, L) (q, 1, f, %, S) // idź w prawo // idź w prawo // zawróć w lewo // idź w lewo, omijaj zera // zrobione Jeśli jest to fragment podprogram innej maszyny, to stan p jest stanem wejściowym do podprogramu, a od stanu f kontynuuje się wykonanie pozostałej części Przykład: Konstruujemy MT M taką, że L(M) = {a n b n, n³0}. 9 jest stanem akceptującym. (0, B, 9, B, S) //słowo puste jest OK (0, a, 1, X, R) //zastąp pierwsze a przez X (1, a, 1, a, R) //w prawo do pierwszego b (1, Y, 1, Y, R) (1, b, 2, Y, L) //zastąp b przez Y (2, Y, 2, Y, L) //wróć na początek (2, a, 2, a, L) (2, X, 0, X, R) //znaleziony, od początku (0, Y, 0, Y, R) //ostatnie przejście w prawo // jeśli znajdzie b to nie zaakceptuje // jeśli znajdzie B to OK 7

Def. MT M ma własność stopu, jeśli dla dowolnego słowa wejściowego w, obliczenie M na tym słowie jest skończone. Warianty modelu maszyny Turinga. 1. k taśm, k>=1, k-tm (k jest stałą, liczba taśm nie zależy od słowa wejściowego). każda taśma ma swoją głowicę. pojedynczy ruch zależy od stanu, symboli czytanych przez głowice, i dotyczy wszystkich głowic. Wygodny opis algorytmów, np. sprawdzanie czy liczba pierwsza. Operacje arytmetyczne wykonywane na osobnych taśmach, osobnymi głowicami. Fakt: Dla dowolnego języka L rozpoznawanego przez k- TM istnieje 1-TM rozpoznająca ten język. Dowód: symulacja k-tm przez 1-TM, opis za pomocą 2k ścieżek. 2. Niedeterministyczna MT (NDTM) Program może zawierać więcej niż jedno możliwe przejście dla danej pary (stan, symbol). Def. NDTM M akceptuje słowo w ç è istnieje ciąg konfiguracji zgodny z funkcją przejścia maszyny M, prowadzący od konfiguracji początkowej do konfiguracji w stanie akceptującym. NDTM M odrzuca słowo w jeśli KAŻDY ciąg konfiguracji 8

zgodny z funkcją przejścia kończy się w stanie nieakceptującym albo jest nieskończony. Spostrzeżenie: Własność stopu dla NDTM nie jest istotna. Fakt: Dla dowolnego języka L rozpoznawanego przez NDTM istnieje TM rozpoznająca ten język. Dowód: przegląd drzewa możliwych konfiguracji poziomami, zaczynając od korzenia. Kodowanie maszyn Turinga Np. stan (symbol alfabetu, kierunek) o numerze i kodujemy za pomocą i zer: 00... 0 (i=1, 2,... Q, stan początkowy ma numer 1, końcowy-akceptujący ma numer Q w zapisie piątki (z funkcji przejścia) ciągi zer oddzielane jedną jedynką zapis maszyny: ciąg piątek oddzielanych dwiema jedynkami na początku ciągu piątek dowolna, >= 3 liczba jedynek na końcu ciągu 3 jedynki M dowolna MT M można przedstawić jako liczbę (binarną) w powyższy sposób dzięki dowolnej liczbie jedynek na początku zapisu jest nieskończenie wiele liczb kodujących tę samą MT każda liczba k jest kodem pewnej MT M (umownie: jeśli k nie jest prawidłowym syntaktycznie opisem MT to k koduje MT akceptującą język pusty) 9

każda liczba jest kodem dokładnie jednej MT Uniwersalna MT: na wejściu: opis MT M oraz słowo w działanie: symulacja działania maszyny M gdy na wejściu dla M jest słowo w. Fakt: Uniwersalna MT istnieje. najmniejsza znaleziona dotychczas: 5 stanów, 7 symboli Maszyna Turinga jako model obliczania funkcji Rozważamy funkcje częściowe o argumentach i wartościach naturalnych. Dana jest TM M Na wejściu: liczba n zapisana w ustalony sposób (np. unarnie, albo binarnie), n>=0 Jeśli M zatrzymuje się z taśmą zawierającą liczbę m (zapisaną zgodnie z ustalonym sposobem zapisu liczb), to mówimy że f(n) = m Tak zdefiniowana funkcja częściowa f : N à N jest funkcją realizowaną (lub: obliczaną) przez M. Jeśli funkcja f jest obliczana przez M to mówimy że f jest funkcją częściowo rekurencyjną (właściwie: częściową rekurencyjną). Czyli, dla TM obliczającej funkcję f: 10

dla pewnych argumentów n, M może się nie zatrzymać (takie n nie należy do dziedziny funkcji) dla pewnych argumentów n, M może wypisać słowo nie będące liczbą w ustalonym sposobie zapisu liczb (takie n nie należy do dziedziny funkcji) Inne modele obliczeń: Maszyna RAM (random access machine) abstrakcyjny model komputera: taśma wejściowa (read-only) taśma wyjściowa (write-only) pamięć danych: nieskończona liczba rejestrów (słów), każdy zawiera liczbę całkowita dowolnej wielkości; adres 0 akumulator program (poza pamięcią danych) licznik rozkazów Lista rozkazów: LOAD, STORE, ADD, SUB, MULT, DIV, READ, WRITE, JUMP, JGTZ, JZERO, HALT Tryby adresacji: natychmiastowy, bezpośredni, pośredni (jak w przykładowej maszynie cyfrowej). RAM jest zarówno modelem obliczania funkcji liczbowych jak i rozpoznawania języków. RAM jako urządzenie obliczające funkcję f : na taśmie wejściowej argument n; po zakończeniu obliczenia na taśmie wyjściowej wartość f(n); w przypadku gdy n nie należy do dziedziny maszyna 11

nie zatrzymuje się lub wypisuje wynik który nie jest liczbą RAM jako urządzenie rozpoznające język L: na taśmie wejściowej słowo wejściowe w; po zakończeniu obliczenia na taśmie wyjściowej wartość 1 wtedy i tylko wtedy gdy w Î L; w przypadku gdy w Ï L maszyna nie zatrzymuje się lub wypisuje jakikolwiek wynik różny od 1 Fakt: Maszyna Turinga oraz RAM są równoważnymi modelami obliczeń. Czyli: dla dowolnej funkcji f : N à N zachodzi: Istnieje program P na RAM obliczający f çè istnieje (równoważna) MT M obliczająca f. Analogicznie dla języków: Dla dowolnego języka L: Istnieje program P na RAM rozpoznający L çè istnieje (równoważna) MT M rozpoznająca L. Inne modele obliczeń: funkcje rekurencyjne algorytmy Markowa algorytmy Posta systemy Posta języki programowania Fakt: Wszystkie powyższe modele obliczeń są równoważne MT. 12

Czyli wystarcza używać standardowego języka opisu algorytmu. Fakt: Wszystkie znane modele obliczeń nie są mocniejsze niż MT. czyli: wszystko co można na nich rozwiązać jest rozwiązywalne również w modelu MT. Teza Churcha-Turinga. Wszystko co jest obliczalne intuicyjnie jest obliczalne na MT. Jakie problemy są rozwiązywalne, a jakie nie są? Czy w ogóle istnieją nierozwiązywalne problemy? Ile ich jest? Dla ustalonego modelu obliczeń można ustalić alfabet jego opisu: Każdy algorytm jest zapisywalny jako skończony ciąg symboli. Np. MT zapisywana jest za pomocą skończonego ciągu piątek, w języku jak powyżej. Zakładamy że napis niezgodny z ustaloną syntaktyką oznacza maszynę akceptującą pusty język (dla urządzeń obliczających funkcje: funkcję o pustej dziedzinie). Takie opisy można ustawić w ciąg: najpierw opisy długości 1, 2, 3, itd. Dla ustalonej długości kolejność leksykograficzna. è Maszyn Turinga jest przeliczalnie wiele. 13

Ile jest języków? alfabet jest skończony, np. {0, 1, B} wszystkich słów nad alfabetem jest przeliczalnie wiele wszystkich podzbiorów zbioru słów jest nieprzeliczalnie wiele è istnieją języki których nie da się rozpoznać na MT è istnieją problemy algorytmiczne dla których nie istnieje rozwiązujący je algorytm W praktyce często posługujemy się pojęciem problemu algorytmicznego: Problem algorytmiczny (decyzyjny) Q we: instancja problemu (wystąpienie problemu) wy: TAK / NIE Np. czy dany graf można pokolorować 3 kolorami czy w danym zbiorze elementów o podanych wagach istnieje podzbiór o sumarycznej wadze równej zadanej liczbie czy w zadanej tablicy występuje zadany element czy w grafie o podanych wagach krawędzi i ustalonych wierzchołkach u, v istnieje ścieżka z u do v o długości nie przekraczającej zadanej wartości d. Problem algorytmiczny, poprzez kodowanie instancji w ustalony sposób, sprowadza się do rozpoznawania języka. Problem jest rozstrzygalny: odpowiadający mu język jest rekurencyjny 14

Problem jest nierozstrzygalny: odpowiadający mu język nie jest rekurencyjny Problem jest częściowo rozstrzygalny: odpowiadający mu język jest rekurencyjnie przeliczalny. Przykład problemu nierozstrzygalnego: Problem stopu: Wejście: MT M oraz słowo w Wyjście: "tak" wtedy i tylko wtedy gdy M zatrzymuje się jeśli na wejściu otrzyma słowo w. Fakt: Problem stopu jest częściowo rozstrzygalny Dowód: wystarcza symulować działanie M na w jeśli M się zatrzyma w stanie akceptującym to odpowiadamy "tak" jeśli M się zatrzyma w stanie nieakceptującym to odpowiadamy "nie" jeśli M się nie zatrzyma, to my też nie zatrzymamy symulacji, która będzie trwała w nieskończoność, a zatem nic nie odpowiemy Problem odpowiedniości Posta We: A=w 1,...,w k, B=x 1,...,x k, - listy słów nad ustalonym alfabetem Wy: "tak" wtedy i tylko wtedy gdy istnieje ciąg liczb naturalnych i(1),...,i(m), m>=1, taki, że w i(1),..., w i(m) = x i(1),..., x i(m). Np. 15

dla list: A=1, 10111, 10, B=111, 10, 0, odpowiedź jest "tak" rozwiązaniem jest ciąg 2,1,1,3. dla list: A=10, 011, 101, B=101, 11, 011, odpowiedź jest "nie" w tym przypadku można to udowodnić. Fakt nierozstrzygalności mówi, że nie istnieje jednak ogólna metoda dowodzenia tej własności dla dowolnej instancji. Przykłady problemów które nie są częściowo rozstrzygalne: Dopełnienie problemu stopu: Wejście: MT M oraz słowo w Wyjście: "tak" wtedy i tylko wtedy gdy M nie zatrzymuje się jeśli na wejściu otrzyma słowo w. Pustość języka Wejście: MT M Wyjście: "tak" wtedy i tylko wtedy gdy L(M)=Æ. 16