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ż relacje sa binarne funkcje zwracaja rozne wartosc 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 model w rachunku zdań: interpretacje zdań przy pomocy konkretnych wartości model w logice 1go rzędu posiada obiekty (elipsy) dziedzina modelu – wszystkie jego obiekty krotki obiektów: - jedno (person) - własności - dwuargumentowe - relacje 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 x Siostra(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 y jest równoważne y x x y jest równoważne y x x y nie jest równoważne y x x y Kocha(x,y) “Istnieje osoba która kocha wszystkich na świecie” y x 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 SPYTAJ POWIEDZ(BW, Król(Jerzy)) POWIEDZ(BW, x Król(x) Osoba(x)) SPYTAJ SPYTAJ(BW, Król(Jerzy)) (p/f) SPYTAJ(BW, x Osoba(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,d Matka(d) = m (Kobieta(m) Rodzic(m,d)) “Rodzeństwo” jest symetryczne x,y Rodzeństwo(x,y) Rodzeństwo(y,x) Mężczyzna i Kobieta to rozłączne kategorie x 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) wszystkie te zdania są również aksjomatami: z prostych predykatów mamy bardziej złożone predykaty (analogia: funkcje składające się z innych funkcji w j.prog.) aksjomatami mogą być również fakty: Mężczyzna(Tomek), 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)) dodawanie zdefiniowanie w notacji prefiksowej notacja infiksowa: x LN(x) 0+x=x można dodatkowo zdefiniować: N(x) = x+1 i otrzymamy x,y LN(x) LN(y) (x+1)+y = (x+y)+1 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, x NajlepszyRuch(x,5)) Fakty na podstawie obserwacji: s,z,u,w,t Obserwacja([s,Bryza,z,u,w],t) Bryza(t) s,b,u,w,t Obserwacja([s,b,Złoto,z,u,w],t) Złoto(t) Prosty agent reagujący t Złoto(t) NajlepszyRuch(Podnieś,t) Reprezentacja akcji i obserwacji obserwacja: wektor 5elemetowy 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,t JestAgent(p,t) Smród(t) Śmierdzace(p) p,t JestAgent(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) wiedzac jakie pola sa wietrzne mozna wydedukowac gdzie sa doly: na dwa sposoby: dregulami diagnostycznymi i zwyczajnymi Jezeli aksjomaty opisuja swiat w sposob zupelny i poprawny to procedura wnioskowania dostarczy najpelniejszego obrazu otoczenia npdst obserwacji. Całe zadanie sprowadza się do poprawnego określenia wiedzy. 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 (obserwacji, akcji, otoczenia). Określenie na jakiego typu pytania będzie odpowiadać BW wiedza o mechanizmach, sposobie dzialania, itp., na tym etapie wiedza nie jest sformalizowana (wiedza=reguły świata wumpusa) przełożenie informacji o problemie na język logiki.. nazewnictwo nosi nazwę ontologii problemu to moze wymagac uzupelnienia slownictwa 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ł niebieskie: ok, ale trzeba by określić dodatkowy aksjom, mówiący o tym że bramka może być tylko jednego typu. Semantyka funkcji zapewnia taką jednoznaczność. połączenia jako predykaty 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)=0 0≠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) praca domowa 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