AUTOMATYCZNE DOWODZENIE TWIERDZEŃ.

Slides:



Advertisements
Podobne prezentacje
Tablice 1. Deklaracja tablicy
Advertisements

Wprowadzenie w problematykę związaną z twierdzeniem Gödla
II Relacje i relacje równoważności
System lingwistyczny - wnioskowanie
Równanie różniczkowe zupełne i równania do niego sprowadzalne
RACHUNEK ZDAŃ.
Grażyna Mirkowska PJWSTK 15 listopad 2000
Wykład 10 Metody Analizy Programów Specyfikacja Struktur Danych
Wykład 06 Metody Analizy Programów System Hoare
Automatyczne dowodzenie twierdzeń
VI Rachunek predykatów
Badania operacyjne. Wykład 2
Matematyka Dyskretna, G.Mirkowska, PJWSTK
Programowanie liniowe całkowitoliczbowe
Liczby Pierwsze - algorytmy
Sztuczna Inteligencja Reprezentacja wiedzy I Reprezentacja logiczna
Materiały pomocnicze do wykładu
Materiały pomocnicze do wykładu
DANE INFORMACYJNE Gimnazjum Nr 43 w Szczecinie ID grupy: 98/38_MF_G2
Matematyka Dyskretna, Struktury algebraiczne G.Mirkowska, PJWSTK
Analiza matematyczna - Ciągi liczbowe wykład I
8. LOGIKA TEMPORALNA Składnia zdaniowej logiki temporalnej:
Główne pojęcia logiki.
Zależności funkcyjne.
Podstawy układów logicznych
Elementy Rachunku Prawdopodobieństwa i Statystyki
AUTOMATYKA i ROBOTYKA (wykład 6)
Metody numeryczne SOWIG Wydział Inżynierii Środowiska III rok
Semantyczna poprawność algorytmów – dowodzenie za pomocą niezmienników
Krzysztof Kucab Rzeszów, 2012
I. Informacje podstawowe
Zadanie programowania liniowego PL dla ograniczeń mniejszościowych
II Zadanie programowania liniowego PL
Paradoksy logiczne i inne 4 marca 2010.
Zadanie programowania liniowego PL dla ograniczeń mniejszościowych
Metody reprezentacji wiedzy – cz. 2.
WCZESNA FILOZOFIA NOWOŻYTNA XV-XVII wiek HISTORIA ETYKI (HISTORIA FILOZOFII)
Języki i automaty część 3.
Technika optymalizacji
Miary efektywności/miary dobroci/kryteria jakości działania SSN
Rachunki Gentzena Joanna Witoch.
Rozwiązanie zadań do zaliczenia I0G1S4 // indeks
Sztuczna inteligencja – wprowadzenie
FILOZOFIA NOWOŻYTNA XVII-XVIII WIEK
Model relacyjny.
Zasady przywiązywania układów współrzędnych do członów.
Metody zapisu wiedzy.
II Zadanie programowania liniowego PL
Zagadnienia AI wykład 2.
KNW- Wykład 3 Powtórzenie. PROGRAM WYKŁADU NR 3 Przykładowe zadania z logiki Modele możliwych światów.
Filozoficzno-Teologiczne
NP-zupełność Problemy: rozwiązywalne w czasie wielomianowym - O(nk)
Autor: Michał Salewski
Wydział Elektroniki PWr AiR III r. Metody numeryczne i optymalizacja Dr inż. Ewa Szlachcic Wykład 3 Właściwe minimum lokalne: Funkcja f(x) ma w punkcie.
Systemy wspomagające dowodzenie twierdzeń
Metody Sztucznej Inteligencji – technologie rozmyte i neuronowe Wnioskowanie Mamdani’ego - rozwinięcia  Dr hab. inż. Kazimierz Duzinkiewicz, Katedra Inżynierii.
Wstęp do programowania Wykład 9
PRAWA LOGIKI RACHUNKU ZDAŃ. 2 FUNKCJA LOGICZNA funkcja zdaniowa, która zbudowana jest jedynie z tałych logicznych i zmiennych (zdaniowych lub nazwowych).
KNW - wykład 3 LOGIKA MODALNA.
Pojęcia podstawowe c.d. Rachunek podziałów Elementy teorii grafów
Funktory zdaniotwórcze ekstensjonalneintensjonalne.
Etapy procesu sterowania rozmytego
Metody sztucznej inteligencji - Technologie rozmyte i neuronowe 2015/2016 Systemy rozmyte – wnioskowanie Mamdani’ego II © Kazimierz Duzinkiewicz, dr hab.
Metody sztucznej inteligencji - Technologie rozmyte i neuronowe 2015/2016 Systemy rozmyte – wnioskowanie formalne © Kazimierz Duzinkiewicz, dr hab. inż.
Liczbami naturalnymi nazywamy liczby 0,1,2,3,..., 127,... Liczby naturalne poznaliśmy już wcześniej; służą one do liczenia przedmiotów. Zbiór liczb.
Metody optymalizacji Materiał wykładowy /2017
Pojęcia podstawowe Algebra Boole’a … Tadeusz Łuba ZCB 1.
Statystyka matematyczna
Systemy Ekspertowe i Sztuczna Inteligencja trudne pytania
Podstawy teorii spinu ½
Zapis prezentacji:

AUTOMATYCZNE DOWODZENIE TWIERDZEŃ

Idea ADT Twierdzenie (Church) Rachunek predykatów jest częściowo rozstrzygalny. Tzn. istnieje algorytm, który dla formuły  należącej do pewnej grupy formuł oraz będącej tautologią, potrafi to stwierdzić UWAGA: Dzięki twierdzeniu Posta (i odpowiadającemu mu twierdzeniu dla rachunku predykatów), sprawdzenie prawdziwości formuły  na podstawie prawdziwości formuł zawartych w zbiorze X ( X|=  ) można sprowadzić do zagadnienia poszukiwania wnioskowania (dowodu)  ze zbioru X. Wnioskowanie jako operacja czysto syntaktyczna dobrze poddaje się automatyzacji.

ADT - RP W przypadku rachunku predykatów opracowano wiele metod ADT, np. procedura Herbranda (postać normalna, standardowa postać Skolema, sprzeczny zbiór formuł, Uniwersum Herbranda-Skolema). W naszych rozważaniach ograniczymy się do pokazania, jak realizować ADT w pewnym ograniczonym języku reprezentacji wiedzy nazywanym językiem klauzul (w szczególności klauzul Horna). Rozważać będziemy dwa sposoby dowodzenia: wstępujące i zstępujące. W przypadku dowodów zstępujących wnioskować będziemy zgodnie z regułą wnioskowania znaną jako „zasada rezolucji” („modus tollens”). Klauzule definicje Atom P(t1, t2, .., tn) P-predykat ti – termy Klauzula B1, B2, .., Bm  A1, A2,.., An gdzie dowolne Ai, Bj są atomami Dokładniej A1, A2,.., An – koniunkcja atomów B1, B2, .., Bm – alternatywa atomów

Klauzule Horna Klauzulę postaci B  A1, A2,.., An nazywamy klauzulą Horna Jeśli klauzula B  A1, A2,.., An zawiera zmienne x1, x2, .., xk, to należy ją interpretować jako stwierdzenie, że: dla wszystkich x1, x2, .., xk zachodzi B jeśli A1, A2,.., An Jeśli n=0, czyli mamy postać B, to zapis ten oznacza stwierdzenie faktu B Jeśli w konkluzji nie występuje żaden atom, to mamy postać: A1, A2,.., An którą interpretujemy jako – dla wszystkich x1, x2, .., xk nieprawda, że A1, A2,.., An (pamiętając, że z prawej strony klauzuli mamy koniunkcję)

Przykłady Baza związków rodzinnych: Ojciec(zeus. ares). Ojciec(ares, harmonia). Ojciec(kadmos, semele). Ojciec(zeus, dionizos). Matka(afrodyta, harmonia). Matka(hera, ares). Matka(harmonia, semele). Bog(zeus). Bog(hera). Bog(ares). Bog(afrodyta). Krolowa(harmonia). Plec-zenska(X) <- Matka(X, Y). Plec-meska(X) <- Ojciec(X, Y). Dziecko(Y, X) <- Ojciec(X, Y). Dziecko(Y, X) <- Matka(X, Y). Wnuk(X, Y) <- Dziecko(X, Z), Dziecko(Z, Y). Plec-meska(X), Plec-zenska(X) <- Czlowiek(X).

Sprzeczność zbioru klauzul Zbiór klauzul S jest sprzeczny wttw nie jest niesprzeczny  Sprzeczność zbioru klauzul można wykazać drogą: semantyczną syntaktyczną (już wiemy, że ta lepiej nadaje się do algorytmizacji) Metoda semantyczna Zbiór klauzul S jest niesprzeczny, jeśli w pewnej Interpretacji wszystkie klauzule tego zbioru są prawdziwe.

Uniwersum Herbranda-Skolema Uniwersum zbioru klauzul S – zbiór klauzul H0={ stałe występujące w S} lub H0={a} jeśli w S nie ma stałych (stała Skolema) Hk+1=Hk{ f(t1, t2,..,tn) : tiHk } H= Uniwersum Herbranda-Skolema Uniwersum zbioru klauzul S – zbiór wszystkich termów ustalonych, które daje się zbudować ze stałych i symboli funkcyjnych występujących w klauzulach zbioru S UWAGA !!: Jeśli chcemy wykazać, że w języku klauzul zbiór założeń S implikuje pewną konkluzję  , to zakładamy, że konkluzja ta nie jest prawdziwa i pokazujemy, że negacja konkluzji jest sprzeczna z założeniami. Czyli, że zbiór klauzul S{} jest sprzeczny dotyczy metody semantycznej i syntaktycznej

Interpretacja (dopuszczalna) zbioru klauzul Za interpretację zbioru klauzul S będziemy uważać przypisanie każdemu n-argumentowemy symbolowi predykatowemu występującemu w klauzulach pewnej relacji między indywiduami należącymi do Uniwersum. Wykazanie sprzeczności zbioru klauzul metodą semantyczną sprowadza się do pokazania, że w żadnej interpretacji nie są one (te klauzule) wszystkie jednocześnie prawdziwe.

Przykład – Omylnego Greka Przykład (Omylny Grek): 1. Czlowiek(kowalski). 2. Czlowiek(sokrates). 3. Grek(sokrates). 4. Omylny(X) <- Czlowiek(X). Pytam, czy na podstawie tych założeń mogę wyciągnąć konkluzję, że istnieje omylny Grek. Dołączam klauzulę 5. <- Omylny(X), Grek(X). Sprawdzam czy zbiór klauzul 1-5 jest sprzeczny Uniwersum {kowalski, sokrates} - nie ma symboli funkcyjnych, więc jest prosto Ile tutaj jest możliwych różnych Interpretacji ? 3 – symbole predykatowe, 2 – stałe, 2 – wartości logiczne Zatem każdemu z trzech symboli predykatowych może być przypisana jedna z czterech różnych interpretacji, zatem: 4*4*4=64 - tyle jest Interpretacji

Przykład cd. Przykład (Omylny Grek): 1. Czlowiek(kowalski). 2. Czlowiek(sokrates). 3. Grek(sokrates). 4. Omylny(X) <- Czlowiek(X). 5. <- Omylny(X), Grek(X). Rozpatrzmy najpierw tylko pierwsze cztery klauzule. Istnieją tylko dwie interpretacje, w których klauzule 1-4 są wszystkie jednocześnie prawdziwe. pierwsza Czlowiek(sokrates) prawda Omylny(sokrates) prawda Grek(sokrates) prawda Czlowiek(kowalski) prawda Omylny(kowalski) prawda Grek(kowalski) prawda druga Czlowiek(sokrates) prawda Omylny(sokrates) prawda Grek(sokrates) prawda Czlowiek(kowalski) prawda Omylny(kowalski) prawda Grek(kowalski) fałsz

Przykład - koniec Przykład (Omylny Grek): 1. Czlowiek(kowalski). 2. Czlowiek(sokrates). 3. Grek(sokrates). 4. Omylny(X) <- Czlowiek(X). 5. <- Omylny(X), Grek(X). Dla zbioru klauzul 1-5 Uniwersum oraz liczba interpretacji są identyczne jak dla 1-4. Ale w żadnej z owych dwóch interesujących nas Interpretacji klauzule 1-5 nie są wszystkie jednocześnie prawdziwe. W szczególności X=sokrates czyni fałszywą klauzulę 5 w obu interesujących nas interpretacjach Taki sposób dowodzenia daje się automatyzować - Algorytm Gilmore`a - nieefektywny obliczeniowo Reguły Davisa i Putmana – pozwalają zmniejszyć liczbę klauzul w zbiorze S np. poprzez usunięcie z niego wszystkich tautologii Zatem stwierdzenie, że istnieje omylny grek jest logiczną konsekwencją zbioru klauzul 1-4

Metoda syntaktyczna Dowodzenie (wnioskowanie) metodą syntaktyczną przeprowadzać będziemy za pomocą reguły wnioskowania, znanej jako modus tollens (lub ogólniej zasady rezolucji) Zasada rezolucji dla KRZ: p , qi , rj - zdania p  q1 ..qn , p  r1 .. rm q1 … qn  r1 .. rm W szczególnym przypadku zasada rezolucji redukuje się do reguły odrywania rezolwenta ,     Modus tollens ,     Modus ponens UWAGA: Zasada rezolucji stanowi zatem uogólnienie reguły odrywania.

Metoda syntaktyczna Twierdzenie Rezolwenta  formuł ,  jest ich logiczną konsekwencją Jeśli przesłankami rezolucji są dwie pojedyncze klauzule (atomy), to ich rezolwenta jest klauzulą pustą (ozn.  ). Klauzula pusta jest fałszywa przy każdej interpretacji. ,    W systemach dowodzących opartych na zasadzie rezolucji gra ona (klauzula pusta) niebagatelną rolę, ponieważ jej wyprowadzenie ze zbioru formuł S oznacza sprzeczność zbioru klauzul S.

Metoda syntaktyczna – dowód wstępujący Dowodzenie sprzeczności metodą wstępującą rozpoczyna się od początkowego zbioru klauzul, kończy z chwilą wyprowadzenia takich wniosków, które bezpośrednio zaprzeczają negacji dowodzonej tezy. Przy czym krok wnioskowania polega na dopasowaniu (w możliwie ogólny sposób) odpowiedniej liczby predykatów – konkluzji klauzuli – do warunków klauzuli i wyprowadzenia nowej konkluzji. Dowód wstępujący to dowód w sensie dowodu formalnego, którego definicja dla KRZ podawana była na trzecim wykładzie. Startujemy z aksjomatów (którymi są klauzule znajdujące się w zbiorze S) i stosując dopuszczalne reguły wnioskowania postępujemy tak, aby otrzymać klauzulę, której prawdziwość chcemy dowieść (lub klauzulę pustą, jeśli do zbioru S dołączyliśmy zaprzeczenie klauzuli, której prawdziwość chcemy dowieść).

Przykład dowodu wstępującego Zakładamy, że dostępna jest baza wiedzy nt. związków rodzinnych (slajd nr 5) to jest nasz zbiór S. Mamy wykazać, że harmonia jest wnuczką zeusa. Czyli, że ze zbioru S{ <-Wnuk(harmonia, zeus) } da się wyprowadzić klauzulę pustą. Ojciec(zeus,ares) Ojciec(ares,harmonia) Dziecko(ares, zeus) Dziecko(harmonia, ares) Wnuk(harmonia,zeus) <- Wnuk(harmonia,zeus) 

Efektywność metody wstępującej W poprzednim drzewie dowodowym tak dobieraliśmy początkowe fakty i reguły wnioskowania (tutaj klauzule w postaci implikacji), aby owe drzewo było jak najmniejsze. Metoda algorytmiczna musiałaby rozważać wszystkie drogi, również te nie- prowadzące do celu. Klauzule rozpatrywane byłyby po kolei (tak jak występują w zbiorze S). Wniosek, iż taka metoda byłaby złożona obliczeniowo, jest jak najbardziej uprawniony. Efektywniejsza jest metoda zstępująca.

Metoda syntaktyczna – dowód zstępujący Dowodzenie sprzeczności metodą zstępującą, polega na rozpoczęciu dowodu od negacji należącej do początkowego zbioru klauzul (tej negacji, którą dołączyliśmy do zbioru S). Następnie implikacji i asercji (czyli po prostu faktów) używa się do wyprowadzenia nowych negacji z negacji już istniejących (stosujemy zasadę rezolucji). Dowód kończy się z chwilą wyprowadzenia klauzuli pustej. Dokładniej – wnioskowanie zstępujące polega na dopasowaniu wybranego warunku negacji do konkluzji pewnej implikacji, wyprowadzeniu nowej negacji przez zastąpienie wybranego warunku, warunkami tej (dopasowanej) implikacji i zastosowaniu do niej podstawienia dopasowującego. Jeśli implikacja jest asercją (faktem), to w wybrany warunek jest usuwany, a podstawienie dopasowujące stosuje się do pozostałej części negacji. Jeśli wybrany warunek jest jedynym warunkiem negacji, wówczas nowo wyprowadzana negacja jest klauzulą pustą.

Przykład Baza wiedzy ta sama (ten sam zbiór S), zadanie : Szukamy wszystkich dziadków harmonii. Czyli, że ze zbioru S{ <-Wnuk(harmonia, U) } da się wyprowadzić klauzulę pustą. Dokładnie dla jakich U da się to zrobić

Efektywność metody zstępującej Przedstawione na poprzednim slajdzie drzewo dowodowe również może wyglądać inaczej. Postać drzewa przeszukiwania zależeć będzie od strategii dopasowywania implikacji Drzewa dowodowe możemy zbudować stosując strategie przeszukiwania: „w głąb” i „wszerz”. Z punktu widzenia szybkości znalezienia odpowiedzi, strategia „w głąb” jest bardziej efektywna. W punktach oznaczonych okręgami (tam, gdzie ścieżka się rozgałęzia) wykonano tzw. nawroty. Znaczy to, że w danym węźle udało się dopasować więcej niż jedną implikację. Na czerwono zaznaczono ścieżkę, która zostanie zbadana w pierwszej kolejności.

Rodzaje twierdzeń Przeprowadzając dowód pokazujący, że klauzula  jest logiczną konsekwencją zbioru formuł S, formuła  pełni rolę tezy twierdzenia, a zbiór formuł S jest zbiorem założeń owego twierdzenia – stąd tytuł wykładu Automatyczne Dowodzenie Twierdzeń. UWAGA: Możemy formułować twierdzenia dwojakiego rodzaju: i) wynikiem dowodu jest odpowiedź TAK/NIE (teza nie zawiera zmiennych) ii) wynikiem są te wartości zmiennej (zmiennych) występujących w tezie, które czynią twierdzenie prawdziwym (przy spełnionych założeniach) Przykład: Wnuk(harmonia, zeus) - czy harmonia jest wnuczką zeusa Wnuk(harmonia, U) - czyją harmonia jest wnuczką UWAGA: Odpowiedź w obu przypadkach zależy jedynie od postaci zbioru założeń S !!! Czyli bez odpowiedniej informacji w tym zbiorze wynikiem dla pkt. i) może być odpowiedź NIE.

Strategia tworzenia bazy wiedzy UWAGA: We wnioskowaniu zstępującym przyjmuje się następującą strategię tworzenia drzewa dowodowego: i) pierwsza klauzula z procedury, którą można dopasować ii) pierwszy podcel w przesłankach nowej negacji Baza związków rodzinnych: Ojciec(kadmos, semele). Ojciec(zeus, dionizos). Ojciec(ares, harmonia). Ojciec(zeus.ares). Matka(afrodyta, harmonia). Matka(harmonia, semele). Matka(hera, ares). Dziecko(Y, X) <- Matka(X, Y). Dziecko(Y, X) <- Ojciec(X, Y). Wnuk(X, Y) <- Dziecko(X, Z), Dziecko(Z, Y).

Formalizacja pojęć Załóżmy, że dany jest zbiór klauzul Hornowskich S oraz dana jest strategia wyboru jednego z warunków negacji (strategia tworzenia drzewa dowodowego). Definicja Ciąg negacji C1, C2, ..,Cn jest zstępującym dowodem klauzuli C1 ze zbioru klauzul S jeśli: C1 należy do zbioru S. Dla każdego i=2,..,n, klauzula Ci otrzymywana jest z Ci-1 przez zastosowanie wnioskowania zstępującego (zasady rezolucji) z użyciem jednej z klauzul zbioru S. Ze zbioru C1, C2, ..,Cn da się już wywieść klauzulę pustą.

Formalizacja pojęć cd. W kwestii dowodów Gdy dana jest negacja  A1,...,Ai-1, Ai, Ai+1,.., Am oraz implikacja B  B1,..,Bn , która nie ma z negacją wspólnych zmiennych (jeśli są, to przemianować). Nową negację możemy otrzymać, jeśli A1 pasuje do konkluzji B. Nowa negacja jest postaci: ( B1,..,Bn,...,Ai-1, Ai, Ai+1,.., Am )  gdzie  jest podstawieniem dopasowującym A1 do B Definicja Podstawienie : X T to funkcja przypisująca zmiennym termy UWAGA: W przypadku konkretnego zbioru S rozpatrujemy oczywiście tylko zmienne i termy występujące w S .

Formalizacja pojęć cd. Przykład Jeśli E jest wyrażeniem (termem, atomem, klauzulą), to wynikiem podstawienia ={ X1=t1,..., Xm=tm } jest wyrażenie E identyczne z E, poza tym, że ( Xi=ti ) wszędzie tam, gdzie w E występuje Xi, w E występuje ti. O wyrażeniu E mówimy, że jest konkretyzacją wyrażenia E Definicja Podstawienie  uzgadnia dwa wyrażenia E i E`, jeśli czyni je (te wyrażenia) identycznymi Przykład Wnuk(harmonia, U). Wnuk(harmonia, X). U:=Z, X:=Z Wnuk(harmonia, U) . Wnuk(harmonia, zeus). U:=zeus Wnuk(harmonia, U) . Wnuk(achilles, U). nie da się uzgodnić

Formalizacja pojęć cd. Definicja Podstawienie  dopasowuje wyrażenia E i E` (tzn. jest najbardziej ogólnym podstawieniem uzgadniającym (ozn. MGU)), jeśli spełnia dwa następujące warunki:  uzgadnia E i E` Jeśli  E=E`, to istnieje pewne  takie, że E=(E`) Przykład Ojciec(zeus, U). Ojciec(X, Y) <- Dziecko(Y,X),Plec-meska(X). Można dopasować Ojciec(zeus, ares). X:=zeus, U:=ares, Y:=ares Ojciec(zeus, V). X:=zeus, U:=V, Y:=V <- to jest MGU Stwierdzenie Każde dwa wyrażenia, które można uzgodnić, można również dopasować. UWAGA: W języku prolog w czasie wnioskowania szukamy MGU. Istnieje algorytm znajdowania (jeśli istnieje) MGU.