Równowano modeli oblicze Interpretacja rachunku 1 2 Twierdzenie Gödla o pełnoci Interpretacja jzyka FOL W 1931 K. Gödel udowodnił, e Jeeli formuła jest prawdziwa, to istnieje dowód tej formuły. Problem stopu? W 1965 J. Robinson opublikowała algorytm rezolucji. A jeeli formuła nie jest prawdziwa? Kadej zmiennej ze zbioru Z mona przypisa warto z pewnego zbioru, kademu n-argumentowemu symbolowi funkcyjnemu przypisujemy n-argumentow funkcj, n-argumentowemu symbolowi predykatu n-arn relacj. Funkcja interpretujca termy i formuły (funkcja semantyki) FOL wyznacza ich wartoci przy załoeniu pewnego systemu interpretacji. 3 4 Prawdziwo formuły Formuła jest spełnialna, jeeli istnieje taka interpretacja i takie przypisanie zmiennym wartoci, dla których formuła uzyskuje warto prawda. (2 + 3 < 3*3) (X + Y < 3*Z) (a + a < 3*a) Formuła jest prawdziwa (jest tautologi), jeli jest spełnialna dla kadej interpretacji. (A B) A B O danej interpretacji mówimy, e jest modelem formuły jeli dla kadego wartociowania zmiennych przy tej interpretacji formuła przyjmuje warto prawda. 5 Dowód Reguła wnioskowania postaci: konkluzja H C jest poprawna, gdy kada interpretacja formuł H i C, która jest modelem H jest równie modelem C; mówimy, e C jest logiczn konsekwencj H, co zapisujemy H = C. hipoteza Dowodem nazywamy sekwencj formuł, z których kada jest albo aksjomatem albo została wywiedziona z wczeniejszych formuł po zastosowaniu reguły wnioskowania. 6 1
Twierdzenie o pełnoci Jest ona oczywicie prawdziwa! Jeli formuła α jest dowiedlna (posiada dowód), to nazywamy j twierdzeniem (co zapisujemy α). Z twierdzenia o pełnoci dla FOL (K. Gödel) wynika, e formuła jest dowiedlna wtedy i tylko wtedy, gdy jest prawdziwa. Interpretacja rachunku 7 8 Czciowa rozstrzygalno FOL Dowodzenie twierdze w FOL ogranicza własno czciowej rozstrzygalnoci tej logiki, tzn. nie istnieje automatyczna procedura rozstrzygajca, czy dana formuła jest twierdzeniem, czy te nie, mimo e istnieje procedura znajdujca dowód, jeli formuła jest prawdziwa. Czyli istniej formuły, których nie mona ani udowodni, ani obali. Interpretacja rachunku 9 10 Pojcie obliczalnoci Maszyna Turinga, rachunek, rachunek λ,... Model oblicze Algorytm kroki, dane: we- i wyjciowe, dobrze okrelony, skoczony, wykonywalny... Jzyk programowania Modele oblicze Rachunek lambda (λ) Churcha Maszyna Turinga Maszyna RAM Rachunek pierwszego rzdu Funkcje rekurencyjne... 11 12 2
Rachunek λ Autor: Alonzo Church Rok: 1936 Maszyna Turinga Autor: Alan Tuirng Rok: 1936 Model: operator abstrakcji λx.[fx] Podstawowa reguła redukcji: (λx.[εx])m β ε[m/x] Odejmowanie w rachunku λ: http://pobox.com/~oleg/ftp/scheme/index.html#lambda-calc Funkcja jest obliczalna, jeeli odpowiadajce jej wyraenie λ jest redukowalne. 13 Model: T = Q, A, B, δ, q 0 Działanie: cig konfiguracji wynikajcy z zastosowania kolejnych instrukcji Funkcja jest obliczalna w sensie Turinga, jeeli dla dowolnego zapisu pocztkowego tamy maszyna Turinga zatrzyma si po wykonaniu skoczonej liczby kroków. zapisz 0 w prawo 0 1 zapisz 1 w prawo 0 0 0 1 1 1 0 0 0 1 zapisz 1 w prawo 0 zapisz 1 w prawo stop 14 Maszyna RAM Model: zbiór rejestrów Działanie: program czyli cig instrukcji (ze skoczonego zbioru) Funkcja jest obliczalna, jeeli mona j obliczy za pomoc maszyny RAM (maszyna RAM zatrzyma si dla dowolnego cigu danych i wynik jest w rejestrze R 1 ). Autor: M. Minsky(?) Rok: 1967 15 Typ 1j. 2. 3. 4. 5. 6j. 7. Instrukcje maszyny RAM Instrukcja E addj Y E del Y E clr Y E Y Z E jmp E E Y jmpj E E continue Opis działania dodanie litery a j na prawym kocu słowa w rejestrze Y usunicie jednej litery z lewego koca słowa w rejestrze Y wymazanie zawartoci rejestru Y (wpisanie ε) skopiowanie słowa z rejestru Z do Y skok do najblizszej instrukcji etykietowanej: E a (w gór) E b (w dół) skok do E, o ile słowo w rejestrze Y rozpoczyna si liter a j instrukcja pusta 16 Rachunek Autor: Julia Robinson Rok: 1965 Funkcje rekurencyjne Autor: Stephen Kleene Rok: 1936 Model: termy, klauzule, formuły Rezolucja: α β, β γ α γ Formuła jest prawdziwa, jeeli istnieje dowód tej formuły (metod rezolucji). Model: funkcje bazowe, pierwotnie rekurencyjne i czciowo rekurencyjne Operacje: podstawienie, rekursja prosta, operator minimum Funkcja jest obliczalna, jeeli jest funkcj czciowo rekurencyjn. 17 18 3
Równowano modeli oblicze Teza Churcha-Turinga Wszystko, co jest efektywnie obliczalne, daje si wyrazi za pomoc funkcji λ-definiowalnych, funkcji rekurencyjnych lub innych formalizmów im równowanych. Problemy efektywnie obliczalne daj si wyrazi jako funkcje zdefiniowane przez maszyn Turinga bdc formalizmem reprezentowania procedur efektywnych. Interpretacja rachunku 19 20 Funkcje obliczalne = problemy rozstrzygalne Funkcje nieobliczalne = problemy nierozstrzygalne Dodawanie, mnoenie, odejmowanie, dzielenie... Liczba π, λiczba e Dziesity problem Hilberta Funkcje sinx, e x, pod warunkiem, e x jest obliczalne Tautologie rachunku zda (kad tautologi rachunku zda mona udowodni) Czy jzyk bezkontekstowy jest: pusty, skoczony lub nieskoczony. Funkcje rekurencyjne Problem redukcji λ-wyrae do postaci normalnej Problem stopu maszyny Turinga Rachunek pierwszego (i drugiego) rzdu Czy dwa jzyki bezkontekstowe s równowane? 21 22 Interpretacja rachunku Gra w szachy: Mamy szachownic 8 na 8 pól, czyli 64 pola, które mona ustawi w cig: A1, A2,..., A8, B1,..., B8,..., H1,..., H8. 23 24 4
1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 A A B B B1 B2 B3 B4 B5 B6 B7 B8 C C C1 C2 C3 C4 C5 C6 C7 C8 D E F G H D E F G H D1 D2 D3 D4 D5 D6 D7 D8 E1 E2 E3 E4 E5 E6 E7 E8 F1 F2 F3 F4 F5 F6 F7 F8 G1 G2 G3 G4 G5 G6 G7 G8 H1 H2 H3 H4 H5 H6 H7 H8 25 26 B1 B2 B3 B4 B5 B6 B7 B8 C1 C2 C3 C4 C5 C6 C7 C8 D1 D2 D3 D4 D5 D6 D7 D8 E1 E2 E3 E4 E5 E6 E7 E8 F1 F2 F3 F4 F5 F6 F7 F8 G1 G2 G3 G4 G5 G6 G7 G8 H1 H2 H3 H4 H5 H6 H7 H8 B1 B2 B3 B4 B5 C2 C3 C4 C5 C6 C7 C8 D1 D2 D3 D4 D5 D6 E1 E2 E3 E4 E5 E6 E7 E8 F1 F2 F3 F4 F5 G1 G2 G3 G4 G5 G6 G7 G8 H1 H2 H3 H4 H5 27 28 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 Mamy po 16 pionów białych i czarnych: b1, b2,..., b16, c1, c2,..., c16. Na kadym polu moe si znajdowa co najwyej jeden pion i kady pion moe si znajdowa co najwyej na jednym polu. Pozostałe pola s puste: E. Kady układ pionów na szachownicy mona przedstawi w postaci cigu, np. konfiguracja startowa: E E E E E E E E E E E E E E E E E E E E E E E E E E c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 c12 c13 29 30 5
Z kadej konfiguracji (nie bdcej kocow) jest skoczona liczba dopuszczalnych ruchów (zalena od konfiguracji, ale zwykle wiksza od 1). Pojedyncz rozgrywk mona przedstawi jako cig konfiguracji. Zatem - wszystkich moliwych rozgrywek jest skoczona liczba. Liczba ta jest rzdu 10 120. Mniej wicej tyle jest czsteczek we wszechwiecie. Liczba ta jest rzdu 10 120. Gdyby kad rozgrywk mona było wygenerowa w czasie to obliczenie wszystkich trwałoby 1 sekundy 3.17* 10 112 lat 10-6 sekundy 3.17* 10 106 lat 31 32 Praktyczne wnioski z bada nad obliczalnoci Liczba ta jest rzdu 10 120. Gdyby kad rozgrywk mona było wygenerowa w czasie to obliczenie wszystkich trwałoby 1 sekundy 3.17* 10 112 lat 10-6 sekundy 3.17* 10 106 lat Maszyna Turinga Automaty i jzyki formalne Inne Jest wicej funkcji ni algorytmów Istnienie funkcji Złoono obliczeniowa algorytmów Ograniczenia informatyki Projektowanie analizatorów leksykalnych Edytory tekstu Przetwarzanie obrazów Przeszukiwanie plików Projektowanie parserów Analiza syntaktyczna Jzyk LISP Jzyk Prolog Jzyk Algol 33 34 Podsumowanie Interpretacja rachunku Rachunek jest czciowo rozstrzygalny. Modele oblicze s równowane. Złoono obliczeniowa nie jest tym samym co obliczalno. 35 36 6