1 - MEiL - Politechnika Warszawska
Transkrypt
1 - MEiL - Politechnika Warszawska
POLITECHNIKA WARSZAWSKA
WYDZIAŁ MECHANICZNY ENERGETYKI I LOTNICTWA
MEL
WPROWADZENIE
DO SZTUCZNEJ INTELIGENCJI
NS 586
Dr inż. Franciszek Dul
© F.A. Dul 2013
8. LOGIKA PIERWSZEGO
RZĘDU
© F.A. Dul 2013
Logika pierwszego rzędu
Pokażemy że świat w którym działają
agenci logiczni jest bardzo bogaty
– są w nim obiekty, relacje i zdarzenia.
Obiekty łączą różne relacje które agent
powinien umieć odnaleźć i wykorzystać
do realizacji swoich celów.
© F.A. Dul 2013
Niedostatki logiki rachunku zdań...
Agent logiczny jest zdecydowanie „inteligentniejszy”
od agenta celowego – bezmyślnie poszukującego
właściwego rozwiązania.
Agent logiczny posiada wiedzę i może wnioskować
o nieznanych (nieobserwowalnych) własnościach
świata.
Jednak logika której używał do opisu rzeczywistości
jest zbyt mało ekspresyjna – reprezentacja nawet
prostych faktów wymaga często bardzo wielu zdań
logicznych.
Zdecydowaną poprawę ekspresyjności można
uzyskać stosując zamiast rachunku zdań logikę
pierwszego rzędu.
© F.A. Dul 2013
8.1. Reprezentacja świata
Rachunek zdań - zalety i wady
Zalety rachunku zdań
• jest deklaratywny – syntaktyka opisuje fakty.
• dopuszcza informację, która jest niepełna, alternatywna
lub zanegowana.
• jest składalny (compositional)
np. znaczenie B1,1 ∧ P1,2 wynika ze znaczenia B1,1 i P1,2
• znaczenie zdań nie zależy od kontekstu
w przeciwieństwie do języka naturalnego, w którym znaczenie
zdań zależy od kontekstu.
Wada rachunku zdań
• bardzo ograniczoną ekspresyjność
(w przeciwieństwie do języka naturalnego)
Np. nie można po prostu stwierdzić „dół powoduje wiatr w polach
przyległych” - trzeba sformułować takie zdanie dla każdego pola.
© F.A. Dul 2013
8.1. Reprezentacja świata
Logiki – ich ontologie i epistemologie
Założenia ontologiczne - co istnieje w świecie
• w rachunku zdań: fakty - zachodzą lub nie.
• w logice pierwszego rzędu: obiekty i relacje pomiędzy
nimi które zachodzą lub nie.
Założenia epistemologiczne - jak ocenia się fakty.
Język
Rachunek zdań
Założenia
ontologiczne
Fakty
Logika pierwszego rzędu Fakty, obiekty,
relacje
Logika temporalna
Fakty, obiekty,
relacje, czas
Teoria
Fakty
prawdopodobieństwa
Logika rozmyta
Fakty ze stopniem
prawdziwości ∈ [0,1]
Założenia
epistemologiczne
Prawda / fałsz / nieokreślone
Prawda / fałsz / nieokreślone
Prawda / fałsz / nieokreślone
Stopień ufności ∈ [0,1]
Znane przedziały wartości
© F.A. Dul 2013
8.2. Logika pierwszego rzędu
Rachunek zdań zakłada, że świat opisany jest tylko za
pomocą faktów:
• Wumpus jest w polu (3,1), nie ma dołu w polu (2,2),
• 2 + 2 = 4, ...
Ontologia rachunku zdań jest ograniczona do faktów.
Logika pierwszego rzędu – First-Order Logic (FOL) –
zakłada (podobnie jak język naturalny), że świat składa się z:
• obiektów: ludzi, domów, liczb, kolorów, zawodów,
meczów, podróży,...
• relacji:
czerwony, okrągły, pierwszy, czyjś brat,
większy niż, część czegoś, pomiędzy,...
ojciec kogoś, najlepszy przyjaciel, dodać,
• funkcji:
o jeden więcej niż, ...
© F.A. Dul 2013
8.2. Logika pierwszego rzędu
Przykład modelu w logice pierwszego rzędu
Królowie Ryszard Lwie Serce i Jan bez Ziemi (Anglia, XIII w.).
Obiekty
Relacje
Funkcje
osoba
korona
brat
na głowie
brat
osoba
król
lewa
noga
lewa
noga
© F.A. Dul 2013
8.2. Logika pierwszego rzędu
Syntaktyka logiki pierwszego rzędu
Podstawowe elementy syntaktyczne logiki pierwszego rzędu
• Stałe
KrólJan, 2, MEiL,...
• Predykaty
Brat, >, <, ...
• Funkcje
Sqrt, LewaNoga, ...
• Zmienne
x, y, a, b,...
• Operatory logiczne
¬, ⇒, ∧, ∨,⇔
• Równość
=
• Kwantyfikatory
∀, ∃
Predykaty i funkcje:
•
•
•
•
Predykat jest inną nazwą funkcji zdaniowej.
Predykaty mogą mieć jeden, dwa lub większą liczbę argumentów.
Predykat można uważać za szczególny rodzaj funkcji, która zwraca
wartość logiczną: prawdę lub fałsz.
Funkcje mogą zwracać obiekty różnych typów.
© F.A. Dul 2013
8.2. Logika pierwszego rzędu
Zdania proste i złożone w logice pierwszego rzędu
Zdanie proste zbudowane jest z symboli predykatów i opisuje
fakt dotyczący obiektów i relacji między nimi.
„Jan jest królem.”
„Król Jan jest bratem Ryszarda.”
Król(Jan)
Brat( KrólJan , Ryszard )
„Ojciec Ryszarda i matka króla Jana są małżeństwem.”
Małżeństwo( Ojciec(Ryszard) , Matka( KrólJan ) )
Zdania złożone zbudowane są ze zdań prostych za pomocą
operatorów logicznych,
„Jeżeli król Jan jest bratem Ryszarda to są rodzeństwem.”
Brat( KrólJan , Ryszard ) ⇒ Rodzeństwo( Ryszard , KrólJan )
„a jest większe niż b lub a jest mniejsze niż b.”
>(a,b) ∨ <(a,b)
Konkretyzacja (instantiations) P(C) zdania P(x) polega
na zastąpieniu zmiennej x dowolną stałą C, np.
Brat(x,Ryszard) → x/KrólJan → Brat( KrólJan , Ryszard )
© F.A. Dul 2013
8.2. Logika pierwszego rzędu
Zdania proste i złożone w logice pierwszego rzędu
UWAGA! W logice pierwszego rzędu można niestety zbudować
zdania niepoprawne syntaktycznie lub semantycznie
Predykat LeżyW(x,y) , x = Miasto , y = Państwo
Sformułować w logice pierwszego rzędu zdanie
„Warszawa i Kraków leżą w Polsce.”
Propozycje:
1) LeżyW( Warszwa ∧ Kraków , Polska)
2) LeżyW( Warszwa , Polska) ∨ LeżyW( Kraków , Polska)
3) LeżyW( Warszwa , Polska) ∧ LeżyW( Kraków , Polska)
Które zdania są poprawne?
Odpowiedź:
Zdanie 1. - niepoprawne syntaktycznie.
Zdanie 2. - niepoprawne semantycznie.
Zdanie 3. - poprawne.
© F.A. Dul 2013
8.2. Logika pierwszego rzędu
Prawdziwość zdań w logice pierwszego rzędu
Prawdziwość zdań w logice pierwszego rzędu rozpatruje się
względem modelu oraz interpretacji.
Modele zawierają obiekty (elementy z dziedziny) oraz relacje
zachodzące między nimi.
Interpretacje określają odniesienia pomiędzy:
symbolami stałych
a obiektami
symbolami predykatów a relacjami pomiędzy obiektami
symbolami funkcji
a zależnościami funkcyjnymi
Przykład
KrólJan → Król Jan (konkretna osoba fizyczna)
Prawdziwość zdań FOL
Zdanie proste predykat(term1,...,termn) jest prawdziwe
wtedy i tylko wtedy gdy obiekty term1,...,termn spełniają
relację predykat.
© F.A. Dul 2013
8.2. Logika pierwszego rzędu
Kwantyfikatory w logice pierwszego rzędu
Kwantyfikator ogólny ∀ („dla wszystkich”)
Zdanie ∀x P(x) jest prawdziwe dla modelu m wtedy i tylko
wtedy gdy P jest prawdziwe dla każdego x będącego
obiektem modelu.
Przykład: “Wszyscy na MELu są sympatyczni”
∀x Na(x,MEL) ⇒ Sympatyczny(x)
Kwantyfikator szczegółowy ∃ („istnieje”)
Zdanie ∃x P(x) jest prawdziwe dla modelu m wtedy i tylko
wtedy gdy P jest prawdziwe dla pewnego x będącego
obiektem modelu.
Przykład: “Ktoś na MEL-u jest sympatyczny”
∃ x Na(x,MEL) ∧ Sympatyczny(x)
Użycie kwantyfikatorów eliminuje konieczność wyliczania
obiektów poprzez podanie ich nazw.
© F.A. Dul 2013
8.2. Logika pierwszego rzędu
Własności kwantyfikatorów
• ∀x ∀y ≡ ∀x,y
• ∃x ∃y ≡ ∃ x, y
• ∀x ∀y ≡ ∀y ∀x
• ∃x ∃y ≡ ∃y ∃x
• ∃x ∀y nie jest równoważne ∀y ∃x:
“Everybody loves somebody”
∀y ∃x Loves(x,y)
“Każdy (y) jest kochany przez kogoś (x)”
∃x ∀y Loves(x,y)
“Ktoś (x) kto kocha każdego (y)”
• Dualizm kwantyfikatorów:
jeden może być wyrażony za pomocą drugiego, np.
∀x Lubi( x , Lody )
∃x Lubi( x , Mozart )
¬∃x ¬Lubi( x , Lody )
¬∀x ¬Lubi( x , Mozart )
• Prawa De Morgana dla kwantyfikatorów:
¬∀x P(x) ≡ ∃x ¬P(x)
∀x ¬P(x) ≡ ¬∃x P(x)
∀x P(x) ≡ ¬∃x ¬P(x)
∃x P(x) ≡ ¬∀x P(x)
© F.A. Dul 2013
8.2. Logika pierwszego rzędu
Równość logiczna
term1 = term2
Równość jest prawdą w danej interpretacji wtedy i tylko
wtedy gdy term1 i term2 odnoszą się do tego samego obiektu.
Przykład: Określenie osoby będącej ojcem Jana
Ojciec( Jan ) = Henryk
Podstawienie logiczne
α = { zmienna / obiekt , ... }
Podstawienie (substitution) służy do otrzymywania ze zdań
ogólnych zdań dotyczących konkretnych obiektów.
Sα - wynik podstawienia α do zdania S.
Przykład
S = Sprytniejszy(x,y)
α = { x/Ewa , y/Adam }
Sα = Sprytniejszy( Ewa , Adam )
© F.A. Dul 2013
8.2. Logika pierwszego rzędu
Logika pierwszego rzędu ma następujące cechy:
• Może wyrażać fakty dotyczące dowolnych obiektów
w świecie.
• Pozwala reprezentować ogólne zasady rządzące
światem.
• Nie można w niej dowieść fałszywego twierdzenia
(poprawność, soundness).
• Wszystkie prawdziwe twierdzenia mają dowód
(zupelność, completeness)
• Nie pozwala jednak reprezentować kategorii, czasu
lub zdarzeń.
© F.A. Dul 2013
8.3. Zastosowanie logiki pierwszego rzędu
Matematyka
Definicja rekurencyjna liczb naturalnych w języku logiki
pierwszego rzędu.
• Funkcja następnika S
S(0) = 1, S(S(0)) = 2, ...
• Aksjomaty Peano
NatNum(0)
∀n NatNum(n) ⇒ NatNum( S(n) )
• Aksjomaty następnika
∀n 0 ≠ S(n)
∀m, n m ≠ n ⇒ S(m) ≠ S(n)
• Definicja dodawania za pomocą następnika
∀m NatNum(m) ⇒ +(0,m) = m
∀m, n NatNum(m) ∧ NatNum(n) ⇒ +(S(m),n) = S(+(m,n))
• Notacja wewnętrzna - „cukier syntaktyczny”; S(n) = n+1
∀m, n NatNum(m) ∧ NatNum(n) ⇒ (m+1)+n = (m+n)+1
© F.A. Dul 2013
8.3. Zastosowanie logiki pierwszego rzędu
Socjologia
Wyrażenie relacji pokrewieństwa w języku logiki pierwszego
rzędu.
• Bracia są rodzeństwem
∀x,y Brat(x,y) ⇔ Rodzeństwo(x,y)
• Czyjaś matka jest czyjąś żeńską rodzicielką
∀m,c Matka(c) = m ⇔ (Żeński(m) ∧ Rodzic(m,c))
• “Rodzeństwo” jest relacją symetryczną
∀x,y Rodzeństwo(x,y) ⇔ Rodzeństwo(y,x)
• Kuzyn jest dzieckiem rodzeństwa rodzica
∀x,y Kuzyn(x,y) ⇔
∃p,q Rodzic(p,x) ∧ Rodzeństwo(q,p) ∧ Rodzic(q,y)
• itd.
© F.A. Dul 2013
8.3. Zastosowanie logiki pierwszego rzędu
Logika pierwszego rzędu w bazach wiedzy
Baza wiedzy zapisanej w logice pierwszego rzędu - operacje
komunikacji TELL i ASK.
Baza wiedzy FOL zawiera asercje (stwierdzenia prawdy):
TELL( KB , Król(Jan) )
TELL( KB , Osoba(Ryszard) )
TELL( KB , ∀x Król(x) ⇒ Osoba(x) )
Pytania (tzw. kwerendy) do bazy wiedzy FOL:
ASK( KB , Król(Jan) ) → (KB odpowiada) → True
ASK( KB , Osoba(Jan) ) → True
Zapytanie kwantyfikowane → odpowiedź ogólna (trywialna)
ASK( KB , ∃x Osoba(x) ) → True
Odpowiedź na zapytanie kwantyfikowane w postaci
podstawienia lub listy podstawień
ASK( KB , ∃x Osoba(x) ) → {x/Jan} , {x/Ryszard}.
© F.A. Dul 2013
8.3. Zastosowanie logiki pierwszego rzędu
Baza wiedzy FOL dla świata Wumpusa
Reprezentacja obserwacji i działań w języku FOL.
Wiedza w bazie KB świata Wumpusa musi obejmować
obserwacje oraz czasy w których zostały wykonane.
• Typowa obserwacja, np. w chwili t = 5:
Obserwacja( [Odór,Wiatr,Blask,Nic,Nic] , 5 )
• Zapis działań agenta w języku FOL:
Skręć(WPrawo), Skręć(WLewo), WPrzód,
Strzał, Chwyć, Puść, WspinajSię
• Aby poznać najlepsze działanie agent pyta (ASK) bazę KB :
∃ a NajlepszeDziałanie(a,5)
• KB wyznacza odpowiedź, może to być podstawienie, np.
ASK( KB , ∃a NajlepszeDziałanie(a,5) ) → {a/Chwyć}
• Jednocześnie baza jest informowana za pomocą TELL
o podjętym działaniu,
TELL( KB , NajlepszeDziałanie( {a/Chwyć}, 5 ))
© F.A. Dul 2013
8.3. Zastosowanie logiki pierwszego rzędu
Baza wiedzy FOL dla świata Wumpusa
• Agent czyni obserwacje, np.:
∀t,s,g,m,c Obserwacja( [s,Wiatr,g,m,c],t ) ⇒ Wietrzne(t)
∀t,s,b,m,c Obserwacja( [s,b,Blask,m,c],t ) ⇒ Błyszczy(t)
Jest to rodzaj wnioskowania zwany percepcją.
• Działania agenta refleksowego mogą być opisane
zdaniami kwantyfikowanymi, np.
∀t Błyszczy(t) ⇒ NajlepszeDziałanie( Chwyć , t )
• Agent może mieć i uwzględniać stan wewnętrzny:
∀t Błyszczy(t) ∧ ¬Trzyma(Agent,Złoto,t)
⇒ NajlepszeDziałanie( Chwyć,t )
Wszystkie zdania w bazie Wumpusa są synchroniczne - nie
obejmują historii obserwacji i działań.
© F.A. Dul 2013
8.3. Zastosowanie logiki pierwszego rzędu
Baza wiedzy FOL dla świata Wumpusa
Reprezentacja środowiska i obiektów w języku FOL.
• Nazwy obiektów w języku FOL:
Agent, Wumpus, Dół, Pole[i,j]
• Sąsiedztwo pól można zdefiniować następująco:
∀x,y,a,b Sąsiednie( [x,y] , [a,b] )
⇔ [a,b]∈{ [x-1,y], [x+1,y], [x,y-1], [x,y+1] }
• Pole w którym jest Wumpus można zdefiniować funkcją
Dom(Wumpus)
• Opis położenia agenta w funkcji czasu,
JestWPolu( Agent, s, t )
• Agent może wnioskować o własnościach pola w którym
przebywa, np.
∀s,t JestWPolu( Agent, s, t ) ∧ Wiatr(t) ⇒ Wietrzne(s)
Mając informację o własnościach środowiska agent może
wnioskować o położeniu dołów i Wumpusa.
© F.A. Dul 2013
8.3. Zastosowanie logiki pierwszego rzędu
Odkrywanie ukrytych własności środowiska
Można to zrobić dedukcyjnie poprzez:
• Wnioskowanie diagnostyczne — wnioskowanie o ukrytych
przyczynach na podstawie poczynionych obserwacji, np.
∀s Wietrzne(s) ⇒ ∃ r Sąsiednie(r,s) ∧ Dół(r)
prowadzi do wniosku, że w pewnym polu sąsiednim
jest dół
Wnioskowanie diagnostyczne (powszechne np. w medycynie)
stosowane jest gdy nie istnieje adekwatny model świata.
• Wnioskowanie przyczynowe — wnioskowanie na podstawie
znanego modelu świata.
Ukryte przyczyny powodują obserwowane efekty, np.
∀r Dół(r) ⇒ [ ∀s Sąsiednie(r,s) ⇒ Wietrzne(s) ]
Wnioskowanie przyczynowe stosowane jest wtedy, gdy
istnieje adekwatny model świata.
Wnioskowanie diagnostyczne i przyczynowe prowadzą do
tych samych konkluzji jeżeli model świata jest poprawny.
© F.A. Dul 2013
8.3. Zastosowanie logiki pierwszego rzędu
Odkrywanie ukrytych własności środowiska
Rozróżnienie pomiędzy wnioskowanie przyczynowym
i diagnostycznym jest istotne w wielu obszarach sztucznej
inteligencji.
Systemy ekspertowe bazują na obu rodzajach wnioskowania,
lecz np. w medycynie przeważa wnioskowanie diagnostyczne.
Wraz z opracowaniem modeli zjawisk wnioskowanie
przyczynowe wypiera wnioskowanie diagnostyczne.
Jeżeli – niezależnie od reprezentacji – aksjomaty opisują
świat oraz obserwacje w sposób poprawny i zupełny,
to każde zupełne wnioskowanie logiczne prowadzi do
najlepszego możliwego opisu stanu świata przy danych
obserwacjach.
Wynika stąd, że projektując systemy wykorzystujące bazy
wiedzy i wnioskowanie, należy skupić się na gromadzeniu
możliwie obszernej i poprawnej wiedzy, a nie na samym
procesie wnioskowania.
© F.A. Dul 2013
8.4. Inżynieria wiedzy w logice pierwszego rzędu
Proces budowania bazy wiedzy nazywany jest inżynierią
wiedzy.
Etapy budowy bazy wiedzy:
• Sformułowanie zadania.
• Zgromadzenie wiedzy istotnej dla zadania.
• Wybór odpowiedniego słownika dla predykatów,
funkcji oraz stałych.
• Zapisanie w języku FOL ogólnej wiedzy na temat
dziedziny.
• Zapisanie w języku FOL specyficznych cech zadania.
• Formułowanie zapytań i odbieranie odpowiedzi.
• Usuwanie błędów z bazy wiedzy.
© F.A. Dul 2013
8.4. Inżynieria wiedzy w logice pierwszego rzędu
Przykład z dziedziny obwodów elektrycznych
Jednobitowy układ sumujący.
Bit 1
Bit 2
Bit sumy
Bit
przeniesienia
Bit
przeniesienia
Układ oblicza sumę logiczną bitów Bit 1 i Bit 2.
Układ jest zbudowany z przewodów i bramek AND, OR, XOR
Należy zbudować bazę wiedzy w języku FOL.
Przykłady pytań do bazy wiedzy:
- Czy układ potrafi poprawnie dodawać?
- Tabela stanów wyjściowych dla wszystkich stanów wejściowych.
- Czy w układzie występują pętle sprzężeń zwrotnych?
© F.A. Dul 2013
8.4. Inżynieria wiedzy w logice pierwszego rzędu
• Sformułowanie zadania
– Zbudować bazę wiedzy
opisującą działanie układu
w logice pierwszego rzędu.
• Zgromadzenie wiedzy
istotnej dla zadania
– Układ jest zbudowany z przewodów i bramek;
Typy bramek: AND, OR, XOR.
– Cechy nieistotne: rozmiar, kształt, kolor, koszt bramek
• Wybór odpowiedniego słownika
– Alternatywne sposoby opisu:
Typ( X1 ) = XOR
Typ( X1, XOR )
XOR( X1 )
© F.A. Dul 2013
8.4. Inżynieria wiedzy w logice pierwszego rzędu
• Zapisanie w języku FOL ogólnej
wiedzy o układzie
Definicje możliwych sygnałów:
∀t Sygnał(t) = 1 ∨ Sygnał(t) = 0
1 ≠ 0 (KB tego nie wie.
Trzeba jej to powiedzieć!)
Definicje „działąnia” połączeń:
∀t1,t2 Połączony(t1, t2) ⇒ Połączony(t2, t1)
∀t1,t2 Połączony(t1, t2) ⇒ Sygnał(t1) = Sygnał(t2)
Definicje działania bramek:
∀g Typ(g)=OR ⇒ Sygnał(Wyj(1,g)) = 1 ⇔ ∃n Sygnał(Wej(n,g)) = 1
∀g Typ(g)=AND ⇒ Sygnał(Wyj(1,g)) = 0 ⇔ ∃n Sygnał(Wej(n,g)) = 0
∀g Typ(g)=XOR ⇒ Sygnał(Wej(1,g)) = 1 ⇔
⇔ Sygnał(Wej(1,g)) ≠ Sygnał(Wej(2,g))
∀g Typ(g)=NOT ⇒ Sygnał(Wyj(1,g)) ≠ Sygnał(Wej(1,g))
© F.A. Dul 2013
8.4. Inżynieria wiedzy w logice pierwszego rzędu
• Zapisanie w języku FOL
specyficznych cech zadania
Definicje typów bramek:
Typ(X1) = XOR
Typ(X2) = XOR
Typ(A1) = AND
Typ(A2) = AND
Typ(O1) = OR
Definicje połączeń - topologia układu:
Połączony(Wyj(1,X1), Wej(1,X2))
Połączony(Wyj(1,X1), Wej(2,A2))
Połączony(Wyj(1,A2), Wej(1,O1))
Połączony(Wyj(1,A1), Wej(2,O1))
Połączony(Wyj(1,X2), Wyj(1,C1))
Połączony(Wyj(1,O1), Wyj(2,C1))
Połączony(Wej(1,C1), Wej(1,X1))
Połączony(Wej(1,C1), Wej(1,A1))
Połączony(Wej(2,C1), Wej(2,X1))
Połączony(Wej(2,C1), Wej(2,A1))
Połączony(Wej(3,C1), Wej(2,X2))
Połączony(Wej(3,C1), Wej(1,A2))
© F.A. Dul 2013
8.4. Inżynieria wiedzy w logice pierwszego rzędu
• Formułowanie zapytań
i odbieranie odpowiedzi:
Jakie kombinacje sygnałów
wejściowych dają wartości
wyjściowe o1 = 0, o2 =1?
∃ i1,i2,i3 Sygnał(Wej(1,C1)) = i1 ∧ Sygnał(Wej(2,C1)) = i2 ∧
Sygnał(Wej(3,C1)) = i3 ∧ Sygnał(Wyj(1,C1)) = 0 ∧ Sygnał(Wyj(2,C1)) = 1
Odpowiedź: podstawienia: {i1/1 i2 /1,i3 /0 } , {i1/1 i2 /0,i3 /1 } , {i1/0 i2 /1,i3 /1 }.
Jaki jest zbiór możliwych wartości dla wszystkich końcówek
układu sumującego?
∃ i1,i2,i3,o1,o2 Sygnał(Wej(1,C1)) = i1 ∧ Sygnał(Wej(2,C1)) = i2 ∧
Sygnał(Wej(3,C1)) = i3 ∧ Sygnał(Wyj(1,C1)) = o1 ∧ Sygnał(Wyj(2,C1)) = o2
Odpowiedź: Tabela wartości wejścia-wyjścia
Weryfikacja obwodu: Czy układ potrafi poprawnie dodawać?
• Usunięcie błędów z bazy wiedzy
Np. pominięcie asercji 1 ≠ 0 prowadzi do błędnych odpowiedzi
dotyczących działania układu.
© F.A. Dul 2013
8.5. Ekspresja systemów logicznych
Ekspresja logiki pierwszego rzędu nie jest wystarczająco silna,
aby opisać każde stwierdzenie dotyczące świata.
Przykład
„Mruczek jest kotem”
„Kot to gatunek”
„Mruczek to gatunek” ???!
Taki rodzaj zależności nie może być opisany za pomocą FOL.
Większe możliwości ekspresji mają logiki wyższego rzędu
(Higher-Order Logic, HOL) w których można wypowiadać się
również na temat predykatów a nie tylko zmiennych.
Przykłady:
„Piłka jest czerwona”
„Czerwień to kolor”
„Kolor to atrybut”
- logika pierwszego rzędu,
- logika drugiego rzędu,
- logika trzeciego rzędu.
Logiki wyższego rzędu są jednak trudne w implementacji,
co praktycznie wyklucza ich stosowanie.
© F.A. Dul 2013
Podsumowanie
• Rachunek zdań opisuje tylko fakty; logika pierwszego rzędu
(FOL) opisuje także obiekty i relacje pomiędzy nimi.
• Logika pierwszego rzędu ma dużo większą ekspresywność
niż rachunek zdań.
• Modele FOL zawierają obiekty, relacje i funkcje.
• Składnia logiki pierwszego rzędu obejmuje: stałe, predykaty,
funkcje i kwantyfikatory.
• Stałe oznaczają obiekty, predykaty opisują relacje między
obiektami, funkcje opisują zależności funkcyjne.
• Kwantyfikatory pozwalają budować ogólne zdania złożone.
• Interpretacja odwzorowuje symbole na elementy modelu.
• Budowa bazy wiedzy wymaga analizy zadania, wyboru
słownika oraz sformułowania właściwych aksjomatów.
• Logiki rzędów wyższych mają jeszcze większe możliwości
ekspresji, ale ich implementacja jest dużo bardziej złożona.
© F.A. Dul 2013