SID Wykład 6 Wnioskowanie w logice I rzędu

Podobne dokumenty
Sztuczna Inteligencja i Systemy Doradcze

WPROWADZENIE DO SZTUCZNEJ INTELIGENCJI

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

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

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

Semantyka rachunku predykatów

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

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

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

Adam Meissner.

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

Programowanie logiczne a negacja

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

METODY DOWODZENIA TWIERDZEŃ I AUTOMATYZACJA ROZUMOWAŃ

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

Metoda Tablic Semantycznych

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

Podstawy Sztucznej Inteligencji (PSZT)

Struktury formalne, czyli elementy Teorii Modeli

Logika Matematyczna (10)

Wprowadzenie do logiki Zdania, cz. III Język Klasycznego Rachunku Predykatów

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

III rok kognitywistyki UAM,

LOGIKA Klasyczny Rachunek Zdań

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

Automatyczne dowodzenie twierdzeń metodą rezolucji

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

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

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

Wprowadzenie do Sztucznej Inteligencji

Wprowadzenie do Sztucznej Inteligencji

III rok kognitywistyki UAM,

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

Klasyczny rachunek predykatów

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

Michał Lipnicki (UAM) Logika 11 stycznia / 20

Ziemia obraca się wokół Księżyca, bo posiadając odpowiednią wiedzę można stwierdzić, czy są prawdziwe, czy fałszywe. Zdaniami nie są wypowiedzi:

UNIFIKACJA I REZOLUCJA

Wstęp do logiki. Klasyczny Rachunek Zdań II

Definicja: zmiennych zdaniowych spójnikach zdaniowych:

Tautologia (wyrażenie uniwersalnie prawdziwe - prawo logiczne)

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

Kultura logicznego myślenia

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

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

Programowanie deklaratywne i logika obliczeniowa

Adam Meissner STUCZNA INTELIGENCJA

Składnia rachunku predykatów pierwszego rzędu

Elementy logiki Klasyczny rachunek predykatów

Elementy logiki matematycznej

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

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

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

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

ROZDZIAŁ 1. Rachunek funkcyjny

Wprowadzenie do Sztucznej

Podstawy Sztucznej Inteligencji (PSZT)

Dedukcyjne bazy danych

Definicja: zmiennych zdaniowych spójnikach zdaniowych:

Lekcja 3: Elementy logiki - Rachunek zdań

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

LOGIKA I TEORIA ZBIORÓW

1 Logika Zbiory Pewnik wyboru Funkcje Moce zbiorów Relacje... 14

Wprowadzenie do Sztucznej Inteligencji

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

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

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

Alfred N. Whitehead

Egzamin z logiki i teorii mnogości, rozwiązania zadań

Systemy ekspertowe. Wykład 3 Reprezentacja wiedzy Rachunek predykatów pierwszego rzędu. Joanna Kołodziejczyk

Konsekwencja logiczna

Adam Meissner SZTUCZNA INTELIGENCJA

Systemy ekspertowe. Wykład 3 Reprezentacja wiedzy. Rachunek predykatów pierwszego rzędu. Joanna Kołodziejczyk. 30 marca 2011

Wstęp do logiki. Klasyczny Rachunek Zdań III

SID Wykład 5 Wnioskowanie w rachunku zdań

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

PODSTAWY SZTUCZNEJ INTELIGENCJI

Zasady krytycznego myślenia (1)

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

Schematy Piramid Logicznych

Uzgadnianie formuł rachunku predykatów

Uwagi wprowadzajace do reguł wnioskowania w systemie tabel analitycznych logiki pierwszego rzędu

1 Podstawowe oznaczenia

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

Jak wnioskują maszyny?

Logika pragmatyczna dla inżynierów

Elementy logiki i teorii mnogości Wyk lad 1: Rachunek zdań

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

Drobinka semantyki KRP

Monoidy wolne. alfabetem. słowem długością słowa monoidem wolnym z alfabetem Twierdzenie 1.

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

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

Reprezentacja wiedzy ontologie, logiki deskrypcyjne

function KB-AGENT( percept) returns an action static: KB, a knowledge base t, a counter, initially 0, indicating time

Metody dowodzenia twierdzeń i automatyzacja rozumowań Systemy aksjomatyczne I

Zagadnienia podstawowe dotyczące metod formalnych w informatyce

Metody Sztucznej Inteligencji (studia inżynierskie)

Przekształcenia liniowe

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

Systemy ekspertowe. Wykład 2 Reprezentacja wiedzy Rachunek zdań. Joanna Kołodziejczyk. Joanna Kołodziejczyk Systemy ekspertowe / 41

Transkrypt:

SID Wykład 6 Wnioskowanie w logice I rzędu Wydział Matematyki, Informatyki i Mechaniki UW slezak@mimuw.edu.pl

Rachunek zdań: zalety i wady Rachunek zdań jest deklaratywny: elementy syntaktyki odpowiadaj a faktom Rach. zdań dopuszcza częściow a/alternatywn a/zanegowan a informację (w przeciwieństwie do większości struktur danych i baz danych) Rachunek zdań jest składnikowy: znaczenie B 1,1 P 1,2 wynika ze znaczenia B 1,1 i P 1,2 Znaczenie w rachunku zdań jest niezależne od kontekstu (w przeciwieństwie do języka naturalnego) Rachunek zdań ma bardzo ograniczona moc wyrażania (w przeciwieństwie do języka naturalnego), np. nie da się wyrazić zdania pułapki powoduja wiatr w sasiednich polach inaczej niż przez napisanie oddzielnego zdania dla każdego pola

Logika I rzędu Rachunek zdań zakłada, że świat zawiera tylko fakty, natomiast logika I rzędu (bliższa językowi naturalnemu) zakłada, że świat zawiera: Obiekty: ludzie, domy, liczby, teorie, kolory, baseball, wojny, wieki... Relacje: czerwony, okragły, pierwszy, większy niż, w środku, część, ma kolor, posiada,... Funkcje: trzeci właściciel, o jeden więcej niż, poczatek...

Syntaktyka i semantyka Stałe: KingJohn, 0,1,2,... Predykaty: Brother, >,... Funkcje: Sqrt,... Zmienne: x, y, a, b,... Łaczniki: = Równość: = Kwantyfikatory: Zdania atomowe = predicate(term 1,...,term n ) lub term i = term j Term = function(term 1,...,term n ) constantorvariable Zdania złożone sa budowane ze zdań atomowych przy pomocy łaczników: S,S 1 S 2,S 1 S 2,S 1 = S 2,S 1 S 2

Semantyka Zdania sa prawdziwe względem modelu i interpretacji. Model zawiera 1 obiekt (element dziedziny) i relacje między nimi. Interpretacja specyfikuje przyporzadkowania: symbole stałe obiekty predykaty relacje symbole funkcyjne relacje funkcyjne Zdanie atomowe predicate(term 1,...,term n ) jest prawdziwe obiekty przyporzadkowane do term 1,...,term n sa w relacji przyporzadkowanej do predicate.

Modele logiki I rzędu: bardzo dużo! Można wyliczać modele dla danego słownika bazy wiedzy KB: Dla każdej liczby elementów dziedziny n od 1 do Dla każdego k-arnego predykatu P k w słowniku Dla każdej możliwej relacji k-arnej na n obiektach Dla każdego symbolu stałego C w słowniku Dla każdego przyporzadkowania C do jednego z n obiektów... Określanie logicznych konsekwencji przez wyliczanie modeli jest niepraktyczne!

Kwantyfikatory Kwantyfikator uniwersalny: variables sentence Każdy w Berkeley jest sprytny: x At(x, Berkeley) = Smart(x) x P jest prawdziwe w modelu m P jest prawdziwe z x przyporzadkowanym do każdego możliwego obiektu w modelu Kwantyfikator egzystencjalny: Ktoś w Stanford jest sprytny: variables sentence x At(x, Stanford) Smart(x) x P jest prawdziwe w modelu m P jest prawdziwe z x przyporzadkowanym do pewnego możliwego obiektu w modelu

Tłumaczenie języka naturalnego do I rzędu Bracia sa rodzeństwem x, y Brother(x, y) = Sibling(x, y). Rodzeństwo jest symetryczne x, y Sibling(x, y) Sibling(y, x). Czyjaś matka jest kobieta i jego rodzicem x, y Mother(x, y) (Female(x) Parent(x, y)). Kuzyn jest dzieckiem rodzeństwa rodzica x,y FirstCousin(x,y) p,ps Parent(p,x) Sibling(ps,p) Parent(ps,y)

Równość term 1 = term 2 jest prawdziwe w danej interpretacji jeśli term 1 i term 2 przyporzadkowane sa do tego samego obiektu Np. 1 = 2 i x (Sqrt(x),Sqrt(x)) = x sa spełnialne 2 = 2 jest tautologia Np. definicja (pełnego) Sibling w terminach Parent: x,y Sibling(x,y) [ (x = y m,f (m = f) Parent(m,x) Parent(f,x) Parent(m,y) Parent(f,y)]

Baza wiedzy w języku I rzędu Agent w świecie Wumpusa odczuwajacy zapach i wiatr, ale nie obserwujacy błysku w chwili t = 5: Tell(KB, Percept([Smell, Breeze, None], 5)) Ask(KB, a Action(a, 5)) tzn. czy z KB wynikaja jakieś konkretne akcje w chwili t = 5? Odpowiedź: Tak, {a/shoot} podstawienie (lista powiazań) Dla danego zdania S i podstawienia σ, Sσ oznacza wynik zastosowania σ do S; np. S = Smarter(x,y) σ = {x/hillary, y/bill} Sσ = Smarter(Hillary, Bill) Ask(KB, S) zwraca pewne/wszystkie σ takie, że KB = Sσ

Baza wiedzy: przykład Obserwacja b,g,t Percept([Smell,b,g],t) = Smelt(t) s,b,t Percept([s,b,Glitter],t) = AtGold(t) Reakcja: t AtGold(t) = Action(Grab, t) Reakcja z wewnętrznym stanem: czy nie mamy już złota? t AtGold(t) Holding(Gold, t) = Action(Grab, t)

Baza wiedzy: przykład Własności miejsca: x,t At(Agent,x,t) Smelt(t) = Smelly(x) x,t At(Agent,x,t) Breeze(t) = Breezy(x) Blisko pułapek jest wiatr: Reguła diagnostyczna wnioskuje przyczynę z efektu y Breezy(y) = x Pit(x) Adjacent(x,y) Reguła przyczynowa wnioskuje efekt z przyczyny x,y Pit(x) Adjacent(x,y) = Breezy(y) Definicja: y Breezy(y) [ x Pit(x) Adjacent(x, y)] OBSERWACJA: logika I rzędu ma dużo większa moc wyrażania niż rachunek zdań

Wnioskowanie w logice: historia 450 BC Stoicy rachunek zdań, wnioskowanie (prawdopodobnie) 322 BC Arystoteles sylogizmy (reguły wnioskowanie), kwantyfikatory 1565 Cardano teoria prawd. (rachunek zdań + niepewność) 1847 Boole rachunek zdań (ponownie) 1879 Frege logika I rzędu 1922 Wittgenstein dowodzenie przez tabele prawdziwości 1930 Gödel/Herbrand pełne systemy wnioskowania dla logiki I rzędu 1931 Gödel pełny system wnioskowania dla arytmetyki 1960 Davis/Putnam praktyczny algorytm dla rachunku zdań 1965 Robinson praktyczny algorytm dla logiki I rzędu rezolucja

Podstawienia Podstawienie: Zbiór postaci {x 1 /t 1,...x n /t n } gdzie x 1,...,x n sa różnymi zmiennymi, natomiast t 1,...,t n sa termami. Dopuszczamy podstawienie puste, oznaczane ε. Niech θ będzie podstawieniem postaci (1) i niech α będzie wyrażeniem (tzn. formuła lub termem). Piszemy αθ na oznaczenie wyrażenia powstałego z α w wyniku jednoczesnego zastapienia wszystkich wolnych wystapień zmiennych x 1,...,x n termami t 1,...,t n. Na przykład, jeśli θ = {x/sam,y/pam}, to (Likes(x, y))θ = Likes(Sam, Pam).

Instancjacja uniwersalna Każda instancjacja uniwersalnie kwantyfikowanego zdania jest logiczna konsekwencja reguły: v α Subst({v/g},α) dla dowolnej zmiennej v i termu ustalonego g Instancjacja uniwersalna może być stosowana kilkakrotnie, żeby dodać nowe zdania; nowa KB jest logicznie równoważna poprzedniej

Redukcja do rachunku zdań Załóżmy, że mamy dana następujac a bazę wiedzy KB: x King(x) Greedy(x) = Evil(x) King(John) Greedy(John) Brother(Richard, John) Instancjujac zdania z kwantyfikatorami uniwersalnymi na wszystkie możliwe sposoby otrzymujemy King(John) Greedy(John) = Evil(John) King(Richard) Greedy(Richard) = Evil(Richard) King(John) Greedy(John) Brother(Richard, John) Nowa KB jest sprowadzona do języka zdań: symbole zdaniowe to King(John), Greedy(John), Evil(John), King(Richard), itd.

Redukcja do rachunku zdań Fakt: zdanie ustalone jest logiczna konsekwencja nowej KB jest logiczna konsekwencja oryginalnej KB Fakt: każda baza wiedzy bez kwantyfikatorów egzystencjalnych i symboli funkcyjnych może być sprowadzona do języka rachunku zdań, tak aby zachować logiczne konsekwencje Pomysł: sprowadź KB i zapytanie do języka rachunku zdań zastosuj rezolucję dla rachunku zdań zwróć wynik

Redukcja do rachunku zdań: efektywność Redukcja do rachunku zdań generuje wiele nieistotnych zdań. Np. x King(x) Greedy(x) = Evil(x) King(John) y Greedy(y) Brother(Richard, John) Fakt Evil(John) wydaje się oczywisty, ale redukcja produkuje wiele faktów takich jak Greedy(Richard), które sa nieistotne. Dla p k-arnych predykatów i n stałych, będzie p n k instancjacji!

Unifikacja Wniosek Evil(John) z poprzedniego slajdu można otrzymać bardziej bezpośrednio, jeśli znajdziemy podstawienie θ takie, że King(x) oraz Greedy(x) pasuja do King(John) oraz Greedy(y). θ = {x/john, y/john} spełnia te wymagania. UNIFY (α,β) = θ jeśli αθ = βθ p q θ Knows(John, x) Knows(John, Jane) {x/jane} Knows(John, x) Knows(y, OJ) {x/oj, y/john} Knows(John, x) Knows(y, Mother(y)) {y/john, x/mother(john)} Knows(John, x) Knows(x, OJ) fail

Unifikacja Podstawienie θ jest unifikatorem wyrażeń E 1,...,E n jeśli E 1 θ = E 2 θ =... = E n θ. Podstawienie θ jest najogólniejszym unifikatorem wyrażeń E 1,...,E n jeśli dla każdego unifikatora tych wyrażeń, γ, istnieje podstawienie λ takie, że γ = θλ. Warto szukać jak najogólniejszych unifikacji. Należy uważać przy przemianowywaniu zmiennych: Wszystkie kwantyfikowane zmienne musza być różne.

Uogólniony Modus Ponens p 1, p 2,..., p n, (p 1 p 2... p n = q) qθ gdzie p i θ = p i θ dla wszystkich i p 1 jest King(John) p 2 jest Greedy(y) θ jest {x/john, y/john} qθ jest Evil(John) p1 jest King(x) p2 jest Greedy(x) q jest Evil(x) Uogólnione Modus Ponens używa baz wiedzy klauzul definiujacych (dokładnie jeden literał pozytywny) Zakłada się, że wszystkie zmienne sa kwantyfikowane uniwersalnie

Przykład Prawo amerykańskie określa, że sprzedaż broni obcemu narodowi przez Amerykanina jest przestępstwem. Państwo Nono, które jest wrogie, ma pewne pociski. Wszystkie pociski zostały mu sprzedane przez pułkownika Westa, który jest Amerykaninem. Pokazać, że pułkownik West jest przestępca.

Baza wiedzy: przykład... sprzedaż broni obcemu narodowi przez Amerykanina jest przestępstwem: American(x) Weapon(y) Sells(x, y, z) Hostile(z) = Criminal(x) Nono... ma pewne pociski, tzn. x Owns(Nono,x) Missile(x): Owns(Nono,M 1 ) i Missile(M 1 )... wszystkie pociski zostały mu sprzedane przez pułkownika Westa: x Missile(x) Owns(Nono, x) = Sells(West, x, Nono) Pociski sa bronia: Missile(x) = Weapon(x) Nieprzyjaciel Ameryki uznawany jest za wrogi : Enemy(x, America) = Hostile(x) West, który jest Amerykaninem... American(West) Państwo Nono, nieprzyjaciel Ameryki... Enemy(Nono, America)

Rezolucja Metodę rezolucji stosuje się dla formuł w postaci klauzulowej. Klauzula formuła postaci l 1... l n (n 0) gdzie l 1,...,l n sa literałami. Jeśli n = 0, to klauzulę nazywamy klauzula pusta i oznaczamy symbolem. Postać klauzulowa: x 1 C 1... x m C m (m 1) gdzie C 1,...,C n sa klauzulami, natomiast x i jest lista wszystkich zmiennych występujacych w C i.

Rezolucja rezolwenta binarna Niech C 1 i C 2 będa klauzulami bez wspólnych zmiennych. Niech l 1,...,l n C 1 (n > 0) i l 1,...,l k C 2 (k > 0). Załóżmy, że wszystkie literały l 1,...,l n sa dodatnie i wszystkie literały l 1,...,l k s a ujemne lub odwrotnie. Jeśli θ jest najogólniejszym unifikatorem zbioru { l 1,..., l n, l 1,..., l k }, to klauzulę (C 1 θ {l 1 θ,...,l n θ}) (C 2 θ {l 1θ,...,l kθ}) nazywamy binarna rezolwenta klauzul C 1 i C 2. Zauważmy, że n nie musi być równe k. (Jest to bardziej skompaktowany zapis rezolucji uwzględniajacy faktoryzację.)

Rezolucja reguła rezolucji Rezolwenta klauzul C 1 i C 2, oznaczana RES(C 1,C 2 ), nazywamy dowolna binarna rezolwentę wariantu klauzuli C 1 i wariantu klauzuli C 2. Reguła rezolucji nazywamy regułę wnioskowania Na przykład, C 1,C 2 RES(C 1,C 2 ). z unifikacja θ = {x/ken} Rich(x) Unhappy(x), Unhappy(Ken) Rich(Ken)

Rezolucja dowód rezolucyjny Przypomnienie idei: Stosujemy regułę rezolucji KB α sprowadzonej do postaci klauzulowej Dowód rezolucyjny ze zbioru klauzul CL: Ciag klauzul C 1,...,C n taki, że C n = i dla każdego 1 i n, C i CL lub C i jest rezolwenta C j i C k, gdzie j,k < i. Twierdzenie Niech CL będzie zbiorem klauzul nie zawierajacych symbolu =. CL jest niespełnialny gdy istnieje dowód rezolucyjny z CL.

Aksjomaty równości CL zbiór klauzul. EQ(CL) zbiór aksjomatów równości dla CL: x = x x y y = x x y y z x = z x 1 y 1 x n y n P(x 1,...,x n ) P(y 1,...,y n ), dla każdego n-argumentowego (n > 0) symbolu predykatowego P występujacego w CL x 1 y 1 x n y n (F(x 1,...,x n ) = F(y 1,...,y n )), dla każdego n-argumentowego (n > 0) symbolu funkcyjnego F występujacego w CL. Twierdzenie: Niech CL będzie zbiorem klauzul z równościa. CL jest niespełnialny istnieje dowód rezolucyjny z CL EQ(CL).

Rezolucja liniowa Liniowym dowodem rezolucyjnym ze zbioru klauzul CL nazywamy dowód postaci C 0 C 1 C 2 C n 1 C n B 0 B 1 B n 1 gdzie: 1 C 0 CL 2 Dla 0 i < n, B i CL lub B i = C j, dla pewnego j < i 3 Dla 1 i n, C i jest rezolwenta C i 1 i B i 1. 4 C n =.

Twierdzenie Niech CL będzie zbiorem klauzul nie zawierajacych symbolu =. CL jest niespełnialny istnieje liniowy dowód rezolucyjny z CL. Twierdzenie Niech CL będzie zbiorem klauzul z równościa. CL jest niespełnialny istnieje liniowy dowód rezolucyjny ze zbioru CL EQ(CL). Klauzulę C 0 w liniowym dowodzie rezolucyjnym nazywamy klauzula główna. Twierdzenie Niech CL będzie niespełnialnym zbiorem klauzul i niech CL CL. Jeśli zbiór CL CL jest spełnialny, to istnieje liniowy dowód rezolucyjny z CL (ewentualnie z CL EQ(CL)) z klauzula główna C CL.

Rezolucja: przekształcanie do postaci klauzulowej Twierdzenie Istnieje algorytm, który dla dowolnej formuły A znajduje formułę B taka, że: (1) B jest w postaci klauzulowej. (2) A jest spełnialna gdy B jest spełnialna. (A i B nie musza być równoważne.)

Rezolucja: przekształcanie do postaci klauzulowej Każdy, kto kocha wszystkie zwierzęta, jest kochany przez kogoś: x [ y Animal(y) = Loves(x,y)] = [ y Loves(y,x)] 1. Eliminacja równoważności i implikacji x [ y Animal(y) Loves(x,y)] [ y Loves(y,x)] 2. Przemieszczenie do środka: x p x p, x p x p: x [ y ( Animal(y) Loves(x,y))] [ y Loves(y,x)] x [ y Animal(y) Loves(x,y)] [ y Loves(y,x)] x [ y Animal(y) Loves(x, y)] [ yloves(y, x)]

Rezolucja: przekształcanie do postaci klauzulowej 3. Przemianowanie zmiennych tak, żeby każdy kwantyfikator miał inna x [ y Animal(y) Loves(x,y)] [ z Loves(z,x)] 4. Skolemizacja usunięcie kwantyfikatorów egzystencjalnych. Każda zmienna kwantyfikowana egzystencjalnie jest zastępowana przez tak zwana funkcję Skolema (więcej na następnym slajdzie). x [Animal(F(x)) Loves(x,F(x))] Loves(G(x),x) 5. Usunięcie kwantyfikatorów uniwersalnych [Animal(F(x)) Loves(x, F(x))] Loves(G(x), x) 6. Rozdzielenie względem [Animal(F(x)) Loves(G(x), x)] [ Loves(x, F(x)) Loves(G(x), x)]

Więcej o skolemizacji Powtarzamy poniższy proces, aż wszystkie kwantyfikatory zostana usunięte Bierzemy dowolna podformułę postaci y B(y). Niech x 1,...,x n (n 0) będzie lista wszystkich zmiennych wolnych występujacych w y B(y), które sa uniwersalnie kwantyfikowane w pewnej nadformule formuły y B(y). Jeśli n = 0, zastępujemy y B(y) przez B(A), gdzie A jest nowa stała indywiduowa. Jeśli n > 0, zastępujemy y B(y) przez B(F(x 1,...,x n )), gdzie F jest nowym symbolem funkcji n-argumentowej. Uwaga: Skolemizacja nie zachowuje równoważności. (Ale zachowuje spełnialność.)

Przykład American(West) Weapon(y) Sells(x,y,z) Hostile(z) Criminal(x) Criminal(West) American(West) Missile(x) Weapon(x) Missile(M1) American(West) Weapon(y) Sells(West,y,z) Hostile(z) Weapon(y) Sells(West,y,z) Hostile(z) Missile(y) Sells(West,y,z) Hostile(z) Missile(x) Owns(Nono,x) Sells(West,x,Nono) Missile(M1) Owns(Nono,M1) Enemy(x,America) Hostile(x) Sells(West,M1,z) Hostile(z) Missile(M1) Owns(Nono,M1) Hostile(Nono) Owns(Nono,M1) Hostile(Nono) Hostile(Nono) Enemy(Nono,America) Enemy(Nono,America)

Dziękuję za uwagę!