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

Podobne dokumenty