资源描述:
《jason入门讲稿》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、4.2.1开发工具及理念开源软件Jason的开发语言主要是Java和AgentSpeak。Jason对开发多Agent系统提供了很好的支持,可以很方便的创建Agent、协调Agent之间的相互通讯、Agent认知环境与环境相互作用从而改变环境等。4.2.1.1Agent构建在AgentSpeak中,一个Agent是由一系列的bs(Bliefs)—信念(Agent的初始化信念集)和一系列ps(Plans)—计划(Agent的计划库)。at对应的P表示的是定义符号(定义一个信念),而f对应的A是一个行为符号(表示一个行为)。注意bs中的at应该是“
2、实”的,即信念是实的,如变量在这里是不允许的。在AgentSpeak中,“实”的用小写字母,而虚的,如变量,用大写字母表示。AgentSpeak中的计划plan表示agent在环境中能执行的基本动作,由上图的p来表示,p所指向的te是触发事件(表示了计划的目的),ct是计划执行的条件,h是一组行为、意图或信念更新序列;te:ct为计划中的头部,h则是它的体。那么Agent中的一组计划是有ps所指向的计划列表。每一个规划的头部都有一个ct,它是规划能否正常执行的条件。ct必须是由Agent信念对规划是否可行的逻辑推理结果。ct为true,或是条件
3、表达式,依据当前信念判断条件是否为真。触发事件te可以是增加或减少Agent的信念集(分别用+at,-at来表示),或者是增加或减少一个意图(分别由+g和-g来表示)。由原子行为,意图和信念更新组成的h是计划的体。行为A由行为标志符和参量表示。是Agent可执行的原子行为。意图g由前缀和标志符表示,可以是achievementgoal(前缀用!表示,)或testgoals(前缀用?表示)。achievementgoal在实际应用中可产生子计划的执行(以+!g为标志的计划)。而testgoals是查询信念库是否有相应的信念,如有,则从信念库中取出
4、相应的信念;如果没有,则产生事件"+?g",如果有相匹配的计划,则执行,如无,则fail,因为"noapplicableplans",此时仍然可能试执行"-?g"计划,如果依然没有该计划,则丢弃此意图并告知用户。TestGoalsTestgoalsarenormallyusedtoretrieveinformationfromthebeliefbase,ortocheckifsomethingweexpectedisindeedbelievedbytheagent,duringtheexecutionofaplanbody.Onemaywond
5、erwhywedonotusethecontextoftheplantogetallthenecessaryinformationbeforetheagentstartsonitscourseofaction.Conceptually,thecontextshouldbeusedonlytodetermineiftheplanisapplicableornot(i.e.whetherthecourseofactionhasachanceofsucceeding),andpracticallywemayneedtogetthelatestinfo
6、rmationwhichmightonlybeavailable,orindeedmightbemorerecentlyupdated,whenitisreallynecessary.Forexample,iftheagentisguaranteedtohavesomeinformationaboutatarget’scoordinates,whichareconstantlyupdated,andonlyneededbeforealastactioninthecourseofactiondefinedbytheplanbody,thenitw
7、ouldmakemoresensetouse?coords(Target,X,Y);justbeforethatactionthantoincludecoords(Target,X,Y)inthecontext.Inthisparticularexampleoftestgoal,presumablythevariableTargetwouldalreadybebound(bypreviousformulainthebody)withtheparticulartargetinquestion,andassumingXandYwerefree(i.
8、e.notboundyet),anyuseofthosevariablesafterthetestgoalwillbereferringtothepa