Download as pdf or txt
Download as pdf or txt
You are on page 1of 32

POLITECHNIKA WARSZAWSKA MEL

WYDZIAŁ MECHANICZNY ENERGETYKI I LOTNICTWA

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.
Założenia Założenia
Język ontologiczne epistemologiczne
Rachunek zdań Fakty Prawda / fałsz / nieokreślone
Logika pierwszego rzędu Fakty, obiekty, Prawda / fałsz / nieokreślone
relacje
Logika temporalna Fakty, obiekty, Prawda / fałsz / nieokreślone
relacje, czas
Teoria Fakty Stopień ufności ∈ [0,1]
prawdopodobieństwa
Logika rozmyta Fakty ze stopniem Znane przedziały wartości
prawdziwości ∈ [0,1]

© 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,...
• funkcji: ojciec kogoś, najlepszy przyjaciel, dodać,
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
korona
Funkcje

brat na głowie
osoba
osoba
brat król

lewa lewa
noga 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 , Lody )
∃x Lubi( x , Mozart ) ¬∀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(Wej(1,C1), Wej(1,X1))
Połączony(Wyj(1,X1), Wej(2,A2)) Połączony(Wej(1,C1), Wej(1,A1))
Połączony(Wyj(1,A2), Wej(1,O1)) Połączony(Wej(2,C1), Wej(2,X1))
Połączony(Wyj(1,A1), Wej(2,O1)) Połączony(Wej(2,C1), Wej(2,A1))
Połączony(Wyj(1,X2), Wyj(1,C1)) Połączony(Wej(3,C1), Wej(2,X2))
Połączony(Wyj(1,O1), Wyj(2,C1)) 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” - logika pierwszego rzędu,
„Czerwień to kolor” - logika drugiego rzędu,
„Kolor to atrybut” - 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

You might also like