基于策略意图的模块:GOAL 中的模块化智能体编程
1. 模块接口与 GOAL 语言概述
在智能体编程中,将模块接口定义为识别特定情况的条件是很自然的。智能体模块的声明式接口指定了模块能够很好处理的情况,而模块的内部结构则说明了如何处理接口所指定的情况,它封装了智能体在当前目标下处理该情况所需的基本动作、知识和计划。
GOAL(Goal - Oriented Agent Language)是一种智能体编程语言,它结合了信念和目标的声明式概念,以及基于这些概念的动作选择机制。一个 GOAL 智能体程序由四个部分组成:
- 初始信念集合,统称为智能体的(初始)信念库。
- 初始目标集合,称为(初始)目标库。
- 程序部分,由一组条件动作组成。
- 动作规范,包括智能体基本动作的前置和后置条件的规范。
以下是一个(不完整的)GOAL 智能体程序示例:
:main:deliveryAgent
{
:beliefs{ home(a).
loc(p1,a). loc(p2,a). loc(p3,a). loc(p4,a). loc(truck,a).
loc(c1,b). loc(c2,c). order(c1,[p1,p2]). order(c2,[p3,p4]).
ordered(C,P) :- order(C,Y), member(P,Y).
loaded order(C) :- order(C,O), loaded(O).
delivered order(C) :- order(C,O), loc(C,X), loc(O,X), loc(truck,a).
packed :- setOf(P,in(P,truc
超级会员免费看
订阅专栏 解锁全文
38

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



