Jadex中的Goal概念

本文详细介绍了Jadex中的四种Goal机制:Performgoal、Achievegoal、Querygoal及Maintaingoal,并探讨了它们如何指导Agent的行为,以及各种Goal机制的特点与应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Goal在Agent程序语言中是很重要的概念,Agent的主动性,反应性,自治性和社会能力都与goal有关联。在很多Agent系统中,goal都是一个核心的概念,比如3APL,KAOS,Tropos。goal已经成为活动(actions)和推理(reasoning)之间的纽带。活动是为了获取特定的goal而执行的,goal发生改变的时候活动也会相应发生改变。

Jadex中提供了4种goal作为触发机制(根据goal的当前行为分类).

Perform goal:只是指明某些活动需要执行,输出结果只依赖与活动是否被执行。执行了就是succeeded,如果在系统上下文中没有适用的规划需要执行,则为failed。一个perform goal有一预先定义好的状态,由这一状态来触发规划选择和执行机制,当规划执行完毕后,这一状态就无用了。

Achive goal :最常用的,用来达到某些特定的状态。比Perform goal多了target 和Failure条件。给定target条件,此goal被激活执行,某些plans被选入,在执行阶段,只要target条件变为成功或者说到达了目标状态,则所有活动被终止。Failure条件帮助结束绝对不会到达的目标。去掉了target和failure条件的achive goal与perform goal不同的是,achive执行第一个plan后便成功,而perform则会继续执行下面的plan,直到指定的plans都执行完毕才成功。

 

Query goal:信息检索,向Agent查询特定的信息。比如cleaner要找到哪些地方有垃圾。如果Agent没有足够知识回答,则立即回答,这个goal便成功了。否则,实用的plan便会试图搜集需要的信息。Query goal是一类特定的achive goal,两者不同的是query goal必须要有一个返回结果。

Maintain goal:条件不满足时调用某个plan执行,比如要保持核反应堆的温度。Maintanance goals初始化便是true,如果他变为false,则系统会采取某些活动使之变为true,于是此类goals便成为了一个触发器,也就是说当他变为false时,才会有活动发生。如图,maintain goal一般处于空闲状态(实际上在监控),当maintain条件不满足了,才会激活相应的plan去执行,成功后依然返回到空闲状态。如果处理过程失败,没有合适的plan,则系统到达unmaintainable 状态,如果不能Agent不能确定当前处理过程是否会成功,则到达unknown状态。

 

附录:常用的goal属性(BDI flags)

 

Name

Default

Possible Value

retry

true

{ true, false}

retrydelay

0

positive long value

 

recur

false

{ true, false} (for maintain goals only)

recurdelay

0

positive long value (for maintain goals only)

exclude

"when_tried"

{"when_tried","when_succeeded",when_failed", "never"}

posttoall

false

{ true, false}

 

randomselection

false

{ true, false}

metalevelreasoning

true

{ true, false}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值