Reprezentacja wiedzy agenta
Transkrypt
Reprezentacja wiedzy agenta
Technologia inteligentnych agentów Autor: dr Jacek Jakieła Technologia inteligentnych agentów 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 Materiały Distance Learning © Wyższa Szkoła Informatyki i Zarządzania z siedzibą w Rzeszowie 2 Techno ologia inte eligentnyc ch agentów w W WYKŁA AD Repre ezentacja a wiedzy y agenta W przy ypadku większości architektur a r agentowy ych wyma agane jestt, aby pro ojektant przygottował odpo owiednią re eprezentację „świata” agenta orraz jego sttanów mentalnych. Repreze entacja ta jest później wykorzy ystywana w procesac ch interprettacji spostrzeżeń i wyborze e akcji, po oprzez wyk konanie któ órych agent wpływa na stan śrrodowiska. Istnieje kilka ko onkurujący ych ze sobą ą podejść. Jednym z bardziej popularnych p h jest para adygmat logiczny y, który niiejednokrottnie sprawd dził się w praktyce, zarówno p przy projek ktowaniu klasycznych syste emów z ba azą wiedzy y (np. systtemów eks sperckich), jak równiież przy owaniu sys stemów age entowych. projekto Konce eptualiza acja Poniewa aż paradyg gmat logiczny pozwala a zdefiniować reprezentację wied dzy deklara atywnej, formaliz zacja rozpoczyna od d tak zwan nej koncep ptualizacji [Nillso87]. W proces sie tym identyfikowane są ą obiekty orraz ich wza ajemne rela acje. Pojęciie obiektu jjest tutaj używane u zo szerokim m sensie. w bardz żmy bardzo o prosty świat ś agen nta przedsttawiony na a rysunku, który skłłada się Rozważ jedynie z kilku klocków. Rysunek k. Konceptu ualizacja. W proc cesie tworz zenia repre ezentacji św wiata agen nta uwaga projektantta jest najjczęściej skupion na na wybrranym, isto otnym z perspektywy y systemu zbiorze ob biektów. Zbiór ten określany jest term minem uniwersum dy yskursu. Un niwersum dyskursu d dla przedstaw wionego s z pięciu u klocków leżących na a stole. Każ żdy z klock ków ma prz zypisaną przykładu składa się ednią nazw wę. odpowie {a, b, c, d, d e} Oprócz samych obiektów o is stotną kwe estią są za ależności. Funkcja F jest typem związku występu ującego po omiędzy ob biektami w uniwersum dyskurs su. Można zdefiniowa ać wiele funkcji dla danego o zbioru ob biektów. W procesie reprezenta acji wiedzy projektantt zwykle w zbiorze funkcji i ign noruje poz zostałe. Zb biór istotnych dla skupia się na wybranym anta funkc cji zdefiniow wanych dla a danej dziiedziny pro oblemu to tzw. bazow wy zbiór projekta Materiały Distance Learning © Wyższa a Szkoła Inforrmatyki i Zarz ządzania z sied dzibą w Rzesz zowie 3 Technologia inteligentnych agentów 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 {_} Materiały Distance Learning © Wyższa Szkoła Informatyki i Zarządzania z siedzibą w Rzeszowie 4 Technologia inteligentnych agentów 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 arg1, …, argn są termami, wówczas Fun(arg1, …, argn) (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ść ⇔ Materiały Distance Learning © Wyższa Szkoła Informatyki i Zarządzania z siedzibą w Rzeszowie 5 Technologia inteligentnych agentów 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. ∃x Czerwony(x) Istnieje obiekt, który jest czerwony. 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 s1 i s2 są wffs wówczas s1 ∧ s2 jest również wff. 4. Jeżeli s1 i s2 są wffs wówczas s1 ∨ s2 jest również wff. 5. Jeżeli s1 i s2 są wffs wówczas s1 ⇒ s2 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 Materiały Distance Learning © Wyższa Szkoła Informatyki i Zarządzania z siedzibą w Rzeszowie 6 Techno ologia inte eligentnyc ch agentów w Przykła ad 1. Świa at klocków w. Jako pierwszy prz zykład wyk korzystany w procesie e formalizac cji wiedzy za pomocą ą języka ku predyka atów zostan nie ponown nie użyty św wiat klockó ów, dla któ órego zdefin niowano rachunk wcześniej następu ującą konce eptualizację ę. 〈{a,b b,c,d},{ka apelusz},{ {na,nad,be ez_kapelus sza,na_sto ole}〉 . ek. Świat klocków. Rysune k wykorzys stany w p procesie re eprezentacji wiedzy nt. świata klocków zawiera Słownik następu ujące eleme enty: • stałe s do oznaczenia poszczególnych klocków A, B, C, D, E. • nazwy pred dykatów oz znaczające relacje: Na a, Nad, BezKapelusza, NaStole. Zdania,, które opis sują podstawowe fakty y są następ pujące: 1. Klocek a je est na klock ku b. 2. Klocek b je est na klock ku c. 3. Klocek d je est na klock ku e. 4. Klocek a je est nad kloc ckami b i c. 5. Klocek b je est nad kloc ckiem c. 6. Klocek d je est nad kloc ckiem e. 7. Klocki a i d są czyste (nie mają na n sobie ża adnych kloc cków). 8. Klocki c i e leżą bezpo ośrednio na a stole. Poniżej została przedstawio p ona reprezentacja wiiedzy dla świata klo ocków zapiisana w języku rachunku predykatów p w. • Na(A, B) • ad(A, B) Na • Bez zKapelusza((A) • Na(B, C) • Na ad(A, C) • Bez zKapelusza((D) • Na(D, E) • Na ad(B, C) • NaS Stole(C) • Na ad(D, E) • NaS Stole(E) Oprócz prostych fa aktów można również ż zapisać ba ardziej ogólne stwierd dzenia. Na przykład p zależno ość mówiąc cą o tym, że ż jeżeli ok kreślony klo ocek jest na n innym to o jest równ nież nad nim. ∀ (Na(x x,y) ⇒ Nad(x,y)) • ∀x∀y Można również opisać to, że relacja nad d jest przec chodnia. Oz znacza to, ż że jeżeli np p. klocek n B, a B jest nad C to A na pewno jestt nad C. Prrzedstawion na zależnoś ść może A jest nad zostać opisana o z wykorzystan w niem nastę ępującej forrmuły: • ∀x∀y∀z ∀ (Nad(x,y) ∧ Nad(y,z) N ⇒ Nad(x,z)) Materiały Distance Learning © Wyższa a Szkoła Inforrmatyki i Zarz ządzania z sied dzibą w Rzesz zowie 7 Technologia inteligentnych agentów 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. Stałe S – statystyka HS – historia sztuki J - Jan 1. 2. 3. 4. 5. Predykaty Wykłada(x,y) Inteligentny(x) Przedmiot_Scisły(x) Przedmiot_humanistyczny(x) Żona(x) ∀x,y(Wykłada(x,y)∧ Przedmiot_Scisły(y)) ⇒ Inteligentny(x) Wykłada(J,S) Przedmiot_Scisły(S) Wykłada(Żona(J),HS) Przedmiot_humanistyczny(HS) Materiały Distance Learning © Wyższa Szkoła Informatyki i Zarządzania z siedzibą w Rzeszowie 8 Technologia inteligentnych agentów ĆWICZENIA Zadanie 1 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. 2. 3. 4. 5. Jan lubi wszystkie rodzaje jedzenia. Jabłka są jadalne. Ostrygi są jadalne. Wszystko, co ktoś zjadł i nadal żyje jest jedzeniem. Tomek je węże i nadal żyje. 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. 2. 3. 4. Każdy osoba urodzona w Australii jest Australijczykiem. Dzieci Australijczyków są Australijczykami. Piotr jest ojcem Jana i urodził się w Nowej Zelandii. 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. Materiały Distance Learning © Wyższa Szkoła Informatyki i Zarządzania z siedzibą w Rzeszowie 9 Techno ologia inte eligentnyc ch agentów w Zadan nie 2 Załóżmy, że opisy ywany świa at to pokójj, w którym m znajduje się małpa, krzesło i banany zone przy suficie. Małpa M nie jest w stanie dos sięgnąć ba ananów. Jedynym zawiesz rozwiąz zaniem jestt przysunię ęcie krzesła a pod bana any i wspię ęcie się na a nie. Przykładowy opis syttuacji w jęz zyku natura alnym jest przedstawiony poniże ej. (Zadaniie typu wpiisywanie formuł logicznych) l ). -> brak rozwiazania r a 1. W pokoju znajdują z się ę takie obie ekty jak: małpa, banany i krzesło o. 2. Małpa jest zwinnym zwierzęciem m. 3. Krzesło jest wysokie. 4. Małpa jest zdolna prze esunąć krze esło pod ba anany. 5. Małpa potra afi wspiąć się s na krzes sło. 6. Obiekt O X może m dosięg gnąć obiektu Y, jeżeli X jest zwinny i X jest blisko Y. 7. Obiekt O X je est blisko Z, Z jeżeli X dostanie się s na Y, Y jest pod Z i Y jest wysokim w o obiektem. 8. Obiekt O X może m się dos stać na obiekt Y, jeżeli obiekt X może wspią ąć się na Y.. 9. Obiekt O Y zn najduje się pod obiekttem Z, jeże eli w pokoju u znajdują się obiekty y X, Y, Z i obiekt X może m przesunąć Y pod d Z. Rysun nek. Świat małpy. m wiata. Zde efiniuj konc ceptualizac cję oraz Przygottuj logiczną reprezentację opisanego św słownik k w języku rachunku r p predykatów pozwalając cy opisać is stotne zależ żności. Materiały Distance Learning © Wyższa a Szkoła Inforrmatyki i Zarz ządzania z sied dzibą w Rzesz zowie 10 Technologia inteligentnych agentów 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. Materiały Distance Learning © Wyższa Szkoła Informatyki i Zarządzania z siedzibą w Rzeszowie 11