240 likes | 474 Views
Systemy Sztucznej Inteligencji. Wykład 6 Logika pierwszego rzędu. Logika pierwszego rzędu. First order logic Reprezentacja świata przy pomocy: obiektów – ludzie, domy, liczby, kolory, ... własności – czerwony, okrągły, pierwszy,
E N D
Systemy Sztucznej Inteligencji Wykład 6 Logika pierwszego rzędu
Logika pierwszego rzędu • First order logic • Reprezentacja świata przy pomocy: • obiektów – ludzie, domy, liczby, kolory, ... • własności – czerwony, okrągły, pierwszy, • relacji – brat, większy niż, część, wewnątrz, jest koloru, posiada • funkcji – ojciec, przyjaciel, plus, o jeden większy niż SSI - dr inż. P. Górecki
Przykłady • „jeden plus dwa równa się trzy” • obiekty: jeden, dwa, trzy, jeden plus dwa • relacja: równa się • funkcja: plus • „pola graniczące z Wumpusem śmierdzą” • obiekty: pole, Wumpus • własność: śmierdzi • relacja: graniczące • „zły król Popiel rządził Polanami” • obiekty: Popiel, Polanie • własności: zły, król • relacja: rządził SSI - dr inż. P. Górecki
Przykładowy model SSI - dr inż. P. Górecki
Składnia i semantyka • stałe (obiekty) i zmienne: A, B, C, Jan, x, y, z • symbol relacyjny (predykat) – określa binarną relację miedzy obiektami, może mieć 0 lub więcej argumentów, np. Brat(Jerzy,Ryszard) • symbol funkcyjny – określa odwzorowanie obiektu na inny obiekt, może mieć 0 lub więcej argumentów, np. Sinus(X) • term – wyrażenie składające się z symboli i ich argumentów, np. Ojciec(Jan) • zdanie proste – wyrażenie składające się z predykatów i ich argumentów, np. Brat(Ryszard, Jan), Małżeństwo(Ociec(Adam), Matka(Ewa)) SSI - dr inż. P. Górecki
Kwantyfikatory • zdanie złożone – zdania proste połączone łącznikami logicznymi • Brat(Adam, Bartek) Brat(Bartek, Adam) • ~ Brat(Adam, Bartek) • kwantyfikator • „wszystkie koty to ssaki”: x kot(x)ssak(x) • powyższe zdanie jest prawdziwe jeżeli jest prawdziwe dla każdej stałej: kot(Mruczek) ssak(Mruczek) kot(Garfield) ssak(Garfield) kot(Adam) ssak(Adam) ...... SSI - dr inż. P. Górecki
Kwantyfikatory • kwantyfikator • „Mruczek ma siostrę która jest kotem”: x Siostra(Mruczek,x) Kot(x) • powyższe zdanie jest prawdziwe jeżeli jest prawdziwe dla każdej stałej: (Siostra(Mruczek,Mruczek) Kot(Mruczek)) (Siostra(Mruczek,Garfield) Kot(Garfield)) (Siostra(Mruczek,Adam) Kot(Adam)) ..... • czy zapis xSiostra(Mruczek,x) Kot(x) byłby poprawny? SSI - dr inż. P. Górecki
Własności kwantyfikatorów • Prawo De Morgana dla kwantyfikatorów • x yjest równoważneyx • x yjest równoważneyx • x ynie jest równoważneyx • x yKocha(x,y) • “Istnieje osoba która kocha wszystkich na świecie” • yx Kocha(x,y) • “Każdego na świecie kocha co najmniej jedna osoba” SSI - dr inż. P. Górecki
Symbol równości • Symbol równości pozwala sprawdzić czy 2 termy odnoszą się do tego samego obiektu • „Mruczek ma dwie siostry”x,y Siostra(Mruczek,x) Siostra(Mruczek,y) ~(x=y) SSI - dr inż. P. Górecki
Jak korzystać z LPR? • POWIEDZ • POWIEDZ(BW, Król(Jerzy)) • POWIEDZ(BW, x Król(x) Osoba(x)) • SPYTAJ • SPYTAJ(BW, Król(Jerzy)) (p/f) • SPYTAJ(BW, xOsoba(x)) • zbiór par zmienna/obiekt: {x/Jerzy} SSI - dr inż. P. Górecki
Przykład: pokrewieństwo • Matka jest rodzicem płci żeńskiej m,dMatka(d) = m (Kobieta(m) Rodzic(m,d)) • “Rodzeństwo” jest symetryczne x,yRodzeństwo(x,y) Rodzeństwo(y,x) • Mężczyzna i Kobieta to rozłączne kategoriex Mężczyzna(x)~Kobieta(x) • Rodzic i dziecko to relacja odwrotna r,d Rodzic(r,d) Dziecko(d,r) • Relacja Dziadek d,w Dziadek(d,w) r Rodzic(d,r) Rodzic(r,w) SSI - dr inż. P. Górecki
Przykład: liczby naturalne • Czego potrzebujemy: • predykat LN – prawdziwy dla wszystkich liczb naturalnych • funkcja N – zwraca następnika • stała 0 • Definicja rekurencyjna: • LN(0) • x LN(x) LN(N(x)) • Liczby naturalne: 0, N(0), N(N(0)), ... SSI - dr inż. P. Górecki
Przykład: dodawanie liczb naturalnych • Aksjomaty ograniczające funkcję N • x 0 ≠ N(x) • x,y x≠y N(x)≠N(y) • Zdefiniujmy dodawanie • x LN(x) +(0,x)=x • x,y LN(x) LN(y)+(N(x),y) = N(+(x,y)) SSI - dr inż. P. Górecki
Przykład: Świat Wumpusa • Obserwacje to predykaty w BW: • Obserwacja([Smród,Bryza,Złoto,Nic,Nic],5) • Akcje: Obrót(Prawo), Obrót(Lewo), Naprzód, W_tył, Strzel, Podnieś • Zapytanie o najlepsze ruch:SPYTAJ(BW, xNajlepszyRuch(x,5)) • Fakty na podstawie obserwacji: • s,z,u,w,tObserwacja([s,Bryza,z,u,w],t) Bryza(t) • s,b,u,w,tObserwacja([s,b,Złoto,z,u,w],t) Złoto(t) • Prosty agent reagujący • t Złoto(t) NajlepszyRuch(Podnieś,t) SSI - dr inż. P. Górecki
Dlaczego prosty agent reagujący się nie sprawdzi • Agent powinien wyjść z jaskini jeżeli zbierze złoto lub dalsza eksploracja jest zbyt niebezpieczna • Prosty agent reagujący • t Złoto(t) NajlepszyRuch(Podnieś,t) • Ograniczenia • posiadanie złota nie należy do obserwacji • znajdowanie się w [1,1] nie jest obserwacją • nieskończone pętle
Przykład: Świat Wumpusa • Własności pól • p,tJestAgent(p,t) Smród(t) Śmierdzace(p) • p,tJestAgent(p,t) Bryza(t) Wietrzne(p) • Reguła diagnostyczna (od efektu do przyczyny) • p Wietrzne(p) x Dół(x) Graniczy(p,x) • p ~Wietrzne(p) ~x Dół(x) Graniczy(p,x) • p Wietrzne(p) x Dół(x) Graniczy(p,x) • Reguła zwyczajna (od przyczyny do efektu) • p,x Wietrzne(p) Graniczy(p,x) Dół(x) SSI - dr inż. P. Górecki
Inżynieria wiedzy • Inżynier wiedzy tworzy formalną reprezentację problemu (dziedziny) w postaci obiektów i relacji • Inżynieria wiedzy jest procesem • Identyfikacja zadań stawianych przed BW • Pozyskanie wiedzy o problemie • Wybór słownictwa dla predykatów, funkcji i stałych • Zakodowanie wiedzy o problemie w postaci aksjomatów • Zakodowanie opisu konkretnego problemów • Zadawanie pytań i otrzymywanie odpowiedzi • Debugowanie bazy wiedzy SSI - dr inż. P. Górecki
Przykład: obwody cyfrowe • Identyfikacja zadań • Czy dany obwód pracuje w sposób prawidłowy? • Jaki sygnał pojawi się na wyjściu jeżeli na wejściu podamy .... • Czy obwód zawiera pętle sprzężenia zwrotnego? SSI - dr inż. P. Górecki
Przykład: obwody cyfrowe • Pozyskanie wiedzy o problemie • OC składa się z przewodów i bramek logicznych • Sygnał poprzez przewody dociera do wejść bramki, która wytwarza sygnał na wyjściu • 4 typy bramek: AND, OR, XOR (2 wejścia), NOT (1 wejście) • Obwód, podobnie jak bramka, ma końcówki (wejścia i wyjścia) SSI - dr inż. P. Górecki
Przykład: obwody cyfrowe • Wybór słownictwa • bramki są stałymi: X1, X2, X3, .... • zachowanie bramki: Typ(X1)=XOR, Typ(X1,XOR)? XOR(X1)? • wejścia/wyjścia bramek: We(1,X1), We(2,X1), Wy(1,X1) • przewody: Połączony(Wy(1,X1),We(1,X2)) • Sygnał na końcówce: funkcja Sygnał SSI - dr inż. P. Górecki
Przykład: obwody cyfrowe • Zakodowanie wiedzy o problemie • 2 połączone końcówki mają ten sam sygnał k1,k2 Połączony(k1,k2) Sygnał(k1)=Sygnał(k2) • Sygnał na końcówce ma wartość albo 0 albo 1 k Sygnał(k)=1 v Sygnał(k)=00≠1 • Połączony jest predykatem przemiennym k1,k2 Połączony(k1,k2) Połączony(k2,k1) SSI - dr inż. P. Górecki
Przykład: obwody cyfrowe • Bramka OR podaje na wyjściu 1 witw gdy na wejściu jest choć jedna 1 b Typ(b)=OR Sygnał(Wy(1,b)=1 xSygnał(We(x,b)=1) • Pozostałe bramki (AND,XOR,NOT) SSI - dr inż. P. Górecki
Przykład: obwody cyfrowe • Zakodowanie opisu konkretnego problemu • Typ(X1)=XOR, Typ(X2)=XOR, Typ(A1)=AND, Typ(A2)=AND, Typ(O1)=OR • Połączony(We(1,C1),We(1,X1))Połączony(We(1,C1),We(1,A1))...Połączony(Wy(1,X1),We(1,X2))...Połączony(Wy(1,O1),Wy(2,C1)) SSI - dr inż. P. Górecki
Przykład: obwody cyfrowe • Zadawanie pytań:Jakie sygnały wejściowe spowodują pojawienie się 1 na drugim wyjściu C1?i1,i2,i3 Sygnał(We(1,C1))=i1 Sygnał(We(2,C1))=i2 Sygnał(We(3,C1))=i3 Sygnał(Wy(2,C1))=1 • {i1/1,i2/1,i3/0} {i1/1,i2/0,i3/1} ... SSI - dr inż. P. Górecki