Autor: dr Jacek Jakieła
WYKŁAD... 3 Reprezentacja wiedzy agenta... 3 Konceptualizacja... 3 Formalizacja wiedzy agenta... 4 Alfabet języka... 4 Poprawnie sformułowane formuły języka rachunku predykatów... 5 Formalizacja wiedzy z wykorzystaniem języka rachunku predykatów... 6 ĆWICZENIA... 9 Zadanie 1... 9 Zadanie 2... 10 Zadanie 3... 11 Zadanie 4... 11 Wyższa Szkoła Informatyki i Zarządzania z siedzibą w Rzeszowie 2
WYKŁAD Reprezentacjaa wiedzy agenta W przypadku większości architekturr agentowych wymagane jest, aby projektant przygotował odpowiednią reprezentację świata agenta oraz jego stanów mentalnych. Reprezentacja ta jest później wykorzystywana w procesach interpretacji spostrzeżeń i wyborze akcji, poprzez wykonanie których agent wpływa na stan środowiska. Istnieje kilka konkurujących ze sobąą podejść. Jednym z bardziej popularnych jest paradygmat logiczny, który niejednokrotnie sprawdził się w praktyce, zarówno przy projektowaniu klasycznych systemów z bazą wiedzy (np. systemów eksperckich), jak również przy projektowaniu systemów agentowych. Konceptualizacja Ponieważ paradygmat logiczny pozwalaa zdefiniować reprezentację wiedzy deklaratywnej, formalizacja rozpoczyna od tak zwanej konceptualizacji [Nillso87]. W procesie tym identyfikowane sąą obiekty oraz ich wzajemne relacje. Pojęcie obiektu jest tutaj używane w bardzo szerokim sensie. Rozważmy bardzo prosty świat agenta przedstawiony na rysunku, jedynie z kilku klocków. który składa się Rysunek. Konceptualizacja. W procesie tworzenia reprezentacji świata agenta uwaga projektanta jest najczęściej skupiona na wybranym, istotnym z perspektywyy systemu zbiorze obiektów. Zbiór ten określany jest terminem uniwersum dyskursu. Uniwersum dyskursu dla przedstawionego przykładu składa się z pięciu klocków leżących na stole. Każdy z klocków ma przypisaną odpowiednią nazwę. {a, b, c, d, e} Oprócz samych obiektów istotną kwestią są zależności. Funkcja jest typem związku występującego pomiędzy obiektami w uniwersum dyskursu. Można zdefiniować wiele funkcji dla danego zbioru obiektów. W procesie reprezentacji wiedzy projektantt zwykle skupia się na wybranym zbiorze funkcji i ignoruje pozostałe. Zbiór istotnych dla projektanta funkcji zdefiniowanych dla danej dziedziny problemu to tzw. bazowy zbiór Wyższa Szkoła Informatyki i Zarządzania z siedzibą w Rzeszowie 3
funkcji. W świecie z klocków przykładem funkcji może być funkcja kapelusz, która opisuje związek pomiędzy określonym klockiem i klockiem, który się na nim znajduje. Klocki, które mają kapelusz to b, c i e. Może to być zapisane z wykorzystaniem następującego zbioru par: {<b,a>,<c,b>,<e,d>} Kolejnym typem związku występującym pomiędzy obiektami w uniwersum dyskursu jest relacja. Podobnie jak w przypadku funkcji część relacji jest brana pod uwagę a część jest ignorowana. Zbiór relacji zdefiniowanych w ramach konceptualizacji jest nazywany bazowym zbiorem relacji (Relational Basis Set). W procesie konceptualizacji świata klocków biorącym pod uwagę zależności przestrzenne można zdefiniować kilka istotnych relacji. Na przykład relacja na, która opisuje związek pomiędzy dwoma klockami i zachodzi gdy określony klocek znajduje się na innym klocku. Dla rozważanego przykładu relacja na może być opisana następująco: {<a,b>,<b,c>,<d,e>} Kolejny przykład relacji to nad. Związek tego typu zachodzi pomiędzy dwoma klockami wtedy i tylko wtedy, gdy jeden z nich jest gdzieś ponad drugim. {<a,b>,<b,c>,<a,c>,<d,e>} Relacja bez_kapelusza zachodzi w odniesieniu do określonego klocka wtedy i tylko wtedy, gdy dany klocek nie ma na sobie innego klocka. {a,d} Relacja na_stole zachodzi w odniesieniu do określonego klocka wtedy i tylko wtedy, gdy dany klocek leży bezpośrednio na stole. {c,e} Formalnie konceptualizacja może być opisana jako trójka składająca się z uniwersum dyskursu, bazowego zbioru funkcji i bazowego zbioru relacji. Dla omawianego przykładu konceptualizacja jest zdefiniowana jak poniżej. {a,b,c,d},{kapelusz},{na,nad,bez_kapelusza,na_stole} Formalizacja wiedzy agenta Po zdefiniowaniu konceptualizacji dla świata agenta, w kolejnym kroku projektant może rozpocząć formalizację wiedzy z wykorzystaniem odpowiedniego schematu reprezentacyjnego. Najczęściej wykorzystywanym logicznym schematem reprezentacyjnym jest rachunek predykatów pierwszego rzędu (First Order Predicate Calculus). Każda formuła logiczna zapisana w języku rachunku predykatów jest łańcuchem znaków pochodzących z określonego alfabetu i zorganizowanym zgodnie z precyzyjnymi regułami. Alfabet języka Alfabet, z którego tworzone są symbole podstawowych elementów składowych języka rachunku predykatów są następujące: 1. Zbiór liter, zarówno małych jak i dużych {a,,z,a,,z}. 2. Zbiór cyfr {0,1,,9} 3. Znaki podkreślenia {_} Wyższa Szkoła Informatyki i Zarządzania z siedzibą w Rzeszowie 4
Symbole nazw w rachunku predykatów zaczynają się od litery, a następnie może wystąpić dowolna sekwencja poprawnych znaków. Symbole tworzone w oparciu o przedstawione zasady są wykorzystywane do oznaczania obiektów, własności obiektów lub związków występujących pomiędzy obiektami. Symbole języka rachunku predykatów mogą w związku z tym przedstawiać zmienne, stałe, funkcje lub predykaty. Symbole stałych oznaczają konkretne obiekty występujące w dziedzinie problemu. Symbole stałych zaczynają się z dużej litery. Stałe True i False (T, F) są zarezerwowane, jako symbole prawdziwościowe. Symbole zmiennych są wykorzystywane do opisu własności obiektów bez podawania ich konkretnych nazw. Nazwy zmiennych zaczynają się z małej litery. Symbole predykatów oznaczają relacje zachodzące pomiędzy obiektami lub własności obiektów występujących w modelowanym świecie agenta. Niektóre relacje są funkcjami. Nazwy predykatów rozpoczynają się z dużej litery. Z każdym predykatem związana jest stała liczba argumentów. Symbole termów są wykorzystywane do oznaczania obiektów występujących w dziedzinie problemu. Termem jest każda stała, zmienna oraz jeśli arg 1,, arg n są termami, wówczas Fun(arg 1,, arg n ) (gdzie Fun jest nazwą funktora) jest również termem. Poprawnie sformułowane formuły języka rachunku predykatów Fakty dotyczące dziedziny problemu są zapisywane z wykorzystaniem tak zwanych wyrażeń lub poprawnie zbudowanych formuł języka rachunku predykatów (Well-formed formulas; wffs). Formuła może być formułą atomową lub formułą złożoną. Formuła atomowa lub inaczej atom składa się z nazwy relacji oraz listy argumentów będących termami, rozdzielonych przecinkami i ujętych w nawiasy. Stałe True oraz False są również formułami atomowymi. Formuła złożona to wyrażenie, które zostało utworzone z atomów oraz operatorów logicznych takich jak koniunkcja, alternatywa, negacja, implikacja oraz równoważność. Symbole operatorów logicznych przedstawiono w tabeli. Tabela. Symbole operatorów logicznych Nazwa Symbol operatora Negacja Koniunkcja Alternatywa Implikacja Równoważność Wyższa Szkoła Informatyki i Zarządzania z siedzibą w Rzeszowie 5
Do wyrażania bardziej ogólnych stwierdzeń w języku rachunku predykatów wykorzystywane są kwantyfikatory. Kwantyfikator ogólny oznaczany symbolem odpowiada określeniu każdy lub dla każdego. Kwantyfikator istnienia oznaczany symbolem odpowiada wyrażeniu niektóre, dla pewnego, lub istnieje. Zastosowanie kwantyfikatorów przedstawiają przykłady opisujące bardzo prosty świat figur geometrycznych. x Koło(x) Każdy obiekt jest kołem. Istnieje obiekt, który jest czerwony. x Czerwony(x) Używając kwantyfikatorów należy pamiętać, że kolejność kwantyfikatorów ma istotne znaczenie. Formalnie można to zapisać następująco x y R(x,y) y x R(x,y). Dobrym przykładem pokazującym różnicę wynikającą z kolejności kwantyfikatorów są następujące formuły: 1. x y Kocha(x,y) 2. y x Kocha(x,y) Formuła (1) mówi, że każdy kogoś kocha natomiast (2), że są osoby, które są kochane przez wszystkich. Jak widać na tym przykładzie zmiana kolejności kwantyfikatorów powoduje całkowitą zmianę znaczenia, co należy brać pod uwagę przy tworzeniu bardziej skomplikowanych formuł z wykorzystaniem zagnieżdżonych kwantyfikatorów. Formalizacja wiedzy powinna odbywać się zgodnie z zasadami poprawnej budowy formuł języka rachunku predykatów. Indukcyjna definicja poprawnie zbudowanej formuły jest następująca: 1. Każda formuła atomowa jest poprawną formułą języka rachunku predykatów (wff). 2. Jeżeli s jest wff wówczas s jest również wff. 3. Jeżeli s 1 i s 2 są wffs wówczas s 1 s 2 jest również wff. 4. Jeżeli s 1 i s 2 są wffs wówczas s 1 s 2 jest również wff. 5. Jeżeli s 1 i s 2 są wffs wówczas s 1 s 2 jest również wff. 6. Jeżeli x jest zmienną i s jest formułą wówczas x s jest wff. 7. Jeżeli x jest zmienną i s jest formułą wówczas x s jest wff. Formalizacja wiedzy z wykorzystaniem języka rachunku predykatów Wyższa Szkoła Informatyki i Zarządzania z siedzibą w Rzeszowie 6
Przykład 1. Świat klocków. Jako pierwszy przykład wykorzystany w procesiee formalizacji wiedzy za pomocąą języka rachunku predykatów zostanie ponownie użyty świat klocków, dla którego zdefiniowano wcześniej następującą konceptualizację. {a,b,c,d},{kapelusz},{na,nad,bez_kapelusza,na_stole}. Rysunek. Świat klocków. Słownik wykorzystany w procesie reprezentacji wiedzy nt. świata następujące elementy: stałe do oznaczenia poszczególnych klocków A, B, C, D, E. klocków zawiera nazwy predykatów oznaczające relacje: Na, Nad, BezKapelusza, NaStole. Zdania, które opisują podstawowe fakty są następujące: 1. 2. 3. 4. 5. 6. 7. 8. Klocek a jest na klocku b. Klocek b jest na klocku c. Klocek d jest na klocku e. Klocek a jest nad klockami b i c. Klocek b jest nad klockiem c. Klocek d jest nad klockiem e. Klocki a i d są czyste (nie mają na sobie żadnych klocków). Klocki c i e leżą bezpośrednio na stole. Poniżej została przedstawiona reprezentacja wiedzy dla języku rachunku predykatów. Na(A, B) Na(B, C) Na(D, E) Nad(A, B) Nad(A, C) Nad(B, C) Nad(D, E) świata klocków zapisana w BezKapelusza( (A) BezKapelusza( (D) NaStole(C) NaStole(E) Oprócz prostych faktów można równieżż zapisać bardziej ogólne stwierdzenia. Na przykład zależność mówiącą o tym, że jeżeli określony klocek jest na innym to jest również nad nim. x y (Na(x,y) Nad(x,y)) Można również opisać to, że relacja nad jest przechodnia. Oznacza to, że jeżeli np. klocek A jest nad B, a B jest nad C to A na pewno jest nad C. Przedstawiona zależność może zostać opisana z wykorzystaniem następującej formuły: x y z (Nad(x,y) Nad(y,z) Nad(x,z)) Wyższa Szkoła Informatyki i Zarządzania z siedzibą w Rzeszowie 7
Przykład 2. Formalizacja zdań w języku naturalnym. Kolejny przykład dotyczy świata, który został opisany w formie zbioru zdań w języku naturalnym. Zadaniem projektanta systemu jest formalizacja tego opisu z wykorzystaniem języka rachunku predykatów. Opis składa się z następujących zdań: 1. Każdy, kto wykłada przedmiot ścisły jest inteligentny. 2. Jan wykłada statystykę. 3. Żona Jana wykłada historię sztuki. 4. Statystyka to przedmiot ścisły. 5. Historia sztuki to przedmiot humanistyczny. S statystyka HS historia sztuki J - Jan Stałe Predykaty Wykłada(x,y) Inteligentny(x) Przedmiot_Scisły(x) Przedmiot_humanistyczny(x) Żona(x) 1. x,y(wykłada(x,y) Przedmiot_Scisły(y)) Inteligentny(x) 2. Wykłada(J,S) 3. Przedmiot_Scisły(S) 4. Wykłada(Żona(J),HS) 5. Przedmiot_humanistyczny(HS) Wyższa Szkoła Informatyki i Zarządzania z siedzibą w Rzeszowie 8
Zadanie 1 ĆWICZENIA Dla każdego ze zdań zapisanych w języku naturalnym przygotuj reprezentację w języku rachunku predykatów. a. (Zadanie typu puzzle. D&D) Części składowe formuł tworzą nieuporządkowany zbiór. Student ma za zadanie ułożenie formuł we właściwej kolejności. Po ułożeniu pokazywane jest właściwe rozwiązanie. 1. Jan lubi wszystkie rodzaje jedzenia. 2. Jabłka są jadalne. Ostrygi są jadalne. 3. Wszystko, co ktoś zjadł i nadal żyje jest jedzeniem. 4. Tomek je węże i nadal żyje. 5. Marta je wszystko to, co je Tomek. b. (Zadanie typu uzupełnianie brakujących elementów. Zadanie polega na wypełnieniu do końca częściowo przygotowanych formuł). -> mail 1. Każdy osoba urodzona w Australii jest Australijczykiem. 2. Dzieci Australijczyków są Australijczykami. 3. Piotr jest ojcem Jana i urodził się w Nowej Zelandii. 4. Maria jest matką Jana i urodziła się w Australii. c. (Zadanie typu wpisywanie formuł logicznych. Zadanie polega na samodzielnym (od początku do końca ) wpisaniu formuł logicznych.) -> wyświelenie gotowych 1. Nie wszyscy studenci wybierają sieci komputerowe i ekonomię. 2. Istnieje student, który nie zdał egzaminu z przedmiotu Sztuczna Inteligencja. 3. Najlepszy wynik z przedmiotu SA był jest lepszy niż najlepszy wynik z przedmiotu PSEB. 4. Istnieje kobieta, która lubi wszystkich mężczyzn, którzy nie są wegetarianami, są przystojni i jeżdżą czerwonym Porsche. 5. Ala kocha przystojnych mężczyzn, którzy jeżdżą czerwonym Porsche. Wyższa Szkoła Informatyki i Zarządzania z siedzibą w Rzeszowie 9
Zadanie 2 Załóżmy, że opisywany świat to pokój, w którym znajduje się małpa, krzesło i banany zawieszone przy suficie. Małpa nie jest w stanie dosięgnąć bananów. Jedynym rozwiązaniem jest przysunięcie krzesła pod banany i wspięcie się na nie. Przykładowy opis sytuacji w języku naturalnym jest przedstawiony poniżej. (Zadanie typu wpisywanie formuł logicznych) ). -> brak rozwiazaniaa 1. W pokoju znajdują sięę takie obiekty jak: małpa, banany i krzesło. 2. Małpa jest zwinnym zwierzęciem. 3. Krzesło jest wysokie. 4. Małpa jest zdolna przesunąć krzesło pod banany. 5. Małpa potrafi wspiąć się na krzesło. 6. Obiekt X może dosięgnąć obiektu Y, jeżeli X jest zwinny i X jest blisko Y. 7. Obiekt X jest blisko Z, jeżeli X dostanie się na Y, Y jest pod Z i Y jest wysokim obiektem. 8. Obiekt X może się dostać na obiekt Y, jeżeli obiekt X może wspiąć się na Y. 9. Obiekt Y znajduje się pod obiektem Z, jeżeli w pokoju znajdują się obiekty X, Y, Z i obiekt X może przesunąć Y pod Z. Rysunek. Świat małpy. Przygotuj logiczną reprezentację opisanego świata. Zdefiniuj konceptualizację oraz słownik w języku rachunku predykatów pozwalający opisać istotne zależności. Wyższa Szkoła Informatyki i Zarządzania z siedzibą w Rzeszowie 10
Zadanie 3 Przygotuj logiczną reprezentację świata agenta, który będzie odpowiedzialny za analizę układu przedstawionego na poniższym schemacie. Zdefiniuj konceptualizację oraz słownik w języku rachunku predykatów, który pozwoli opisać istotne zależności. Podstawowym zadaniem agenta będzie określenie wartości sygnału w różnych punktach układu. (Zadanie typu wpisywanie formuł logicznych). Wskazówka. Obwód składa się z przewodów oraz bramek. Sygnał jest transportowany przewodami do terminali wejściowych bramek, z których każda produkuje sygnał, kierowany na terminal wyjściowy bramki a następnie do przewodu. Podstawowe bramki to AND, OR oraz XOR, które mają dokładnie dwa terminale wejściowe. Bramka NOT ma tylko jeden terminal wejściowy. Wszystkie bramki mają dokładnie jeden terminal wyjściowy. (Zadanie typu wpisywanie formuł logicznych). Zadanie 4 Przygotuj logiczną reprezentację wiedzy agenta, który będzie odgrywał rolę doradcy finansowego. (Zadanie typu wpisywanie formuł logicznych). Zadaniem agenta jest wspomaganie inwestora przy wyborze inwestycji w dwie alternatywne opcje: rachunek oszczędnościowy oraz papiery wartościowe. Niektórzy inwestorzy powinni podzielić swoją inwestycje pomiędzy te dwie alternatywy. Inwestycje proponowane przez agenta będą zależały od przychodów i obecnie posiadanej zaoszczędzonej kwoty (w umownych jednostkach pieniężnych) stosownie do następujących kryteriów: 1. Osoby z niewystarczającym rachunkiem oszczędnościowym powinny zawsze zwiększyć oszczędności niezależnie od przychodu (inwestycja rachunek oszczędnościowy). 2. Osoby z odpowiednim wkładem na rachunku oszczędnościowym i odpowiednim przychodem powinny rozważyć bardziej ryzykowną, ale potencjalnie zyskowniejszą inwestycję na rynku kapitałowym (inwestycja akcje). 3. Osoby z mniejszym przychodem, które posiadają wystarczające oszczędności mogą rozważyć podział nadwyżki pomiędzy oszczędności i rynek papierów wartościowych (inwestycja kombinacja). Wysokość wystarczających oszczędności i przychodu jest określona przez ilość osób na utrzymaniu. Załóżmy, że należy mieć przynajmniej 15000 jednostek oszczędności na każdą osobę na utrzymaniu. Odpowiedni przychód musi być przychodem stałym i dostarczać przynajmniej 15000 jednostek na rok plus dodatkowo 4000 jednostek na każdą osobę na utrzymaniu. Zdefiniuj konceptualizację oraz słownik w języku rachunku predykatów pozwalający opisać wiedzę agenta niezbędną przy odgrywaniu roli doradcy. Wyższa Szkoła Informatyki i Zarządzania z siedzibą w Rzeszowie 11