1 / 56

Automatyczne dowodzenie twierdzeń

Automatyczne dowodzenie twierdzeń. Plan wykładu. Dowodzenie twierdzeń matematycznych Dedukcja Logic Theorist Means-ends Analysis Rezolucja Programowanie w logice – PROLOG. Allen Newell 19.03.1927 - 19.07.1992. Herbert Simon 15.06.1916 - 9.02.2001. Logic Theorist - 1956.

mei
Download Presentation

Automatyczne dowodzenie twierdzeń

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Automatyczne dowodzenie twierdzeń

  2. Plan wykładu Dowodzenie twierdzeń matematycznych Dedukcja LogicTheorist Means-endsAnalysis Rezolucja Programowanie w logice – PROLOG

  3. Allen Newell 19.03.1927 - 19.07.1992 Herbert Simon 15.06.1916 - 9.02.2001 Logic Theorist - 1956

  4. Alfred N. Whitehead 1861-1947 Bernard Russel 1872-1970 Automatyczne dowodzenie twierdzeń

  5. 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 generowania twierdzeń ze zbioru aksjomatów - reguły wnioskowania (np. reguła odrywania). Podstawowe pojęcia

  6. Formuły rachunku predykatów P = {p, q, r} – symbole predykatywne A = {a, b, c} – stałe V = {x, y, z} – zmienne Za pomocą zastępującej gramatyki definiuje się formuły atomowe oraz formuły rachunku predykatów: argument ::= x dla dowolnego x  V argument ::= a dla 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 form dla dowolnego x  V form ::= x form dla dowolnego x  V

  7. Predykat Funktor Term Atom Formuła złożona Literał dodatni Literał ujemny 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 Słowniczek

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

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

  10. 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. np. w wyrażeniu (ØAÚ B)  (A  B) podstawiamy ØA za B (ØA ÚØA)  (A  ØA) (*) Zastąpienie:: operator działania można zastąpić wyrażeniem równoważnym lub jego definicją. np. w wyrażeniu (ØA ÚØA)  ØA zastępujemy operator Ú jego definicją (*) (A ØA) ØA Modus ponens (reguła odrywania): [(A  B)Ù A] B

  11. 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.

  12. 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)

  13. 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

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

  15. General Problem Solver • Autorzy: Newell, Simon • 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. 256-264. • 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.)

  16. 1957-1963 - 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

  17. ? 2 l Problem dzbanków 4 l 3 l

  18. 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)

  19. Tablica operatory-różnice

  20. Tablica operatory-różnice

  21. Tablica operatory-różnice

  22. Tablica operatory-różnice

  23. Tablica operatory-różnice

  24. Tablica operatory-różnice

  25. Tablica operatory-różnice

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

  27. General problem solver - podsumowanie • GPS został zaprezentowany w roku 1959 • Zastosowana 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)

  28. Zasada rezolucji (Alan Robinson 1965)

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

  30. 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.

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

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

  33. Przykład człowiek(X)  umrzeć(X) filozof(sokrates) filozof(Y)  człowiek(Y) umrzeć(sokrates) człowiek(X)  umrzeć(X) filozof(sokrates) filozof(Y)  człowiek(Y) m umrzeć(sokrates)

  34. Przeszukiwanie wszerz filozof(sokrates) umrzeć(sokrates) człowiek(X)  umrzeć(X) filozof(Y)  człowiek(Y) X X X filozof(X)  umrzeć(X) człowiek(sokrates) człowiek(sokrates) klauzula pusta filozof(sokrates) umrzeć(sokrates) klauzula pusta

  35. Przeszukiwanie wszerz filozof(sokrates) umrzeć(sokrates) człowiek(X)  umrzeć(X) filozof(Y)  człowiek(Y) X X X filozof(X)  umrzeć(X) człowiek(sokrates) człowiek(sokrates) klauzula pusta filozof(sokrates) umrzeć(sokrates) klauzula pusta

  36. 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.

  37. zbiór podpierający Strategia zbioru podpierającego filozof(sokrates) umrzeć(sokrates) człowiek(X)  umrzeć(X) filozof(Y)  człowiek(Y) X X X filozof(X)  umrzeć(X) człowiek(sokrates) człowiek(sokrates)

  38. Strategia zbioru podpierającego filozof(sokrates) umrzeć(sokrates) człowiek(X)  umrzeć(X) filozof(Y)  człowiek(Y) X X X filozof(X)  umrzeć(X) człowiek(sokrates) człowiek(sokrates)

  39. Strategia zbioru podpierającego filozof(sokrates) umrzeć(sokrates) człowiek(X)  umrzeć(X) filozof(Y)  człowiek(Y) filozof(X)  umrzeć(X) człowiek(sokrates) człowiek(sokrates)

  40. Strategia zbioru podpierającego filozof(sokrates) umrzeć(sokrates) człowiek(X)  umrzeć(X) filozof(Y)  człowiek(Y) filozof(X)  umrzeć(X) człowiek(sokrates) człowiek(sokrates) klauzula pusta filozof(sokrates) umrzeć(sokrates)

  41. 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.

  42. Strategia preferencji jednostkowej filozof(sokrates) umrzeć(sokrates) człowiek(X)  umrzeć(X) filozof(Y)  człowiek(Y) X X X filozof(X)  umrzeć(X) człowiek(sokrates) człowiek(sokrates)

  43. Strategia preferencji jednostkowej filozof(sokrates) umrzeć(sokrates) człowiek(X)  umrzeć(X) filozof(Y)  człowiek(Y) X X X filozof(X)  umrzeć(X) człowiek(sokrates) człowiek(sokrates)

  44. Strategia preferencji jednostkowej filozof(sokrates) umrzeć(sokrates) człowiek(X)  umrzeć(X) filozof(Y)  człowiek(Y) człowiek(sokrates) człowiek(sokrates) filozof(sokrates) umrzeć(sokrates) klauzula pusta

  45. 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.

  46. Strategia liniowego wejścia filozof(sokrates) umrzeć(sokrates) człowiek(X)  umrzeć(X) filozof(Y)  człowiek(Y) X X X filozof(X)  umrzeć(X) człowiek(sokrates) człowiek(sokrates)

  47. Strategia liniowego wejścia filozof(sokrates) umrzeć(sokrates) człowiek(X)  umrzeć(X) filozof(Y)  człowiek(Y) X X X filozof(X)  umrzeć(X) człowiek(sokrates) człowiek(sokrates)

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

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

  50. Strategia liniowego wejścia filozof(sokrates) umrzeć(sokrates) człowiek(X)  umrzeć(X) filozof(Y)  człowiek(Y) człowiek(sokrates) filozof(sokrates) klauzula pusta

More Related