Automatyczne dowodzenie twierdzeń

Slides:



Advertisements
Podobne prezentacje
Teoria układów logicznych
Advertisements

Wprowadzenie w problematykę związaną z twierdzeniem Gödla
II Relacje i relacje równoważności
Sztuczna Inteligencja Programy oparte na szukaniu
Rekurencja 1 Podprogram lub strukturę danych nazywamy rekurencyjną, (recursive subprogram, recursive data structure) jeżeli częściowo składa się z samej.
RACHUNEK ZDAŃ.
CIĄGI.
Metody Analizy Programów Wykład 02
Wykład 10 Metody Analizy Programów Specyfikacja Struktur Danych
Wykład 06 Metody Analizy Programów System Hoare
VI Rachunek predykatów
Badania operacyjne. Wykład 2
Logiki (nie)klasyczne
Matematyka Dyskretna, G.Mirkowska, PJWSTK
Współprogramy III Ten wykład ma na celu pokazanie kolejnej ciekawej możliwości, którą oferują współprogramy. Wspólprogramy reprezentujące wyrażenia regularne.
Liczby Pierwsze - algorytmy
AUTOMATYCZNE DOWODZENIE TWIERDZEŃ.
Sztuczna Inteligencja Reprezentacja wiedzy I Reprezentacja logiczna
Sztuczna Inteligencja Reprezentacja wiedzy II Systemy produkcyjne Włodzisław Duch Katedra Informatyki Stosowanej UMK Google: W. Duch.
Wykład 2: Upraszczanie, optymalizacja i implikacja
Materiały pomocnicze do wykładu
Materiały pomocnicze do wykładu
Tablice jednowymiarowe 1
Metoda intuicyjno-dedukcyjna a metoda aksjomatyczno-dedukcyjna
Główne pojęcia logiki.
PODSTAWY SZTUCZNEJ INTELIGENCJI
Matematyka wokół nas Równania i nierówności
Zależności funkcyjne.
POJĘCIE ALGORYTMU Pojęcie algorytmu Etapy rozwiązywania zadań
Podstawy układów logicznych
Gramatyki Lindenmayera
I. Informacje podstawowe
II Zadanie programowania liniowego PL
Paradoksy logiczne i inne 4 marca 2010.
Wstęp do kognitywistyki OBLICZENIA SYMBOLICzNE. GPS NEWELLA i SIMONA
Zadanie programowania liniowego PL dla ograniczeń mniejszościowych
Metody reprezentacji wiedzy – cz. 2.
Języki i automaty część 3.
XML – eXtensible Markup Language
Podstawy analizy matematycznej I
Rachunki Gentzena Joanna Witoch.
Rozwiązanie zadań do zaliczenia I0G1S4 // indeks
Metody zapisu wiedzy.
Wykład 10 typ zbiorowy rekurencja.
Politechniki Poznańskiej
II Zadanie programowania liniowego PL
Algorytmika.
Semantyczna teoria prawdy Tarskiego
Gramatyki Lindenmayera
Metody numeryczne szukanie pierwiastka metodą bisekcji
Grażyna Ziobro-Marcinkiewicz
Modelowanie Kognitywne
KNW- Wykład 3 Powtórzenie. PROGRAM WYKŁADU NR 3 Przykładowe zadania z logiki Modele możliwych światów.
Metody zapisu wiedzy.
Systemy wspomagające dowodzenie twierdzeń
Wstęp do programowania Wykład 9
Wstęp do programowania Wykład 10 Programowanie w logice.
KNW K Konwencjonalne oraz N Niekonwencjonalne metody W Wnioskowania.
KNW - wykład 3 LOGIKA MODALNA.
Gramatyki Lindenmayera Powstanie Deterministyczny L-system.
Funktory zdaniotwórcze ekstensjonalneintensjonalne.
Metody sztucznej inteligencji - Technologie rozmyte i neuronowe 2015/2016 Systemy rozmyte – wnioskowanie Mamdani’ego II © Kazimierz Duzinkiewicz, dr hab.
Nawracanie i odcięcie Jakub Czoboda, Jezierski Aleksander, Skierkowski Paweł, Bembenista Kamil, Martynowski Witold.
Elementy cyfrowe i układy logiczne
Pojęcia podstawowe Algebra Boole’a … Tadeusz Łuba ZCB 1.
Rekonstrukcja argumentu
Jednomany.
Wstęp do Informatyki - Wykład 6
POJĘCIE ALGORYTMU Wstęp do informatyki Pojęcie algorytmu
Sztuczna Inteligencja Programy oparte na szukaniu
Zapis prezentacji:

Automatyczne dowodzenie twierdzeń

Plan wykładu Dowodzenie twierdzeń matematycznych Dedukcja Logic Theorist Means-ends Analysis Rezolucja Programowanie w logice – PROLOG

Logic Theorist - 1956 Allen Newell Herbert Simon 19.03.1927 - 19.07.1992 Herbert Simon 15.06.1916 - 9.02.2001 Newell and Simon opracowali własny język oparty na reprezentacji listowej: IPL. Nie mieli kompilatora i translację na kod maszynowy przeprowadzali „ręcznie”. Aby uniknąć błędów pracowali niezależnie i równolegle, a następnie czytali sobie nawzajem ciągi zer i jedynek i zapisywali każdą instrukcję dopiero po jej „uzgodnieniu”, gdy żaden z nich nie miał wątpliwości co do jej poprawności. (źródło: Russel i Norvig s. 17 footnote).

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

Podstawowe pojęcia 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).

Własności 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. 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. Większość teorii matematycznych, to teorie nierozstrzygalne (np. teoria liczb naturalnych).

1931 - 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*). *) 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, 1978. [2] Mendelson E., Introduction to mathematical logic, Wyd. 4, Chapman and Hall, 1997. Kurt Gödel 29.04.1906 -14.06.1978

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

Słowniczek Predykat symbol (nazwa) relacji 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

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

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

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

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.

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) LT dowodził tego twierdzenia przez 10s, próbując 5 aksjomatów. LT znalazl kilka dowodów twierdzen, dla których epłen przegłąd był zbyt pracochłonny, ale nie wszystkie udało się rozwiązać. Potrzebna była lepsza strategia przeszukiwania. Aksjomat: p  (q  p)

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

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 For one of the equations, Theorem 2.85, the Logic Theorist surpassed its inventors' expectations by finding a new and better proof. Dowód ten autorzy próbowali opublikować w czasopiśmie , ale praca została odrzucona. Są dwie wersje: jedna mówi, że recenzent uznał iż nowy dowód znanego twierdzenia nie jest dostatecznie interesujący, aby go opublikować. Druga wersja mówi,że zakwestionowano czwartego autora, którym był Logic Theorist.

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

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

Problem dzbanków 2 l ? 4 l 3 l

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)

Tablica operatory-różnice

Tablica operatory-różnice

Tablica operatory-różnice

Tablica operatory-różnice

Tablica operatory-różnice

Tablica operatory-różnice

Tablica operatory-różnice

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) (2,-2) Stan końcowy (0,3) (3,0) (3,3) (4,2) (0,2) (2,0)

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)

Zasada rezolucji (Alan Robinson 1965)

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?

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.

2. na podstawie reguły podstawiania: (X/sokrates) 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. 

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

Przykład człowiek(X)  umrzeć(X) 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)

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) umrzeć(sokrates) filozof(sokrates) klauzula pusta klauzula pusta

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) umrzeć(sokrates) filozof(sokrates) klauzula pusta klauzula pusta

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.

Strategia zbioru podpierającego 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)

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)

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)

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) umrzeć(sokrates) filozof(sokrates) klauzula pusta

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.

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)

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)

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

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.

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)

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)

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

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

Strategia liniowego wejścia filozof(sokrates) umrzeć(sokrates) człowiek(X)  umrzeć(X) filozof(Y)  człowiek(Y) człowiek(sokrates) filozof(sokrates) Dowód nie najkrótszy, ale najszybciej znaleziony! klauzula pusta

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

Programowanie w logice PROLOG

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

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 PROLOGU nie występuje znak dysjunkcji, dysjunkcję reprezentuje się w postaci listy alternatywnych stwierdzeń. W PROLOGU implikację zapisuje się „od końca”: pq zapisuje się q :- p.

Reprezentacja deklaratywna  X man(X)  die(X) man(sokrates) die(X) :- man(X) man(sokrates) ? die(sokrates)

Artificial Mathematician (ok. 1976) Autor: Douglas Lenat Język: LISP Reprezentacja wiedzy: ramy (ur. 1950) The President and CEO of CYCORP In the mid-1970s, a young computer scientist at Stanford University named Douglas Lenat created a stir by unveiling AM, a program said to discover fundamental results in mathematics. Based on the Lisp programming language, AM had been provided with a collection of very basic concepts drawn from mathematical set theory, such as 'intersection' and 'union', combined with about 200 'heuristics' - or rules - for such tasks as proposing new things to do, checking truths and spotting regularities. Once set running, AM used these heuristics to look for new concepts that emerged, and decide what constituted an 'interesting' discovery. AM discovered - or, more precisely, rediscovered - the existence of addition, multiplication, de Morgan's rules of Boolean algebra, the existence of prime numbers and the concept of unique factorisation. Perhaps most astonishing of all, AM suggested that every even number greater than 4 can be written as the sum of two prime numbers.  This is Goldbach's conjecture, a famous unproven idea in number theory first put forward by a Prussian mathematician in the 18th century. The final induction technique to be considered here is a supervised learning technique as used in systems such as AM (Artificial Mathematician) and EURISKO [Lenat in Mic83]. As to be expected they use a frame based knowledge representation scheme, but unlike other algorithms discussed these are more exploratory in terms of their rationale. Rather than produce a synopsis of some domain, they aim to discover new and innovative knowledge about their application domains. AM has no well-defined target concepts, rather it aims to qualitatively improve its inferences by finding and redefining concepts underlying the application domain. EURISKO was a development of AM but rather than use heuristics to study mathematics, it used heuristics to discover new heuristics for a wide variety of problem solving areas. Both AM and EURISKO use frames (or units) for concepts, with each field in the unit (slot) describing one feature of the concept. For example, ISA specifies subclass/super-class relationships, while WORTH slots are used to specify relative values of a unit. A unit can also be used to delineate rules and meta-rules; meta-rules are used to modify existing units to make them more meaningful or to create new units. Both systems are initialised with domain heuristics and knowledge, then set off to explore the domain using a variety of techniques. AM used three processes (Analogise, Satisfice, Remember). EURISKO extended these operations with additional techniques for generating, evaluating and modifying heuristics. One of the problems associated with this class of program, particularly EURISKO, was the generalisation of too many heuristics. While it came up with innovative and new rules, which it recognised as such, it required a human observer to filter the generated knowledge; a possibly daunting task in itself. Associated with this over-production is the specification of termination conditions. If used as an additional system, these discovery programs can provide novel knowledge about a particular problem domain. Lenat's research into discovery programs continues with THE CYC system. Lenat, D. and Brown, J. (1984). Why AM and EURISKO appear to work. Artificial Intelligence, 23, No. 3 (pp. 269-294).