Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Automatyczne dowodzenie twierdzeń. Plan wykładu Dowodzenie twierdzeń matematycznychDowodzenie twierdzeń matematycznych DedukcjaDedukcja Logic TheoristLogic.

Podobne prezentacje


Prezentacja na temat: "Automatyczne dowodzenie twierdzeń. Plan wykładu Dowodzenie twierdzeń matematycznychDowodzenie twierdzeń matematycznych DedukcjaDedukcja Logic TheoristLogic."— Zapis prezentacji:

1 Automatyczne dowodzenie twierdzeń

2 Plan wykładu Dowodzenie twierdzeń matematycznychDowodzenie twierdzeń matematycznych DedukcjaDedukcja Logic TheoristLogic Theorist Means-ends AnalysisMeans-ends Analysis RezolucjaRezolucja Programowanie w logice – PROLOGProgramowanie w logice – PROLOG

3 Logic Theorist Allen Newell Herbert Simon

4 Automatyczne dowodzenie twierdzeń Bernard Russel Alfred N. Whitehead

5 Podstawowe pojęcia Teoria Teoria Zbiór formuł T nazywamy teorią wtw, gdy jest on zamknięty ze względu na konsekwencje logiczne. Zbiór formuł T jest zamknięty ze względu na konsekwencje logiczne wtw, gdy dla wszystkich formuł A zachodzi zależność: jeżeli A jest konsekwencją logiczną T, to A T. Reguły dowodowe Reguły dowodowe Reguły generowania twierdzeń ze zbioru aksjomatów - reguły wnioskowania (np. reguła odrywania).

6 Własności teorii Teoria jest niesprzeczna - to znaczy żadne zdanie i jego negacja nie mogą być jednocześnie twierdzeniami tej teorii.Teoria jest niesprzeczna - to znaczy żadne zdanie i jego negacja nie mogą być jednocześnie twierdzeniami tej teorii. Zdanie teorii nazywamy rozstrzygalnym, jeżeli ono samo, albo jego negacja, jest twierdzeniem teorii.Zdanie teorii nazywamy rozstrzygalnym, jeżeli ono samo, albo jego negacja, jest twierdzeniem teorii. Teoria jest zupełna, jeżeli wszystkie zdania są w niej rozstrzygalne.Teoria jest zupełna, jeżeli wszystkie zdania są w niej rozstrzygalne. Teoria jest rozstrzygalna, jeżeli istnieje algorytm, który dla każdego jej zdania pozwala stwierdzić, czy jest ono twierdzeniem tej teorii.Teoria jest rozstrzygalna, jeżeli istnieje algorytm, który dla każdego jej zdania pozwala stwierdzić, czy jest ono twierdzeniem tej teorii. Większość teorii matematycznych, to teorie nierozstrzygalne (np. teoria liczb naturalnych).Większość teorii matematycznych, to teorie nierozstrzygalne (np. teoria liczb naturalnych).

7 twierdzenie o niezupełności Niech NT będzie zbiorem aksjomatów teorii liczb naturalnych. Jeśli teoria T (NT) jest niesprzeczna, to nie jest zupełna *). Kurt Gödel *) Dowód można znaleźć w: [1] Smullyan R., What is the name of this book? – The riddle of Draculla and other logical puzzles. Prentice-Hall, [2] Mendelson E., Introduction to mathematical logic, Wyd. 4, Chapman and Hall, 1997.

8 Formuły rachunku predykatów Za pomocą zastępującej gramatyki definiuje się formuły atomowe oraz formuły rachunku predykatów: argument ::= xdla dowolnego x V argument ::= adla dowolnego a A argumenty ::= argument argumenty ::= argument,argumenty atom ::= p | p(argumenty)dla dowolnego p P form ::= atom form ::= form form ::= form form podobnie dla,.... form ::= x formdla dowolnego x V P = {p, q, r} – symbole predykatywne A = {a, b, c} – stałe V = {x, y, z} – zmienne

9 Słowniczek Predykat Predykat Funktor Funktor Term Term Atom Atom Formuła złożona Formuła złożona Literał dodatni Literał dodatni Literał ujemny Literał ujemny Klauzula Horna Klauzula Horna –symbol (nazwa) relacji –symbol (nazwa) funkcji –zmienna logiczna lub funktor z listą argumentów –symbol relacji z argumentami będącymi termami –ciąg formuł atomowych połączonych spójnikami –formuła atomowa –negacja formuły atomowej –dysjunkcja literałów, najwyżej jeden literał dodatni

10 Dedukcja Dedukcja jest metodą wnioskowania, w której podstawową regułą dowodową jest reguła odrywania:

11 2. na podstawie reguły odrywania: 2. na podstawie reguły odrywania: Dowód: Tw. o Sokratesie:die(sokrates) 1. na podstawie reguły podstawiania postawiamy X/sokrates w A1 man(sokrates) ________________________________________ die(sokrates), man(sokrates) die(sokrates) Teoria przemijania (A1) man(X) die(X) (A2) man(sokrates) (A1) man(sokrates) die(sokrates)

12 Operacje w programie Logic Theorist Podstawienie zmiennych:: w każdym twierdzeniu, o którym wiemy, że jest prawdziwe można podstawić za zmienną dowolne wyrażenie w każdym wystąpieniu tej zmiennej. Modus ponens (reguła odrywania): Zastąpienie:: operator działania można zastąpić wyrażeniem równoważnym lub jego definicją. np. w wyrażeniu ( A B) (A B) podstawiamy A za B ( A A) (A A) (*) np. w wyrażeniu ( A A) A zastępujemy operator jego definicją (*) (A A) A [(A B) A] B

13 Algorytm: 1. Wykonanie wszystkich możliwych podstawień do bieżącego celu. 2. Zastosowanie wszystkich możliwych zastąpień i oderwań do bieżącego celu i sprawdzenie wyników za pomocą podstawień; jeżeli nie doprowadzi to do dowodu, dopisanie wyników do listy podcelów. 3. Zastosowanie reguły łańcucha a b, b c a c 4. Jeżeli żadne z powyższych działań nie doprowadziło do dowodu, to jako bieżący cel przyjmij kolejny nie rozważany dotąd element z listy podcelów. 5. Zakończ jeżeli: znaleziono dowód lub lista podcelów jest pusta lub czas i pamięć zostały wyczerpane.

14 LT – PRZYKŁAD 1 Cel: p (q p) Zastąpienie: (q p) ( q p) Podcel: p ( q p) Podstawienie: q za q Podcel: p (q p) Aksjomat: p (q p)

15 LT – PRZYKŁAD 2 Cel: (p p) p Zastąpienie: (p p) ( p p) Podcel: ( p p) p Podstawienie: p za p Podcel: (p p) p Aksjomat: (p p) p

16 Logic Theorist - podsumowanie Program napisany przez Newella, Simona i Shawa w roku 1956, który dowodził podstawowe twierdzenia pierwszego rozdziału Principia MathematicaProgram napisany przez Newella, Simona i Shawa w roku 1956, który dowodził podstawowe twierdzenia pierwszego rozdziału Principia Mathematica Reprezentacja wiedzy: rachunek predykatówReprezentacja wiedzy: rachunek predykatów Wnioskowanie: dedukcjaWnioskowanie: dedukcja Procedura pomocnicza: unifikacja wyrażeńProcedura pomocnicza: unifikacja wyrażeń Problemy: złożoność, sterowanie wnioskowaniemProblemy: złożoność, sterowanie wnioskowaniem

17 General Problem Solver Autorzy: Newell, SimonAutorzy: Newell, Simon Dowodzenie twierdzeń, rozwiązywanie problemów geometrycznych, językowych, gier (szachy)Dowodzenie twierdzeń, rozwiązywanie problemów geometrycznych, językowych, gier (szachy) Newell, A.; Shaw, J.C.; Simon, H.A. (1959). Report on a general problem-solving program. Proceedings of the International Conference on Information Processing. pp Newell, A. (1963). A guide to the general problem-solver program GPS-2-2. RAND Corporation, Santa Monica, California. Technical Report No. RM-3337-PR. Ernst, G.W. and Newell, A. (1969). GPS: a case study in generality and problem solving. Academic Press. (revised version of Ernst's 1966 dissertation, Carnegie Institute of Technology.)

18 General Problem Solver wykorzystuje metodę means-ends, która powstała na podstawie obserwacji sposobu rozwiązywania problemów przez człowieka (psychologia) podstawowe pojęcia: różnice i operatory operator jest opisany przez: warunki początkowe, funkcję transformacji i redukowane różnice na każdym etapie rozwiązywania problemu formułuje się różnicę między stanem bieżącym a celem następnie poszukuje się operatora, który można zastosować do zredukowania zaobserwowanej różnicy jeżeli warunki początkowe operatora nie są spełnione, to zapisuje się je na listę podcelów i przechodzi się do następnego z listy podcelów

19 Problem dzbanków 4 l 3 l 2 l ?

20 Means-ends x - ilość wody w dużym dzbanku, x {0, 1, 2, 3, 4} y - ilość wody w małym dzbanku y {0, 1, 2, 3} stan zadania: (x, y) stan początkowy: (4, 3) cel: (2, y)

21 Tablica operatory-różnice

22

23

24

25

26

27

28 Rozwiązanie Operator (-4,0) (3,-3) (0,3) (1,-1) (-4,0) (2,-2) Stan początkowy (4,3) (0,3) (3,0) (3,3) (4,2) (0,2) Stan końcowy (0,3) (3,0) (3,3) (4,2) (0,2) (2,0)

29 General problem solver - podsumowanie GPS został zaprezentowany w roku 1959GPS został zaprezentowany w roku 1959 Zastosowana metoda wnioskowania (means-ends analysis) była wzorowana na sposobie rozwiązywania problemów przez człowiekaZastosowana metoda wnioskowania (means-ends analysis) była wzorowana na sposobie rozwiązywania problemów przez człowieka Metoda ta znajduje zastosowanie w robotyce i planowaniu działań (STRIPS 1971)Metoda ta znajduje zastosowanie w robotyce i planowaniu działań (STRIPS 1971)

30 Zasada rezolucji (Alan Robinson 1965)

31 Dowód metodą nie wprost Założenie o niesprzeczności teoriiZałożenie o niesprzeczności teorii Zatem dodanie zdania, które nie jest prawdziwe powoduje powstanie sprzeczności w rozważanym zbiorze zdańZatem dodanie zdania, które nie jest prawdziwe powoduje powstanie sprzeczności w rozważanym zbiorze zdań Szukamy tej sprzecznościSzukamy tej sprzeczności Co będzie jeżeli nie ma sprzeczności?Co będzie jeżeli nie ma sprzeczności?

32 Dowód metodą rezolucji 1. Przekształć przesłanki lub aksjomaty w formę klauzul. 2. Dodaj do zbioru aksjomatów zaprzeczenie twierdzenia, które ma być udowodnione. 3. Wygeneruj nowe klauzule wynikające z tego zbioru. 4. Znajdź sprzeczność generując pustą klauzulę. 5. Warunki użyte do wygenerowania pustej klauzuli są tymi, w których zaprzeczenie celu jest prawdziwe.

33 Tw. o Sokratesie: Dowód: 1. zaprzeczenie tezy: 2. na podstawie reguły podstawiania: (X/sokrates) 3. rezolucja Z1 oraz A1 4. rezolucja A2 i Z2 powoduje wygenerowanie klauzuli pustej, co kończy dowód. die(sokrates) Z2. man(sokrates) Z1. die(sokrates) A1. die(sokrates) man(sokrates) Teoria przemijania A1. die(X) man(X) A2. man(sokrates)

34 Strategie upraszczające rezolucję Przeszukiwanie wszerz Strategia zbioru podpierającego Strategia preferencji jednostkowej Strategia liniowego wejścia

35 Przykład człowiek(X) umrzeć(X) filozof(sokrates) filozof(Y) człowiek(Y) m umrzeć(sokrates) człowiek(X) umrzeć(X) filozof(sokrates) filozof(Y) człowiek(Y) umrzeć(sokrates)

36 filozof(sokrates) Przeszukiwanie wszerz umrzeć(sokrates) człowiek(X) umrzeć(X) filozof(sokrates) X człowiek(sokrates) XX filozof(Y) człowiek(Y) umrzeć(sokrates) filozof(X) umrzeć(X) klauzula pusta

37 filozof(sokrates) Przeszukiwanie wszerz umrzeć(sokrates) człowiek(X) umrzeć(X) filozof(sokrates) X człowiek(sokrates) XX filozof(Y) człowiek(Y) umrzeć(sokrates) filozof(X) umrzeć(X) klauzula pusta

38 Strategia zbioru podpierającego Dla zbioru klauzul wejściowych S określa się podzbiór T S zwany zbiorem podpierającym. Strategia wymaga, aby w każdej rezolucji co najmniej jedna rezolwenta miała poprzednika w zbiorze podpierającym T. Jeżeli S jest sprzeczny i S\T nie jest sprzeczny, to strategia ta jest zupełna. Np. jeżeli T zawiera zaprzeczenie celu.

39 zbiór podpierający Strategia zbioru podpierającego umrzeć(sokrates) człowiek(X) umrzeć(X) filozof(sokrates) X człowiek(sokrates) XX filozof(Y) człowiek(Y) filozof(X) umrzeć(X)

40 Strategia zbioru podpierającego umrzeć(sokrates) człowiek(X) umrzeć(X) filozof(sokrates) X człowiek(sokrates) XX filozof(Y) człowiek(Y) filozof(X) umrzeć(X)

41 Strategia zbioru podpierającego umrzeć(sokrates) człowiek(X) umrzeć(X) filozof(sokrates) człowiek(sokrates) filozof(Y) człowiek(Y) filozof(X) umrzeć(X)

42 Strategia zbioru podpierającego umrzeć(sokrates) człowiek(X) umrzeć(X) filozof(sokrates) człowiek(sokrates) filozof(Y) człowiek(Y) filozof(X) umrzeć(X) umrzeć(sokrates) klauzula pusta filozof(sokrates)

43 Strategia preferencji jednostkowej Rezolucja, w której jedna rezolwenta jest literałem prowadzi do skrócenia drugiej rezolwenty. Zatem preferuje się rezolucje z pojedynczymi literałami. Jeżeli nie dopuścimy innych rezolucji, jak tylko z pojedynczymi literałami, to strategia nie jest zupełna.

44 Strategia preferencji jednostkowej umrzeć(sokrates) człowiek(X) umrzeć(X) filozof(sokrates) X człowiek(sokrates) XX filozof(Y) człowiek(Y) filozof(X) umrzeć(X)

45 Strategia preferencji jednostkowej umrzeć(sokrates) człowiek(X) umrzeć(X) filozof(sokrates) X człowiek(sokrates) XX filozof(Y) człowiek(Y) filozof(X) umrzeć(X)

46 Strategia preferencji jednostkowej umrzeć(sokrates) człowiek(X) umrzeć(X) filozof(sokrates) człowiek(sokrates) filozof(Y) człowiek(Y) klauzula pusta filozof(sokrates) umrzeć(sokrates)

47 Strategia liniowego wejścia W pierwszej rezolucji rezolwentami są aksjomat i zanegowany cel. W kolejnych krokach jedną z rezolwent jest ostatnio otrzymana klauzula, a drugą aksjomat. Strategia nie jest zupełna.

48 Strategia liniowego wejścia umrzeć(sokrates) człowiek(X) umrzeć(X) filozof(sokrates) X człowiek(sokrates) XX filozof(Y) człowiek(Y) filozof(X) umrzeć(X)

49 Strategia liniowego wejścia umrzeć(sokrates) człowiek(X) umrzeć(X) filozof(sokrates) X człowiek(sokrates) XX filozof(Y) człowiek(Y) filozof(X) umrzeć(X)

50 Strategia liniowego wejścia umrzeć(sokrates) człowiek(X) umrzeć(X) filozof(sokrates) człowiek(sokrates) filozof(Y) człowiek(Y)

51 Strategia liniowego wejścia umrzeć(sokrates) człowiek(X) umrzeć(X) filozof(sokrates) człowiek(sokrates) filozof(Y) człowiek(Y) filozof(sokrates)

52 Strategia liniowego wejścia umrzeć(sokrates) człowiek(X) umrzeć(X) filozof(sokrates) człowiek(sokrates) filozof(Y) człowiek(Y) filozof(sokrates) klauzula pusta

53 Inne pożyteczne zasady Uporządkowanie literałów w klauzulach.Uporządkowanie literałów w klauzulach. Związanie zmiennej może być korzystne na początku przeszukiwania, ale nie jest to regułą.Związanie zmiennej może być korzystne na początku przeszukiwania, ale nie jest to regułą. Klauzule oczywiste należy eliminować ze zbioru.Klauzule oczywiste należy eliminować ze zbioru. Klauzule mniej ogólne należy eliminować ze zbioru.Klauzule mniej ogólne należy eliminować ze zbioru.

54 Programowanie w logice PROLOGPROLOG

55 PROLOG PROLOG jest językiem programowania w logice. Program w PROLOGu składa się z listy stwierdzeń logicznych w postaci klauzul Horna. Wnioskowanie: - w tył - w głąb z nawrotami

56 PROLOG a logika W logice zmienne są kwantyfikowane jawnie, w PROLOGU nazwy zmiennych zaczynają się od dużej litery, a stałych od małej litery.W logice zmienne są kwantyfikowane jawnie, w PROLOGU nazwy zmiennych zaczynają się od dużej litery, a stałych od małej litery. W PROLOGU nie występuje znak dysjunkcji, dysjunkcję reprezentuje się w postaci listy alternatywnych stwierdzeń.W PROLOGU nie występuje znak dysjunkcji, dysjunkcję reprezentuje się w postaci listy alternatywnych stwierdzeń. W PROLOGU implikację zapisuje się od końca:W PROLOGU implikację zapisuje się od końca: p q zapisuje się q :- p.

57 Reprezentacja deklaratywna die(X) :- man(X) man(sokrates) ? die(sokrates) X man(X) die(X) X man(X) die(X) man(sokrates) man(sokrates)

58 Artificial Mathematician (ok. 1976) Autor: Douglas LenatAutor: Douglas Lenat Język: LISPJęzyk: LISP Reprezentacja wiedzy: ramyReprezentacja wiedzy: ramy Lenat, D. and Brown, J. (1984). Why AM and EURISKO appear to work. Artificial Intelligence, 23, No. 3 (pp ). (ur. 1950) The President and CEO of CYCORP


Pobierz ppt "Automatyczne dowodzenie twierdzeń. Plan wykładu Dowodzenie twierdzeń matematycznychDowodzenie twierdzeń matematycznych DedukcjaDedukcja Logic TheoristLogic."

Podobne prezentacje


Reklamy Google