Wprowadzenie do Sztucznej Inteligencji



Podobne dokumenty
Wprowadzenie do Sztucznej Inteligencji

Wprowadzenie do Sztucznej

Wprowadzenie do Sztucznej Inteligencji

Podstawy Sztucznej Inteligencji (PSZT)

Adam Meissner.

Rachunek predykatów. Formuły rachunku predykatów. Plan wykładu. Relacje i predykaty - przykłady. Relacje i predykaty

Semantyka rachunku predykatów pierwszego rzędu. Dziedzina interpretacji. Stałe, zmienne, funkcje. Logika obliczeniowa.

Elementy logiki. Wojciech Buszkowski Wydział Matematyki i Informatyki UAM Zakład Teorii Obliczeń

Semantyka rachunku predykatów

Metoda Tablic Semantycznych

Interpretacja Niech U będzie zbiorem formuł takim, że zbiór {p 1,..., p k } jest zbiorem wszystkich symboli predykatywnych, {f 1,..., f l } jest zbior

Logika Stosowana. Wykład 1 - Logika zdaniowa. Marcin Szczuka. Instytut Informatyki UW. Wykład monograficzny, semestr letni 2016/2017

Rezolucja w rachunku predykatów. Przedrostkowa koniunkcyjna postać normalna. Formu ly ustalone. Joanna Józefowska. Poznań, rok akademicki 2009/2010

METODY DOWODZENIA TWIERDZEŃ I AUTOMATYZACJA ROZUMOWAŃ

Andrzej Wiśniewski Logika I Materiały do wykładu dla studentów kognitywistyki. Wykład 9. Koniunkcyjne postacie normalne i rezolucja w KRZ

Metoda tabel semantycznych. Dedukcja drogi Watsonie, dedukcja... Definicja logicznej konsekwencji. Logika obliczeniowa.

Tautologia (wyrażenie uniwersalnie prawdziwe - prawo logiczne)

1. Składnia. Logika obliczeniowa - zadania 1 SKŁADNIA Teoria

III rok kognitywistyki UAM,

III rok kognitywistyki UAM,

RACHUNEK ZDAŃ 7. Dla każdej tautologii w formie implikacji, której poprzednik również jest tautologią, następnik także jest tautologią.

vf(c) =, vf(ft 1... t n )=vf(t 1 )... vf(t n ).

Składnia rachunku predykatów pierwszego rzędu

Alfred N. Whitehead

Logika Matematyczna (10)

Adam Meissner STUCZNA INTELIGENCJA

Programowanie deklaratywne

Adam Meissner SZTUCZNA INTELIGENCJA

Modele Herbranda. Logika obliczeniowa. Joanna Józefowska. Szukamy modelu. Przykład Problemy. Model Herbranda

Wykład 6. Reguły inferencyjne systemu aksjomatycznego Klasycznego Rachunku Zdań

Andrzej Wiśniewski Logika I Materiały do wykładu dla studentów kognitywistyki. Wykład 10. Twierdzenie o pełności systemu aksjomatycznego KRZ

Rachunek zdań. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak

Klasyczny rachunek predykatów

Metody dowodzenia twierdzeń i automatyzacja rozumowań Tabele syntetyczne: definicje i twierdzenia

Język rachunku predykatów Formuły rachunku predykatów Formuły spełnialne i prawdziwe Dowody założeniowe. 1 Zmienne x, y, z...

Andrzej Wiśniewski Logika II. Materiały do wykładu dla studentów kognitywistyki

Programowanie deklaratywne

1. Wstęp do logiki. Matematyka jest nauką dedukcyjną. Nowe pojęcia definiujemy za pomocą pojęć pierwotnych lub pojęć uprzednio wprowadzonych.

Elementy logiki matematycznej

Struktury formalne, czyli elementy Teorii Modeli

Matematyka ETId Elementy logiki

Wykład 11a. Składnia języka Klasycznego Rachunku Predykatów. Języki pierwszego rzędu.

LOGIKA Klasyczny Rachunek Zdań

Metody dowodzenia twierdzeń i automatyzacja rozumowań Systemy aksjomatyczne I

Konsekwencja logiczna

Algebrę L = (L, Neg, Alt, Kon, Imp) nazywamy algebrą języka logiki zdań. Jest to algebra o typie

LOGIKA I TEORIA ZBIORÓW

Paradygmaty dowodzenia

Logika Stosowana. Wykład 2 - Logika modalna Część 2. Marcin Szczuka. Instytut Informatyki UW. Wykład monograficzny, semestr letni 2016/2017

1. Elementy logiki matematycznej, rachunek zdań, funkcje zdaniowe, metody dowodzenia, rachunek predykatów

1.2.3 Funkcjonalna pełność

Automatyczne dowodzenie twierdzeń metodą rezolucji

Przykłady zdań w matematyce. Jeśli a 2 + b 2 = c 2, to trójkąt o bokach długości a, b, c jest prostokątny (a, b, c oznaczają dane liczby dodatnie),

Np. Olsztyn leży nad Łyną - zdanie prawdziwe, wartość logiczna 1 4 jest większe od 5 - zdanie fałszywe, wartość logiczna 0

0.1. Logika podstawowe pojęcia: zdania i funktory, reguły wnioskowania, zmienne zdaniowe, rachunek zdań.

Przykładowe dowody formuł rachunku kwantyfikatorów w systemie tabel semantycznych

Myślenie w celu zdobycia wiedzy = poznawanie. Myślenie z udziałem rozumu = myślenie racjonalne. Myślenie racjonalne logiczne statystyczne

Logika Stosowana. Wykład 7 - Zbiory i logiki rozmyte Część 3 Prawdziwościowa logika rozmyta. Marcin Szczuka. Instytut Informatyki UW

Twierdzenia Gödla dowody. Czy arytmetyka jest w stanie dowieść własną niesprzeczność?

Zagadnienia podstawowe dotyczące metod formalnych w informatyce

Definicja: alfabetem. słowem długością słowa

Logika predykatów pierwszego rzędu PROLOG. Zarządzanie wiedzą. Wykład Reprezentacja wiedzy logika predykatów. Joanna Kołodziejczyk.

PODSTAWY SZTUCZNEJ INTELIGENCJI

Predykat. Matematyka Dyskretna, Podstawy Logiki i Teorii Mnogości Barbara Głut

LOGIKA Dedukcja Naturalna

Rachunek zdań. 2.1 Podstawowe pojęcia

Rachunek zdań. Zdanie w sensie logicznym jest to wyraŝenie jednoznacznie stwierdzające, na gruncie reguł danego języka, iŝ tak a

Zasady krytycznego myślenia (1)

JEZYKOZNAWSTWO. I NAUKI O INFORMACJI, ROK I Logika Matematyczna: egzamin pisemny 18 czerwca Imię i Nazwisko:... I

Drzewa Semantyczne w KRZ

Logika. Michał Lipnicki. 15 stycznia Zakład Logiki Stosowanej UAM. Michał Lipnicki () Logika 15 stycznia / 37

Programowanie logiczne a negacja

Rachunek zdań i predykatów

Programowanie deklaratywne i logika obliczeniowa

SID Wykład 5 Wnioskowanie w rachunku zdań

Uzgadnianie formuł rachunku predykatów

MATEMATYKA DYSKRETNA, PODSTAWY LOGIKI I TEORII MNOGOŚCI

Wstęp do Techniki Cyfrowej... Algebra Boole a

Andrzej Wiśniewski Logika II. Wykład 6. Wprowadzenie do semantyki teoriomodelowej cz.6. Modele i pełność

Elementy rachunku lambda. dr hab. inż. Joanna Józefowska, prof. PP 1

Logiczne podstawy informatyki 1. Wojciech Buszkowski. Zakład Teorii Obliczeń Wydział Matematyki i Informatyki UAM

Rachunek logiczny. 1. Język rachunku logicznego.

Andrzej Wiśniewski Logika I Materiały do wykładu dla studentów kognitywistyki. Wykłady 12 i 13. Dowód i dowodzenie w KRP. Tezy KRP

Wstęp do logiki. Klasyczny Rachunek Predykatów I

Logika formalna wprowadzenie. Ponieważ punkty 10.i 12. nie były omawiane na zajęciach, dlatego można je przeczytać fakultatywnie.

Podstawy matematyki dla informatyków. Logika formalna. Skªadnia rachunku zda« Skróty i priorytety. Wykªad 10 (Klasyczny rachunek zda«) 15 grudnia 2011

Wykład 11b. System aksjomatyczny Klasycznego Rachunku Predykatów. Aksjomaty i reguły inferencyjne

Andrzej Wiśniewski Logika II. Materiały do wykładu dla studentów kognitywistyki. Wykład 14. Wprowadzenie do logiki intuicjonistycznej

Elementy logiki Klasyczny rachunek zdań. Wojciech Buszkowski Zakład Teorii Obliczeń Wydział Matematyki i Informatyki Uniwersytet im.

Elementy logiki Klasyczny rachunek zdań. Wojciech Buszkowski Zakład Teorii Obliczeń Wydział Matematyki i Informatyki Uniwersytet im.

II Matematyka 2 stopnia( 3W). Logika i podstawy matematyki. Janusz Czelakowski. Wykład 8. Arytmetyka

Drobinka semantyki KRP

Elementy logiki Klasyczny rachunek predykatów

Definicja: zmiennych zdaniowych spójnikach zdaniowych:

Indukcja. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak

Definicja: zmiennych zdaniowych spójnikach zdaniowych:

Lekcja 3: Elementy logiki - Rachunek zdań

Logika I. Wykład 4. Semantyka Klasycznego Rachunku Zdań

1. Klasyczny Rachunek Zdań

Podstawy Sztucznej Inteligencji (PSZT)

Transkrypt:

Wprowadzenie do Sztucznej Inteligencji Wykład 2 Informatyka Studia InŜynierskie Rachunek predykatów syntaktyka Do symboli (nazw) rachunku predykatów zaliczamy: 1. Predefiniowane symbole true i false. 2. Symbole stałych, które zaczynają się od małej litery. 3. Symbole zmiennych, które zaczynają się od duŝej litery. 4. Symbole funkcji, które rozpoczynają się od małej litery, i które charakteryzują się określona liczbą argumentów. 5. Symbole predykatów, które zaczynają się od małej litery i mają określoną liczbę argumentów (arność predykatu). Do termów rachunku predykatów zaliczamy: stałe, zmienne i wyraŝenia funkcyjne. WyraŜenie funkcyjne składa się z symbolu n-argumentowej funkcji (symbolu funkcji o arności n) i termów t 1, t 2,..., t n zapisanych w nawiasach oraz oddzielonych przecinkami. 1

Rachunek predykatów syntaktyka Predykaty charakteryzują się dodatnią liczbą argumentów, przy czym dwa predykaty o tej samej nazwie lecz innej arności są traktowane jako róŝne. Formuła atomowa składa się z symbolu n-argumentowego predykatu (symbolu predykatu o arności n) i termów t1, t2,..., tn zapisanych w nawiasach oraz oddzielonych przecinkami. Formuła atomowa określana jest równieŝ terminami: wyraŝenie atomowe, atom. Wystąpienie zmiennej nazywamy związanym wtw, gdy znajduje się w zakresie działania kwantyfikatora. W przeciwnym przypadku wystąpienie zmiennej nazywamy wolnym. Literałem nazywamy atom lub jego negację. Klauzula to alternatywa literałów. Klauzula Horna to klauzula zawierająca co najwyŝej jeden atom w postaci prostej (nie zanegowanej). Rachunek predykatów syntaktyka Definicja formuły (wyraŝenia) rachunku predykatów: 1. KaŜdy atom jest formułą. 2. Jeśli s jest formułą, to jego negacja s równieŝ jest formułą. 3. Jeśli s 1 i s 2 są formułami, to ich koniunkcja s 1 s 2 równieŝ jest formułą. 4. Jeśli s 1 i s 2 są formułami, to ich dysjunkcja s 1 s 2 równieŝ jest formułą. 5. Jeśli s 1 i s 2 są formułami, to ich implikacja s 1 s 2 równieŝ jest formułą. 6. Jeśli s 1 i s 2 są formułami, to ich równowaŝność s 1 s 2 równieŝ jest formułą. 7. Jeśli X jest zmienną a s jest formułą, to X s jest formułą. 8. Jeśli X jest zmienną a s jest formułą, to X s jest formułą. 2

Rachunek predykatów semantyka Niech dany będzie zbiór formuł spełniający warunek: zbiór {p 1,...,p m } jest zbiorem wszystkich symboli predykatywnych występujących w tych formułach, {a 1,...,a k } zaś zbiorem wszystkich stałych. Interpretacją I formuły nazywamy trójkę (D,{R 1,...,R m },{d 1,...,d k }), gdzie D jest niepustym zbiorem (dziedziną), R i jest n i -argumentową relacją określoną na D, przyporządkowaną symbolowi predykatywnem p i, zaś d i D są elementami dziedziny, przyporządkowanymi stałym a i. Przykład Dla formuły: X p(a,x) moŝliwe są przykładowe liczbowe interpretacje: I 1 =(N, { }, {0}), gdzie N - to zbiór liczb naturalnych I 2 =(N, { }, {1}), gdzie N - to zbiór liczb naturalnych I 3 =(Z, { }, {0}), gdzie Z - to zbiór liczb całkowitych Rachunek predykatów semantyka Niech I oznacza interpretację. Wartościowaniemω I : V D nazywamy funkcję przyporządkowującą kaŝdej zmiennej ze zbioru V element z dziedziny interpretacji D. Przez ω I [X d] będziemy oznaczać wartościowanie otrzymane z ω I przez przyporządkowanie zmiennej X V wartości d D. Wartość formuły atomowej dla ustalonej interpretacji I oraz wartościowania ω I oznaczaną jako ν ωi określamy następująco: Niech A=p k (c 1,...,c n ) będzie formułą atomową, gdzie kaŝde c i jest zmienną X i lub stałą a i. Wartość ν ωi (A)=1 wtw, gdy (d 1,...,d n ) R k, gdzie R k jest relacją przyporządkowaną p k w interpretacji I, zaś d i są elementami dziedziny przyporządkowanymi c i albo przez interpretację (gdy c i jest stałą), albo przez wartościowanie ω I (gdy c i jest zmienną). 3

Rachunek predykatów semantyka Wartość formuły złoŝonej A dla ustalonej interpretacji I oraz wartościowania ω I określamy następująco: ν ωi ( A)=1 wtw, gdy ν ωi (A)=0 ν ωi (A 1 A 2 )=1 wtw, gdy ν ωi (A 1 )=1 i ν ωi (A 2 )=1 ν ωi (A 1 A 2 )=1 wtw, gdy ν ωi (A 1 )=1 lub ν ωi (A 2 )=1 analogicznie dla innych operatorów oraz: ν ωi ( X A)=1 wtw, gdy ν ωi [X d](a)=1 dla pewnego d D ν ωi ( X A)=1 wtw, gdy ν ωi [X d](a)=1 dla kaŝdego d D Rachunek predykatów semantyka Formuła A jest spełniona w interpretacji I oraz wartościowaniu zmiennych ω I wtw, gdy ν ωi (A)=1. Formuła A jest prawdziwa przy interpretacji I wtw, gdy ν ωi (A)=1 dla dowolnego wartościowania zmiennych ω I. Mówimy wówczas, Ŝe interpretacja I jest modelem (albo: spełnia) A, co oznaczamy I A. Formuła A jest spełnialna wtw, gdy istnieje taka interpretacja I oraz wartościowanie zmiennych ω I, Ŝeν ωi (A)=1. Formuła A jest prawdziwa (inaczej: jest tautologią) wtw, gdy kaŝda interpretacja I jest modelem formuły A, co oznaczamy A. Formuła A jest niespełnialna wtw, gdy nie jest spełnialna. Formuła A jest nieprawdziwa wtw, gdy nie jest prawdziwa. 4

Rachunek predykatów semantyka Formuła A jest konsekwencją logiczną zbioru formuł U, co zapisujemy U A, jeŝeli kaŝda interpretacja, która spełnia U (tzn. jest jego modelem) spełnia takŝe A. Zbiór formuł U rachunku predykatów jest spełnialny, gdy istnieje interpretacja I oraz wartościowanie zmiennych, które spełnia kaŝdą formułę w U. W przypadku przeciwnym U jest niespełnialny. JeŜeli zbiór formuł nie jest spełnialny, to jest sprzeczny. Rachunek predykatów wnioskowanie Wnioskowaniem ze zbioru formuł U (przesłanek) formuły A (wniosku) nazywamy skończony ciąg formuł W=W 1,...,W n, taki, Ŝe W n =A oraz kaŝda z formuł W i (1 i n) jest elementem zbioru U (aksjomatem) bądź wnioskiem wyprowadzonym za pomocą pewnej reguły wnioskowania z wcześniejszych przesłanek W j. JeŜeli dla danej formuły A oraz zbioru U istnieje wnioskowanie, to piszemy U A. Twierdzenie o dedukcji. JeŜeli U jest zbiorem formuł, zaś A i B są formułami, to: U {A} B wtw, gdy U (A B). 5

Rachunek predykatów wnioskowanie Twierdzenie o poprawności. Niech U będzie zbiorem formuł, zaś A dowolną formułą, wtedy: jeŝeli U A, to U A. Twierdzenie o pełności. Niech U będzie zbiorem formuł, zaś A dowolną formułą, wtedy: jeŝeli U A, to U A. Dzięki twierdzeniu o pełności problem stwierdzenia, czy formuła A jest logiczną konsekwencją zbioru formuł U moŝna sprowadzić do zagadnienia poszukiwania wnioskowania formuły A ze zbioru U, co jest o tyle istotne, Ŝe konstrukcja wnioskowania ma charakter wyłącznie syntaktyczny i poddaje się automatyzacji. Rachunek predykatów wnioskowanie Twierdzenie Church a. Logika pierwszego rzędu nie jest rozstrzygalna, ale jest częściowo rozstrzygalna, tzn. nie istnieje algorytm, który dla dowolnej formuły rozstrzyga czy jest ona tautologią, czy nie; istnieje jednak algorytm, który dla dowolnej formuły, która jest tautologią pozwala to stwierdzić. Wniosek: maksimum tego, czego moŝna oczekiwać od systemów automatycznego dowodzenia twierdzeń, jest konstrukcja dowodu dla formuły będącej twierdzeniem rozwaŝanej teorii. 6

Rachunek predykatów wnioskowanie Procedura wnioskowania (procedura dowodowa) jest niesprzeczna (poprawna), jeŝeli kaŝda formuła produkowana przez tą procedurę ze zbioru wyraŝeń U jest równieŝ logiczną konsekwencją zbioru U. Procedura wnioskowania jest zupełna (pełna), jeŝeli moŝe wygenerować kaŝdą (dowolną) formułę będącą logiczną konsekwencją zbioru wyraŝeń U. Zalety: Cechy słabych metod wnioskowania uniwersalność - zdolność manipulowania wiedzą niezaleŝnie od jej znaczenia niesprzeczne i najczęściej zupełne reguły wnioskowania Wady: niska sprawność wnioskowania trudne w praktyce do spełnienia ograniczenia niesprzeczności i zupełności analiza wyłącznie syntaktycznej strony opisu 7

Pełność procedury dowodowej - dlaczego? Istnienie pełnej procedury dowodowej: zredukowałoby proces dowodzenia jedynie do mechanicznych manipulacji składnią formuł logicznych oznaczałoby, iŝ wszystkie wnioski i twierdzenia logiki są zawsze i jedynie pochodną przyjętego zbioru aksjomatów i umoŝliwiłoby tym samym automatyzację procesu rozwiązywania kaŝdego problemu sformułowanego w języku logiki (pomijamy problem złoŝoności obliczeniowej takiego procesu!) Reguła modus ponens Reguła odrywania: A, A B albo A, A B B B Interpretacja: z prawdziwości implikacji oraz prawdziwości jej przesłanki wnioskujemy o prawdziwości konkluzji tej implikacji Reguła odrywania wymaga aby formuły miały postać atomową lub były klauzulami Horna. 8

Reguła modus ponens: niepełność Przykładowy zbiór aksjomatów X p(x) q(x) X p(x) r(x) X q(x) s(x) X r(x) s(x) Dowód nieformalny dla s(a): s(a) jest prawdziwe, gdy q(a) lub r(a) jest prawdziwe; q(a) lub r(a) musi być prawdziwe, bo p(x) lub p(x) jest prawdziwe (zawsze!). Zatem s(a) z pewnością jest prawdziwe! Modus Ponens: X p(x) r(x) nie moŝna przekształcić do postaci Horna (byłoby wtedy p(x) r(x)) i tym samym nie moŝna skorzystać z reguły odrywania by dowieść prawdziwości s(a). Wniosek: Istnieją twierdzenia (konsekwencje logiczne) prawdziwe w logice predykatów, których nie moŝna dowieść za pomocą modus ponens. Zasada rezolucji: Reguła rezolucji: zasada A B, B C albo A B, B C A C A C Interpretacja (dysjunkcji): Jeśli B jest fałszywe, to w pierwszej dysjunkcji A musi być prawdziwe (skoro cała alternatywa jest prawdziwa); ale jeśli B jest prawdziwe, to wtedy w drugiej dysjunkcji C musi być prawdziwe (skoro ta alternatywa teŝ jest prawdziwa); zatem, A lub C są prawdziwe. Interpretacja (implikacji): poprawność zasady rezolucji wynika z przechodniości implikacji 9

Rezolucja: pojęcia podstawowe literały komplementarne przesłanka przesłanka A B, B C A C rezolwenta Rezolucja ma charakter binarny tzn. dotyczy dokładnie dwóch klauzul, a rezolwenta jest wyprowadzana z jednej pary literałów komplementarnych. Rezolucja: zasada rezolucji a modus ponens A, A B True A, A B B True B True A, A B False A, A B True B False B Zasada rezolucji jest uogólnieniem reguły odrywania. Modus ponens nie daje moŝliwości generowania dysjunkcji (implikacji) - moŝliwe jest jedynie wywodzenie formuł atomowych. 10

Rezolucja: przypadki wnioskowania (rachunek zadań) Przesłanki Rezolwenty Uwagi P P Q (P Q) P Q P Q P Q P Q P P P Q Q R (P Q) (Q R) Q Q Q Q P P P R (P R) modus ponens Q Qdaje Q rezolwenta sklejana dwie rezolwenty (obie tautologie) klauzula pusta (oznaka sprzeczności) wnioskowanie łańcuchowe (ang. chaining) Rezolucja: wywód rezolucyjny oraz dowód Wywodem rezolucyjnym klauzuli C ze zbioru klauzul U nazywamy ciąg klauzul W=W 1,...,W n, którego elementami są wyłącznie elementy zbioru U oraz rezolwenty klauzul występujących wcześniej w tym ciągu, zaś W n =C. Wywód rezolucyjny klauzuli pustej ze zbioru U nazywamy dowodem niespełnialności (sprzeczności) dla U. 11

Zasada rezolucji: pełność czy niepełność? Zasada rezolucji nie jest pełna, gdyŝ nie jest moŝliwe wywiedzenie formuły P P (będącego tautologią) dla pustego zbioru klauzul początkowych (aksjomatów). Zasada rezolucji jest jednak pełna w sensie refutacji tzn. zawsze umoŝliwia wyprowadzenie klauzuli pustej (fałszywej w kaŝdej interpretacji!), jeśli dany zbiór klauzul jest niespełnialny. Refutacja (reductio ad absurdum) - dowód nie wprost Aby dowieść, Ŝe klauzula P jest logiczną konsekwencją zbioru klauzul S wystarczy wykazać, Ŝe zbiór {S P} jest sprzeczny. Rezolucja: graf wywodu (przykład) p p q p r r p 12

Rezolucja: drzewo wywodu (przykład) p p q p r r q r p Unifikacja: definicja Unifikacja jest procesem doprowadzania dwóch wyraŝeń do tej samej postaci (uzgadniania) przez zastosowanie odpowiednich podstawień do wstępujących w tych wyraŝeniach zmiennych. Skończony zbiór podstawień zmiennych powinien spełniać warunki: wszystkie zmienne są pod kwantyfikatorem uogólnionym za zmienną moŝna podstawić dowolny term (stałą, zmienną, funkcję) przy następujących ograniczeniach: raz związana zmienna nie moŝe być wiązana ponownie (nie jest dopuszczalne podstawianie wielu termów za jedną zmienną) zmienna nie moŝe być unifikowana z termem, który zawiera tą zmienną np.: {p(x)/x}, bo p(p(p(p(...x)...) wszystkie wystąpienia zmiennej muszą otrzymać wartość wynikającą z uzgodnienia nie wolno podstawiać zmiennej za stałą - zawsze unifikujemy odwrotnie 13

Unifikacja: jaki unifikator? Unifikator to zbiór podstawień zmiennych - rezultat procesu unifikacji. Proces unifikacji powinien być jak najbardziej ogólny, tzn. powinien zwracać najogólniejszy unifikator. Przykład p(x) i p(y) {fred/x, fred/y}... jeden z unifikatorów p(x) i p(y) {Z/X, Z/Y}... inny ogólniejszy unifikator (ale czy najogólniejszy?) Unifikacja: złoŝenie unifikacji Niech s i s' będą dwoma zbiorami podstawień (unifikatorami). ZłoŜenie unifikatorów s i s' (zapisywane jako ss ) jest otrzymywane przez zastosowanie podstawień s' do s i dodanie do s tych podstawień z s', które nie dotyczą zmiennych posiadających podstawienia w s. Przykład 1 s 1 ={X/Y, W/Z} s 2 ={V/X} s 3 ={a/v, f(b)/w} s 1 s 2 ={V/Y, W/Z, V/X} s 1 s 2 s 3 ={a/y, f(b)/z, a/x, a/v, f(b)/w} 14

Przykład 2 Unifikacja: złoŝenie unifikacji s 1 = {g(x,y)/z} s 2 = {a/x, b/y, c/w} s 1 s 2 = {g(a,b)/z, a/x, b/y, c/w} Przykład 3 s 1 = {g(x,y)/z} s 2 = {a/x, b/y, c/w, d/z} s 1 s 2 = {g(a,b)/z, a/x, b/y, c/w} ZłoŜenie unifikatorów jest operacją łączną lecz nieprzemienną: (s''s')s = s''(s's) s's ss' Unifikacja: najogólniejszy unifikator Zbiór wyraŝeń {A 1, A 2,..., A n } jest unifikowalny, jeśli istnieje taki zbiór podstawień σ, Ŝe wyraŝenia A 1 σ, A 2 σ,..., A n σ są identyczne, czyli A 1 σ =A 2 σ =...=A n σ. Zbiór podstawień σ nazywamy wtedy unifikatorem tego zbioru. Unifikator g jest najogólniejszym unifikatorem (MGU) zbioru wyraŝeń E, jeŝeli dla kaŝdego innego unifikatora s tego zbioru istnieje unifikator s', taki, Ŝe Es = Egs' (gdzie gs' oznacza złoŝenie unifikatorów g i s'). Dla danego zbioru wyraŝeń istnieje dokładnie jeden najogólniejszy unifikator z dokładnością do nazw zmiennych. 15

Unifikacja: najogólniejszy unifikator Przykład Zbiór wyraŝeń E: p(x) oraz p(y) s = {fred/x, fred/y} g = {Z/X, Z/Y} s' =??? niech s' = {fred/z} gs' = {Z/X, Z/Y}{fred/Z} = {fred/x, fred/y, fred/z} i rzeczywiście p(x){fred/x, fred/y}=p(y) {fred/x, fred/y, fred/z} prowadzi do p(fred)=p(fred), czyli zachodzi Es = Egs'. Weźmy teraz: s = {Z/X, Z/Y} g = {X/Y} s' =??? niech s' = {Z/X}, wtedy gs' = {X/Y}{Z/X} = {Z/Y, Z/X}, więc znowu mamy Es = Egs' zatem to {X/Y} jest najogólniejszym unifikatorem (MGU) Unifikacja: algorytm function UNIFY(List_1, List_2) begin case both List_1 and List_2 are atoms: if List_1 = List_2 then return {} % recursion stops else return FAIL; List_1 is a variable: if List_1 occurs in List_2 then return FAIL else return {List_2/List_1}; List_2 is a variable: if List_2 occurs in List_1 then return FAIL else return {List_1/List_2}; otherwise: % both List_1 and List_2 are lists begin HE1 := head of List_1; RE1 := rest of List_1; HE2 := head of List_2; RE2 := rest of List_2; SUBS1 := UNIFY(HE1, HE2); if SUBS1 = FAIL then return FAIL; TE1 := apply(subs1, RE1); TE2 := apply(subs1, RE2); SUBS2 := UNIFY(TE1, TE2); if SUBS2 = FAIL then return FAIL else returncomposition of SUBS1 and SUBS2; end end % end case end. 16

Unifikacja: algorytm (przykład) UNIFY((parents X (father X)(mother bill)), (parents bill (father bill) Y)) return{ } return{(mother bill)/y, bill/x} UNIFY(parents, parents) UNIFY((X (father X)(mother bill)), (bill (father bill) Y)) return{bill/x} return{(mother bill)/y} UNIFY(X, bill) return{ } UNIFY(((father bill)(mother bill)), ((father bill) Y)) return{(mother bill)/y} UNIFY((father bill), (father bill)) UNIFY(((mother bill)), (Y)) return{ } return{ } return{(mother bill)/y} return{ } UNIFY(father, father) UNIFY((bill), (bill)) UNIFY((mother bill), Y) UNIFY((), ()) return{ } return{ } UNIFY(bill, bill) UNIFY((), ()) Rezolucja: procedura dowodowa Przekształć przesłanki lub aksjomaty w formę klauzul Dodaj do zbioru aksjomatów zaprzeczenie twierdzenia, które ma być udowodnione (w formie klauzuli) Generuj nowe klauzule (rezolwenty), wynikające z tego zbioru (zgodnie z zasadą rezolucji) i powiększaj o nie zbiór Szukaj sprzeczności, podąŝając ku klauzuli pustej Warunki uŝyte do wygenerowania pustej klauzuli są tymi, w których twierdzenie (zaprzeczone) jest prawdziwe Faktoryzacja - w rachunku predykatów - usuwanie z klauzul literałów powtarzających się 17

Faktoryzacja: znaczenie dla pełności rezolucji Przykładowy zbiór klauzul (niespełnialny) p(u) p(v) p(x) p(y) Dowód rezolucyjny: KaŜda rezolwenta tego zbioru klauzul składa się z dwóch literałów, więc nie moŝe być pusta! Dowiedzenie sprzeczności za pomocą rezolucji nie jest moŝliwe. Rozwiązanie: Usunięcie wszystkich powtarzających się w klauzulach literałów: Klauzula p(u) p(v) z podstawieniem {U/V} będzie równa p(u). Klauzula p(x) p(y) z podstawieniem {X/Y} będzie równa p(x). Postacie normalne - przypomnienie Literałem nazywamy atom lub jego negację. Klauzula to alternatywa literałów. Klauzulę, która nie zawiera Ŝadnego literału nazywamy klauzulą pustą i oznaczamy. Klauzula Horna to klauzula zawierająca co najwyŝej jeden atom w postaci prostej (nie zanegowanej). Formuła jest w koniunkcyjnej postaci normalnej wtw, gdy jest ona postaci α =α 1 α 2... α n (dla n 1), gdzie α 1,α 2,...,α n są klauzulami. Formuła jest w dysjunkcyjnej postaci normalnej wtw, gdy jest ona postaci α =α 1 α 2... α n (dla n 1), gdzie α 1,α 2,...,α n są koniunkcjami literałów. Twierdzenie. Dla dowolnej formuły α istnieją formuły jest równowaŝne w koniunkcyjnej i dysjunkcyjnej postaci normalnej. 18

Preneksowa postać normalna i standardowa postać Skolema Formuła α jest w preneksowej postaci normalnej wtw, gdy jest ona postaci QX 1... QX n µ, gdzie QX k (dla 1 k n) to albo X k, albo X k, zaś formuła µ jest bez kwantyfikatorów. QX 1... QX n nazywamy przedrostkiem, a µ nazywamy matrycą formuły α. Formuła α jest w standardowej postaci Skolema wtw, gdy jest w preneksowej postaci normalnej, w jej przedrostku nie ma kwantyfikatorów szczegółowych ( ), zaś jej matryca jest w koniunkcyjnej postaci normalnej. Twierdzenie. Niech S będzie zbiorem klauzul reprezentujących formułę α w postaci standardowej Skolema. Wówczas formuła α jest sprzeczna wtw, gdy zbiór S jest sprzeczny. Przekształcanie do standardowej postaci Skolema ( X){[a(X) b(x)] [c(x,m) ( Y) ( Z)[c(Y,Z)] d(x,y) ]} ( X)(e(X)) 1. Eliminacja implikacji z wykorzystaniem definicji (a b a b): ( X){ [a(x) b(x)] [c(x,m) ( Y) ( Z)[c(Y,Z)] d(x,y) ]} ( X)(e(X)) 2. Ograniczenie zasięgu negacji: ( X){[ a(x) b(x)] [c(x,m) ( Y) ( Z)[ c(y,z)] d(x,y) ]} ( X)(e(X)) 3. Standaryzacja wszystkich zmiennych poprzez związanie kaŝdego kwantyfikatora z unikalną zmienną: ( X){[ a(x) b(x)] [c(x,m) ( Y) ( Z)[ c(y,z)] d(x,y) ]} ( W)(e(W)) 4. Przemieszczenie wszystkich kwantyfikatorów na lewą stronę z zachowaniem porządku: ( X)( Y)( Z)( W){[ a(x) b(x)] [c(x,m) c(y,z) d(x,y) ]} e(w) 19

Przekształcanie do standardowej postaci Skolema 5. Eliminacja kwantyfikatorów szczegółowych za pomocą skolemizacji: ( X)( Z)( W){[ a(x) b(x)] [c(x,m) c(f(x),z) d(x,f(x)) ]} e(w) 6. Opuszczenie wszystkich kwantyfikatorów uogólnionych: [ a(x) b(x)] [c(x,m) c(f(x),z) d(x,f(x)) ] e(w) 7. Przekształcenie wyraŝenia do postaci koniunkcji dysjunkcji z wykorzystaniem własności łączności i rozłączności: [ a(x) b(x) e(w) c(x,m)] [ a(x) b(x) e(w) c(f(x),z) d(x,f(x))] 8. Zastąpienie koniunkcji zbiorem klauzul (kaŝda dysjunkcja zostaje oddzielną klauzulą): a(x) b(x) e(w) c(x,m) a(x) b(x) e(w) c(f(x),z) d(x,f(x)) 9. Standaryzacja zmiennych w poszczególnych klauzulach: a(x) b(x) e(w) c(x,m) a(u) b(u) e(v) c(f(u),z) d(u,f(u)) Rezolucja: przykład Wszystkie psy są zwierzętami. X ( dog(x) animal(x) ) ❶ Fido jest psem. dog(fido) ❷ Wszystkie zwierzęta umrą. Y ( animal(y) die(y) ) ❸ Fido umrze? die(fido) ❹ Modus Ponens Podstawienie {fido/x} w ❶ i reguła odrywania: animal(fido) Podstawienie {fido/y} w ❸ i reguła odrywania: die(fido) Forma predykatu Forma klauzuli X ( dog(x) animal(x) ) dog(x) animal(x) dog(fido) dog(fido) Y ( animal(y) die(y) ) animal(y) die(y) dowieść: die(fido) zanegowane twierdzenie: die(fido) 20

Rezolucja: przykład c.d. die(fido) dog(fido) dog(x) animal(x) animal(y) die(y) {Y/X} {fido/y} dog(y) die(y) die(fido) pusta klauzula Rezolucja: strategie dowodzenia Strategie wyboru Strategia liniowa (ang. linear resolution) Strategia źródłowa (ang. input resolution) Strategia preferencji jednostkowej (ang. unit preference resolution) Strategia zbioru podpierającego/zbioru uzasadnień (ang. set of support resolution) Przeszukiwanie wszerz (saturacja) Strategie eliminacji usuwanie klauzul zawierających czyste literały (brak drugiej klauzuli zawierającej literał komplementarny) usuwanie tautologii (klauzul zawierających literały komplementarne) usuwanie klauzul pochłoniętych (np. p qpochłania p q r) 21

Rezolucja: przeszukiwanie wszerz (saturacja) dog(fido) dog(x) animal(x) animal(y) die(y) die(fido) {fido/x} {fido/x} {fido/x} {fido/y} {X/Y} animal(fido) dog(x) die(x) animal(fido) {fido/y} {fido/x} die(fido) die(fido) dog(fido) dog(fido) Rezolucja: strategia zbioru podpierającego Zbiór uzasadnień T - dowolny niepusty podzbiór zbioru S klauzul początkowych (skończonego i niepustego) W kaŝdym kroku wywodu przynajmniej jedna z przesłanek jest klauzulą ze zbioru T bądź klauzulą wyprowadzoną we wcześniejszej fazie wywodu (inaczej: zbiór T jest po wykonaniu kaŝdego kroku wzbogacany o wyprowadzony wniosek/rezolwentę) Strategia zupełna wtedy i tylko wtedy, gdy zbiór S jest sprzeczny, zaś S\T jest spełnialny Istnieją róŝne metody wyboru zbioru T (najczęściej zbiór ten zawiera negację dowodzonego twierdzenia) 22

Rezolucja: strategie zbioru podpierającego (przykład) Sprzeczny zbiór S: Zbiór S\T: p q p r q r r :zbiór T p q q p Rezolucja: strategia liniowa W kaŝdym kroku jedna z przesłanek jest ostatnio wygenerowaną rezolwentą, a druga jednym z wcześniejszych wniosków (rezolwent) lub klauzulą początkową Dowód rozpoczyna się od dowolnie wybranej klauzuli początkowej (choć najlepiej aby było to twierdzenie do udowodnienia) Dowód ma charakter przejrzysty i ciągły - ostatni wniosek jest przesłanką w kolejnym kroku Strategia zupełna MoŜna łączyć ze strategią zbioru uzasadnień 23

Rezolucja: strategia liniowa dog(fido) dog(x) animal(x) animal(y) die(y) die(fido) {fido/x} {fido/y} animal(fido) {fido/y} {fido/x} animal(fido) die(fido) dog(fido) Rezolucja: strategia liniowa (przykład) p q p r q r r p q q p r r 24

Rezolucja: strategia źródłowa W kaŝdym kroku przynajmniej jedna przesłanka jest klauzulą początkową (a nie rezolwentą) Odmiana strategii liniowej (bardziej rygorystyczna!) Strategia niezupełna! Strategia zupełna w klasie klauzul Horna Rezolucja: strategia źródłowa (niezupełność) Zbiór sprzeczny: p q p q p q p q q p q p q gdy liniowa! p p q q itd. 25

Rezolucja: strategia źródłowa (przykład) dog(fido) dog(x) animal(x) animal(y) die(y) die(fido) {fido/x} {fido/y} animal(fido) {fido/y} {fido/x} animal(fido) die(fido) dog(fido) Rezolucja: strategia preferencji jednostkowej W kaŝdym kroku przynajmniej jedna przesłanka powinna być klauzulą pojedynczą (pojedynczy literał) Strategia zupełna Strategia niezupełna, gdy przynajmniej jedna przesłanka zawsze musi być klauzulą pojedynczą wtedy jest to tzw. strategia jednostkowa (zupełna w klasie klauzul Horna!) 26

Rezolucja: strategia preferencji jednostkowej dog(fido) dog(x) animal(x) animal(y) die(y) die(fido) {fido/x} {fido/y} animal(fido) {fido/y} {fido/x} animal(fido) die(fido) dog(fido) Rezolucja: strategie eliminacji Usuwanie klauzul zawierających czyste literały (brak innej klauzuli zawierającej literał komplementarny) p l q l p q r p q r l l q r?? r 27

Rezolucja: strategie eliminacji Usuwanie tautologii (klauzul zawierających parę literałów komplementarnych) Niespełnialny zbiór klauzul pozostaje niespełnialny nawet, jeśli usuniemy z niego wszystkie tautologie Literały tautologii muszą być ściśle komplementarne: p(a) p(x) nie jest tautologią p(a) p(a) jest tautologią KaŜda nowa rezolwenta na dowolnym etapie procesu rezolucji moŝe być tautologią Rezolucja: strategie eliminacji Usuwanie klauzul pochłoniętych Pochłanianie: klauzula C pochłania klauzulę D wtedy i tylko wtedy, gdy istnieje podstawienie σ takie, Ŝe zbiór literałów klauzuli Cσ jest podzbiorem zbioru literałów D Przykład Klauzule: Zbiory literałów: C = p(x) q(y) C = { p(x), q(y) } D = p(a) q(v) r(w) D = { p(a), q(v), r(w) } Podstawienie: Wynik podstawienia: σ = {a/x, V/Y} C σ = {p(a), q(v)} PoniewaŜ C σ D, to C pochłania D. 28

Rezolucja: strategie eliminacji Usuwanie klauzul pochłoniętych c.d. Niespełnialny zbiór klauzul pozostaje niespełnialny nawet, jeśli usuniemy z niego klauzulę pochłonięta przez inną klauzulę KaŜda nowa rezolwenta na dowolnym etapie procesu rezolucji moŝe być pochłonięta przez inną klauzulę Pełność strategii eliminacji tautologii i klauzul pochłoniętych zaleŝy od sposobu usuwania klauzul (np. połączenie z saturacją gwarantuje pełność) 29