BABEŞ-BOLYAI UN IVERSITY CLUJ-NAPOCA FACULTY OF MATHEMATICS AND COMPUTER SCIENCE
DIPLOMA THESIS JADE - A Framework for Dee!o"#$% M&!'#A%e$' S()'em)
S&"er#)or Conf. Dr. Gabriela Şerban
A&'*or Knall Andreas Christian Günther
+,, 0
TABLE OF CONTENTS INTRODUCTION
.
CHAPTER I
/
01
/
SOFT2ARE A3ENTS
0101 01+1 01.1 01.101 01.1+1 01.1.1 0171 01/1 01/101 01/1+1 01/1.1 01/171
2HAT ARE SOFT2AREA3ENTS4 A3ENT ENVIRONMENTS INTELLI3ENTA3ENTS AUTONOMOUSA3ENTS FLE6IBILITY E6AMPLESOF A3ENTS ARTIFICIALINTELLI3ENCEAND A3ENTS A3ENT TYPES PURELYREACTIVEA3ENTS A3ENT THAT 8EEP TRAC8 OF THE 2ORLD 3OAL BASED A3ENTS UTILITY-BASED A3ENTS
/ / 5 6 7 7 9 9 10 11
0151 THE BELIEFS-DESIRES-INTENTIONS9BDI: ARCHITECTURE 01;1 MULTIA3ENTSYSTEMS 01;101 COMMUNICATIONIN MULTIA3ENTSYSTEMS 01;10101 Performa'#e) 01;101+1 O$'o!o%( 01;101.1 8$ow!e<%e =& er( a$ < Ma$#" &!a'#o$ La $%&a%e 98= ML: 01;10171 FIPA A%e$' Com m&$#>a'#o$ La$% &a%e 9ACL : 01;101/1 B!a>k?oar< S()'em) 011 A3ENT BASED SOFT2AREEN3INEERIN3 01101 HI3H LEVEL METHODOLO3IES 011+1 DESI3N METHODS
00 0. 14 15 15 15 16 16 0 19 21
+1
+.
A3ENT DEVELOPMENT E NVIRONMENTS
+101 +1+1 +1+10 +1+1+ +1+1. +1+171 .1
JAC8 INTELLI3ENTA3ENTS THE OPEN A3ENT ARCHITECTURE9OAA: OOAA 3ENTS THE INTERA3ENTCOMMUNICATIONLAN3UA3E9ICL: TRI33ERS SOLVABLES
+. +5 26 27 28 29
JAVA A3ENT DEVELOPMENT FRAME2OR8 9JA DE:
.,
.101 THE FOUNDATIONFOR INTELLI3ENT@ PHYSICALA3ENTS 9FIPA: .1+1 JADE ARCHITECTURE .1+101 THE A3ENT PLATFORM9AP:
., .0 2
.1+1+1 A3ENT MANA3EMENTSYSTEM 9AMS: .1.1 MESSA3E TRANSPORTSERVICE9MTP: .171 JADE TOOLS .17101 THE PLATFORMMANA3EMENTCONSOLE .171+1 THE DUMMY A3ENT .171.1 THE SNIFFER A3ENT .17171 THE INTROSPECTORA3ENT
2 .+ .. 4 4 4
1
.171/1 THE LO3 MANA3ERA3ENT .1/1 BASIC FEATURES .1/101 CREATIONAND TERMINATIONOF A3ENTS .1/1+1 A3ENT BEHAVIORS .1/1.1 A3ENT COMMUNICATION .1/171 THE YELLO2 PA3ES SERVICE .151 ADVANCEDFEATURES .15101 A3ENT MOBILITY .151+1 SECURITY .151.1 THE LEAP-AD ON
4 .7 4 5 7 9 7, 40 41 41
71
7+
REAL-TIME LEARNIN3
7101 71+1 71.1 7171 717101 7171+1 7171.1 71/1 71/10 71/1+1 7151
A3ENT-CENTEREDSEARCH AL3ORITHMS THE ASYNCHRONOUSDYNAMICPRO3RAMMIN3AL3ORITHM9ADP: THE LEARNIN3REAL-TIME A 9LRTA: AL3ORITHM IMPROVEMENTSOF LRTA DEEPER LOO8-AHEAD SEARCH USIN3 INADMISSIBLEHEURISTICS BAC8TRAC8IN3 CONSIDEREDAL3ORITHMS PRIORITIEDLEARNIN3REAL-TIMEA 9P-LRTA: THE SLA AL3ORITHM OUR APPROACH
7+ 77 75 7; 47 47 48 7 48 50 /0
/1 AN APPLICATION FOR PATH-FINDIN3 USIN3 IMPROVEMENTS OF THE LR TA AL3ORITHM
/.
/101 DESCRIPTIONAND ANALYSIS /1+1 APPLICATIONIMPLEMENTATIONAND DESI3N /1.1 COMPARATIVERESULTSAND ANALYSIS /1.101 SIN3LE A3ENT VS1 MULTIPLEA3ENTS /1.1+1 MESSA3E COMMUNICATIONVS1 BLAC8BOARDCOMMUNICATION /1.1.1 AL3ORITHMCOMPARISON
/. // 5, 61 62 64
CONCLUSIONS
5;
BIBLIO3RAPHY
5
2
INTRODUCTION !o"ie stars ha"e a#ents$ athletes ha"e a#ents% i&'ortant e(e)*ti"es ha"e a#ents. All these 'eo'le dele#ate tas+s and res'onsibilities to their s'e)iali,ed hel'ers in order to ta+e f*ll ad"anta#e of their e('ertise. -*t hat abo*t ordinar/ 'eo'le rdinar/ 'eo'le )an e&'lo/ a#ents too% na&el/ intelli#ent softare a#ents% and &an/ 'eo'le *se the&% &ostl/ *nnoti)ed. ntelli#ent a#ents are a 'ie)e of softare that a)ts on behalf of a *ser% e(hibitin# so&e h*&an3li+e 'ro'erties. hese a#ents )an hel' *sers for instan)e to filter% sort or na"i#ate thro*#h a h*#e a&o*nt of di"erse infor&ation% or )an be e&'lo/ed to &ana#e )o&'le( tas+s s*)h as air traffi) )ontrol. ntelli#ent a#ents are a relati"el/ ne 'aradi#&% )onsidered b/ so&e 'eo'le the s*))essor of obe)t3oriented 'ro#ra&&in# that )o*ld s'ar+ a re"ol*tion in the fields of )o&'*ter s)ien)e and artifi)ial intelli#en)e. he first )ha'ter of this 'a'er intends to introd*)e intelli#ent softare a#ents% hi)h are related to the field of artifi)ial intelli#en)e% dis)*ssin# 'arti)*larl/ &*ltia#ent s/ste&s. !*ltia#ent s/ste&s are "er/ 'ro&isin#% sin)e the/ rese&ble a h*&an li+e or#ani,ation )hara)teri,ed b/ intelli#en)e% )o&&*ni)ation% )oo'eration and 'arallel )o&'*tin#. he )reation of sin#le a#ents and a#ent so)ieties is &ostl/ a)hie"ed b/ *sin# s'e)iali,ed de"elo'&ent en"iron&ents% )alled a#ent de"elo'&ent en"iron&ents. hree a#ent de"elo'&ent en"iron&ents are s*be)t to this 'a'er% to different en"iron&ents bein# 'resented thro*#ho*t )ha'ter to. he a"a A#ent De"elo'&ent ra&eor+% for short ade% 'resented in )ha'ter three% is 'erha's toda/s &ost 'o'*lar a#ent de"elo'&ent en"iron&ent. herefore% ade feat*res ill be des)ribed in detail% alon# ith se"eral e(a&'les that ill*strate ho &*ltia#ent s/ste&s )an be &odeled *sin# obe)t oriented 'rin)i'les. Cha'ter fo*r is de"oted to 'resent the )on)e't of a#ent3)entered sear)h% hi)h is not /et a )o&&on ter& in A% altho*#h so&e )on)e'ts that fit its definition are s)attered thro*#ho*t the literat*re on A and roboti)s. o'*lar a#ent3)entered sear)h al#orith&s% na&el/ the as/n)hrono*s d/na&i) 'ro#ra&&in# al#orith& and the learnin# real ti&e A: al#orith&% ill be 'resented. Additionall/ so&e i&'ro"ed ;<A: based al#orith&s% hi)h enhan)e )o&'*tin# 'erfor&an)e are anal/,ed% 'ointin# o*t their ad"anta#es and disad"anta#es. hree se'arate al#orith&s are )onsidered% one of the& bein# o*r a''roa)h toards ;<A: o'ti&i,ation. *r a''roa)h tries to o"er)o&e the so&eti&es ri#id a)tion sele)tion 'erfor&ed b/ &ost ;<A: li+e al#orith&s% b/ introd*)in# rando&ness in the 'ro)ess of sele)tin# the ne(t to e(e)*te a)tion. Cha'ter fi"e 'resents an a''li)ation for sol"in# 'ath3findin# 'roble&s% *sin# all the al#orith&s &entioned in )ha'ter fo*r. All the )onsidered ;<A: based al#orith&s are tested on different s)enarios in order to )o&'are the& and to deter&ine the &ost s*itable 'ara&eters for 'ath3findin# 'roble&s.
=*&&ari,in#% this 'a'er offers an o"er"ie of intelli#ent softare a#ents% des)ribes a#ent de"elo'&ent en"iron&ents% fo)*sin# 'ri&aril/ on ade% and 'resents an a''li)ation ai&ed to )o&'are ;<A: based al#orith&s on 'ath3findin# 'roble&s.
4
C*a"'er I
1. =oftare A#ents his Cha'ter has the ai& to introd*)e the s*be)t of softare a#ents% to 'oint o*t the 'ro'erties that &a+e a#ents intelli#ent and to 'ro"ide so&e e(a&'les of a#ent based a''li)ations. *rther&ore% this )ha'ter shos the lin+ beteen the field of artifi)ial intelli#en)e and softare a#ents. ='e)ial attention is #i"en to a#ent )o&&*ni)ation and to the -D a#ent ar)hite)t*re% hi#hli#htin# their i&'ortan)e in o*r or+.
1.1.
>hat are softare A#ents
here is no *ni"ersal definition of an a#ent% definitions "ar/in# fro& a*thor to a*thor. Des'ite the la)+ of a Consens*s% so&e definitions fro& notable resear)hers in the field of ?=oftare A#ents@ ill be 'resented. An agent is anything that can be viewed as perceiving its environment through sensors and
acting upon that environment through effectors.” B<*ssell%1995 A))ordin# to this definition% a#ents )an )o&e in &an/ for&s and sha'es% h*&an bein#s are a#ents as ell as robots )an be. n )o&'*ter s)ien)e% and &ore s'e)ifi) in the field of Artifi) ial ntelli#en)e% e tal+ abo*t =oftare A#ents. =oftare a#ents are a 'ie)e of softare ?li"in#@ in o'eratin# s/ste&s% databases% in netor+s% *st to na&e a fe% and their &ain obe)ti"e is to 'erfor& tas+s for a )ertain entit/ s*)h as a *ser or another 'ro#ra&.
1.2.
A#ent n "iron&ents
>hen &odelin# a#ents% the en"iron&ent these a#ents are 'la)ed in% 'la/s a bi# role. A#ents ha"e to be de"elo'ed in s*)h &anner to &at)h the s'e)ifi) 'ro'erties of the en"iron&ent. he en"iron&ent )an beE •
A))essible or ina))essible An en"iron&ent is )onsidered a))essible if the a#ent o'eratin# in this en"iron&ent )an obtain a))*rate and )orre)t data fro& it. >hen the en"iron&ent is a )hess table it &a/ be )onsidered an a))essible one% otherise hen the en"iron&ent is the orld ide eb it &a/ be an ina))essible en"iron&ent. 5
•
Deter&inisti) or non3deter&inisti) f e(e)*tin# a )ertain a)tion *'on the en"iron&ent hi)h res*lts in a #*aranteed effe)t% the en"iron&ent &a/ be )onsidered deter&inisti). n other ords% in a deter&inisti) en"iron&ent the a)tions of an a#ent ill ala/s ha"e the desired and 'redi)ted effe)t. he real orld is 'robabl/ the best e(a&'le of a non3deter&inisti) en"iron&ent% hereas board #a&es li+e )hess and ba)+#a&&on are deter&inisti) ones.
•
=tati) or D/na&i) An en"iron&ent is stati) if it does not )han#e hile the a#ent is still reasonin# abo*t the ne(t a)tion.
•
=eF*ential or ne3shotE n a seF*ential en"iron&ent the a#ent has to )onsider the f*t*re i&'a)t of the )*rrent a)tion. A #ood e(a&'le &a/ be a#ain the )hess #a&e here at e"er/ 'oint the a#ent has to loo+ ahead se"eral &o"es in order to &ention a stron# 'osition. n ne3shot en"iron&ents the )hoi)e of an a)tion de'ends onl/ on that )ertain a)tion itself.
•
=in#le a#ent "s. !*ltia#ent =o&e 'roble&s li+e sol"in# a )rossord '*,,le do not ne)essaril/ reF*i re &*lti'le a#ents. ther 'roble&s li+e si&*latin# a football #a&e )learl/ de&and &*lti'le a#ents ?li"in#@ in the sa&e en"iron&ent. s*all/ hen &*lti'le a#ents share the sa&e en"iron&ent% a 'arti)*lar a#ent )an either )oo'erate ith other a#ents to rea)h his #oal% or be in )o&'etition ith other a#ents.
1..
ntelli#ent A#ents
"Intelligent agents are software entities that carry out some set of operations on behalf of a user or another program with some degree of independence or autonomy, and in so doing, employ some knowledge or representation of the user's goals or desires." (he I! Agent# ro& the e(a&'les 'resented abo"e it is )lear that not all a#ents are intelli# ent. t is hard to i&a#ine that a ther&ostat 'ossesses so&e sort of intelli#en)e. hen the F*estion arisesE >hat &a+es an a#ent intelli#ent@ A))ordin# to !. >ooldrid#e B>ooldrid#e1999 an intelli#ent a#ent is one that is )a'able of fle(ible a*tono&o*s a)tions . 01.101 A&'o$omo&) A %e$')
6
A*tono&o*s A#ents are a#ents that are sit*ated in a )ertain en"iron&ent% intera)tin# ith the en"iron&ent and 'ossible )han#in# it in '*rs*it of their on a#enda. An i&'ortant )hara)teristi) of a*tono&o*s a#ents is the fa)t that the/ follo their #oal and intera)t ith the en"iron&ent itho*t an/ dire)t h*&an or other inter"ention. A#ents )an onl/ be affe)ted b/ &essa#e 'assin# and not b/ the dire)t )han#e of their )*rrent state. 01.1+1 F!e#?#!#'(
!. >ooldrid#e B>ooldrid#e1997 states that a#ent fle(ibilit/ is #i"en b/ three fa)torsE •
rea)ti"it/
•
'ro 3 a)ti"eness
•
so)ial abilit/
An a#ent intera)ts ith the en"iron&ent it is 'la)ed in% b/ 'er)ei"in# and a)tin# *'on it. his 'ro'ert/ of an a#ent is )alled ?rea)ti"it/@. he se)ond i&'ortant 'ro'ert/ that &a+es an a#ent fle(ible is ?'ro3a)ti"it/@. ro3a)ti"it/ is a)hie"ed hen an a#ent is able to start a)tions at his on initiati"e that ill e"ent*all/ lead to #oal a))o&'lish&ent. he third 'ro'ert/ that #i"es fle(ibilit/ to an a#ent is its so)ial abilit/. his &eans that a#ents ha"e the )a'abilit/ of intera)tin# ith other a#ents% 'ossible h*&an a#ents% "ia so&e sort of )o&&*ni)ation lan#*a#e in order to satisf/ their desi#n obe)ti"es.
01.1.1 Eam"!e) o f A%e$')
A#ents are *sed in &an/ different do&ains% the ther&ostat is 'erha's one of the &ost si&'le and o"er*sed e(a&'l e. A ther&ostat senses its en"iron&ent% in this )ase so&e roo&% and if the te&'erat*re dro's belo so&e desi#nated "al*e the heatin# is a*to&ati)all/ t*rned on. therise% if the te&'erat*re rea)hes the desired le"el the heatin# is t*rned off. f )o*rse% an/ )ontrol s/ste& that or+s si&ilar to the ther&ostat% s*)h as ater heaters or e"en toasters% &a/ be )onsidered r*di&entar/ a#ents% be)a*se the/ &onitor their en"iron&ent and &odif/ it a))ordin# to so&e r*les. oda/@ a#ents are *sed in &an/ different do&ains% b*t &ostl/ in eb a''li)ations. =te'hen Haa# BHaa#2006 s*##ests that there are fo*r t/'es of a#entsE sho''in# bots% 'ersonal a#ents% &onitorin#3and3s*r"eillan)e a#ents% a#ents in data &inin#. >e ill dis)*ss ea)h se'aratel/. robabl/ the &ost 'o'*lar *se of a#ents are ?-*/er A#ents@% also +non as )*sto&er ser"i)e a#ent. sers *s*all/ e&'l o/ a b*/er a#ent in order to sear)h the eb for 'rod*)ts and ser"i)es the/ ant to b*/. -ased on *ser 'referen)es% s*)h as 'ri)e or F*alit/% and ta+in# in a))o*nt )o&&odities the *ser bo*#ht in the 'ast% b*/er a#ents sear)h the netor+ and 'ro"ide *sef*l s*##estions to the *ser. ersonal a#ents are a#ents that f*lfill tas+s on behalf of the *ser. hese 7
rather *sef*l a#ents &a/ )o&'lete tas+s s*)h as sortin# and "erif/in# a *sers &ail% sear)hin# the internet for infor&ation the *ser &i#ht be interested in% filterin# nes or s)hed*lin# &eetin#s. -asi)all/% these a#ents 'erfor& obser"ations of *ser beha"ior% and are tra)+in# *ser interests o"er ti&e. >ith the +noled#e the/ a)F*ire% the/ are able to &ana#e and 'ro)ess data al&ost in the sa&e a/ the *ser o*ld ha"e done it.
1.4.
Artifi)ial ntelli#en)e and A#ents
Artifi)ial intelli#en)e IAJ is a bran)h of )o&'*ter s)ien)e de"oted to the &a+in# of intelli#ent &a)hines% es'e)iall/ intelli#ent )o&'*ter 'ro#ra&s. A&on# the traits that resear)hers ho'e &a)hines ill e(hibit areE reasonin#% +noled#e% learnin#% )o&&*ni)ation and 'er)e'tion. =i&ilar to softare a#ents% artifi)ial intelli#en)e is hard to define% hoe"er so&e definitions ill be 'resented.
$he science of making machines do things that would re%uire intelligence if done by men” !ar"in !ins+/ ?he study of how to make computers do things at which, at the moment, people are better'' B
$e made our agents dumber and dumber and dumberuntil finally they made money.”
1.5.
A#ent /'es
8
n B<*ssell1995 onl/ fo*r basi) t/'es of a#ents are )onsideredE si&'le refle( a#ents% a#ents that +ee' tra)+ of the orld% #oal3based a#ents% and *tilit/3based a#ents. >e ill dis)*ss the& in detail. 01/101 P&re!( rea>'#e a%e$')
he fi#*re belo shos ho a si&'le refle( a#ent or+s. ;i+e the ther&ostat in o*r 're"io*s e(a&'le% '*rel/ rea)ti"e a#ents 'er)ei"e an in'*t si#nal thro*#h their sensors% 'ro)ess the si#nal and then tr/ to find a r*le hose )ondition &at)hes the 'ro)essed si#nal. n)e a r*le is fo*nd% the a)tion di)tated b/ that r*le ill be e(e)*ted. i#*re 1.1 shos a '*rel/ rea)ti"e a#ent.
F#%&re 010 A )#m"!e ref!e a%e$' 01/1+1 A%e$' '*a' kee" 'ra>k of '*e w or!<
An a#ent that +ee's tra)+ of the orld is% basi)all/% a si&'le refle( a#ent ith an internal state. An internal state is ne)essar/ to distin#*ish beteen states of the en"iron&ent that #enerate the sa&e 'er)e'tion b*t reF*ire different a)tions fro& the a#ent.
9
>hen *'datin# the internal state an a#ent has to )onsider to fa)tors. irst% the a#ent has to ha"e so&e infor&ation on ho the o*tside orld e"ol"es re#ardless of his a)tions. =e)ondl/% the a#ent has to ha"e so&e infor&ation on ho he affe)ts the en"iron&ent. 'datin# an internal state &eans )o&binin# these to t/'es of infor&ation% as the bro+en line shos on fi#*re 1.2. F#%&re 01+1 A%e$' '*a' kee") 'ra>k of '*e wor!<
-efore an a#ent ta+es a)tion% a r*le has to be fo*nd that &at)hes both the internal state and the res'onse re)ei"ed fro& the en"iron&ent. After the r*le has been fo*nd% the a)tion asso)iated to that r*le is e(e)*ted. 01/1.1 3oa! ?a)e< a%e$')
Goal based a#ents a)t si&ilar to a#ents that +ee' tra)+ of the orld% b*t follo a )ertain #oal in a 'ro3a)ti"e &anner. t is not ala/s eno*#h to +no abo*t the )*rrent state of the en"iron&ent. o a)hie"e desirable sit*ations% so&e infor&ation abo*t the #oal has to be a"ailable. nfor&ation abo*t the #oal )an be )o&bined ith infor&ation re#ardin# the o*t)o&e of 'ossible sit*ations in order to )hoose the best 'ossible a)tion to *nderta+e.
10
F#%&re 01.1 A %oa! ?a)e< a%e$' 01/171 U'#!#'(-?a)e< a%e$')
Goal based a#ents do not ala/ s obtain the o'ti&al sol*tion of a )ertain 'robl e& @ ass*&in# that the #oal )an be rea)hed in &an/ different a/s. Goal based a#ent distin#*ish onl/ beteen desirable and *ndesirable sit*ations. tilit/3based a#ents ha"e an internal *tilit/ f*n)tion that &eas*res the de#ree of 'erfor&an)e after *nderta+in# an a)tion. he *tilit/ f*n)tion is a &a''in# fro& a state to a real n*&ber% n*&ber that indi)ates the de#ree of satisfa)tion. "en before a)tion is *nderta+en the a#ent *ses the *tilit/ f*n)tion to sele)t the &ost a''ro'riate a)tion 'ossible.
F#%&re 0171 A &'#!#'(-?a)e< a%e$'
1.6. he -eliefs3Desires3ntentions I-DJ Ar)hite)t*re An abstra)t &odel of an a#ent% li+e the ones 'resented in the 're"io*s se)tion% is )o&'osed of to ele&entsE •
he a#ent ar)hite)t*re hi)h deli"ers the in)o&in# res'onse fro& the en"iron&ent to the
'ro#ra&% de'i)tin# the )o&'onent arran#e&ent of the a#ent and dealin# ith 'ro#ra& internals s*)h as data str*)t*res •
he a#ent desi#n% 'ro"ided b/ the A b/ &eans of findin# ?a f*n)tion that i&'le&ents
the a#ent &a''in# fro& 'er)e'ts to a)tions@ B<*ssell1995 n B=erban2006 fo*r &aor a#ent ar)hite)t*res are )onsideredE lo#i) based ar)hite)t*res% rea)ti"e ar)hite)t*res% -D ar)hite)t*res and la/ered ar)hite)t*res. >e ill dis)*ss the beliefs% desires% intentions ar)hite)t*re% hi)h is 'erha's one of toda/s &ost s*))essf*l.
11
he -D Ibeliefs% desires% intentionsJ ar)hite)t*re as introd*)ed b/
Se' of Be!#ef)
his set )ontains infor&ation re#ardin# the orld% &ore 're)ise infor&ation abo*t the en"iron&ent% the a#ent itself and other a#ents. he ter& ?beliefs@ is *sed instead of the ter& ?+noled#e@ hi#hli#htin# that not all beliefs &a/ be tr*e. •
Se' of De)#re)
his set )ontains the list of #oals an a#ent tries to a)hie"e. •
I$'e$'#o$)
his set )ontains the set of #oals% sele)ted fro& the set of desires% #oals that an a#ent is )*rrentl/ )o&&itted to a)hie"e. •
Se' of P!a$)
A 'lan )an be seen as a seF*en)e of a)tions% that hen e(e)*ted% )an lead to the a))o&'lish&ent of one or &ore intentions. lans &a/ so&eti&es o"erla'% for instan)e a 'lan to sh*t all the indos in the ho*se o"erla's the 'lan to sh*t *st the indo in the +it)hen. he abstra)t ar)hite)t*re 'ro'osed b/
nitiali,estateIJ$ re"ea' o'tions EL o'tion#eneratorIe"entF*e*eJ$ sele)ted3o'tions EL deliberateIo'tionsJ$ *'date3intentions EL sele)tedo'tionsIJ$ e(e)*teIJ$ #et3ne3e(ternal3e"entsIJ$ dro'3s*))essf*l3attit*desIJ$ dro'3i&'ossible3attit*desIJ$ e$< hro*#ho*t the inter'reter )/)le% all the e(ternal and internal e"ents are re)orded in the e"ent F*e*e. At the start of a ne )/)le% all the 'ossible o'tions are deter&ined b/ e"al*atin# the ele&ents of the e"ent3F*e*e. Me(t fro& the set of a"ailable o'tions% so&e are ado'ted% th*s for&in# the set of intentions. f at this 'oint of e(e)*tion so&e intentions )an e(e)*te an ato&i) a)tion% the/ e(e)*te it. At the end of ea)h loo'% the a#ent dro's all the a)hie"ed desires and
12
intentions and re&o"es all the *nreali,able ones. BCheon#200 offers an e"er/ da/ life e(a&'le of a -D a#entE
$)or e&le, an agent believes that it has *+. he agent is thirsty and desires to %uench its thirst. It finds a drink priced at * and uses a plan to purchase the drink (i.e. it intends to %uench its thirst# at * and drinks it. he agent updates its belief so that it believes it now has *-. owever, the agent is still thirsty, but it will not e&ecute the plan to purchase a drink for * dollars again as it believes that it has *-.”
1.7. !*ltia#ent =/ste&s Distrib*ted artifi)ial intelli# en)e is a s*bfield of artifi)ial intelli#en)e% a )o&bination of se"eral do&ains s*)h as artifi)ial intelli#en)e% )o&'*ter s)ien)e% so)iolo#/ or 's/)holo#/% dedi)ated to the de"elo'&ent of distrib*ted sol*tions for )o&'le( 'roble&s re#arded as reF*irin# intelli#en)e. Distrib*ted artifi)ial intelli#en)e itself is s'lit into to s*bdo&ains B=/)ara1998E distrib*ted 'roble& sol"in# and &*ltia#ent s/ste&s. he &ain to'i)s )onsidered in D= are infor&ation &ana#e&ent iss*es s*)h as tas+ de)o&'osition and sol*tion s/nthesis B=tone2000. or e(a&'le% a 'roble& )an be s'lit into se"eral s*b'roble&s that &i#ht not be totall/ inde'endent% )o&'*ted and finall/ '*t to#ether to offer a sol*tion to the ori#inal 'roble&. !*ltia#ent =/ste&s are s/ste&s that )ontain &*lti'le intelli#ent a#ents ho are sharin# the sa&e en"iron&ent% *s*all/ able to )o&&*ni)ate% )oo'erate% )o&'ete or ne#otiate in order to a)hie"e their #oals. !*ltia#ent s/ste&s are *sed to sol"e 'roble&s hi)h )annot be sol"ed ith a sin#le a#ent d*e to 'roble& )o&'le(it/ or to the li&itations of a sin#le a#ent. he )hara)teristi)s of &*ltia#ent s/ste&s )an be defined as follosE •
•
a)h a#ent has in)o&'lete infor&ation or )a'abilities for sol"in# the 'roble& and% th*s% has a li&ited "ie'oint. here is no #lobal )ontrol s/ste&% &eanin# that ea)h a#ent is an a*tono&o*s entit/% *nder nobodies )ontrol a)tin# onl/ on behalf of his on.
•
Data are de)entrali,ed% e"er/ a#ent has its on infor&ation abo*t the en"iron&ent
•
Co&'*tation is as/n)hrono*s.
/'i)all/% in &*lti3a#ent s/ste&s% e"er/ a#ent '*rs*es his on #oal% re#ardless of other a#ents #oals. Me"ertheless% sit*ations e(ist here a #lobal #oal )an be identified for the s/ste&. >hen de"elo'ers desi#n &*ltia#ent s/ste&s% the/ fa)e to +e/ 'roble&s. he first 'roble&% +non as a#ent 'roble& or &i)ro 'roble&% is ho to de"elo' a*tono&o*s a#ents in order to rea)h a #oal. he se)ond 'roble&% +non as so)iet/ 'roble& or &a)ro 'roble&% is ho to desi#n a s/ste&
1
here a#ents intera)t in a *sef*l and )oherent a/. =o&e of the ad"anta#es of !A= are des)ribed beloE •
#reater )o&'*tational effi)ien)/ thro*#h )on)*rren)/$
•
i&'ro"ed reliabilit/ "ia red*ndan)/$
•
e(tensibilit/ of the s/ste& ith ne a#ents and the 'ossibilit/ of )han#in# a#ent )a'abilities$
•
i&'ro"ed &aintainabilit/ d*e to &od*larit/$
•
re*se of a#ents in different s/ste&s$
!*ltia#ent s/ste& )an be *sed in a ide "ariet/ of do&ains in)l*din#E trans'ortation% )o&'*ter #a&es% lo#isti)s% &an*fa)t*rin#% s)hed*lin#% )ontrol% )ollaboration% si&*lation or &odelin# so)ial str*)t*res. 01;101 Comm&$#>a'#o$ #$ M&!'#a%e$' S()'em)
n order to )oordinate and )o&&*ni)ate ith ea)h other a#ents ill basi)all/ ha"e to e()han#e data. A#ent )o&&*ni)ation lan#*a#e allos a#ents to for& a real so)iet/% itho*t e('osin# their internal or+in#s% and th*s ta)+lin# 'roble&s no indi"id*al a#ent )o*ld. here are to &ain a''roa)hes hen it )o&es to a#ent )o&&*ni)ation% the first one based on a#ent )o&&*ni)ation lan#*a#es% and the se)ond one based on bla)+board s/ste&s. >e ill dis)*ss both. As 'eo'le *se nat*ral lan#*a#es to e('ress the&sel"es% a#ents *se a#ent )o&&*ni)ation lan#*a#es IAC;sJ to e()han#e infor&ation% intentions% and #oals. AC;s *s*all/ are &essa#e based% here a#ents send &essa#es to ea)h other for +noled#e e()han#e% )oordination or ne#otiation. Co&&*ni)ation in &*ltia#ent s/ste&s )an be s/n)hroni,ed% here after sendin# a &essa#e an a#ents aits for the res'onse% or as/n)hrono*s. n &an/ )ases% )o&&*ni)atin# a#ents de"elo' a )lient3ser"er relationshi' d*e to &*lti'le &essa#e e()han#es. !ost AC;s ha"e as )o&&on #ro*nd so&e ell defined &essa#e fields s*)h as sender% re)ei"er% )ontent% 'erfor&ati"e% or ontolo#/% *st to na&e a fe. Itell Esender A#ent1 Ere)ei"er A#ent2 Elan#*a#eE A=C Eontolo#/E a*)tion E)ontentE nea&o*ntL1000 J
14
01;10101
Performa'#e)
A 'erfor&ati"e is *s*all/ atta)hed to the )ontent of the &essa#e% hi)h deter&ines hat +ind of intera)tion is *sed. erfor&ati"es si#nif/ that the )ontent is an assertion% a F*er/% a )o&&and or another s'ee)h a)t. erfor&ati"es also des)ribe ho the sender o*ld li+e an/ re'l/ to be deli"ered. n the e(a&'le abo"e the 'erfor&ati"e% ?tell@ is *sed to infor& the re)ei"er that the )ontent is an assertion and that no anser is reF*ested.
01;101+1
O$'o!o%(
A specification of a representational vocabulary for a shared domain of discourse / definitions of classes, relations, functions, and other ob0ects / is called an ontology BGr*ber199 n other ords% in &*ltia#ent s/ste&s% ontolo#/ is a s'e)ifi)ation of a )on)e't*ali,ation% a des)ri'tion on hat )on)e'ts and relationshi 's e(ist for an a#ent )o&&*nit/. n o*r e(a&'le abo"e the &essa#e )ontent is '*t in the )onte(t of an a*)tion% )on)e't hi)h is defined for both sender and re)ei"er. n the lands)a'e of a#ent )o&&*ni)ation lan#*a#es% KN!; and A AC; are the lan#*a#es that &ost si#nifi)antl/ infl*en)ed a#ent )o&&*ni)ation. 01;101.1
8$ow!e<%e =&er( a$< Ma$#"&!a'#o$ La$%&a%e 98=ML:
KN!; IKnoled#e N*er/ and !ani'*lation ;an#*a#eJ is an a#ent )o&&*ni)ation lan#*a#e% )on)ei"ed in the earl/ 90s b/ Knoled#e =harin# ffort IK=J BMe)hes1991% a )onsorti*& led &ostl/ b/ A resear)hers. As the na&e s*##ests% KN!; as initiall/ not desi#ned as an a#ent )o&&*ni)ation lan#*a#e b*t rather as )olle)tion of s'ee)h3a)t3li+e &essa#e t/'es% e('ressed as A=C strin#s% ith a ;=3li+e s/nta(% that are trans'orted o"er CO )onne)tions% and ai&ed at +noled#e and infor&ation e()han#e beteen softare s/ste&s that are "ieed as Pirt*al Knoled#e -ases B;abro*1999. Moada/s KN!; is a hi#h3 le"el &essa#e oriented )o&&*ni)ation lan#*a#e and 'roto)ol a&on# softare a#ents. KN!; )onsists of three se'arate la/ers% the )ontent la/er% the &essa#e la/er and the )o&&*ni)ation la/er. he )ontent la/er holds the a)t*al )ontent of the &essa#e% here the )ontent )an be e('ressed in an/ re'resentation lan#*a#e% s*)h as A=C or binar/ )ode. he )o&&*ni)ation la/er en)odes a set of lo3le"el )o&&*ni)ation 'ara&eters s*)h as identit/ of sender and re)ei"er. he &essa#in# la/er is the )ore of KN!;% definin# a&on# others% the trans'ort 'roto)ol ICO% D% =!% and othersJ% the )ontent lan#*a#e% the *sed ontolo#/ and atta)hes the 'erfor&ati"e% #i"en b/ the sender to the )ontent. hese three la/ers sho ho KN!; is able to anal/,e% ro*te and deli"er &essa#es re#ardless of their )ontent.
15
=o&e of KN!;s feat*res in)l*de inde'enden)e fro& the trans'ort &e)hanis&% inde'enden)e of )ontent lan#*a#e as ell as inde'enden)e of the ontolo#/ ass*&ed b/ the )ontent. 01;10171
FIPA A%e$' Co mm&$#>a'#o$ La $%&a%e 9A CL:
A% short for ntelli#ent h/si)al A#ents% is a non'rofit% standardi, ation or#ani,ation ith the #oal of 'ro&otin# the ind*str/ of intelli#ent a#ents b/ o'enl/ de"elo'in# s'e)ifi)ations s*''ortin# intero'erabilit/ a&on# a#ents and a#ent based a''li)ations. Iinfor& Esender a#ent1 Ere)ei"er h'l3a*)tion3ser"er E)ontent I'ri)e Ibid #ood02J 150J Ein3re'l/3to ro*nd34 Ere'l/3ith bid04 Elan#*a#e sl Eontolo#/ h'l3a*)tion J he A AC; is in &an/ a/s si&ilar to KN!; b*t there are so&e differen)es% e o*ld li+e to 'oint o*t. he A AC; 'erfor&ati"es differ fro& he ones *sed in KN!;% in o*r e(a&'le for instan)e the KN!; ?tell@ 'erfor&ati"e has as eF*i"alent the ?infor&@ 'erfor&ati"e in A AC;. Another differen)e beteen 'erfor&ati"es is the fa)t that KN!; 'erfor&ati"es s*)h as% insert% *ninsert% delete3one% delete3all or *ndelete allo dire)t &ani'*lat ion of another a#ents "irt*al +noled#e base% hereas +noled#e &ani'*lation of other a#ents is not alloed in the A AC;. ;i+e KN!;% the A AC; does not &a+e an/ )o&&it&ent to a )ertain )ontent re'resentation lan#*a#e% altho*#h the A AC; )o&es ith its on )ontent lan#*a#e )alled =;% hi)h is based on &odal lo#i). 01;101/1
B!a>k?oar< S()'em)
-la)+board =/ste&s are% in )ontrast to &essa#e dri"en )o&&*ni)ation lan#*a#es% a )entrali,ed a''roa)h of a#ent )o&&*ni)ation. A hel'f*l and idel/ *sed &eta'hor des)ribin# bla)+board s/ste&s ill be 'resentedE $Imagine a group of human specialists seated ne&t to a large blackboard. he specialists are working cooperatively to solve a problem, using the blackboard as the workplace for developing the solution. 1roblem solving begins when the problem and initial data are written onto the blackboard. he specialists watch the blackboard, looking for an opportunity to apply their e&pertise to the developing solution. hen a specialist finds sufficient information to make a contribution, she records the contribution on the blackboard, hopefully enabling other specialists to apply their e&pertise. his process of adding contributions to the blackboard continues until the problem has been solved. ”
his &eta'hor e&'hasis so&e 'ro'erties of bla)+board s/ste&sE
16
•
inde'enden)e of e('ertise
n )o&'*ter s)ien)e a s'e)ialist is a softare s'e)ialist &od*le% &ore #enerall/ a +noled#e so*r)e IK=J% hi)h is a s'e)iali,ed *nit in sol"in# a 'arti)*lar as'e)t of a 'roble&. a)h K= is inde'endent fro& other K=s$ no K= reF*ires another to &a+e its )ontrib*tion. his a''roa)h allos other K=s to be added to the bla)+ board s/ste&% e(istin# K=s to be re&o"ed or re'la)ed. he abilit/ to add% re&o"e or re'la)e se"eral s'e)iali,ed softare &od*les )reates fle(ibilit/ in desi#nin# and &aintainin# s*)h a''li)ations. •
Di"ersit/ in 'roble&3sol"in# te)hniF*es
"er/ e('ert in the #ro*' &a/ ha"e a different a/ of sol"in# a )ertain as'e)t of a 'roble&% so&e e('erts &a/ *se a traditional linear al#orith& others &a/ *se artifi)ial intelli#en)e te)hniF*es. Hoe"er% be)a*se the internal or+in#s of e"er/ K= are hidden% these s/ste&s )an )oe(ist ithin a bla)+board fra&eor+.
•
le(ible re'resentation of bla)+board infor&ation
nfor&ation that resides on the bla)+board &a/ )o&e in &an/ different re'resentations. nfor&ation )an be re'resented thro*#h n*&bers% senten)es% for&*las and e"en drain#s. here is no restri)tion on hat infor&ation )an be 'la)ed on bla)+board s/ste&s. le(ibilit/ in bla)+board s/ste&s is not *st #i"en b/ the "ariet/ of 'ossible data re'resentations b*t also b/ hat +ind of data is 'osted on the bla)+board. hese in)l*deE 'artial sol*tions% sol*tions% alternati"es and )ontrol data. •
Co&&on intera)tion lan#*a#e
he fle(ible re'resentation of data in bla)+board s/ste&s )ertainl/ de&ands a )o&&on *nderstandin# of infor&ation. his &eans that all K=s sho*ld be able to a))ess and 'ro)ess the data on the bla)+board in order to intera)t. n 'ra)ti)e% bla)+board s/ste&s often )ontain beside a )o&&on re'resentation *sed b/ all K=s% a s'e)iali,ed re'resentation hi)h onl/ a fe e('erts *nderstand. •
"ent3based a)ti"ation
K=s do not intera)t dire)tl/ b*t rather hen a 'arti)*lar e"ent o))*rs% s*)h as a )han#e of infor&ation on the bla)+board that &a/ allo a s'e)ialist to add his )ontrib*tion. "ents &a/ o))*r internall/% s*)h as addin#% &odif/in# or re&o"in# infor&ation fro& the bla)+board% or e(ternall/. s*all/ e('erts do not s)an the hole bla)+board in order to dete)t )han#es re#ardin# infor&ation b*t rather infor& the s/ste& on hi)h +ind of e"ents the/ are interested in. he 17
s/ste& on the other side% re)ords 'arti)*lar e"ents and notifies the interested e('erts of its o))*rren)e. his e"ent3based a''roa)h is es'e)iall/ *sef*l hen dealin# ith a bi# a&o*nt of infor&ation on the bla)+board and here loo+in# *' all the infor&ation for )han#es o*ld be ineffi)ient. •
Meed for )ontrol
A bla)+board s/ste& )onsists of three &aor )o&'onents. -eside the s'e)iali,ed &od*les and the bla)+board% there e(ists a )ontrol *nit% hi)h a)ts as a &oderator beteen softare &od*les ith the ai& of or#ani,in# and s)hed*lin# the a)tions of the s'e)iali,ed &od*les. At ea)h sta#e of 'roble& sol"in# the )ontrol *nit has to sele)t fro& the 'endin# K=s% the &ost a''ro'riate to )ontrib*te. he )ontrol *nit ill )onsider the o"erall benefit that a 'otential K= &a/ brin# to the s/ste&% as ell as the i&'li)ation on the f*rther de"elo'&ent of the sol*tion. >hen a K= is tri##ered% it &a/ also be able to 'ro"ide *sef*l data to the )ontrol )o&'onent s*)h asE the de#ree of F*alit/ of his )ontrib*tion% the )ost of his )ontrib*tion or the e('e)ted res*lt of the )ontrib*tion. >ith this +ind of esti&ates a"ailable% the )ontrol *nit has so&e "al*able )riteria on behalf of hi)h the &ost a''ro'riate K= )an be sele)ted.
F#%&re 01/1 B!a>k?oar< S()'em or%a$#a'#o$ •
n)re&ental sol*tion #eneration
As K=s +ee' brin#in# their )ontrib*tion toards 'roble& sol"in#% the/ &a/ refine e(istin# sol*tions% )ontradi)t e(istin# 'artial sol*tions or s*##est ne dire)tions in 'roble& sol"in#.
1.8.
A#ent based =oftare n#ineerin#
18
n #eneral% be)t3oriented IJ s/ste&s% e('ert s/ste&s% and distrib*ted )o&'*tin# te)hniF*es do not offer sol*tions to the +ind of 'roble&s for hi)h &*lti3a#ent s/ste&s are *sed% for a ran#e of reasons B>ooldrid#e1997. A ne 'aradi#& had to be )reated in order to address all &*lti3a#ent related de"elo'&ent )hallen#es. Qoa" =hoha& 'ro'osed a Rne 'ro#ra&&in# 'aradi#&% based on a so)ietal "ie of )o&'*tation B=hoha&1990. =hoha& 'ro'osed that an A Ia#ent oriented 'ro#ra&&in#J s/ste& sho*ld in)l*deE •
a lo#i)al s/ste& for s'e)if/in# the &ental state and beha"iors of a#ents$
•
an inter'reted 'ro#ra&&in# lan#*a#e for 'ro#ra&&in# a#ents *sin# si&'le "ersions of
the lo#i)al s/ste&$ •
an Ra#entifi)ation 'ro)ess% for #eneratin# e(e)*table a#ents fro& s'e)ifi)ations$
=o&e +e/ feat*res B>ooldrid#e1994 of this ne 'aradi#&% )alled a#ent oriented 'ro#ra&&in# IAJ in)l*deE •
a#ents are a*tono&o*s% )on)*rrentl/ e(e)*tin# )o&'*ter 'ro)esses$
•
a#ents are )o#niti"e s/ste&s% 'ro#ra&&ed in ter&s of beliefs% #oals% and so on$
•
a#ents are reasonin# s/ste&s% s'e)ified in ter&s of lo#i)$
•
a#ents )o&&*ni)ate "ia s'ee)h a)ts S t/'ed &essa#e 'assin#$
ro& the abo"e A 'ro'erties so&e differen)es beteen A and e&er#e. n the )o&'*tational s/ste& is &ade *' of )o&'onents Iobe)tsJ% ea)h )o&'onent sol"in# a tas+ and intera)tin# ith other )o&'onents% handlin# )o&&*ni)ation in its "er/ on a/. n the other hand% in an A fra&eor+ ea)h entit/ Ia#entJ has a fi(ed &ental state )onsistin# of )o&'onents li+eE beliefs% )a'abilities% de)isions. *rther&ore a#ent )o&&*ni)ation differs fro& inter )o&'onent )o&&*ni)ation d*e to the fa)t that a#ent )o&&*ni)ation is based on s'ee)h a)ts e('ressed thro*#h 'erfor&ati"es in )ontrast to obe)t )o&&*ni)ation here ad3ho) &essa#es are freF*entl/ e()han#ed. Another differen)e is #i"en b/ the fa)t that obe)ts are )ontrolled fro& the o*tside hereas a#ents ha"e a 'roa)ti"e beha"ior and )annot be dire)tl/ )ontrolled fro& the o*tside$ in other ords a#ents )an sa/ ?no@ B"eit2001. is re#arded as the s*))essor of str*)t*ral 'ro#ra&&in#% &odelin# &ainl/ stati) entities as obe)ts% li+e b*ildin#s% )ars or ani&als hereas A is )onsidered to be an e(tension of s/ste&s here &ental states are &odeled. 01101 H#%* !ee! me'*o
19
!ethodolo#ies 'ro"ide an iterati"e bl*e'rint for &odelin# and de"elo'&ent of a#ent based s/ste&s. !ethodolo#ies tr/ to fill the #a' beteen a)ade&i) resear)h and a#ents bein# *sed in ind*strial a''li)ations$ ind*str/ often bein# rel*)tant to *se ne and i&&at*re te)hnolo#ies. o ðodolo#/ &odels ill be 'resentedE •
he Gaia ðodolo#/
he Gaia ðodolo#/ introd*)ed b/ >ooldrid#e% ennin#s and Kinn/ B>ooldrid#e2000 is *sed for a#ent anal/sis and desi#n. his ðodolo#/ deals ith both the &i)ro 'roble& of a sin#le a#ents str*)t*re and the &a)ro 'roble& of or#ani,ation of an a#ent so)iet/. his ðodolo#/ as 'ro'osed d*e to the la)+ of ðodolo#ies 'ro'erl/ )a't*rin# the 'ro3a)ti"e nat*re of a#ents. sin# Gaia% softare desi#ners )an s/ste&ati)all/ de"elo' an i&'le&entation3read/ desi#n based on s/ste& reF*ire&ents B"eit2001. n the anal/sis 'hase of Gaia% first% the roles in the s/ste& ha"e to be identified and se)ond intera)tions beteen roles ha"e to be fo*nd. A role is )o&'osed of fo*r ele&entsE res'onsibilities% 'er&issions% a)ti"ities and 'roto)ols.
he !*ltia#ent =/ste&s n#ineerin# !ethodolo#/ I!a=J
he &*ltia#ent s/ste&s en#ineerin# ðodolo#/% is si&ilar to the Gaia ðodolo#/% in s*''ortin# the sa&e a''li)ation do&ain% additionall/ 'ro"idin# s*''ort for )ode #eneration "ia the !a= tool. his ðod olo#/ is str*)t*red into se"en se)tions. he first se)tion deals ith )a't*rin# s/ste& #oals fro& the s'e)ifi)ation reF*ire&ent and ith orderin# the& into a hierar)h/. n the se)ond se)tion *se )ases are desi#ned based on the initial s/ste& s'e)ifi)ations. hese *se )ases des)ribe the lo#i)al intera)tion beteen roles and the s/ste& or *st beteen roles. =eF*en)e dia#ra&s are *sed to des)ribe the &ini&al a&o*nt of &essa#es 'assed beteen 20
roles. he third se)tion defines so&e roles% t/'i)all/ ea)h role sol"in# a s/ste& role deter&ined at the first se)tion$ si&ilar roles &a/ be #ro*'ed to#ether. -eside the roles% tas+s are )reated% ea)h tas+ des)ribin # ho to sol"e #oals related to a role. he fo*rth sta#e attrib *tes the )reated roles to a#ent )lasses% re'resen ted in )lass dia#ra&s. he fifth 'hase )reates state dia#ra&s that define the states of a )o&&*ni)ation lan#*e. hase fi"e )an be re#arded as a )o&&*ni)ation 'roto)ol beteen a#ents. n the si(th se)tion the internal f*n)tionalities of an a#ent are defined. An internal f*n)tionalit/ relies on fi"e t/'es of a#ent ar)hite)t*resE +noled#e based% -D% 'lannin#% rea)ti"e and *ser defined. n the last sta#e the a)t*al a#ent instan)es are )reated% based on the a#ent )lasses and the res*lt en)a's*lated in a de'lo/&ent dia#ra&. he &*ltia#ent en#ineerin# ðodolo#/ f*rther ai&s to a)hie"e a*to&ati) )ode #eneration fro& the de'lo/&ent dia#ra&. 011+1 De)#%$ me'*o<)
=e"eral desi#n ðods ha"e been 'ro'osed% either ins'ired fro& the obe)t oriented softare en#ineerin# field% or fro& ðodolo#ies. n B"eit2001 fo*r desi#n ðods are dis)*ssedE !;% desi#n 'atterns% )o&'onents and #ra'hs. >e ill dis)*ss to of the&. •
nified &odelin# lan#*a#e I!;J
he *nified &odelin# lan#*a#e as ori#inall/ )reated to standardi,e the desi#n of obe)t )lasses *sin# #ra'hi)al re'resentations. here ha"e been se"eral 'ro'osals on ho to &a+e *se of !; as a desi#n tool for &*ltia#ent s/ste&s. o different trends e&er#ed% the first ith the intent of &odif/in# the )*rrent !; standard to be able to re'resent all a#ent related as'e)ts and the se)ond one to *se the )*rrent !; standard a''l/in# a hi#her abstra)ti,ation le"el. -er#enti and o##i B-er#enti2000 'ro'ose a hi#h3le"el abstra)ti,ation of the !; lan#*a#e *sin# *st fo*r dia#ra&s. he first *sed dia# ra& is the ontology diagram hi)h des)ribes% *sin# a standard !; )lass dia#ra&% the orld as relations beteen entities. he se)ond dia#ra& is the ar)hite)t*re dia#ra&% hi)h &odels the )onfi#*ration of a &*ltia#ent s/ste& *sin# a !; de'lo/&ent dia#ra&. he third dia#ra&% the 'roto)ol dia#ra& is *sed to des)ribe the a#ent intera)tion lan#*a#e *sin# an obe)t )ollaboration dia#ra&. he last *sed dia#ra& is a )lass dia#ra& that is *sed to &odel the f*n)tionalities of a#ent roles. he se)ond a''roa)h as to introd*)e an e(tension to the !; to )a't*re all the as'e)ts of a#ents. his as a)hie"ed ith the )reation of A!;% the a#ent based *nified &odelin# lan#*a#e. Co&'onents • rol% ;an# and ;e"/ Brol2000 'ro'ose a three tier ar)hite)t*re% here re*sable )o&'onents are to asse&ble a#ents. he first tier interactions is &ade *' o*t of a#ent roles% the se)ond tier local
21
information and storage deals ith storin# a#ent related infor&ation s*)h as state% 'lan and )onstraints and the third tier handles do&ain s'e)ifi) )ontent infor&ation.
22
CHAPTER II
2.
A#ent de"elo'&ent en"iron&ents
his )ha'ter 'resents to different a#ent de"elo'&ent en"iron&ents% ith the intention of hi#hli#htin# the &ost i&'ortant feat*res the/ ha"e to offer as ell as dis)*ssin# the 'arti)*larities of ea)h one. A))ordin# to B1 o"er 100 a#ent tool+its and de"elo'&ents en"iron&ents ha"e been released so far. De"elo'ers of a#ent s/ste&s rel/ hea"il/ on these tool+its be)a*se it is *nrealisti) for the& to de"elo' a ne infrastr*)t*re ith ea)h ne a''li)ation. A#ent de"elo'&ent en"iron&ents 'ro"ide a hole infrastr*)t*re% ran#in# fro& si&'le feat*res s*)h as &essa#e trans'ort to &ore de&andin# ones s*)h as a#ent &onitorin# tools% that allos de"elo'ers to fo)*s on do&ain based )hallen#es. =o&e of the &ost infl*ential de"elo'&ent en"iron&ents fro& both a)ade&ia and ind*str/ ill be dis)*ssed.
2.1.
a)+ ntelli#ent A#ents a)+ ntelli#ent A#ents% for short a)+% is an a#ent de"elo'&ent en"iron&ent that enables
de"elo'ers to )reate si&'le rational beha"ed a#ents a)tin# in a &*ltia#ent s/ste&. a)+ is b*ilt on to' of a"a% as an e(tension of obe)t oriented 'ro#ra&& in# ith a#ent related feat*res s*)h as% a#ents% )a'abilities% 'lans% e"ents% +noled#e bases% th*s 'ro"idin# a 'oerf*l tool+it for easin# de"elo'&ent of a#ent a''li)ations. A definition of a a)+ a#ent is #i"en in B2E a)+ a#ents are defined as ?
autonomous
software components that have goals to achieve@ *nder ? both pro2active ... and reactive ... stimuli@. a)+ introd*)es ne s/nta)ti) and se&anti) feat*res % and brin#s a hole set of )lasses and interfa)es that allo &ani'*lation of a#ent related )o&'onents. a)+ is not )o&&itted to a )ertain a#ent )o&&*ni)ation lan#*a#e% hi#h le"el )o&&*ni)ation lan#*a#es s*)h as KN!; or As a#ent )o&&*ni)ation lan#*a#e IAC;J )an be *sed. a)+ s*''orts a lar#e "ariet/ of a#ent ar)hite)t*res% hoe"er the &ost 'o'*lar bein# the -D ar)hite)t*re. n a -D ar)hite)t*re on)e an a#ent starts his a)ti"it/ he is '*rs*in# his o"erall #oals IdesiresJ and ado'ts o'ti&al 'lans IintentionsJ a))ordin# to the +noled#e an a#ent 'ossesses abo*t the orld IbeliefsJ. A))ordin# to BHoden2001 to an a''li)ation 'ro#ra&&er a)+ )*rrentl/ )onsists of three &ain e(tensions to a"a. he first e(tension #i"es the a)+ intelli#ent A#ents lan#*a#e additional s/nta(. his )an be di"ided intoE
2
•
a s&all n*&ber of +e/ords for the identifi)ation of the &ain )o&'onents of an a#ent
Is*)h as agent% plan and eventJ$ •
a set of state&ents for the de)laration of attrib*tes and other )hara) teristi)s of the
)o&'onents Ifor instan)e% the infor&ation )ontained in beliefs or )arried b/ e"entsJ$ a"a ens*res that all attrib*tes are stron#l/ t/'ed. •
a set of state&ents for the definition of stati) relationshi's Ifor instan)e% hi)h 'lans )an be ado'ted to rea)t to a )ertain e"entJ$ •
a set of state&ents for the &ani'*lation of an a#entTs state Ifor instan)e% additions of ne
#oals or s*b3#oals to be a)hie"ed% )han#es of beliefs% intera)tion ith other a#entsJ$ he a)+ )o&'iler is )onsidered the se)ond e(tension to the a"a lan#*a#e. a)+ A#ents )an o'erate on an/ 'latfor& s*''ortin# a"a be)a*se the a)+ a#ent lan#*a#e is f*ll/ )o&'iled into re#*lar a"a. Additionall/ the )o&'iled )ode )an be loaded and )alled fro& other a"a )ode. inall/% the third e(tension% a set of )lasses I)alled the +ernelJ 'ro"ides the reF*ired r*n3ti&e s*''ort to the #enerated )ode. his in)l*desE •
a*to&ati) &ana#e&ent of )on)*rren)/ a&on# tas+s bein# '*rs*ed in 'arallel Intentions
in the -D ter&inolo#/J$ •
defa*lt beha"ior of the a#ent in rea)tion to e"ents% fail*re of a)tions and tas+s% and so on$
•
nati"e li#htei#ht )o&&*ni)ations infrastr*)t*re for &*lti3a#ent a''li)ations% hen
'erfor&an)e is an iss*e$ he a)+ +ernel s*''orts &*lti'le a#ents a)ross one 'ro)ess as ell as &*lti'le a#ents a)ross &an/ 'ro)esses. his enables si&ilar a#ents% or a#ents hi)h share &ost of their )ode to r*n in a sin#le 'ro)ess% )onseF*entl/ sa"in# "al*able reso*r)es. >hen de"elo'ers tr/ to e(tend or )han#e a#ent ar)hite)t*re the/ *s*all/ ha"e to o"erride the defa*lt +ernel ðods ritten in a"a or 'ro"ide ne )lasses for r*n3ti&e s*''ort. *rther&ore o"erridin# )ertain r*n3ti&e ðods enable de"elo'ers to )han#e e(istin# )o&&*ni)ation infrastr*)t*re. n a a)+ en"iron&ent e"er/ a#ent hasE •
a set of beliefs that re'resent the +noled#e abo*t the o*tside orld$
•
a set of e"ents at hose o))*rren)e the a#ent res'onds$
•
a set of #oals that the a#ent ill tr/ to a)hie"e$
•
a set of 'lans that des)ribe ho so&e e"ents sho*ld be handled in )ase of their
o))*rren)e$ Ee$')
24
>hen an e"ent o))*rs% the a#ent is &oti"ated to ta+e a)tion. "ents are tri##ered d*e to internal sti&*li% e(ternal sti&*li or &oti"ations. >hen internal sti&*li o))*r% then an a#ent sends an e"ent to itself% *s*all/ as a res*lt of e(e)*tin# reasonin# ðods in 'lans. (ternal sti&*li in)l*de &essa#es re)ei"ed fro& other a#ents as ell as 'er)e'ts that an a#ent re)ei"es fro& its en"iron&ent. "ents )an also o))*r in for& of &oti"ations% here a &oti"ation is a #oal an a#ent is )o&&itted to a)hie"e. n this )ase% a#ents )an 'ost ne e"ents internall/ ith the intent to be handled b/ other 'lans. >e )an distin#*ish beteen to t/'es of e"entsE nor&al e"ents and -D e"ents. A nor&al e"ent re'resents transient infor&ation that the a#ent rea)ts to% hereas -D e"ents are #oal dri"en% in other ords a#ents )o&&it to the desired o*t)o&e% b*t do not )hoose the ðod to a)hie"e it. P!a$)
A 'lan )an be seen as a re)i'e toards #oal a))o&'lish&ent. A 'lan t/'i)all/ )ontains se"eral ste's% and b/ e(e)*tin# the&% the a#ent tries to a)hie"e its #oals and handle its desi#nated e"ents. a)h 'lan handles a sin#le e"ent% b*t &*lti'le 'lans &a/ handle the sa&e e"ent. n )ertain sit*ations a#ents ill ha"e to )hoose fro& &*lti'le 'lans in order to a)hie"e their #oal or to rea)t to an e"ent. n this )ase an a#ent )an e(e)*te the 'lans relevant(# ðod to deter&ine hether that 'lan is rele"ant in the #i"en sit*ation. After eli&inatin# all the irrele"ant 'lans an a#ent )an e(e)*te the conte&t(# ðod of a 'lan to test hether that 'lan is a''li)able or not. Be!#efSe'
he -elief=et re'resents the a#ents beliefs I+noled#eJ abo*t the en"iron&ent. he beliefs are re'resented *sin# a t*'le3based relational &odel. a)h t*'le )an be tr*e% false or *n+non. here are to a''roa)hes hen it )o&es to -elief=ets. he first one is the ?Closed>orld orld
a)hie"ed. Altho*#h a)+ allos a#ent )ollaboration it does not offer an/ s*''ort for this. a)+ ea&s e(tends a)+ into a tea& oriented 'ro#ra&&in# en"iron&ent.
2.2.
he 'en A#ent Ar)hite)t*re IAAJ he 'en A#ent Ar)hite)t*re de"elo'ed b/ =< nternational% is a fra&eor+ for
)onstr*)tin# &*ltia#ent s/ste&s in hi)h a#ents )oo'erate to a)hie"e their desi#n #oals. he AA is desi#ned to or+ in o'en s/ste&s% here a#ents )an be ritten in a n*&ber of different 'ro#ra&&in# lan#*a#es s*)h as a"a% rolo# or erl. AA is based on a#ents in a )o&&*nit/ of a#ents or+in# to#ether to a)hie"e #oals B4. he AA a#ent librar/ 'ro"ides the ne)essar/ infrastr*)t*re for )reation of a &*ltia#ent s/ste&. he a#ent librar/ 'ro"ides 'ro)ed*res that are a"ailable in se"eral 'ro#ra&&in# lan#*a#es s*)h as a"a% Pis*al -asi)% ;is'% rolo#% C% CUU and Del'hi. he 'en a#ent ar)hite)t*re )an be defined as follosE ?independent processes which communicate and cooperate with each other across a distributed
network... 3agents can4 actively contribute to a computation as opposed to being only passive participants.@B4 A))ordin# to this definition the AA a#en t e(hibits 'ro'erties li+e so)ial abilit/% a#ents )oo'eratin# ith ea)h other to rea)h a #i"en #oal and 'ro3a)ti"eness be)a*se a#ents )an a)ti"el/ )ontrib*te to a )o&'*tation. ther a#ent )hara)teristi)s li+e a*tono&/ and rea)ti"it/ are not &entioned in the definition b*t these are reF*ired b/ AA a#ents. +1+10
OOA A%e$')
A s'e)ial a#ent 'ro"ided b/ AA is the a#ent a)ilitator a#ent% hi)h is res'onsible for findin# &at)hin# reF*ests% fro& *sers and a#ents% re#ardin# the )a'abilities of other a#ents.
26
F#%&re +10 OOA A%e$' or%a$#a'#o$
A#ents do not ha"e to 'ossess an/ 'rior infor&ation abo*t other a#ents lo)ation% identit/ or ser"i)es in order to e&'lo/ the a)ilitator to sear)h for )ertain )a'abilities. >hen an a#ent starts *'% it a*to&ati)all/ )onne)ts to a a)ilitator a#ent sendin# a list of offered ser"i)es. A#ents )an reF*est a ser"i)e fro& other a#ents b/ )onta)tin# a a)ilitator and not thro*#h dire)t a#ent to a#ent )o&&*ni)ation. n)e a a)ilitator re)ei"es a reF*est fro& an a#ent it sele)ts% *sin# the list of s*bs)ribed a#ents and their offered ser"i)es% the &ost a''ro'riate a#ent% also +non as sol"in# a#ent and dele#ates the tas+. he a)ilitator a#ent )an )hoose to de)o&'ose the tas+ and e&'lo/ se"eral a#ents% ea)h of the& sol"in# a 'art of the 'roble&. n)e the a)ilitator re)ei"es the res*lts% it sends the& ba)+ to the reF*estin# a#ent. he a)ilitator a#ent is also able to send a tas+ to se"eral a#ents for 'arallel )o&'*tation. n)e ea)h in"o+ed a#ent )o&es *' ith the res*lt% the fa)ilitator sends the& ba)+ to the a#ent ho reF*ired the ser"i)e% here the &ost s*itable sol*tion )an be sele)ted. All the other a#ents besides the a)ilitator a#ent are )alled )lient a#ents and )an be )ate#ori,ed as follosE a''li)ation a#ents% &eta3a#ents% and *ser interfa)e a#ents B!artin1999. A''li)ation a#ents are *s*all/ s'e)iali,ed in 'ro"idin# a )ertain ser"i)e% either do&ain inde'endent te)hnolo#ies s*)h as s'ee)h re)o#nition or e&ail% or do&ain s'e)ifi) s*)h as a reser"ation a#ent. !eta a#ents are desi#ned to assist the a)ilitator a#ent hen )oordinatin# the a)ti"it/ of other a#ents. he a)ilitator a#ent 'ossesses onl/ do&ain inde'endent strate#ies hile &eta a#ents rel/ on do&ain s'e)ifi) )oordination strate#ies. ser interfa)e a#ent 'la/s a "er/ interestin# role in A s/ste&s. n so&e A s/ste&s the *ser interfa)e a#ent )onsists of se"eral ?&i)ro a#ents@% ea)h of the& &onitorin# a different in'*t t/'e. n'*t t/'es in)l*deE 'oint and )li)+% handritin#% 'en #est*res and s'ee)h. n the s'irit of AA these a#ents )ollaborate in order to deter&ine the best inter'retation of the 'ro"ided in'*t. n an A en"iron&ent se"eral a)ilitator a#ents% or#ani,ed hierar)hi)all/ )an be de'lo/ed% ea)h a)ilitator a#ent ha"in# its on ser"i)e a#ents. s*all/ the s/ste& atte&'ts to a)hie"e #oals lo)all/% b*t if it )annot do so% it ill 'ro'a#ate F*eries f*rther *' the str*)t*re BCohen1994. +1+1+
T*e I $'era%e$' >omm &$#>a'#o$ !a $%&a%e 9 ICL:
he ntera#ent )o&&*ni)ation lan#*a#e is the )o&&*ni)ation% )oordination and interfa)e lan#*a#e of all the a#ents in an A en"iron&ent. A a#ents *se the C; to e(e)*te a)tions% to 'erfor& F*eries% to &ani'*late or e()han#e data ith other a#ents. All a#ents in an A en"iron&ent *se the C;% re#ardless in hi)h 'ro#ra&&in# lan#*a#e the/ are ritten and re#ardless on hi)h 'latfor& the/ r*n. he &ost i&'ortant ele&ent that )an be e('ressed thro*#h the ntera#ent )o&&*ni)ation lan#*a#e is the e"ent. An e"ent )an be )onsidered as 27
bein# a #oal to satisf/ b*t also ser"es as &essa#e e()han#e beteen a#ents. A short e(a&'le ill be 'ro"ided. Ass*&in# that an a#ent ants to dele#ate a tas+% the oaa56olve 'ro)ed*re% an A librar/ 'ro)ed*re% &a/ be )alled fro& the a#ent )ode. he res*lt of this )all is the #eneration of an e"ent ha"in# the for& e"'ostsol"eIGoal% ara&sJ% here e"'ostsol"es is the t/'e of the e"ent% Goal the e"ent )ontent% and ara&s a list of 'ro"ided 'ara&eters. or a#ent )o&&*ni)ation the C; in)l*des to la/ers% a )on"ersational la/er and a )ontent la/er. he )on"ersational la/er )onsists of a )o&bination of e"ent t/'es and 'ara&eter "al*e. his #i"es the C; a #reater e('ressi"eness then )o&&*ni)ation lan#*a#es that *se 'erfor&ati"e a)ts s*)h as KN!;. n A a reF*est to sol"e a 'roble& )an be e('ressed tho*#h an e"ent of t/'e e"'ostsol"e in )o&bination ith the sol*tionli&itIMJ 'ara&eter% indi)atin# that at &ost n sol*tions ha"e to fo*nd. he )o&bination of e"ents and 'ara&eters offers a fle(ible &anner in hi)h a#ents )an )o&&*ni)ate% in )ontrast to s'ee)h a)t based )o&&*ni)ation lan#*a#es here for the sa&e reF*est as des)ribed abo"e *st a fi(ed n*&ber of sol*tions )an be obtained d*e to the la)+ of a''ro'riate 'erfor&ati"es. he )ontent la/er )onsists of the s'e)ifi) #oals% tri##ers% and data ele&ents that &a/ be e&bedded ithin "ario*s e"ents B!artin1999. =*''ort for )onstr*)tion% 'arsin# and &ani'*lation of )ontent e('ression is
'ro"ided b/ the A libraries. Altho*#h )ontent )an be re'resented in other lan#*a#es than the C;% it is re)o&&ended to *se the C; lan#*a#e &ainl/ be)a*se to allo the a)ilitator to a))ess the )onte nt. f the )ontent is a))essible% tas+ dele#ation as ell as tas+ de)o& 'osition% if reF*ired% )an be done in a 'ro'er &anner b/ the a)ilitator. +1+1.
Tr#%%er) =i&ilar to their *sa#e in relational databases tri##ers des)ribe a )ertain a)tion that ill be
e(e)*ted at a )ertain 'oint in ti&e. s*all/ tri##ers e(e)*te a )ertain a)tion as a res'onse to e(ternal sti&*li or hene"er a s'e)ified )ondition is tr*e. n B!artin1999 fo*r t/'es of tri##ers are )onsideredE •
Co&&*ni)ation tri##ers that allo the e(e)*tion of a )ertain a)tion hene"er &essa#es
are sent or re)ei"ed. or instan)e% an a#ent &a/ de)ide to reF*est a ne ser"i)e hen a )ertain &essa#e arri"es. •
Data tri##ers that allo the &onitorin# of a data re'ositor/ Isee 2.2.4J. or instan)e% if a
"al*e )ontained in a data sol"able &at)hes a 'redefined "al*e% a &essa#e is dis'la/ed on the )onsole.
28
•
as+ tri##ers )ontain )onditions that are )he)+ed e"er/ ti&e an in)o&in# e"ent has been
'ro)essed$ in other ords% the/ )he)+ if an internal sol"able be)o&es "alid. A tas+ tri##er e(a&'le &a/ beE ?Motif/ &e if a 'erson "ieed &/ eb 'rofile@. •
i&e tri##ers that allo the firin# of a )ertain a)tion at a #i"en 'oint in ti&e.
+1+171 So!a?!e) "er/ a#ent in an A en"iron&ent has to '*blish to a )ertain a)ilitator a list of
ser"i)es he offers. hese )a'abilities a#ents 'ossess are e('ressed in the C; and *s*all/ referred to as sol"ables. here are to &ain t/'es of sol"ables% data sol"ables% hi)h are )on)e't*all/ the sa&e as relations in a relational database or 'ro)ed*re sol"ables. A 'ro)ed*re sol"able *s*all/ does a )ertain a)tion li+e hen a reser"ation a#ent )he)+s hether ne fli#hts in a )ertain 'ri)e ran#e are a"ailable% hereas data sol"ables 'ro"ide a))ess to a )olle)tion of data. A sol"able has the folloin# for&atE sol"ableIGoal% ara&eters% er&issionsJ. he Goal% en)oded in the C;% des)ribes the a)t*al ser"i)e the a#ent offers. he 'ara&eter list )an in)l*de o'tions% 'erha's the &ost i&'ortant one bein# the t/'e o'tion s'e)if/in# hether it is a 'ro)ed*re sol"able or a data sol"able. he er&ission of a sol"able indi)ates to thin#s% first hether other a#ents )an a))ess the ser"i)e 'ro"ided b/ a sol"able and se)ond hether other a#ents )an &odif/ infora&tion asso)iated to data sol"ables. -/ defa*lt% all a#ents )an )all a sol"able% in"o+in# a )ertain ser"i)e and &odif/ the )olle)tion of fa)ts asso)iated to a data sol"able. An e(a&'le of a data sol"able is 'resented belo sol"ableIlast&essa#eIe&ail% 3!essa#edJ% Bt/'eIdataJ% sin#le"al*eItr*eJ% Brite Itr*eJJ A allos the )reation and &ani'*lation of data re'ositories *sin# data sol"ables. o )reate a data sol"able it has to be de)lared% *st as the e(a&'le abo"e shos. A database )onsists of one or &ore data sol"ables% ea)h a#ent 'ossibl/ ha"in# its on database. A#ents )an F*er/ ele&ents of a )reated database ith the oaa56olve 'ro)ed*re. *rther&ore% an a#ent )an *se librar/ 'ro)ed*res to add% re&o"e or re'la)e data sol"ables of his database an e"en of another a#ent database% if it is alloed. o#ether ith the *se of tri##ers% this f*n)tionalit/ enables the de"elo'&ent of bla)+board s/ste&s. Hoe"er% to b*ild an a*thenti) bla)+board s/ste&s a))ess to a #lobal database has to be #ranted for e"er/ in"ol"ed a#ent.
29
CHAPTER III
.
a"a A#ent De"elo'&ent ra&eor+ IadeJ
n this )ha'ter the a"a A#ent De"elo'&ent ra&eor+ IadeJ ill be 'resented. nsi#hts ill be #i"en on the ade ar)hite)t*re% on the basi) and the ad"an)ed feat*res the fra&eor+ offers% dis)*ssin# a&on# others the i&'a)t that A Ihe o*ndation for ntelli#ent h/si)al A#entsJ s'e)ifi)ations ha"e on ade. ='e)ial attention and in detail e('lanation re)ei"e ade feat*res that ill be in fo)*s in Cha'ter P. ade stands for a"a A#ent De"elo'&ent fra&eor+ and is a toda/ idel/ *sed a#ent oriented &iddleare. ade as ori#i nall/ de"elo'ed b/ the 7esearch 8 9evelopment de'art&ent of ele)o& talia s.'.a and is toda/ #o"erned b/ an international board. >ritten entirel/ in a"a% ade allos de"elo'ers to benefit fro& the 'erfor&an)e and the feat*res the *nderl/in# a"a lan#*a#e has to offer. he ade 'ro#ra&&in# lan#*a#e is in f*ll )o&'lian)e ith A s'e)ifi)ations &a+in# it therefore hi#hl/ intero'erable ith other 'latfor&s that res'e)t the A s'e)ifi)ations.
.1.
he o*ndation for ntelli#ent% h/si)al A#ents IAJ A as fo*nded in 1996 as an international non3'rofit or#ani,ation ith the ai& of
de"elo'in# and 'ro&otin# a#ent softare related standards. hese standards o*ld e"ent*all/ lead to a #reater intero'erabilit/ beteen a#ents and a#ent based softare a''li)ations. he &e&bershi' of A )onsists of both a)ade&i) and ind*strial or#ani,ations and thro*#h an iterati"e 'ro)ess o"er se"eral /ears% the A )onsorti*& de"elo'ed a )ore set of s'e)ifi)ations that ent thro*#h three re"ie )/)lesE A97% A98 and A2000 B-ellife&ine2007. D*rin# the e"ol*tion of A% se"eral a#ent related ideas ha"e been 'ro'osed b*t *st so&e of the& rea)hed standard stat*s. >e ill dis)*ss briefl/ the &ost i&'ortant 'arts of the A s'e)ifi)ation. •
A#ent Co&&*ni)ation
A#ent )o&&*ni)ation is a )entral 'art of the A s'e)ifi)ations% ha"in# de"elo'ed ith A AC;% dis)*ssed in se)tion 1.7.1.4% one of toda/s &ost 'o'*lar a#ent )o&&*ni)ation lan#*a#es. A AC; is based on s'ee)h a)t theor/% )o&in# ith a set of 22 'erfor&ati"es and alloin# de"elo'ers to e('ress &essa#e )ontent in an/ 'arti)*lar lan#*a#e. Me"ertheless% A AC; 'ro"ides s'e)ifi)ations for se"eral re'resentation lan#*a#es in)l*din# A3=;% hi)h is the onl/ standard s'e)ifi)ation% A3K and A3
intera)tion 'roto)ols% ea)h des)ribin# a seF*en)e of &essa#e e()han#es. hese 'roto)ols are &ainl/ *sed to )oordinate a#ents or to des)ribe the or+flo of inter a#ent ne#otiation. •
A#ent !ana#e&ent
A se)ond f*nda&ental as'e)t addressed b/ A is a#ent &ana#e&ent. A#ent &ana#e&ent deals ith the )reation% re#istration% lo)ation% )o&&*ni)ation% &i#ration and o'eration of a#ents. he A a#ent &ana#e&ent referen)e &odel is 'resented belo.
F#%&re .101 T*e FIPA a%e$' ma$a%eme$' refere$>e mo
he referen)e &odel )o&'onents ill be dis)*ssed thro*#ho*t this )ha'ter referrin# 'arti)*larl/ to the AD de"elo'&ent en"iron&ent. •
Abstra)t Ar)hite)t*re
he abstra)t ar)hite)t*re as )reated b/ ado'tin# a *nified s'e)ifi)ation hi)h )ontains the &ost )entral 'arts of all A s'e)ifi)ations. AC; &essa#e str*)t*re% &essa#e trans'ort% a#ent dire)tor/ ser"i)es and ser"i)e dire)tor/ ser"i)es are )onsidered &andator/ in the abstra)t ar)hite)t*re. he benefits of the abstra)t ar)hite)t*re are e('lained in B-ellif&ine2007E ?
he
overall goal of the approach is to permit the creation of systems that seamlessly integrate within their specific computing environment while interoperating with agent systems residing in separate environments.@
.2.
ade Ar)hite)t*re
1
A ade 'latfor& is )o&'osed of one ore &ore a#ent )ontainers hi)h )an be distrib*ted a)ross a netor+. Containers are entities in hi)h a#ents li"e 'ro"idin# the ne)essar/ infrastr*)t*re for hostin# and e(e)*tin# a#ents. A ' arti)*lar )ontainer is the main container% hi)h is ala/s the first )ontainer to be la*n)hed. All the )ontainers la*n)hed after the &ain )ontainer ha"e to re#ister ith the first one la*n)hed. -/ defa*lt% the &ain )ontainer is na&ed ?ain :ontainer@% hile other )ontainer are si&'l/ na&ed ?Container31@% ?Container32@% ?Container3@ and so on. A *niF*e A#ent dentifier IADJ identifies e"er/ ade a#ent. "er/ AD is )o&'osed of a set of infor&ation in )o&'lian)e ith A standards. he to &ain ele&ents of this set are the a#ent na&e and its address. An a#ent na&e is b*ilt b/ )on)atenatin# the *ser defined a#ent na&e ith the na&e of the 'latfor& the a#ent is r*nnin# on. A#ent na&es are of the for&E Vlo)al3na&eWXV'latfor&3na&eW A#ent na&es are #loball/ *niF*e and ithin 'latfor&s a#ents )an be identified onl/ thro*#h their lo)al na&es. he address of an a#ent is inherited fro& the 'latfor& the a#ent li"es on% ea)h 'latfor& ha"in# an address hi)h )an re)ei"e A )o&'liant &essa#es "ia the !essa#e rans'ort roto)ol I!J. .1+101 T*e A%e$' P!a'form 9AP:
he a#ent 'latfor& offers a 'h/si)al infrastr*)t*re here a#ents are 'la)ed in. An a#ent 'latfor& )ontains hosts% o'eratin# s/ste&s% a#ent &ana#e&ent )o&'onents as ell as a#ents. A#ents ithin a 'latfor& do not ha"e to )oe(ist on the sa&e host% b*t still ha"in# a))ess to the sa&e infrastr*)t*ral ser"i)es. he i&'lantation of an a#ent 'latfor& is left to the de"elo'er% A not 'ro"idin# an/ s'e)ifi)ations. .1+1+1 A%e$' Ma$a%eme$' S()'em 9AMS:
he tas+ of the a#ent &ana#e&ent s/ste& is to &ana#e all the a#ent 'latfor&s o'erations. here are se"eral +inds of a#ent 'latfor& o'erations ran#in# fro& a#ent )reation% &i#ration or deletion to 'ro"idin# a#ent des)ri'tions. >ithin an a#ent 'latfor& onl/ one A!= )an e(ist% e"en if the 'latfor& is s'read a)ross &*lti'le hosts. 'on )reation% an a#ent has to re#ister ith the A!= in order to obtain an AD. n)e an a#ent ter&inates it has to dere#ister fro& the A!=% the a#ents AD bein# a"ailable for other a#ents.
.. !essa#e rans'ort =er"i)e I!J A))ordin# to A s'e)ifi)ations a &essa#e trans'ort ser"i)e is one of the &ost i&'ortant ser"i)es an a#ent 'latfor& has to offer. he ! handles all inter3'latfor& &essa#e 2
e()han#es. ade i&'le&ents the A s'e)ifi)ation that defines the ! in order to a)hie"e a hi#h de#ree of intero'erabilit/ ith other non3ade 'latfor&s. he defa*lt trans'ort 'roto)ol for the ade ! is the H 'roto)ol% other trans'ort 'roto)ols s*)h as or != bein# a"ailable on the '*bli) do&ain B-ellife&ine2007. >hen a#ents% re#ardless of the )ontainer the/ li"e in% e()han#e &essa#es ithin the sa&e 'latfor& a s'e)ial 'roto)ol% the ! Internal !essa#e rans'ort roto)olJ is *sed to deli"er &essa#es. here are )*rrentl/ to i&'le&entations of the !% one based on a"a
.4. ade ools ade offers a "ariet/ of *sef*l tools for la*n)hin#% o'eratin# and &onitorin# a#ents. he need for s*)h tools is #i"en b/ the fa)t that &*ltia#ent s/ste&s are *s*all/ )o&'le(% distrib*ted a)ross se"eral hosts% ith a#ents a''earin#% &i#ratin# and disa''earin#. n this sit*ation 'oerf*l tools% as e ill see% ease the &aintenan)e and deb*##in# 'ro)ess si#nifi)antl/. .17101 T*e "!a'form ma$a %eme$' >o$) o!e
he
!ani'*latin# a#ents
=e"eral o'tions are a"ailable for a#ent &ani'*lation. hese in)l*deE )reatin# ne a#ents% loadin# e(istin# a#ents% s*s'endin# or re&o"in# an a#ent% free,in# an a#ent% )lonin# an a#ent or &i#ratin# an a#ent to a different )ontainer. *rther&ore% it is 'ossible to send ad3ho) &essa#es to a#ents. •
!ani'*latin# )ontainers
-asi) )ontainer o'erations in)l*deE sa"in#% loadin# and +illin# a sele)ted )ontainer. >hen )ontainers are sa"ed or loaded all the resident a#ents are also sa"ed or loaded. Containers s*''ort installation and *ninstallation of )*sto& &essa#e trans'ort 'roto)ols I!sJ.
•
!ani'*latin# a#ent 'latfor&s
he
he D*&&/ A#ent is a tool *sed for sendin# sti&*li% in for& of AC; &essa#es% to a#ents in order to test their beha"iors. his si&'le tool is able to both send and re)ei"e &essa#es% &essa#es that )an be loaded or sa"ed% fro& or into files. he D*&&/ A#ent is *sed &ainl/ in the de"elo'&ent 'ro)ess% b/ sendin# s'e)ifi) &essa#es to a#ents and e"al*atin# the a#ents rea)tion b/ anal/,in# the re)ei"ed res'onse. .171.1 T*e S$ #ffer A%e$'
n )ontrast to the D*&&/ A#ent here onl/ a sin#le a#ent )o*ld be &onitored at a ti&e% the =niffer a#ent offers the 'ossibilit/ of &onitorin# hole )on"ersations beteen a#ents. ro& the =niffer A#ent G a#ents )an be sele)ted for sniffin#% &eani n# that e"er/ &essa#e dire)ted or )o&in# fro& sele)ted a#ents ill be tra)+ed. he =niffer A#ent G also )ontains a )an"as hi)h #ra'hi)all/ re'resents the tra)+ed &essa#es. a)h arro indi)ates a &essa#e hile ea)h )olor indi)ates a distin)t )on"ersation. .17171 T*e I$'ro)"e>'or A%e$'
his a#ent is *sed to &onitor and deb*# the beha"ior of a sin#le a#ent% the &onitorin# #oin# as far as the a#ents life)/)le. he ntros'e)tor a#ent F*e*es all the sent and re)ei"ed &essa#es of a tra)+ed a#ent and &onit ors the F*e*e of s)hed*led beha"iors Isee .5.2 J. Additionall/ the tool offers infor&ation on hi)h beha"iors are e(e)*ted and hi)h ones are 'assed to the slee'in# F*e*e. =*&&ari,in#% this tool offers intros'e)tion of an a#ents e(e)*tion. .171/1 T*e Lo% Ma$a%er A%e$'
he ;o# !ana#er A#ent is a tool that allos r*n3ti&e )han#e of lo##in# le"els for ea)h ade )o&'onent% re&ote )o&'onents in)l*ded. "er/ )lass in the ade en"iron&ent &a/ ha"e its on instan)e of the ;o##er )lass% th*s enablin# the ;o# !ana#er A#ent to +ee' a list of all lo##ed )o&'onents. or e"er/ )o&'onent in the ;o# !ana#er A#ents list% "al*es for lo##in# le"el and lo##in# handlers &a/ be &odified at r*n ti&e. his f*n)tionalit/ is 'arti)*larl/ *sef*ll/ hen deb*##in# a''li)ation is reF*ired itho*t restartin# the a#ent 'latfor&.
.5. -asi) eat*res
4
.1/101 Crea'#o$ a$< Term#$a'#o$ of A%e$')
>e ill sho ho a#ents are )reated and destro/ed 'ro"id in# 'erha's the &ost si&'le a#ent e(a&'le. he Hello >orld A#ent 'resented belo does nothin# &ore then ritin# a &essa#e to the standard o*t'*t.
import jade.core.Agent; public class HelloWorldAgent extends Agent { protected void setup() { // Printout a welcome message !stem.out.println("Hello World#"); $ $
Creatin# an a#ent is nothin# &ore then ritin# a standard a"a )lass e(tendin# the
0ade.core.Agent )lass and i&'le&entin# the setup(# ðod. he setup(# ðod is e('e)ted to )ontain all the initiali,ations% th*s a"oidin# the *sa#e of a )onstr*)tor hi)h &a/ )a*se 'roble&s. A#ent ter&ination o))*rs hen the do9elete(# ðod is in"o+ed. =i&ilar to a#ent )reation here the setup(# ðod is )alled in order to )reate an a#ent% the take9own(# ðod is in"o+ed *st before a#ent ter&ination. Hoe"er there is a differen)e beteen these to ðods%
setup(# has to be i&'le&ented &andator/ hi le take9own(#% intended to )ontain )lean3*' o'erations s*)h as dis'osin# a G or )losin# a database )onne)tion% has not ne)essaril/ to be i&'le&ented. .1/1+1 A%e$' ?e*a#or)
as+s and obs an a#ent has to )arr/ o*t are done in ade thro*#h beha"iors. -eha"iors are i&'le&ented as a"a )lasses that e(tend the 0ade.core.behaviours.!ehaviour )lass. A beha"ior )lass &*st i&'le&ent to abstra)t ðods% the action(# and the done(# ðod. he action(# ðod has to )ontain the a)t*al tas+ the a#ent ants to e(e)*te. he
done(# ðod indi)ates
hether the beha"ior is )o&'leted or not% here an a)ti"e beha"ior is )onsidered a beha"ior that did not )o&'lete. Assi#nin# a )ertain beha"ior to an a#ent is done b/ )allin# the add!ehaviour(# ðod ith the beha"ior to add as 'ara&eter in the a#ent )lass. =e"eral beha"iors )an be assi#ned to an a#ent% hi)h )an be e(e)*ted )on)*rrentl/. a)h ti&e hen an a#ents atte&'ts to e(e)*te a beha"ior% it 'i)+s one fro& a 'ool of a)ti"e beha"iors. >hen a beha"ior is )onsidered ina)ti"e% it is re&o"ed fro& the 'ool of a)ti"e beha"iors. he e(e)*tion of the action(# ðods fro& se"eral a#ents &a/ interlea"e be)a* se so&e action(# ðods &a/ be e(e)*ted se"eral ti&es *ntil the done(# ðod ret*rns false. -eteen to e(e)*tions of the action(# ðod of a beha"ior a)tions fro& other beha"iors &a/ be s)hed*led. 5
he a#ent e(e)*tion &odel offers a )lear 'i)t*re on ho beha"ior s)hed*lin# or+s.
F#%&re .1+1 T*e a%e$' ee>&'#o$ mo
here are three basi) t/'es of beha"ior a"ailable in adeE one3shot beha"iors% )/)li) beha"iors and #eneri) beha"iors. All three t/'es ill be dis)*ssed. •
ne shot beha"iors
ne shot beha"iors are the si&'lest t/'e of beha"iors% be)a*se of their desi#n to )o&'lete in one e(e)*tion. his i&'lies that the action(# ðod is )alled *st on)e% the beha"ior ter&inatin# after
the
ðod
ret*rns.
his
0ade.core.behaviours.;ne6hot!ehaviour
beha"ior )lass
is hi)h
i&'le&ented e(tends
b/
the the
0ade.core.behaviours.!ehaviour )lass% ha"in# its done(# ðod alread/ i&'le&ented b/ ala/s ret*rnin# tr*e. public class %!&ne'ote'aviour extends &ne'ote'aviour { public void action() { $ $ •
// perorm operation A
C/)li) beha"iors
6
n )ontrast to one shot beha"iors )/)li) beha"ior s are desi#ned to ne"er )o&'lete. his t/'e of beha"ior i&'le&ented in the 0ade.core.behaviours.:yclic!ehaviour )lass e(e)*tin# its action(# ðod ea)h ti&e it is )alled. he done(# ðod is alread/ i&'le&ented ret*rnin# ala/s false. public class %!*!clice'aviour extends *!clice'aviour { public void action() { // perorm operation A $ $
n o*r e(a&' le o'eration A is 'erfor&ed e"er/ ti&e the action(# ðod is )alled. =in)e the
done(# ðod ne"er ret*rns the boolean "al*e tr*e% a )/)li) beha"ior ill ne"er be re&o"ed fro& the )olle)tion of beha"iors the a#ent is e(e)*tin#. o sto' this infinite )/)le the
remove!ehaviour(# ðod of the Agent )lass has to be )alled. his has as effe)t the re&o" al of the desired beha"ior fro& the 'ool of )*rrent e(e)*tin# beha"iors. •
Generi) beha"iors
Generi) beha"iors differ fro& the 're"io*s 'resented beha"iors% be)a*se of their *ni&'le&ented done(# ðods. o )reate a #eneri) beha"ior the 0ade.core.behaviours.!ehaviour )lass has to be e(tended. nli+e the ;ne6hot!ehaviour and the :yclic!ehaviour )lasses% hi)h define the
done(# ðod% in a #eneri) beha"ior )lass its the de"elo'ers tas+ to i&'le&ent that ðod. his enables the e(e)*tion of the action(# ðod *ntil a tas+3related )ondition is satisfied in the
done(# ðod. s*all/ #eneri) beha"iors are desi#ned to e(e)*te ea)h ti&e a different o'eration in the action(# ðod *ntil ter&ination o))*rs. .1/1.1 A%e$' Comm&$#>a'#o$
A#ent )o&&*ni)ation is 'erha's the &ost f*nda&ental feat*re of ade. As 'resented in se)tion I1.7.1.4J ade )o&es ith its on f*ll/ A )o&'liant a#ent )o&&*ni)ation lan#*a#e. ade a#ents )o&&*ni)ate b/ an as/n)hrono*s &essa#e e()han#e% e"er/ a#ent ha"in# an internal F*e*e here in)o&in# &essa#es fro& other a#ents are stored. a)h ti&e a ne &essa#e arri"es% it is stored at the end of the F*e*e and the a#ent notified of its arri"al. Hoe"er its the 'ro#ra&&ers )hoi)e at hat 'oint in ti&e &essa#es are 'i)+ed *' fro& the F*e*e. ro)essed &essa#es ill be re&o"ed fro& the F*e*e a*to&ati)all/. A list of &ost i&'ortant A AC; &essa#e ele&ents ill be 'resentedE •
the sender of the &essa#e
•
he list of re)ei"ers$ A &essa#e )an be sent to se"eral re)ei"ers.
•
he 'erfor&ati"e asso)iated to the &essa#es indi)atin# hat the sender tries to intend ith the &essa#e. 7
•
he )ontent of the &essa#e hi)h re'resents the a)t*al infor&ation an a#ent sends to another.
•
he *sed ontolo#/% in other ords hat &eanin# is asso)iated to the &essa#e )ontent. Co&&*ni)atin# a#ents ha"e to assi#n the sa&e &eanin# to the )ontent of a 'assed &essa#e in order to )o&&*ni)ate 'ro'erl/.
•
he re'resentation in hi)h the &essa#e )ontent is en)oded. or )orre)t )o&&*ni)ation both a#ents% sender and re)ei"er ha"e to be able to en)ode and 'ro)ess a &essa#e.
•
Additional fields in a &essa#e str*)t*re in)l*de )on"ersation3id% re'l/3ith % in3re'l/3to and re'l/3b/% and are *sed to )ontrol se"eral )on)*rrent )on"ersations and to s'e)if/ ti&eo*ts for re)ei"in# a re'l/.
=o&e si&'le e(a&'les on ho ade a#ents )o&&*ni)ate ill be 'resented. A*+%essage msg , new A*+%essage(A*+%essage.-&0%); msg.add0eceiver(new A-1("Peter"2 A-1.-+&*A+A%3)); msg.set+anguage("3nglis'"); msg.set&ntolog!("Weat'er4orecast4ontolog!"); msg.set*ontent("5oda! it6s raining"); send(msg);
n the e(a&'le abo"e a &essa#e is )o&'osed and then sent to another a#ent. he first line )reates an A:<essage obe)t% s'e)if/in# as 'ara&eter the &essa#e 'erfor&ati"e. Me(t the &ost basi) fields of a &essa#e% re)ei"er% &essa#e )ontent% &essa#e re'resentation lan#*a#e and ontolo#/ are set% here the re)ei"in# a#ent is identified b/ its AD. he
send(# ðod of the
Agent )lass is in"o+ed% 'assin# the 're"io*sl/ )o&'osed &essa#e as 'ara&eter. public void action() { A*+%essage msg , m!Agent.receive(); i (msg #, null) { // Process t'e received message $ else { bloc7(); $ $
he )ode abo"e 'resents a idel/ *sed and stron# l/ re)o&&ended 'attern for re)ei"in# &essa#es. A &ore si&'le a''roa)h o*ld be to rite A*+%essage msg , receive(); //process t'e received message msg
8
n this )ase% the abo"e )ode is e(e)*ted on)e alloin# *st one &essa#e to be re)ei"ed. o sol"e this 'roble&% the )ode &a/ be '*t into a loo' that )onstantl/ )he)+s hether a ne &essa#e arri"ed or not% and 'ro)essin# &essa#es in )ase the/ arri"e. his o*ld sol"e the 'roble& b*t the loo' o*ld be "er/ ineffi)ient and C e('ensi"e. A )orre)t and effi)ient a''roa)h is to )ode &essa#e re)ei"in# ithin a beha"ior li+e in the first e(a&'le. he &essa#e re)ei"in# is done in the action(# ðod &a+in# *se of the block(# ðod% hi)h hen )alled &ar+s the )*rrent beha"ior as ?blo)+ed@ so that the a#ent does not s)hed*le it for f*rther e(e)*tion. he beha"ior ill *nblo)+ hen a ne &essa#e arri"es in the a#ents &essa#e F*e*e. As res*lt the beha"ior is s)hed*led and e(e)*ted a#ain alloin# the in)o&in# &essa#e to be 'ro)essed. .1/171 T*e Ye!!ow Pa%e) Ser#>e
he Qello =er"i)e a#es allos a#ents to '*blish a brief des)ri'tion of the ser"i)es the/ offer. =er"i)es )an be 'osted IofferedJ ell as loo+ed *' Isear)hed forJ b/ a#ents interested in the&. n )o&'lian)e ith the A A#ent !ana#e&ent s'e)ifi)ation ade 'ro"ided the D IDire)tor/ a)ilitatorJ hi)h offers the Qello a#es ser"i)e. he D is itself an a#ent so '*blishin# and sear)hin# for ser"i)es has to be done thro*#h &essa#e e()han#e. ntera)tin# ith the D i&'oses the *se of a 'ro'er )ontent re'resentation as ell as a 'ro'er ontolo#/. >hen '*blishin# a ser"i)e% )ertain infor&ation has to be 'ro"ided. his infor&ation in)l*desE the a#ents on AD% the list of ser"i)es '*blished% a des)ri'tion of ea)h ser"i)e and o'tionall/ a list of )ontent re'resentation lan#*a#es and ontolo#/s reF*ired to a))ess the ser"i)e. A ser"i)e des)ri'tion in)l*des infor&ation abo*t the t/'e of the ser"i)e% the ser"i)e na&e% and a list of +e/3"al*e 'airs that define ser"i)e3s'e)ifi) 'ro'erties B-ellife&ine2007. 1Agent1escription dd , new 1Agent1escription(); dd.setame(getA-1()); ervice1escription sd , new ervice1escription(); sd.set5!pe("Pat'4inding"); sd.setame(get+ocalame()); dd.addervices(sd); tr!{ 1ervice.register(t'is2 dd); $ catc' (-PA3xception e){ e.printtac75race(); $
n the e(a&'le abo"e to )lasses are *sed% the
9)Agent9escription )lass and the
6ervice9escription )lass% the first for en)a's*latin# a#ent data and the se)ond for en)a's*latin# ser"i)e related infor&ation. After 're'arin# the ne)essar/ data the ser"i)e is re#istered ith the D A#ent *sin# the stati) register(# ðod )all of the 9)6ervice )lass. he take9own(# ðod
9
of the Agent )lass *s*all/ )ontains% if i&'le&ented% the dere#istration of all '*blished ser"i)es. n this 'arti)*lar )ase% the '*blished ser"i)e des)ri'tion does not )ontain an/ infor&ation on )ontent re'resentation and ontolo#/. >hen sear)hin# for '*blished ser"i)es an a#ent has to define a te&'late des)ri'tion of the desired ser"i)e. his te&'late is sent to the D A#ent% in for& of an AC; &essa#e and after sear)hin# the ser"i)e )atalo#*e% the D A#ent ill ret*rn a list o &at)hes. A))ordin# to A a des)ri'tion &at)hes the te&'late hen all "al*es 'ro"ided in the te&'late are 'resent in the ser"i)e des)ri'tion. A short e(a&'le is 'resented belo. 1Agent1escription template , new 1Agent1escription(); ervice1escription sd , new ervice1escription(); sd.set5!pe("Pat'4inding"); template.addervices(sd); tr!{ 1Agent1escription89 result , ervice.searc'(t'is2template); $ catc' (-PA3xception e) { e.printtac75race(); $
n this e(a&'le all the '*blished ser"i)es of t/'e ?ath3indin#@ are loo+ed *' and stored in the ?res*lt? arra/.
.6. Ad"an)ed eat*res ade offers a set of ad"an)ed feat*res alloin# ade to be *sed on additional 'latfor&s s*)h as a''li)ation ser"ers and &obile de"i)es. *rther&ore ad"an)ed feat*res offer s*''ort for handlin# )ontent e('ressions% a#ent &obilit/% intera)tion 'roto)ol% se)*rit/% 'ersisten)/ and others. >e ill briefl/ dis)*ss so&e of the &ost i&'ortant feat*res. .15101 A%e$' Mo?#!#'(
A#ent &obilit/ in ade is i&'le&ented in the 'latfor&s A#ent !obilit/ ser"i)e% ade s*''ortin# ?hard &obilit/@% i.e. &obilit/ of stat*s and )ode. =tat*s &obilit/ is a)hie"ed hen the e(e)*tion of an a#ent is sto''ed on a lo)al )ontainer% the a#ent &o"es to a different )ontainer I&ost li+el/ on a different hostJ and )ontin*es its e(e)*tion fro& the e(a)t 'oint here it as sto''ed. Code &obilit/ o))* rs hen the )ode of the &o"in# a#ent is not 'resent on the re&ote )ontainer$ in this )ase the )ode is a*to&ati)all/ retrie"ed on de&and. -e)a*se a#ent &obilit/ relies on a"a seriali,ation an a#ent has to be seriali,able to be )onsidered &o"able. A#ent &obilit/ )an be either self3initiated% )ase in hi)h the
doove(# ðod in the A#ent )lass is
)alled or for)ed hen the A!= initiali,es the &o"e d*e to a reF*est fro& another a#ent. 40
Additionall/ a#ents )an be )loned% ade 'ro"idin# a s'e)iali,ed ðod% the
do:lone(# ðod
of the Agent )lass. .151+1 Se>&r#'(
=e)*rit/ ele&ents in ade are distrib*ted as an add3on that has as tas+ the 're"ention of 'ossible treats. (a&'les of threats in)l*deE •
An a#ent tries to +ill another a#ent b/ reF*estin# this fro& the A!=
•
A &ali)io*s a#ent )an reF*est the A!= to sh*t don the 'latfor&
•
A &ali)io*s a#ent )an tra)+ a &essa#e and sniff sensible &essa#e )ontent infor&ation
All the abo"e &entioned treats are eli&inated 'ro"idin# s*''ort for a*thori,ation and a*thenti)ation% hi)h are based on AA= and end3to3end &essa#e inte#rit/ and )onfidentialit/. All se)*rit/ related As are a"ailable in the 6ecurityelper )lass% hi)h )an be retrie"ed b/ )allin# the getelper(# ðod fro& the Agent )lass. .151.1 T*e Lea"-a< o$
he ;ea'3ad on allos ade to r*n on li#htei#ht &obile de"i)es s*)h as DAs or &obile 'hones *sin# the !D or the ersonal a"a 'rofile. D*e to the fa)t that the standard ade distrib*tion is too bi# for reso*r)e3li&ited &obile de"i)es% the ;ea'3ad on as )reated. he ;ea'3ad on re'la)es so&e 'arts of ade% ha"in# a different internal re'resentation% b*t +ee'in# the a#ent A th*s enablin# intero'erabilit/ ith the standard ade distrib*tion.
41
CHAPTER IV
4.
his )ha'ter ill dis)*ss% the to'i) of
4.1. A#ent3)entered sear)h al#orith&s A#ent3)entered sear)h al#orith&s% also )alled real3ti&e sear)h al#orith&s are &ainl/ *sed in 'athfindin# 'roble&s. A 'athfindin# 'roble& &a/ be des)ribed as follosE #i"en a +non or *n+non en"iron&ent% &ost )o&&onl/ re'resented b/ a &a'% the tas+ is to rea)h a 'oint Ifinal 'ositionJ startin# fro& an initial 'oint Io*t#oin# 'ositionJ. Clearl/% 'ath3findin# 'roble&s are of #reat *se in so&e do&ains. or instan)e #i"en a &a' of a lar#e )it/% 'ath3findin# al#orith&s )an deter&ine the fastest a/ fro& the )entral raila/ station I'oint AJ to the lo)al )onferen)e )enter I'oint -J. A robot tr/in# to find his a/ o*t of a &a,e is a si&ilar 'roble& here 'ath3find in# al#orith&s are e&'lo/ed. he sol*tion of 'athfindin# 'roble&s )an be di"ided into to 'hasesE the 'lannin# 'hase in hi)h the 'ath is 'lanned% and the e(e)*tion 'hase in hi)h the 'lan is e(e)*ted. n traditional sear)h al#orith&s% first the hole 'ath is 'lanned and afterards e(e)*ted. n a#ent3)entered sear)h al#orith&s startin# fro& the o*t#oin# 'osition a 'artial 'lan is )o&'*ted and e(e)*ted% th*s obtainin# a ne start 'osition. he )/)le is re'eated startin# fro& the ne start 'osition. s*all/ in traditional ðods% the 'lannin# 'hase is &*)h lon#er then the e(e)*tion 'hase% 'arti)*larl/ in "er/ lar#e en"iron&ents% that in so&e sit*ation is not f*ll/ +non or )han#in#. n a#ent3)entered sear)h al#orith&s the 'lannin# 'hase is &*)h shorter% b*t the e(e)*tion 'hase lon#er then in traditional al#orith&s. Me"ertheless% the total )o&'*tation ti&e is si#nifi)antl/ shorter then in )lassi) al#orith&s. i#*re 4.1 shos the differen)e beteen the to sear)h 'aradi#&sE
42
F#%&re 7101 Tra<#'#o$a! Sear>* )1 A%e$'->e$'ere< )ear>*
As shon in the abo"e fi#*re in a#ent3)entered sear)h 'lannin# and e(e)*tion are interlea"in#% restri)tin# 'lannin# aro*nd the )*rrent state of the a#ent. he en"iron&ent a#ents ?li"e@ in *s*all/ re'resented as a &a'% ill be &odeled in this )ha'ter as a #ra'h. his abstra)ti,at ion is 'arti)*larl/ *sef*l hen dis)*ssin# a#ent3)entered sear)h al#orith&s% all of the& rel/in# on this re'resentation. n o*r )ase% a #ra'h )ontains the folloin# ele&entsE •
a set of nodes% ea)h node re'resentin# a state$
•
A set of ed#es% ea)h ed#e lin+in# to nodes$ a n*&ber assi#ned to ea)h ed#e indi)ates
the )ost% in o*r 'roble& the distan)e beteen to nodes. >e ass*&e that the distan)e is a 'ositi"e% non3,ero n*&ber. •
a *niF*e start node and a final node$
*rther&ore% e ass*&e that the #ra'h is *ndire)ted and )onne)ted. Ha"in# defined the &odel of the en"iron&ent% a 'roble& state&ent% that all 'resented sear)h al#orith&s address% ill be 'ro"idedE #i"en to distin)t nodes of the #ra'h% the shortest Io'ti&alJ distan)e beteen the to 'oints has to be )o&'*ted. All the abo"e 'resented e(a&'les re&ain "alid 'roble& do&ains% for instan)e streets )an be re'resented b/ ed#es and interse)tions re'resented b/ nodes. he len#th of a )ertain street )an be )oded as the distan)e beteen the to interse)tions. A &a,e )an be &odeled in a si&ilar &anner. n the 'resented al#orith&s one or &ore a#ents tra"el thro*#ho*t the #ra'h% deter&inin# distan)es fro& node to node% startin# fro& the initial node and endin# at the final node. s*all/ a#ents )annot )o&'*te the e(a)t distan)e beteen nodes in *st one o*rne/ fro& start node to end node ItrialJ. n &ost )ases% se"eral trials are needed to deter&ine the e(a)t distan)e% an a#ent tele'or tin# ba)+ to the initial node and startin# a ne trial on)e the final node is rea)hed. 4
A#ent3)entered sear)h )an be also *sed in field of #a&e 'la/in#% the )hess #a&e bein# one of &ost 'o'*lar a''li)ation do&ains. n this )ase% the states InodesJ )orres'ond to board 'ositions% the )*rrent node re'resentin# the )*rrent 'osition on the )hessboard. Al#orith&s addressin# the )hess #a&e traditionall/ 'erfor& a &ini3&a( al#orith& ith a )ertain loo+3ahead de'th. -e)a*se of the fa)t that the )hess #a&e )onsists of a h*#e a&o*nt of states% onl/ a li&ited lo)al sear)h is 'erfor&ed aro*nd the )*rrent state in order to &eet ti&e )onstraints. erfor&in# a#ent3)entered sear)h allos #a&e3'la/in# 'ro#ra&s to )hoose a &o"e in a reasonable a&o*nt of ti&e% hile fo)*sin# on the 'art of the state s'a)e that is the &ost rele"ant to the ne(t &o"e de)ision BKoeni#2001. Another a''roa)h is to *se a standard &ini3&a( al#orith& in order to sele)t the best 'ossible &o"e fro& the lo)al sear)h s'a)e% hile *sin# a#ent3)entered sear)h to e('lore other 'ossibilities hi)h are not in the ran#e of the lo)al sear)h s'a)e b*t hi)h )an brin# a #reater lon#3ter& benefit. here are to basi) do&ain t/'es in hi)h a#ent3)entered )an be a''liedE deter&inis ti) do&ains and non3deter&inisti) do&ains. •
Deter&inisti) do&ains are )hara)teri,ed b/ the fa)t that the o*t)o&e of )ertain a)tions
)an be 'redi)ted )ertainl/. (a&'les of deter&inisti) do&ain 'roble&s in)l*de the slidin# tile '*,,le or the blo)+s orlds 'roble&. n deter&inisti) do&ains% there is no infor&ation li&itation re#ardin# the sear)h s'a)e. •
n nondeter&inisti) do&ains% infor&ation li&itation o))*rs hi)h )an onl/ be o"er)o&e
b/ e('lorin# the hole sear)h s'a)e% hi)h is so&eti&es nearl/ i&'ossible. =o in order to address nondeter&inisti) do&ains al#orith&s ha"e to interlea"e 'lannin# and e(e)*tion. >itho*t interlea"in# 'lannin# and e(e)*tion% a )onditional 'lan has to be )reated and e(e)*ted% no &atter hi)h )ontin#en)ies arise d*rin# its e(e)*tion. !ore% al#orith&s that interlea"e 'lannin# and e(e)*tion #ather infor&ation after ea)h 'lan3e(e)*tion 'hase% th*s red*)in# do&ain *n)ertaint/ and therefore 'lannin# ti&e.
4.2.
he as/n)hrono*s d/na&i) 'ro#ra&&in# al#orith& IADJ
he as/n)hrono*s d/na&i) 'ro#ra&&in# al#orith& is *sed to deter&ine the shortest 'ath beteen ea)h node of the #ra'h and the final node. he distan)e fro& ea)h node to the final node is stored in a "e)tor% h:% h:IJ denotin# the distan)e beteen node to the final node. n)e the "e)tor h: is )o&'*ted the 'ath fro& a sele)ted node to the final node )an be retrie"ed as follosE •
or e"er/ nei#hbor node of the )*rrent node i the s*& f:IJ L +Ii%J U h:IJ 44
is )o&'*ted% here +Ii%J re'resents the dire)t distan)e beteen node i and and h:IJ the distan)e fro& node to the final node. n other ords% the f "e)tor stores all the distan)es fro& the )*rrent node to the final node. •
After )o&'*tin# the f "e)tor% the ne(t to "isit node I
0
J is deter&ined b/ )hoosin# the
node for hi)h fIJ is &ini&al.
•
f:I0J L &in f:IJ he hole 'ro)ed*re is re'eated startin# fro& nod the nel/ sele)ted node I 0J *ntil the
final node is a)hie"ed. he o'ti&al 'ath beteen the sele)ted node and the final node is #i"en b/ all the "isited nodes fro& the abo"e 'ro)ed*re. Hoe"er in order to deter&ine the &ini&al distan)e beteen the to nodes% first the h: "e)tor has to be )o&'*ted. -efore des)ribin # the )o&'*tation of h: e ill introd*)e a ne "e)tor% noted ith h. his "e)tor )ontains for e"er/ node i of the #ra'h% an esti&ation of the distan)e to the final node. his f*n)tion% also +non as a he*risti) f*n)tion% is said to be admissible if for ea)h node of the #ra'h the esti&ated distan)e to the final node does not o"eresti&ate the real distan)e. n)e the "e)tor is initiali,ed 'ro'erl/ % no o"eresti&ation of the real distan)e )an o))*r hen r*nnin# the AD al#orith&% &a+in# the "e)tor initiali,ation 'arti)*larl/ i&'ortant. n the si&'lest &anner% e ill set all the "al*es of h to 0% &a+in# it i&'ossible to o"eresti&ate the real distan)e beteen to 'oints. he s)enario on hi)h the AD al#orith& is based is des)ribed as follosE •
an a#ent I'ro)essJ e(ists for ea)h node of the #ra'h$
•
e"er/ 'ro)ess )o&'* tes the hIJ f*n)tion% the esti&ation fro& the lo)al node to the final
node$ •
"er/ node )an a))ess the he*risti) "al*e of the nei#hborin# node. his )an be
i&'le&ented either *sin# a shared &essa#es str*)t*re or thro*#h &essa#e e()han#e. he 'ro)ed*re% hi)h a)t*all/ des)ribes the )o&'*tation of the h "e)tor% is 'resented beloE •
or e"er/ nei#hbor node of node i the s*& fIJ L +Ii%J U hIJ
is )o&'*ted% here +Ii%J is the dire)t distan)e fro& node i to node and hIJ the esti&ated distan)e beteen node and the final node. •
After ha"in# )o&'*ted the f "e)tor the esti&ate of the )*rrent node is *'dated ith the
&ini&al "al*e fro& f. hIiJ L &in fIJ 45
he as/n)hrono*s d/na&i) 'ro#ra&&in# al#orith& )o&'*tes the h: "e)tor b/ re'eatedl/ )o&'*tin# all lo)al "al*es for h. n)e the o'ti&al 'aths fro& ea)h node to the final node ha"e been fo*nd% the folloin# relation holds hIiJ L h:IiJ for e"er/ node i
th*s obtainin# the h: "e)tor. t is said that the al#o rith& converges if after re'eated lo)al )o&'*tations the esti&ate distan)e beteen the ea)h node and the final node indi)ates the real distan)e. he AD al#orith& )annot be *sed hen dealin# ith bi# #ra'hs here &e&or/ )ons*&'tion )o*ld rea)h a hi#h le"el.
4..
he ;earnin# real3ti&e A: I;<A:J Al#orith& he ;<A: al#orith& is based on the AD al#orith& b*t instead of *sin# an a#ent% and
)onseF*entl/ a 'ro)ess% for ea)h node a reasonable n*&ber of a#ents is *sed. he 'ro#ra& that an a#ent e(e)*tes )an b s'lit into three ste'sE •
Co&'*tation
or e"er/ nei#hbor of the )*rrent node i% the folloin# s*& is )o&'*tedE fIJ L +Ii%J U hIJ he "al*es of the "e)tor f are )o&'*ted addin# the dire)t distan)e beteen nodes i and % stored in +Ii%J to the esti&ated distan)e fro& node to the final node% stored in hIJ. •
'date
After )o&'*tin# the "e)tor f for ea)h nei#hbor of i% the esti&ate distan)e fro& node i to the final node is *'date ith the &ini&al "al*e of "e)tor f. hIiJ L &in fIJ •
A)tion sele)tion
After )o&'*tin# a ne esti&ate of the distan)e fro& node i to the final node% the a#ent has to &o"e to another node. n the standard ;<A: al#orith& the node at hi)h fIJ is s&allest is sele)ted. he ;<A: al#orith& is )alled an online algorithm or real2time algorithm be)a*se of the fa)t that the ne(t node is ala/s )hosen in )onstant ti&e. he esti&ated "al*es of h are not alloed to o"eresti&ate the real distan)e to the final node. his 'ro'ert/ of e"er/ node is des)ribed beloE hIiJ VL h:IiJ
46
he ;<A: al#orith& ill ne"er o"eresti&ate the real distan)e beteen a 'oint and a destination node if the initial "al*es of h are initiali,ed 'ro'erl/. here are se"eral a/s to initiali,e the h f*n)tion in order to be admissible% 'erha's the si&'lest one is to set all its "al*es to 0. ther a''roa)hes are to *se !anhattan distan)es if or+in# ith a +non en"iron&ent or hen dealin# ith #eo#ra'hi)al )oordinates to initiali,e the "e)tor ith the strai#ht3line distan)e beteen the initial node and the tar#et node.
4.4.
&'ro"e&ents of ;<A: >e ill 'oint o*t thro*#ho*t this se)tion so&e of the &ost si#nifi)ant i&'ro"e&ents of
the learnin# real3ti&e A: al#orith&. 717101 Dee"er Look-a*ea< Sear>*
he standard ;<A: al#orith& )onsiders in the )o&'*tation 'hase onl/ the dire)t nei#hborin# nodes% in order to obtain the f "e)tor. he area for&ed b/ nodes% ta+en into )onsideration b/ a sear)h al#orith& is )alled lo)al sear)h s'a)e. As s*##ested the standard ;<A: al#orith& defines the lo)al sear)h s'a)e as the set of dire)t nei#hbors of the )*rrent "isited node% th*s ha"in# a loo+3ahead fa)tor of 1. A sear)h s'a)e of fa)tor 2 o*ld in)l*de all nodes in the ran#e of 2 ar)s fro& the )*rrent node. =e"eral al#orith& s ha"e been 'ro'osed that iden the lo)al sear)h s'a)e *sin# a dee'er loo+3ahead. hese al#orith&s *s*all/ )on"er#e faster toards findin# the o'ti&al 'ath then the standard ;<A: al#orith&% b*t ha"e a lon#er 'lannin# 'hase. he &ain ad"anta#e of the dee'er loo+3ahead sear)h is the fa)t that it sol"es the 'roble& of a lo)al de'ression% be)a*se a#ents tend to &o"e ba)+ and forth in lo)al &ini&a. Hoe"er% there are se"eral disad"anta#es of *sin# a dee'er loo+3ahead sear)h. he first one is )onsidered a ti&e3)ons*&in# first &o"e be)a*se &ore nodes are ta+en into )onsideration. *rther&ore% dee'er loo+3ahead a)hie"es a better o"erall e(e)*tion ti&e b*t ta+es a lon#er 'lannin# 'hase be)a*se of the e(tra a&o*nt of nodes )onsidered leadin# to *nsatisfied hard real3 ti&e )onstraints here onl/ a )ertain a&o*nt of ti&e is a"ailable for ea)h 'lannin# e'isode BKoeni#2004. 7171+1 U)#$% #$a )
he standard ;<A: al#orith& as des)ribed abo"e *ses an ad&issible he*risti) f*n)tion in order to o obtain al#orith& )on"er#en)e and the o'ti&al sol*tion. or "er/ lar#e do&ains% this leads to &an/ trials and a lar#e &e&or/ )ons*&'tion storin# the ne)essar/ he*risti)s. =hi&bo and shida B=hi&bo200 s*##ested *sin# inad&issible he*risti)s abandonin# th*s the o'ti&al sol*tion and settlin# for a s*bo'ti&al b*t satisf/in# sol*tion. nad&issible he*risti) f*n)tions are *s*all/ *''er bo*nded b/ 47
(1+ Z)*h*(s)
%here h:IsJ re'resents the real distan)e% a)hie"in# th*s a Z o'ti&alit/. =hi&bo and shida *sed !anhattan distan)es s)aled ith I1U ZJ to initiali,e the initial he*risti) f*n)tion and as B-*lit+o2006 )on)l*des% s)alin# an initial Iad&issibleJ he*risti) b/ I1U έJ tends to red*)e the *nderesti&ation error of the he*risti) thereb/ s'eedin# *' )on"er#en)e. 7171.1 Ba>k'ra>k#
%$=h*e and [a&ani B=h*e199 introd*)ed a ne ;<A: li+e al#orith& ith a ba)+tra)+in# &e)hanis&% )alled =;A: in order to s'eed *' o"erall )on"er#en)e. 'datin# &ore than one state "al*e in ea)h 'lannin# sta#e )an res*lt in &ore effi)ient learnin#. >hen an *'date of the h f*n)tion o))*rs at the )*rrent state% the ba)+tra)+in# &e)hanis& 'ro'a#ates infor&ation ba)+ to the 're"io*s states% th*s *'datin# not *st a sin#le "al*e. -a)+'ro'a#ation of infor&ation )an be done either ith ?'h/si)all/@ &o"in# the a#ent to a 're"io*s state and re)onsider the ne(t a)tion% or *st *'date "al*es of 're"io*sl/ "isited states in &e&or/. he =;A: al#orith& is )hara)teri,ed b/ a ti&e )ons*&in# first trial be)a*se &ost of the learnin# is done in the first r*n. o address this 'roble& so&e al#orith&s *se a 'ara&eter that indi)ates ho &*)h infor&ation the a#ent has to #ather in a trial before bein# alloed to ba)+tra)+ infor&ation. his 'ara&eter% )alled learning %uota red*)es si#nifi)antl/ e(e)*tion )ost% th*s )o&binin# the 'ro'erties of the standard ;<A: al#orith& and the =;A: al#orith&.
4.5.
Considered Al#orith&s =e"eral al#orith&s that e(tend the standard ;<A: al#orith& ith so&e of the abo"e
i&'ro"e&ents ill be 'resented. 71/10
Pr#or#'#e< Lear$#$% Rea!-T#me A 9P-LRTA:
B
48
e$< w*#!e
he loo' *'dates the )*rrent state s thro*#h the =ADA 'ro)ed*re% and stores in "e)tor ' the first M nodes fro& the F*e*e% here M is a *ser3defined 'ara&eter. At the be#innin# of the 'lannin# 'hase% the a#ent *'dates the )*rrent state s b/ )onsiderin# *st its i&&ediate nei#hbors% s*)h that ea)h node nei#hborin# node s% )ontained b/ the "e)tor ' is *'dated% e()e't for the final node. =ADAIsJ find nei#hbor s= ith the loest fIs, s=J L cIs, s=JUhIs=J ] ⇐ fIs, s=J > hIsJ #f ] ? 0 then hIsJ ⇐ fIs, s5J for all nei#hbors n of s do ADDNIn,]J e$< for e$< #f he =ADA 'ro)ed*re re)ei"es as 'ara&eter a node s% and first sear)hes for the nei#hbor ith the loest s*& fIs%sJ L )Is%sJ U hIsJ% here )Is%sJ is the distan)e beteen the )*rrent node s and the nei#hborin# node s and hIsJ the esti&ated distan)e fro& the nei#hborin# node to the final node. he ] "al*e re'resents the &a#nit*de b/ hi)h the )*rrent state is )han#ed. he nel/ obtained esti&ated distan)e is )o&'ared to the 're"io*s one% and if an *'date of the he*risti) f*n)tion o))*rs% all the nei#hborin# nodes are enF*e*ed. he enF*ein# of the nei#hborin# nodes is done in the ADDN 'ro)ed*re. ADDNIs%]sJ #f s \ F*e*e then #f F*e*e*llIJ then find state r ∈ F*e*e ith s&allest ]r #f ]r V ]s then F*e*e
r
is #reater then ] s. therise the 'ro"ided
'ara&eters are enF*e*ed% a"oidin# d*'li)ate ele&ents. he #oal is to obtain a F*e*e of &a(i&*& si,e M )ontainin# the bi##est &a#nit*de of state )han#es. he *ser defined F*e*e si,e M as introd*)ed in order to li&it &e&or/ *sa#e as ell as )o&'*tational ti&e.
49
71/1+1 T*e SL A A!%or#'*m
he =;A: al#orith& *ses a ba)+tra)+in# &e)hanis&% as des)ribed in se)tion 4.4.. to infor& 're"io*sl/ "isited nodes of the he*risti) "al*e )han#e at the )*rrent node. A standard "ersion of the =;A: al#orith& as ell as an i&'ro"ed "ersion ill be 'resented. he standard =;A: al#orith& is 'resented beloE 1E s ß initial start state s 0 2E sol*tion'ath ß ∅ E w*#!e s \ =# do 4E hIsJ ß &ins s*))IsJI)Is% sJ U hIsJJ 5E #f hIsJ W hIsJ then 6E *'date hIsJ ß hIsJ 7E s ß to' state of sol*tion'ath 8E 'o' the to' &ost state off sol*tion'ath 9E e!)e 10E '*sh s onto to' of sol*tion'ath 11E s ß ar#&inss*))IsJ I)Is% s0J U hIsJJ 12E e$< #f 1E e$< w*#!e he al#orith& beha"es identi)all/ li+e the ;<A: al#orith& in )ase no "al*e *'date ta+es 'la)e% i.e. hen the lines 10 and 11 are e(e)*ted. therise% if an *'date o))*rs instead of &o"in# to the ne(t node% the al#orith& ba)+tra)+s to the 're"io*s state. he
solutionpath does
not )ontain li+e the standard al#orith& the tra"eled 'ath% )ontainin# instead the best 'ath fo*nd in the trial be)a*se of the ba)+tra)+in# &e)hanis&. he ba)+tra)+in# &e)hanis& has to effe)ts on al#orith& e(e)*tion. irst% it enables nel/ dis)o"ered infor&ation to be sent ba)+ to the 're"io*s state and se)ond it allos the a#ent to re)onsider his )hoi)e in the 're"io*s state. he &ain benefit of the =;A: al#orith& is the shorter o"erall tra"el )ost )o&'ared to the ;<A: al#orith&. he &ain disad"anta#e of the al#orith& is the 'oor first trial 'erfor&an)e. his 'arti)*larl/ 'roble&ati) sin)e a #ood first3trial 'erfor&an)e is a )r*)ial 'ro'ert/ of an/ real3ti&e al#orith& B=i#&*ndarson 2006. A))ordin# to B=i#&*ndarson2006% after testin# se"eral "ersions of the =;<: al#orith&% the one ith the best o"erall 'erfor&an)e as the -3;<A: al#orith&. - stands for 'artial ba)+ 'ro'a#atin#% and as the na&e s*##ests it is not a f*ll ba)+tra)+in# 'ro)ed*re. n )ontrast to the standard =;<: al#orith&% here nel/ #athered infor&ation is 'ro'a#ated hi#her *' the #ra'h hierar)h/ b*t itho*t &o"in# the a#ent to the 're"io*s state. 1E s ß initial start state s0 2E sol*tion'ath ß ∅$ E w*#!e s \ =# do 4E hIsJ ß &inss*))IsJI)Is% s0J U hIs0JJ 5E #f hIsJ W hIsJ then 50
6E 7E 8E 9E 10E 11E 12E 1E
*'date hIsJ ß hIsJ for all states s b in ; order fro& the sol*tion'ath do hIsbJ &inss*))IsbJI)Isb% sJ U hIsJJ #f hIsbJ WL hIsbJ then brea+ for a!! !oo" e$< #f hIsbJ ß hIsbJ e$< for
14E e$< #f 15E '*sh s onto to' of sol*tion'ath 16E s ß ar#&inss*))IsJI)Is% sJ U hIsJJ 17E e$< w*#!e he -3;<A: al#orith& *'dates the he*risti) f*n)tion of the 're"io*s states *ntil as a state is fo*nd here no *'date is needed. 7151
O&r A""roa>*
=e"eral i&'ro"e&ents of the ;<A: al#orith& ere 'resented thro*#ho*t the )ha'ter% ith the #oal of s'eedin# *' the o"erall 'ro)ess% b*t% as e ha"e seen% e"er/ o'ti&i,ation )o&es at a )ertain )ost. ither sol*tion o'ti&alit/ is sa)rifi)ed% 'referrin# an ine(a)t b*t fast )on"er#in# sol*tion% or obtainin# a fast al#orith& hile ha"in# a "er/ lon# first trial. >e ill introd*)e an a''roa)h that tries to a)hie"e a trade3off beteen i&'ro"ed al#orith& )on"er#en)e and beteen &aintainin# the on3line 'ro'ert/ of the ;<A: al#orith&. n o*r ;<A: "ersion se"eral a#ents ill be e&'lo/ed to sol"e a #i"en 'ath3findin# 'roble& si&*ltaneo*sl/. a)h a#ent ill e(e)*te a ;<A: al#orith& and thro*#ho*t e(e)*tion a#ents )o&&*ni)ate in order to share dis)o"ered infor&ation. n fa)t three t/'es of a#ents ill be *sed% ea)h t/'e e(e)*tin# a different "ersion of the ;<A: al#orith&. All the three a''roa)hes ill be 'resentedE •
he first t/'e of al#orith& *sed is the standard ;<A: al#orith&% ith a loo+3ahead
de'th of 1 and ith a #reed/ a)tion sele)tion. •
he se)ond t/'e of al#orith& *ses a *niF*e a)tion sele)tion 'ro)ed*re% )hoosin# the ne(t
node rando&l/. his has as effe)t the alternati"e e('loration of the sol*tion s'a)e% e('loration that &a/ dis)o"er infor&ation that )an be *sed b/ other a#ents in the )*rrent trial or in f*rther trials. •
he third t/'e of al#orith& )o&bines the first to a''roa)hes. hese a#ents ill alternate
their a)tion sele)tion ðods% )hoosin# either the first 'resented a''roa)h or the se)ond one. he &oti"ation behind this a)tion sele)tion is F*ite si&'le. >hile the first t/'e of a#ents ill follo onl/ the &ost 'ro&isin# 'ath toards the final node% the se)ond t/'e of a#ents rather than
51
atte&'tin# to &a(i&i,e the initial benefits b/ folloin# the o'ti&al ro*te ill tr/ to e('lore ne 'aths that &a/ brin# lon#3ter& benefits. Considerin# onl/ the first to a#ent al#orith&s the folloin# sit*ation &i#ht o))*rE in a lar#e en"iron&ent% there is the 'ossibilit/ that those a#ents hi)h *se the standard ;<A: al#orith& ill e('lore onl/ a fe s*bo'ti&al 'aths hile a#ents *sin# a rando& node sele)tion &a/ *se entire different 'aths. herefore% the third t/'e of al#orith& is *sed in order to find the ?&iddle a/@% i.e. to )o&bine the res*lts of the first to a#ent t/'es. Ass*&in# that &*lti'le a#ent t/'es are *sed in a 'ath3findin# 'roble&% a ratio beteen a#ents hi)h *se different a)tion sele)tion t/'es )an be set *'. Mat*rall/% this ratio has to be in fa"or of a#ents *sin# the standard ;<A: al#orith&% hile onl/ a fe a#ents 'erfor&in# e('lorator/ sear)h. =o far% the introd*)ed al#orith&s )onser"e the on3line 'ro'ert/ of the ;<A: al#orith&% tr/in# to a)hie"e an effi)ient sear)h of the 'roble& s'a)e. Hoe"er% this a''roa)h alone does not s'eed *' al#orith& )on"er#en)e si#nifi)antl/% de&andin# so&e of the al#orith& e(tension 'resented in se)tion 4.4 to be ado'ted. he ba)+tra)+in# &e)hanis& as )hosen in order to +ee' o'ti&alit/ and 'reser "e as &*)h as 'ossib le the on2line 'ro'ert/ of the ;<A: al#orith&. =*&&ari,in#% e 'ro'ose a ;<A: based al#orith& ith different a)tion sele)tion ðods in )o&bination ith a ba)+tra)+in# &e)hanis&.
52
C*a"'er /
5.
An a''li)ation for ath3indin# *sin# i&'ro"e&ents of the ;<A: al#orith&
n this )ha'ter% e ill 'resent an a''li)ation% *nna&ed% for sol"in# 'ath3findin# 'roble&s. he a''li)ation ill be 'resented s/ste&ati)all/% detailin# desi#n and i&'le&entation iss*es and 'ro"idin# a detailed des)ri'tion of the offered tools.
5.1.
Des)ri'tion and Anal/sis he a''li)ation e introd*)e )o&'ares se"eral i&'ro"e& ents of the ;<A: al#orith&
on a "ariet/ of test )ases. est )ases )an be loaded fro& files% ea)h test )ase s'e)if/in# the nodes and ed#es of a #ra'h% the a''li)ation s*''ortin# to file for&ats. he first s*''orted file for&at is a )*sto& one ha"in# the folloin# str*)t*reE •
the first line of the file )ontains the n*&ber of nodes of the #ra'h$
•
All the other lines )ontain a tri'let% the first to "al*es indi)atin# to lin+ed nodes and
the last ter&% &andator/ a n*&ber indi)atin# the )ost Idistan)eJ assi#ned to the ar) beteen the nodes. n'*t data )orre)tness is an i&'ortant fa)tor sin)e the a''li)ation does not "erif/ hether the #i"en #ra'h has so&e isolated nodes% d*'li)ate data entries or hether the file )ontains ron# infor&ation. he a''li)ation onl/ )he)+s if the data for&at is res'e)ted% and if not% an error &essa#e dis'la/ed. he se)ond s*''orted file for&at is the C2D for&at% &ost )o&&onl/ fo*nd in the =;- 'roble& )olle)tion. =;- is a librar/ that )ontains a set of tra"elin# sales&en 'roble&s on hi)h al#orith&s addressin# = )an be tested. "er/ line in the C2D for&at )ontains a tri'let here the first "al*e re'resents the n*&ber of the node and the last to "al*es re'resent the )oordinates of that node. Coordinates are re'resented b/ to real n*&bers% 're)isel/ 'la)in# the node in a to di&ensional en"iron&ent. n )ontrast to the )*sto& for&at here nodes and distan)es beteen nodes are #i"en% itho*t fi(in# the 'osition of ea)h node% in the C2D for&at *st a list of nodes is 'ro"ided to#ether ith their 'osition. =i&ilar to the )*sto& for&at the a''li)ation "erifies *st if the data is 'ro"ided in the )orre)t for&at itho*t a)t*all/ e(a&inin# the data. n)e data fro& a C2D file is loaded% the a''li)ation #enerates an *ndire)ted% )onne)ted #ra'h based on the 'ro"ided data. !ore 're)isel/%
5
the a''li)ation rando&l/ )reates ar)s beteen nodes% )o&'*tin# the )ost of the ar) as the #eo&etri)al distan)e IdJ beteen the to 'oints *sin# the belo 'resented for&*la.
n both )ases% the a''li)ation ill store a list of nodes and a list of ar) )osts. he =;'ro"ides a lar#e "ariet/ of test )ases% s'e)ified in the C2D for&at% ran#in# fro& s&all #ra'hs IV50 nodesJ to bi# #ra'hs that &a/ )ontain *' to se"eral tho*sand nodes. *rther&ore% ea)h ti&e a C2D file is loaded a ne #ra'h is obtained d*e to rando& ed#e sele)tion% an a"ailable o'tion alloin# to store a #enerated #ra'h for f*rther *se. n se)tion 5.. se"eral #enerated #ra'hs fro& =;- files ill be 'resented. =ol"in# a 'ath3findin# 'roble& &eans first sele)tin# an initial node Istart nodeJ and a final node Idestination nodeJ and then e(e)*tin# the al#orith&. *r a''li)ation 'ro"ides a list fro& here the start node% as ell as the final node )an be sele)ted. After 'ro"idin# the in'*t data and the ne)essar/ nodes% s*ffi)ient infor&ation is a"ailable in order to )o&'*te the &ini&al distan)e beteen the to 'oints. Hoe"er% se"eral a"ailable o'tions )an be *sed in order to )onfi#*re the a''li)ation. •
M*&ber of A#ents
his o'tion allos the *ser to s'e)if/ the n*&ber of a#ents or+in# on a 'ath3findin# 'roble&. sers )an *se onl/ one a#ent or )an )hoose to *se se"eral a#ents% th*s )reatin# a &*ltia#ent a''roa)h of the 'roble&. •
A#ent )o&&*ni)ation st/le
A#ent )o&&*ni)ation is 'la/in# a )r*)ial role hen o'tin# for &ore than one a#ent. =e"eral a#ents are effi)ient *st hen the/ 'ossess the abilit/ to )o&&*ni)ate and )onseF*entl/ to e()han#e infor&ation. o &ain a#ent )o&&*ni)ation st/les are a"ailable% As AC; based on &essa#e e()han#es and a bla)+board a''roa)h. •
Al#orith&s
sers )an )hoose beteen se"eral ;<A: based al#orith&s in order to sol"e a 'roble&. All 'ro"ided al#orith&s )o*ld or+ either on the &essa#e3based )o&&*ni)ation or on a )entrali,ed ?bla)+board@. he i&'le&ented al#orith&s are the ones dis)*ssed in the 're"io*s )ha'ter na&el/E a standard ;<A: al#orith&% a =;<: al#orith&% a 3;<A: al#orith& and o*r on a''roa)h. *rther&ore% the a''li)ation offers so&e *sef*l tools that allo data "is*ali,ation% al#orith& &onitorin# as ell as res*lt )o&'arison. Data "is*ali,ation is 'arti)*larl/ *sef*l hen dealin# 54
ith &edi*& to lar#e si,ed #ra'hs here the in'*t file does not #i"e the *ser an/ )l*e on ho the #ra'hs loo+s li+e. he a''li)ation )o&es ith its on "is*ali,ation tool% drain# an/ #ra'h that )ontains #eo&etri)al )oordinates. Al#orith& &onitorin# is a)hie"ed thro*#h dis'la/in# infor&ation on ho a#ent s beha"e and on ho the al#orith& e(e)*tes. All the ne)ess ar/ infor&ation is dis'la/ed in a dedi)ated se)tion in the &ain a''li)ation indo% )reatin# th*s a hi#hl/ *sef*l deb*##in# tool. sers &a/ also ant to anal/,e ho different al#orith&s beha"e in the sa&e s)enario. or this% the a''li) ation offers a comparative results se)tion here res*lts fro& different al#orith&s% r*nnin# on the sa&e test )ases &a/ be )o&'ared. inall/% the a''li)ation offers a hel' tool% hi)h )ontains detailed infor&ation on ho to *se all the 'resented feat*res. he 'resented a''li)ation enables *sers to test% &onitor and anal/,e ;<A: based al#orith&s and to )o&'are obtained res*lts. hro*#ho*t this )ha'ter% e ill 'resent a &ore detailed a''li)ation des)ri'tion as ell as )o&'arati"e al#orith& res*lts on so&e test )ases.
5.2.
A''li)ation i&'le&entation and desi#n he entire a''li)ation is )oded in re#*lar a"a% *sin# alon#side se"eral feat*res that the
ade fra&eor+ offers. he a''li)ation e&bra)es the !PC desi#n 'attern% se'aratin# the &odel fro& the #ra'hi)al *ser interfa)e. hese to )o&'onents are lin+ed thro*#h the :ontroller )lass% hi)h )ontrols the data flo beteen these &aor )o&'onents. All the *ser interfa)e related )lasses in)l*din# the :ontroller )lass are #ro* 'ed in the @I 'a)+a#e% hereas all the other )lasses are #ro*'ed in the odel 'a)+a#e. he @I 'a)+a#e )ontains se"eral )lasses% ea)h of the& ha"in# a )lear '*r'ose. he &ain fra&e is b*ilt in the 6tartindow )lass% hereas all the o'tions are i&'le&ented se'aratel/ in different )lasses% lin+ed to the 6tartindow )lass. his a''roa )h allos the a''li)ation to be e(tended b/ other o'tio ns% hi)h si&' l/ ha"e to be inte# rated in the 6tartindow )lass. A s'e)ial )lass in the @I 'a)+a#e is the
9raw )lass% hi)h is res'onsible for #ra'hi)all/
re'resentin# the )*rrent loaded #ra'h. >hen la*n)hed% the a''li)ation first dis'la/s the &ain indo% here the *ser )an set *' a desired 'roble& s)enario. After )o&'letin# this ste'% one or &ore a#ents are instantiated b/ the :ontroller )lass in order to sol"e the 're"io*sl/ 're'ared 'roble&. o a)hie"e this or+flo% ade has to be started fro& an e(istin# a"a a''li)ation. s*all/ the ade r*nti&e is la*n)hed fro& the )o&&and line% b/ 'ro"idin# so&e 'ara&eters% hi)h )a*se the )reation of the a#ent 'latfor&% of )ontainers and a#ents. *rther&ore hen startin# ade fro& the )o&&and line% ade 'rohibits the e(ternal )all of an a#ents ðod to 'reser"e a#ent a*tono&/. n order to la*n)h a#ents fro& e(ternal a''li)ations% ade offers a feat*re )alled in2process interface% hi)h )reates the ne)essar/ r*nti&e for a#ent hostin#. 55
0untime rt , 0untime.instance(); Proile p , new Proile-mpl(); p.setParameter(Proile.MAIN_HOST2 ":<.:=>.?.<"); p.setParameter(Proile.MAIN_PORT2 "@@@>"); p.setParameter(Proile.MAIN2 "true"); *ontainer*ontroller cc , rt.create%ain*ontainer(p); Agent*ontroller ac,null;
n o*r )ase% the :ontroller )lass )reates a <*nti&e )lass folloed b/ the )reation of the !ain )ontainer in hi)h a#ents )an be la*n)hed. An e(ternal a#ent la*n)h e(a&'le is 'resented belo. ac , cc.createewAgent(name2"%odel.asicAgent"2 args); ac.start();
n this )ase% a ne a#ent is )reated b/ instantiatin# the odel.!asicAgent )lass% th*s )reatin# an a#ent ha"in# name as lo)al na&e. he last 'ara&eter args is an obe)t arra/ that )ontains 'ara&eters that the e(ternal a''li)ation )an 'ass to the a#ent. Ha"in# )reated an a#ent does not a*to&ati)all/ i&'l/ that the a#ent starts e(e)*tion% to do so the a#ents start(# ðod has to be )alled. he in2process interface allos de"elo'ers f*rther&ore to 'ass data fro& an e(ternal s/ste& to an a#ent *sin# an internal F*e*e. n )ontrast to 'ara&eter 'assin#% this feat*re% )alled obe)t3to3a#ent )o&&*ni)ation% )annot *st trans&it strin#s and n*&bers b*t also 'ass obe)t referen)es to an a#ent. his feat*re is *sed in o*r a''li)ation to 'ass a referen)e of a !lackboard obe)t to a#ents that *se a bla)+board st/le )o&&*ni)ation. he 'erha's &ost i&'ortant )lass is the !asicAgent )lass% here &ost of the 'resented al#orith&s are i&'le&ented. he !asicAgent )lass does not ha"e an/ )onstr*)tor% all initiali,ations ta+in# 'la)e in the setup(# ðod% th*s res'e)tin# ade re)o&&endations. 'on instantiation% ea)h a#ent re)ei"es a 'ara&eter fro& the
:ontroller )lass% hi)h indi)ates hi)h
a"ailable i&'ro"e&ents to brin# to the al#orith&. nstead of definin# a ne )lass for ea)h al#orith& i&'ro"e&ent% i&'ro"e&ents are #ro*'ed to#ether in the !asicAgent )lass alloin# to )o&bine the& in order to enhan)e o"erall 'erfor&an)e. or instan)e an a#ent )an )hoose to e(e)*te a different a)tion sele)tion ste' then the standard ;<A: al#orith& and additionall/ *sin# a ba)+'ro'a#ation &e)hanis&. he setup(# ðod also insta ntiates the )lass hi)h 'ro"ides the )o&&*ni)ation t/'e% either the !lack!oard:ommunication )lass or the
essage:ommunication )lass. -oth )lasses i&'le&ent the :omunicationodel interfa)e% th*s se'aratin# a#ent )o&&*ni)ation fro& the al#orith&s. he se'aration beteen )o&&*ni)ation and al#orith&s i&'ro"es a''li)ation fle(ibilit/% &od*larit/ and &aintainabilit/. n addition% an/ )o&&*ni)ation &e)hanis& that i&'le&ents the :omunicationodel interfa)e )an be easil/ inte#rated in the !asicAgent )lass. >hen a bla)+board a''roa)h is desired% the )ontroller )reates a !lackboard obe)t here all the obtained data is )entrali,ed. After )reation% the referen)e of the ?-la)+board@ is 'assed to e"er/ a#ent *sin# the obe)t3to3a#ent )o&&*ni)ation &e)hanis& ade 56
'ro"ides. All the ðods )ontained in the -la)+board )lass that allo data &ani'*lation are 'rote)ted fro& data distortion b/ alloin# *st one thread at a ti&e to )all the ðod. his is a)hie"ed *sin# the a"a s/n)hroni,ation% li+e 'resented belo. public synchronized void set3lement(int romode2 int value) { '.set3lementAt(value2 romode); $
he abo"e sni''et fro& the !lackboard )lass *'dates the he*risti) "al*e of a #i"en node ith a "al*e 'ro"ided as se)ond 'ara&eter. n the other hand% hen o'tin# for a &essa#e )o&&*ni)ation% besides the instantiation of the essage:ommunication )lass% a !lackboard obe)t is )reated in order to store all the node "al*es. n )ontrast to the )entrali,ed a''roa)h% in this )ase ea)h a#ent ons its on bla)+board% e()han#in# infor&ation ith other a#ents onl/ thro*#h &essa#e 'assin#. n a bla)+board )o&&*ni)ation st/le% a#ents do not ha"e to +no abo*t ea)h others e(isten)e% not )o&&*ni)atin# dire)tl/% *st retrie"in# and *'datin# "al*es fro& a shard &e&or/ se#&ent. n )ontrast% in a &essa#e oriented )o&&*ni)ation st/le a#ents ha"e to +no if other a#ents or+ on the sa&e 'roble& in order to e()han#e infor&ati on. he Qello a#es =er"i)e offers an a#ent the 'ossibilit/ to re#ister his ser"i)es and to loo+ *' a#ents that 'ro"ide anted ser"i)es. Af ter )reatin# the essage:ommunication )lass% the a#ent re#isters his ser"i)e li+e belo )ode shos. public void 0egisterervice() { 1Agent1escription dd , new 1Agent1escription(); dd.setame(getA-1());
ervice1escription sd , new ervice1escription(); sd.set5!pe("4Pat'4inding"); sd.setame(get+ocalame()); dd.addervices(sd); try { 1ervice.register(this2 dd); $ catch (-PA3xception e) { e.printtac75race(); $ $
A#ent ser"i)e re#istration &andator/ s'e)ifies the 'ro"ided ser"i)e t/'e and the na&e of the 'ro"idin# a#ent. n o*r a''li)ation% a#ents ill nat*rall/ offer onl/ a sin#le ser"i)e% that of sol"in# a 'ath3findin# 'roble&. he ne(t ste' is to find all other a#ents hi)h 'ro"ide the sa&e ser"i)e.
57
public ectorBA-1C earc'orAgents() { 1Agent1escription template , new 1Agent1escription(); ervice1escription sd , new ervice1escription(); sd.set5!pe("4Pat'4inding"); 5emplate.addervices(sd); ectorBA-1C da , new ectorBA-1C(); try {
1Agent1escription89 result , 1ervice.search(this2template); for (int i , ?; i B result.lengt'; DDi) { 1Agent1escription ser , result8i9; if (#ser.getame().eEuals(this.getA-1())) da.add(ser.getame()); $ return da; $ catch (-PA3xception e) { e.printtac75race(); $ return da; $
he abo"e ðod )reates a te&'late des)ri'tion of a ser"i)e% s'e)if/in# that all a#ents sho*ld be loo+ed *' ho offer a path2finding ser"i)e. he res*lts% in for& of a#ent ADs are stored in a a"a "e)tor and ret*rned to the )allin# ðod. After settin# *' the )lasses hi)h deal ith )o&&*ni)ational as'e)ts% boolean "ariables are initiali,ed a))ordin# to the 'ara&eter re)ei"ed fro& the )ontroller% indi)atin# hether a )ertain i&'ro"e&ent of the ;<A: al#orith& is a)ti"ated or not. -/ defa*lt all s'e)ifi) boolean "ariables are set to false% &eanin# that the standard ;<A: al#orith& ill be e(e)*ted itho*t an/ i&'ro"e&ents. he belo )ode shos ho f*n)tionalities are added. if (option.eEuals("t!pe:")) bac7prop,true; else if (option.eEuals("t!pe<")) alternativeearc',true;
Here% the o'tion "ariable stores the 'ara&eter re)ei"ed fro& the )ontroller and a))ordin# to its "al*e% so&e boolean "ariables are set tr*e indi)atin# that a )ertain ser"i)e is a"ailable. he
backprop "ariable for instan)e enables and disables the ba)+'ro'a#ation &e)hanis&% hereas the alternative6earch "ariable deter&ines hi)h sele)tion &e)hanis& is a)ti"ated. he last instr*)tions in the setup(# are *sed to initiate the )ind1ath(# ðod% hi)h a)t*all/ e(e)*tes the ;<A: al#orith&. nstead of )allin# the )ind1ath(# ðod dire)tl/% e set *' a ade beha"ior. 58
n o*r )ase the )ind1ath(# ðod e(e)*tes *st a sin#le &o"e% &eanin# that all 'hases of the ;<A: al#orith& are e(e)*ted *st on)e% &o"in# an a#ent *st one node ahead. n order to e(e)*te a trial or e"en re'eated trials e )an )all the )ind1ath(# ðod &*lti'le ti&es b/ 'la)in# it into a :yclic!ehavior or a icker!ehaviour. A :yclic!ehavior e(e)*tes its assi#ned ðod *ntil the beha"ior is re&o"ed fro& the a#ent or the a#ent ter&inated. he
icker!ehavior or+s si&ilarl/ to the :yclic!ehavior ith the differen)e that the assi#ned ðod is e(e)*ted at s/&&etri) ti&e inter"als. he ðod in hi)h the a)t*al ;<A: al#orith& is e(e)*ted is the )ind1ath(# ðod of the !asicAgent )lass. After retrie"in# the )*rrent Mode% the )o&'*tation 'hase is e(e)*ted b/ e(a&inin# all dire)t nei#hbors of the )*rrent node% th*s *sin# a loo+3ahead de'th of fa)tor 1. Me(t% the *'date 'hase deter&ines hether the he*risti) "al*e of the )*rrent node needs to be *'dated. if (communication.canet(*urrentode2 minalue),,true) {
communication.setode(*urrentode2 minalue); c'anged,true;
he can6et ðod of the )o&&*ni)ation obe)t deter&ines if an *'date is needed on the )*rrent he*risti) "al*e. his sit*ation o))*rs hen the ne he*risti) "al*e is bi##er then the 're"io*s one% in this )ase storin# the ne "al* e *sin# the setBode ðod. he abo"e e(a&'le )learl/ shos that the al#orith& is not affe)ted b/ the )o&&*ni)ation t/'e% the )o&&*ni)ation obe)t bein# either of t/'e essage:ommunication or of t/'e !lackboard:ommunication. f the )o&&*ni)ation obe)t is a essage:ommunication obe)t then besides storin# a ne internal "al*e% a &essa#e is sent to all other a#ents indi)atin# the "al*e )han#e. hro*#ho*t the al#orith&% ;<A: o'ti&i,ations blo)+s )an be e(e)*ted. ne of this o'ti&i,ation blo)+s is 'resented belo. if (bac7prop,,true) if (this.isitedodes.siFe()C?) propagateac7wards(isitedodes.siFe()4:2*urrentode2minalue);
he abo"e )ode is 'art of the )ind1ath(# ðod and if e(e)*ted 'ro'a#ates ne "al*es to 're"io*sl/ "isited nodes. he s'e)iali,ed blo)+ to do this is the propagate!ackwards ðod of the !asicAgent )lass. his )ode is onl/ e(e)*ted hen the )orres'ondin# &e)hanis& is enabled thro*#h the backprop "ariable and if nodes ere 're"io*sl/ "isited. At the end of a ;<A: trial hen an a#ent rea)hes the final node% se"eral )he)+s are reF*ired to )hoose the ne(t a)tion. irst% it is )he)+ed if another a#ent )o&'leted the tas+. n this )ase% it is no lon#er ne)essar/ for the a#ent to )ontin*e the al#orith& and th*s e(e)*tion is 59
sto''ed. =e)ondl/% it is )he)+ed hether so&e )han#es o))*rred in the he*risti) "al*es of the "isited nodes. f )han#es ere &ade% then a ne trial is 'erfor&ed startin# fro& the initial node. f no )han#es o))*rred% then no *'dates ere e(e)*ted% )onseF*entl/ the o'ti&al 'ath beteen start node and end node as fo*nd. Me"ertheless% there are sit*ations in hi)h the he*risti) "al*es of nodes on a 'ath are )han#ed b*t so&e a#ents &i#ht not noti)e. or instan)e if to a#ents tra"el al&ost si&*ltaneo*sl/ alon# the sa&e 'ath fro& start node to end node% and if *st one a#ent does so&e *'dates% the other &a/ end the 'ro#ra& be)a*se he did not *'date an/ he*risti) "al*e in his trial. o 're"ent this +ind of sit*ation ea)h a#ent retains the list of "isited nodes and their he*risti) "al*es. n)e no )han#es o))*rred in a trial% an e(tra trial is 'erfor&ed% and a#ain "al*es are re)orded . f in the e(tra trial% no *'dates are &ade and the "al*es )oin)ide ith 're"io*s "al*es% then the o'ti&al 'ath as fo*nd and the a#ent ter&inates al#orith& e(e)*tion. Altho*#h this t/'e of sit*ation rarel/ o))*rs% all of the abo"e "erifi)ations are i&'le&ented. s*all/ these sit*ations ha''en hen &an/ a#ents ?li"e@ in a s&all #ra'h. -efore s)hed*lin# an/ beha"ior a ti&e &eas*re&ent is ta+en. After an a#ent ter&inates the al#orith&% another ti&e &eas*re&ent is ta+en. he differen)e beteen these to ti&e &eas*re&ents res*lts in the o"erall ti&e the a#ent needed to 'erfor& the sear)h. n behalf of ti&e &eas*re&ents different ;<A: based al#orith&s )an be )o&'ared. he Mode )lass is res'onsible for storin# all node related infor&ation. A node has the folloin# str*)t*reE •
a label% hi)h stores the n*&ber of the node$
•
a list of nei#hborin# nodes$
•
•
a list of distan)es to the nei#hborin# nodes$ o'tionall/ a a"a 1onint-9 obe)t% storin# #eo#ra'hi)al )oordinates$
he 9ataanager )lass of the odel 'a)+a#e is res'onsible for handlin# all file o'erations. A 9ataanager obe)t is able to read both file for&ats% the )*sto& a''li)ation for&at as ell as the C2D for&at. After readin# a file data is 'assed to an
Cnvironment obe)t% hi)h stores
the #ra'h b/ +ee'in# a list of all Bode obe)ts.
5..
Co&'arati"e res*lts and a nal/sis he al#orith&s i&'le&ented b/ the a''li)ation ere tested on rando& test )ases in order
to )o&'are the& and to find the best )onfi#*ration for sol"in# 'arti)*lar 'ath3findin# 'roble&s. All the )o&'ared al#orith&s ere e(e)*ted in the sa&e or+in# )onditions% all re)ei"in# the sa&e in'*t data. he 'erfor&an)e of ea)h al#orith& is &eas*red b/ the total e(e)*tion ti&e 60
reF*ired to sol"e a 'ath3findin# 'roble&. =e"eral test *nits ere r*n% ea)h of the& as ha"in# a different #oal. /1.101 S#$%!e A%e$' )1 M&!'#"!e A%e$')
he tests )arried o*t in this se)tion ha"e the #oal of deter&inin# ho a 'ath3findin# 'roble& is sol"ed faster% *sin# a sin#le a#ent or *sin# &*lti'le a#ents. he first test )ase is a tin/ #ra'h ith *st 7 nodes% sear)hin# for the o'ti&al distan)e beteen nodes 1 and 7. he standard ;<A: al#orith&% 'erha's the &ost re'resentati"e for all is )hosen for e(e)*tion in )o&bination ith a bla)+board )o&&*ni)ation st/le. he test /ields the folloin# dataE Tra#! No1 No1 of A%e$') 0 + . 7 /
0A%e$'
+A%e$')
.A%e$')
/A%e$')
594&s 594&s 594&s 594&s
59&s 562&s 515&s 516&s
51&s 469&s 52&s 516&s
516&s 515&s 515&s 515&s
594&s
59&s
515&s
516&s
he #athered data indi)ates that *sin# &*lti'le a#ents on a 'ath3findin# 'roble& in)reases in &ost )ases al#orith& )on"er#en)e. n the other hand% the different res*lts obtained hen *sin# &*lti'le a#ents )an be e('lained thro*#h s/n)hroni,ation iss*es re#ardin# threads as ell as the data 'rote)tion &e)hanis&. n this 'arti)*lar )ase% there is no bi# differen)e beteen *sin# 2% or 5 a#ents. A se)ond test is 'erfor&ed on a &edi*&3si,ed #ra'h% )ontainin# 52 nodes% *sin# the 're"io*s )onfi#*ration. n this )ase% all the a#ents ill start fro& node 1 and ha"e the #oal to find the o'ti&al 'ath to node 52. Tra#! No1 No1 of A%e$') 0 + . 7 /
0A%e$'
7A%e$')
0,A%e$')
+,A%e$')
5656&s 5656&s 5656&s 5656&s 5656&s
74&s 891&s 156&s 4750&s 5422&s
125&s 2671&s 2562&s 275&s 890&s
1500&s 1547&s 159&s 1500&s 1781&s
n this )ase% ha"in# a &edi*&3si,ed #ra'h% the differen)e beteen o"erall e(e)*tion )osts is &*)h bi##er then in the 're"io*s test )ase. Hoe"er% in so&e )ases% for instan)e hen *sin# 4 a#ents% )onsiderable "arian)es beteen e(e)*tion )osts o))*r. his )an be e('lained li+e in the 're"io*s e(a&'le thro*#h s/n)hroni,ation &e)hanis&s b*t also thro*#h a different a&o*nt of e(e)*ted ;<A: trials. >hen *sin# 4 a#ents% the &ini&al distan)e beteen the )hosen 'oints
61
)an be a)hie"ed for instan)e either in 10 trials or in 12 trial% de'endin# on ho a#ents tra"el thro*#ho*t the #ra'h. his "arian)e in reF*ired trials e('lains so&e of the differin# "al*es. n the ne(t test )ase% e ill )onsider a #ra'h ith 144 nodes% the bi##est so far% in hi)h the &ini&al distan)e fro& node 1 to node 144 is reF*ired.
Tra#! No1 No1 of A%e$')
0A%e$'
0,A%e$')
.,A%e$')
0
2250&s
959&s
6859&s
+
2250&s
698&s
5500&s
909
.
2250&s
8797&s
756&s
9719
7
2250&s
1044&s
6562&s
7954
/
2250
9594
/,A%e$')
8844
6921
7578
ro& the abo"e res*lts% a )lear 'attern e&er#es% na&el/ that the &ore a#ents are *sed% the faster the al#orith& )on"er#es. Me"ertheless% the last to )ol*&ns do not "alidate this 'attern% sin)e res*lts re"eal that it is &ore )on"enient in this 'arti)*lar sit*ation to *se 0 a#ents instead of 50. here are to e('lanations for this sit*ation. irst% )onsiderin# 50 a#ents in 1443si,e #ra'h is F*ite ina''ro'riate sin)e it is hi#hl/ li+el/ that not all a#ents ill )ontrib*te eF*all/ to the 'roble&s sol*tion. =e)ond% *sin# 50 a#ents leads to hi#h &e&or/ )ons*&'tion and s/n)hroni,ation 'roble&s. =*&&ari,in#% the )ostObenefit ratio for *sin# 50 a#ents in this 'arti)*lar sit*ation is inferior to the )ostO benefit ratio for *sin# 0 a#ents. his test shoed the i&'ortan)e of )hoosin# the ri#ht n*&ber of a#ents for a s'e)ifi) en"iron&ent. sin# too fe or too &an/ a#ents &a/ not ha"e the desired i&'a)t% th*s an ideal balan)e has to be fo*nd in order to s'eed *' ;<A:3 based al#orith&s. /1.1+1 Me))a%e >omm&$#>a'#o$ )1 B!a>k?oar< >omm&$#>a'#o$
n this se)tion% e ill )o&'are the &essa#e based )o&&*ni)ation st/le ith the bla)+board based )o&&*ni)ation st/le. ;i+e in the 're"io*s se)tion% e ill r*n se"eral test )ases% &eas*rin # al#orith& 'erfor&an)e b/ e(e)*tion ti&e. or the sa+e of si&'li)it/% e ill r*n the tests on the 're"io*sl/ sele)ted #ra'hs% ith the sa&e start and end nodes. n )ontrast to the 're"io*s se)tion% to a''li)ation al#orith&s ill be )onsidered either in )o&bination ith a &essa#e based )o&&*ni)ation or *sin# a bla)+board )o&&*ni)ation. >e ill *se the )on)l*sions fro& the 're"io*s se)tion in order to )hoose the a''ro'riate #ents. he first #ra'h )onsidered is the s&all one% ith 7 nodes% *sin# a#ents.
62
Tra#! No1
LRTA-
LRTA ACL
SLA
A!%or#'*m 0 + . 7 /
B!a>k?oar< 515&s 516&s 594&s 515&s 516&s
Me))a%e) 516&s 578&s 594&s 516&s 500&s
B!a>k?oar< 20&s 250&s 281&s 250&s 172&s
SLA ACL Me))a%e) 265&s 281&s 250&s 266&s 59&s
he abo"e shon res*lts are no )lear indi)ation hether one t/'e of )o&&*ni)ation is faster then another. Altho*#h the =;A: Y -la)+board a''roa)h a)hie"ed so&e #ood res*lts% the obtained data are too )lose to the ones 'ro"ided b/ the &essa#e3based =;A: in order to desi#nate the fastest )o&&*ni)ation &e)hanis&. he =;A: al#orith& is *ndo*btedl/ &*)h faster than the standard ;<A: al#orith& as the "al*es )onfir& and as dis)*ssed in se)tion 4.8.. he ne(t #ra'h% on hi)h e"al*ation ta+es 'la)e% is the &edi*&3si,ed #ra'h% )ontainin# 52 nodes% here 15 a#ents are *sed. =tart node and final node re&ain the sa&e.
Tra#! No1
LRTA-
LRTA ACL
SLA
SLA ACL
A!%or#'*m
B!a>k?oar<
Me))a%e)
B!a>k?oar<
Me))a%e)
0
750&s
220&s
2000&s
101&s
+
688&s
170&s
1594&s
125&s
.
45&s
1594&s
1255&s
1125&s
7 /
228 &s 56&s
1797&s 170&s
129&s 1500&s
175&s 992&s
he abo"e res*lts )learl/ sho that the &essa# e3based a''roa)h is &ore effi)ient in this 'arti)*lar sit*ation than the bla)+board s/ste&% obtainin# *nder both al#orith&s s*'erior res*lts. n the ne(t 'erfor&ed trial% the lar#e #ra'h is *sed to test the t/'es of a#ent )o&&*ni)ation. he sa&e data is *sed% startin# fro& node one and ha"in# as destination node 144% *sin# 0 a#ents.
Tra#! No1
LRTA-
LRTA ACL
SLA
SLA ACL
A!%or#'*m
B!a>k?oar<
Me))a%e)
B!a>k?oar<
Me))a%e)
0
551&s
6468&s
2859&s
6609&s
+
625&s
6594&s
250&s
6750&s
.
690&s
6672&s
2922&s
7422&s
7
7125&s
7125&s
156&s
6510&s
6
/
6172&s
564&s
4&s
6640&s
he res*lts of this trial )a&e *ne('e)tedl/% infir&in# the ones obtained in the 're"io*s trial. n this )ase% the sit*ation is )o&'letel/ )han#ed% the bla)+board )o&&*ni)ation ðod 'erfor&in# better then the &essa#e a''roa)h. A 'ossible e('lanation is the in)reasin# n*&ber of e()han#ed &essa#es )o&'ared to the 're"io*s trial. Mot onl/ that &ore a#ents are in"ol"ed% b*t a bi##er #ra'h also in"ol"es &ore &essa#e 'assin#. /1.1.1 A!%or#'*m Com"ar#)o$
n this se)tion% e ill )o&'are all the a''li)ation al#orith&s b/ settin# *' &ost s*itable s)enarios ins'ired fro& the 're"io*s se)tions. >e ill o't for the sa&e en"iron&ent% *sin# the ea)h ti&e a 'ro'er n*&ber of nodes ith the a''ro'riate )o&&*ni)ation ðod. he tested al#orith&s are the standard ;<A: al#orith&% the =;A: al#orith&% o*r al#orith& and the 3;<A: al#orith&. >e start ith the s&all #ra'h% *sin# a#ents and the bla)+board )o&&*ni)ation st/le% in order to find the &ini&al distan)e beteen node 1 and node . Tra#! No1
S'a$
A!%or#'*m 0 + . 7 /
LRTA 515&s 516&s 515&s 516&s 515&s
SLA
281&s 250&s 250&s 157&s 281&s
O&rA""roa>*
250&s 250&s 281&s 250&s 281&s
P-LRTA
296&s 297&s 297&s 296&s 250&s
est res*lts re"eal that that the fastest al#orith&s are the =;A: al#orith& and o*r a''roa)h folloed b/ the 3;<A: al#orith&. he differen)es beteen "al*es are rather s&all indi)atin# that all al#orith& finish )o&'*tation in the sa&e n*&ber of ste's. he ne(t test )ase is the &edi*& #ra'h% )ontainin# 52 nodes% startin# fro& node 1 to node 52% *sin# 15 a#ents.
Tra#! No1
S'a$
A!%or#'*m
LRTA
SLA
O&r A""roa>*
P-LRTA
0
174&s
1125&s
1000&s
1765&s
+
1687&s
891&s
1141&s
1672&s
.
174&s
1141&s
922&s
191&s
7
1515&s
156&s
968&s
14&s
/
1688&s
125&s
95&s
151&s
64
he abo"e shon data shos that hen a''l/in# the best 'ossible )onfi#*ration% al#orith& e(e)*tion ti&es tend to &o"e )loser to#ether. Hoe"er% e"en in this )ase all the ;<A: based i&'ro"ed al#orith&s )learl/ o*t'erfor& the standard ;<A: al#orith&% e()e't the 3;<A: al#orith& hi)h is *st sli#htl/ better than the standard ;<A: al#orith&. Co&'arin# o*r al#orith& to the =;A: al#orith& e &a/ state that a )ertain if not "er/ si#nifi)ant i&'ro"e&ent as bro*#ht to the =;A: al#orith& hen dealin# ith &edi*&3si,ed #ra'hs. ro)eedin# in the sa&e &anner% e ill 'erfor& a last test on the bi##est #ra'h that )ontains 144 nodes% startin# fro& node 1 and finishin# ith node 144. ;i+e in the 're"io*s e(a&'le 0 a#ents are *sed to 'erfor& the tas+. Tra#! No1 A!%or#'*m 0 + . 7 /
S'a$
6156&s 695&s 6562&s 6094&s 570&s
SLA
219&s 01&s 219&s 2968&s 2828&s
O&r A""roa>* 2562&s 547&s 59&s 406&s 2781&s
P-LRTA
4516&s 495&s 4625&s 5281&s 5157&s
his last test re"eals so&e interestin# res*lts% 'la)in# the =;A: al#orith& before o*r al#orith&. his is )a*sed b/ )hoosin# a bi##er #ra'h than in the 're"io*s e(a&'le% hi)h annihilates all the ad"anta#es the rando&ness brin#s to o*r al#orith&. Altho*#h% in the first and the last trial o*r al#orith& o*t'erfor&s the =;A: al#orith& o"erall test res*lts sho that rando&ness does not or+ so ell on #ra'hs this si,e. n 'ra)ti)e% rando&ness or+s fine on hat e )all &edi*&3si,ed #ra'hs% &ostl/ o*t'erfor&in# the =;A: al#orith&. A 'ossible )a*se for this res*lt &i#ht be the fa)t that in o*r test )ases nodes in bi##er #ra'hs tend to ha"e &ore nei#hbors than nodes in s&aller #ra'hs d*e to rando& ed#e #eneration. ConseF*entl/ hen ha"in# &ore nei#hbors% &ore node sele)tion o'tions are a"ailable% and this is 'erha's the 'oint here rando&ness fails to 'ro"ide #ood res*lts. n order to fi( this 'roble& a ?)ontrolled@ rando&ness )an be introd*)ed here the 'robabilit/ of )hoosin# a ne(t node is #i"en b/ the nodes he*risti) "al*e. he s&aller a nei#hbor nodes he*risti) "al*e the bi##er the )han)e for sele)tion. Hoe"er% itho*t )on)l*din# e"iden)e this a''roa)h re&ains *st a h/'othesis% hi)h ill be s*be)t to a f*t*re or+.
65
Con)l*sions n the first )ha'ter of this 'a'er% the to'i) of intelli#ent softare a#ents as dis)*ssed% and es'e)iall/ the field of &*ltia#ent s/ste&s. he/ are bein# st*died and de"elo'ed in F*ite a n*&ber of resear)h and de"elo'&ent laboratories% bein# still an e&er#ent% )o&'le( interdis)i'linar/ do&ain. Cha'ter to and three e introd*)ed three different a#ent de"elo'&ent en"iron&ents% one of the& bein# a))orded a 'arti)*lar i&'ortan)e. !ore s'e)ifi) the a"a A#ent De"elo'&ent ra&eor+ as 'resented% dis)*ssin# in detail the offered feat*res. ade 'ro"ides a hole infrastr*)t*re for de"elo'in# &*ltia#ent s/ste&s a)hie"in# a hi#h de#ree of 'ortabilit/ and intero'erabilit/ d*e to the )o&'lian)e to A standards. ade additionall/ offers 'oerf*l #ra'hi)al tools li+e the =niffer a#ent% the D*&&/ or the e des)ribed to a#ent3)entered sear)h al#orith&s% the ada'ti"e d/na&i) 'ro#ra&&in# al#orith& IADJ and &ore detailed the learnin#3real ti&e A: I;<A:J al#orith&. hree e(tensions of the base ;<A: al#orith& ere des)ribed% anal/,in# their ad"anta#es and disad"anta#es. All the 'resented e(tensions do not offer a &a#i) sol*tion to i&'ro"ed al#orith& )on"er#en)e b*t rather sa)rifi)e so&e of ;<A:s 'ro'erties in order to s'eed *' )o&'*tations. =i&ilar to these e(tensions% o*r 'ro'osed al#orith& is tr/in# to a)hie"e a trade3off beteen 'reser"in# the on3line 'ro'ert/ of ;<A: and beteen a faster e(e)*tion. *r e('eri&ental e"al*ation of different )onfi#*rations% &ade in )ha'ter fi"e% re"ealed three &aor res*lts. irst% *sin# &ore then one a#ent in 'ath3findin# 'roble&s )an s'eed *' )o&'*tations% b*t e&'lo/in# too &an/ a#ents )an ha"e in so&e )ases the o''osite effe)t. =e)ond% e deter&ined that de'endin# on sear)h s'a)e si,e% either a de)entrali,ed ?bla)+board@ a''roa)h or a &essa#e based )o&&*ni)ation st/le is 'referable. hird and &ost i&'ortantl/% e introd*)ed a ;<A: based al#orith&% that introd*)es rando&ness in the a)tion sele)tion ste' of ;<A:. his a''roa)h )o&bined ith a ba)+tra)+in# &e)hanis& a)hie"ed the best o"erall res*lts for findin# &ini&al distan)es in s&all and &edi*& sear)h s'a)es. >e f*rther re&ar+ that in lar#er s'a)es% the ad"anta#e of rando&ness fades d*e to a lar#e n*&ber of states. *t*re or+ has to sho hether the introd*)tion of a ?)ontrolled@ rando&ness )an address the 'roble&s of lar#e sear)h s'a)es. *rther efforts ill also in)l*de the in"esti#ation of other ;<A: e(tensions% 'ossibl/ )o&bined ith o*r 'ro'osed al#orith&.
66
-iblio#ra'h/ 1.
Be!!#fem#$e@ F1@ 31 Ca#re@ 3ree$woo<% D.% 9eveloping ulti2agent 6ystems with DA9C. >ile/% 2007
2.
Ber%e$'#@ F1@ Po%%#@ A1@C&ploiting < in the 9esign of ulti2agent 6ystems, ro)eedin#s of the irst nternational >or+sho' on n#ineerin# =o)ieties in the A#ent >orld% '. 1063
11% 2000
3.
B&!#'ko@ V1@ Lee@ 31@
4.
Co*e$@ P1R1@ C*e(er@ A1J1@ 2a$%@ M1@ Bae%@ S1C , An ;pen Agent Architecture% AAAA ='rin# =/&'osi*& '.138% 1994
5.
C*eo$%@ C1@ A :omparison of DA:F Intelligent Agents and the ;pen Agent Architecture%
6.
Ero! 81@ La$% J1@ Le( R1@ 9esigning Agents from 7eusable :omponents. n ro)eedin#s of the fo*rth international )onferen)e on A*tono&o*s a#ents% '. 76Y77% 2000.
7.
3r&?er@ T1R1@ A translation approach to portable ontology specifications@ Knoled#e A)F*isition Pol*&e 5% ss*e 2% 199
8.
Haag, S., Cummings, M., McCubbrey, D., Pinsonneaul, !., Dono"an, #., Management information systems for the information age (3rd Canadian Ed.), McGraw Hill Ryerson, Canada, 2006
$.
Ha&%e!a$<@ J1% Artificial IntelligenceE he Gery Idea% he ! ress% Ca&brid#e% !assa)h*setts '. 2 1985
.
1%. Howa) A1@ DA:F intelligent agents H 6ummary of an agent infrastructure% ro)eedin#s of the 5th nternational Conferen)e on A*tono&o*s A#ents% !ontreal% 2001
11. 8oe$#%@ S1@ Agent2:entered 6earch% A !a#a,ine% Pol*&e 22% M*&ber 4% 2001 12. 8oe$#%@ S1@ A :omparison of )ast 6earch ethods for 7eal2ime 6ituated Agents% ro)eedin#s of the nternational oint Conferen)e on A*tono&o*s A#ents and !*ltia#ent =/ste&s IAA!A=J% '. 8643871% 2004
13. La?ro&@ Y1@ F#$#$@ T1@ Pe$%@ Y .@ Agent :ommunication *e)@ R1@ F#ke)@ R1E1@ F#$#$@ T1@ 3r&?er@ T1@ Pa'#!@ R1@ Se$a'or@ T1@ Swar'o&@ 21R1@ Cnabling echnology for Fnowledge 6haring% A !a#a,ine% A*#*st 1991. 16. Rao@ A1S1@ 3eor%eff@ M1@ !9I AgentsE )rom heory to 1ractice% ro)eedin#s of the irst nternational Conferen)e on !*lti A#ent =/ste&s% C!A=395% =an ran)is)o% California% 1995 67
17. Ra($er@ D1C1@ Da#)o$@ 81@ B&!#'ko@ V1@ A$
18. R#>*@ E1@ 8$#%*'@ 81% Artificial Intelligence% !). Gra Hill% Me Qor+% 1991% 23nd ed 1$. R&))e!!@ J1S@ a$< Nor#%@ P1% Artificial Intelligence A odern Approach% renti)e3 Hall% n).% Me erse/ 1995
2%. Ser?a$@ 31@ 6isteme multiagent Jn InteligenKa ArtificialL 9istribuitL. Arhitecturi Mi aplicaKii.
22. S*o*am@ Y1@ Agent2oriented programming. e)hni)al
23. S*&e@ L1-Y1@ L#@ S1T1@ ama$#@ R1% An intelligent heuristic algorithm for pro0ect scheduling problems. n ro)eedin#s of the hirt/ =e)ond Ann*al !eetin# of the De)ision =)ien)es nstit*te% =an ran)is)o% 2001
24. S#%m&$or+sho' on ;earnin# or =ear)h% -oston% !assa)h*setts% 2006.
25. S'o$e@ P1@ Ve!o)o@ M1@ ultiagent 6ystemsE A 6urvey from a achine ara@ 8.% ultiAgent 6ystems% A !a#a,ine% 19 I2J% 1998 27. Te#'@ A1@ A survey of Agent2;riented 6oftware Cngineering% he irst MM Co&'*ter =)ien)e Grad*ate =t*dent Conferen)e% 2001 o!
2$. 2oo!
3%. 2oo!
31. 2oo!
32. 2oo!
68
::: B A#ent riented =oftare t/ ;td. ACK ntelli#ent A#ents ser G*ide. A#ent riented =oftare t/ ;td% 2002. ::: B4 =< nternational. 'en A#ent Ar)hite)t*re IAAJ De"elo'ers G*ide Persion 2.2. =< nternational.
69