利用 AgentSpeak(PL) 中的新计划及 JASDL 技术融合
在软件开发领域,基于自主代理的软件被视为应对高度动态环境的有效解决方案,因为在这些环境中,人工干预往往不切实际或根本无法实现。为了推动基于代理的软件开发,人们创造了多种代理编程语言和架构。
AgentSpeak(PL):提升代理灵活性的新方案
传统的代理架构在计划执行方面存在一定局限性。许多架构中的计划通常是自包含的程序,具有关联的触发事件和上下文条件,但缺乏关于执行计划后果的进一步信息。例如,PRS 及其后续版本虽然高效,但在处理设计时未预见的情况时灵活性较差。传统的 BDI 代理采用过程式方法设计,依赖设计者预见代理可能遇到的所有相关情况,这限制了代理在运行时的灵活性。
为了克服这些限制,AgentSpeak(PL) 应运而生。它是一个扩展的 AgentSpeak(L) 解释器,能够在计划库中没有合适计划时生成新的高级计划。具体操作步骤如下:
1. 计划转换 :AgentSpeak(PL) 通过评估过程式计划在信念添加和删除方面的后果,将这些计划转换为类似 STRIPS 的表示形式。
2. 状态空间规划 :结合当前信念库和期望的目标状态,将转换后的计划提供给经典规划器进行状态空间规划,从而创建新的计划。
3. 计划库扩展 :随着规划模块创建新计划,计划库不断扩展,性能也会随着时间的推移得到改善。
然而,新计划要长期发挥作用,与之关联的上下文条件的生成至关重要。上下文条件需要既简单到足以在计划实现目标时能够执行,又要足够严格,以避免在计划可能失败
超级会员免费看
订阅专栏 解锁全文
34

被折叠的 条评论
为什么被折叠?



