n r fi i= 1 n r fi i= 1 r n ( x) = f ( x) + K+ f ( x) Def r 1 r n ( x) = f ( x) K f ( x) Def r 1 1 Wykład cz. 2 dyżur: poniedziałek 9.30-10.30 p. 436 środa 13.30-14.30 p. 436 e-mail: joanna.jozefowska@cs.put poznan.pl materiały do wykładów: http://www.cs.put.poznan.pl/jjozefowska/ hasło: mat2003 Ćwiczenia cz. 2 dr inż. Grzegorz Waligóra 2 Literatura Batóg T., Podstawy logiki, Wydawnictwo Naukowe UAM, Poznań 1999. Błażewicz J., Złożoność obliczeniowa problemów kombinatorycznych, WNT, Warszawa 1988. Davis M.,, w: Matematyka współczesna - dwanaście esejów pod redakcją Lynna Arthura Steena, WNT, Warszawa 1983. Epstein R. L., Carnielli W. A., Computability, Wadsworth, Belmont 2000. Harel D., Rzecz o istocie informatyki, wyd. 2, WNT Warszawa 2000. Penrose R., Nowy umysł cesarza. O komputerach, umyśle i prawach fizyki, PWN, Warszawa 1996. 3 1
Teoria informatyki i metainformatyka 4 Czy teoria jest potrzebna? Co to jest teoria? 5 Czy teoria jest potrzebna? Co to jest teoria? Teoria wszelka wiedza tłumacząca daną dziedzinę rzeczywistości w odróżnieniu od praktyki jako określonego zespołu działań przekształcających tę dziedzinę rzeczywistości. 6 2
Przepaść między teorią a praktyką. Dlaczego? 7 Zadania teorii: usystematyzowanie wiedzy o dziedzinie, pogłębianie znajomości danej dziedziny, wyjaśnianie zjawisk występujących w rzeczywistości, przewidywanie zjawisk, osiągnięcie postępu w praktyce. 8 Między duchem a materią pośredniczy... matematyka Hugo Steinhaus (1887-1972) 9 3
Teoria informatyki badanie matematycznych modeli zjawisk obliczeniowych. Obejmuje: Rozwiązywanie problemów Języki programowania Struktury danych Poprawność programów Zatrzymywanie programów Efektywność rozwiązań formułowanych w postaci programów Architektura komputerów 10 Sztuczna inteligencja Czy można symulować inteligentne zachowanie za pomocą metod obliczeniowych? 11 Sztuczna inteligencja Rozpoznawanie języka naturalnego Rozpoznawanie obrazów Uczenie się Planowanie działań i robotyka Gry Dowodzenie twierdzeń 12 4
Dowody Co to jest dowód? Jak rozpoznać, że twierdzenie matematyczne zostało udowodnione? Jakie są kryteria? Czym różni się dowód w matematyce od dowodu np. sądowego? 13 Dowody Indukcja Dowód nie wprost Dowód konstrukcyjny Dowód przez kontrprzykład Dowody na istnienie 14 Obliczanie 15 5
Obliczanie Profesor Nawrocki powiedział, że nie! Czy wszystko można obliczyć? 16 Obliczanie Czy wszystko można obliczyć? Co to jest obliczanie? Czy to, co intuicyjnie uznajemy za obliczalne można obliczyć za pomocą mechanicznej procedury? 17 18 6
Wszystko zaczęło się od paradoksów... W pewnej wsi mieszka fryzjer, który goli wszystkich i tylko tych mieszkańców wsi, którzy nie golą się sami. Czy ten fryzjer się goli? 19 Dawid Hilbert (1862-1943) 1900 - ogłasza program składający się z 23 problemów, którego celem jest zbudowanie matematyki na niepodważalnych zasadach; dziesiąty problem Hilberta (Entscheidungsproblem): Czy można napisać program pozwalający dla dowolnego wielomianu wielu zmiennych o współczynnikach całkowitych stwierdzić w skończonej liczbie kroków czy ma on pierwiastki całkowite, czy też ich nie ma. 20 Kurt Gödel (1906-1978) This sentence is not provable. 1931 - publikuje twierdzenie, którym rozwiewa nadzieje Hilberta: Dowolny precyzyjny (formalny) system aksjomatów i reguł wnioskowania, na tyle ogólny, aby obejmował proste zdania arytmetyczne, oraz wolny od sprzeczności, musi zawierać pewne zdania, których prawdziwości nie można ani dowieść, ani obalić posługując się środkami dozwolonymi w ramach tego systemu. 21 7
Alonzo Church (1903-1995) twórca rachunku λ i jego zastosowania do analizy obliczalności 1936 - udowadnia, że arytmetyka pierwszego rzędu jest nierozstrzygalna teza Churcha: wszystko, co jest efektywnie obliczalne daje się wyrazić za pomocą funkcji λ-definiowalnych, funkcji rekurencyjnych lub innych formalizmów im równoważnych 22 Stephen C. Kleene (1909-1994) 1936 - udowadnia równoważność zdefiniowanej przez Churcha klasy funkcji λ-definiowalnych z podaną przez siebie klasą funkcji rekurencyjnych 23 Alan Turing (1912-1954) możliwe jest skonstruowanie maszyny zdolnej wykonać dowolne obliczenia istnieją zagadnienia matematyczne, których nie można rozwiązać za pomocą obliczeń 24 8
Emil Post (1897-1954) niezależna analiza procesu obliczeniowego pierwsze badania nad stopniami nierozwiązalności (klasyfikacja problemów nierozwiązalnych) 1943 - wprowadza koncepcję systemów kanonicznych 25 Julia B. Robinson (1919-1985) prace nad nierozwiązalnością dziesiątego problemu Hilberta 1949 - udowadnia, że arytmetyka liczb rzeczywistych jest nierozstrzygalna zasada rezolucji 26 Martin Davis (1928) prace nad nierozwiązalnością dziesiątego problemu Hilberta (Davis, Putnam, Robinson, ok. 1950) gdyby istniało chociaż jedno równanie diofantyczne, którego rozwiązania spełniałyby specjalny warunek, to dziesiąty problem Hilberta byłby nierozwiązalny Jurij Matjasewicz (1948) 1970 - dowód istnienia takiego równania 27 9
Antoni A. Markow (1903-1979) 1954 - wprowadza pojęcie algorytmów normalnych wykazuje, że problem słowa dla półgrup jest nierozstrzygalny 28 Problem słowa Dla danego alfabetu składającego się z trzech znaków a, b i c i dla danych trzech równań: ba = abc bc = cba ac = ca Można otrzymać inne równania przez podstawienie: bac = bca = cbaa = cabca = acbca... cabca = cabac... cabca = cacbaa... Czy z podanych wyżej trzech równań można wnosić, że bacabca = acbca? 29 1963 - J. C. Stepherdson, H. E. Sturgis maszyny z nieograniczonymi rejestrami 1964 - C. C. Elgot, A. Robinson - maszyny RAM i RASP 30 10
Każdej teorii odpowiada metateoria Zadaniem metateorii jest analizowanie samej teorii i odkrywanie jej ograniczeń. Do głównych celów metainformatyki należą: - podanie precyzyjnego określenia tego, co oznacza termin obliczalny, - ustalenie zasadniczych metawyników, np. nierozstrzygalność problemu stopu dla maszyn Turinga. 31 Teoria obliczeń Teoria obliczeń czyli zastosowanie matematyki do teoretycznego rozumienia obliczeń. Jest to dział matematyki zajmujący się definiowaniem i formalnym badaniem terminu obliczalność. Teoria obliczeń formułuje podstawy teoretyczne algorytmów, programów, procesów obliczeniowych. 32 Klasy zagadnień rozważanych w teorii obliczeń wyznaczenie klasy problemów obliczalnych oraz wskazanie granic obliczalności klasyfikacje problemów obliczalnych złożoność obliczeniowa algorytmów weryfikacja poprawności algorytmów 33 11
Podejścia do problemu obliczalności Reprezentacja w postaci formalnego systemu (Church 1933, Gödel i Herbrand 1934) definiuje się formalny system (aksjomaty i reguły dowodzenia); funkcja jest obliczalna, jeżeli dla każdego m i n, takich, że f(m) = n można udowodnić w ramach tego systemu, że f(m) = n. Rachunek λ (Church 1936) definiuje się prosty, formalny alfabet i język oraz reguły redukcji (prostsze niż reguły dowodzenia w systemach formalnych). Modele arytmetyczne (Kleene 1936) wykorzystuje uogólnienie definicji indukcyjnej. Modele maszyn abstrakcyjnych (Turing 1936, Markov 1954, maszyny z nieograniczonym rejestrem (Shepherdson i Sturings 1963) wykorzystuje matematyczny abstrakcyjny model maszyny. 34 Obliczalność W 1937 roku Turing i Church (niezależnie) wykazali, że każdą obliczalną operację (w sensie Turinga) można zapisać w postaci odpowiedniego wyrażenia Churcha (i odwrotnie). Inne sposoby definiowania pojęcia obliczalności, jednak są one równoważne pod względem podziału problemów na obliczalne i nieobliczalne. 35 Konkurs Wszystkie konie są tego samego koloru. Możemy to udowodnić przez indukcję ze względu na liczbę koni w rozważanym podzbiorze. Oto w jaki sposób: Jeśli mamy do czynienia z jednym koniem, to ma on ten sam kolor, co on sam. Baza więc zachodzi trywialnie. W celu pokazania kroku indukcyjnego załóżmy, że w n- elementowym zbiorze koni są one ponumerowane od 1 do n. Na mocy założenia indukcyjnego konie od 1 do n 1 mają ten sam kolor, podobnie konie o numerach od 2 do n. Ale środkowe konie o numerach 2 do n 1 nie są kameleonami, więc nie mogą zmieniać koloru, kiedy przyznają się do różnych grup. Zatem konie od 1 do n muszą mieć ten sam kolor, czyli wszystkie n koni jest tego samego koloru; cbdo. Co, jeśli cokolwiek, jest błędne w tym rozumowaniu? 36 12