1. Agent定义
Agent的概念——1977年Carl Hewitt “Viewing Control Structures as Patterns of Passing Messages”
Agent一词最早见于M.Minsky于1986年出版的《Society of Mind》
广义的Agent包括人类、物理世界的机器人和信息世界的软件机器人。
狭义的Agent专指信息世界中的软件机器人或称软件Agent。
Wooldrige 《Intelligent Agents: Theory and Practice》:
1) 弱定义
Agent用来最一般地说明一个软硬件系统,具有四个特性:
(1)自治性。在无人或其他系统的直接干预下可自主操作,并能控制其行为和内部状态。
(2)社会性。能够通过某种通信语言与其他Agent(也可能是人)进行交互。
(3)反应性。感知所处的环境,对环境的变化做出实时的反应,并可通过行为改变环境。
(4)能动性。不仅仅简单地对环境做出反应,而且可以主动地表现出目标驱动的行为。
2) 强定义
Agent除具备弱定义中所有特性外,还应具备一些人类才具有的特性,如知识、信念、义务、意图等。
2. Agent类型
(一) 常用划分
1) 简单反应式Agent
图1 简单反应式Agent结构框图
2) 内置状态反应式Agent
图2 内置状态的反应式Agent结构框图
3) 目标驱动的Agent
图3 目标驱动的Agent结构框图
4) 效用驱动的Agent
图4 效用驱动的Agent结构框图
(二) 按问题求解能力划分
反应型Agent :能响应环境的变化或来自其他Agent的消息。
慎思型Agent(意图型Agent):能够针对意图和信念进行推理,建立行为计划,并执行这些计划。
社会性Agent:除具有意图Agent的能力外,还具有关于其他主体的明确模型。
3. Agent的环境
1) 环境的属性
图5 环境的属性
可知性:Agent传感设备使它可以了解环境的全部状态。对于完全可知的环境,Agent无需保存内置状态信息。
确定性:下一步环境的状态可以由当前状态和Agent选择的动作来完全决定。
阶段性:在一个按时间划分为一个个不相关的阶段的环境里,Agent的执行过程也将划分为一个个阶段。
静态和动态:如果环境在Agent进行推理的时候就发生改变,就说该环境对于Agent来说是动态的,否则就是静态的。
连续性:如果系统中只有有限的、区别明显的、清晰定义的知觉对象和动作,就说环境是离散的。
2) 环境程序(环境模拟器)
procedure RUN-ENVIRONMENT(state,UPDATE-FN,Agents,termination)
inputs:state,the initial state of the environment
UPDATE-FN,function to modify the environment
Agents,a set of Agents
termination,a predicate to test when we are done
repeat
for each Agent in Agents do
PERCEPT[Agent]GET_PERCEPT(Agent, state)
end
for each Agent in Agents do
ACTION[Agent]PROGRAM[Agent](PERCEPT[Agent])
end
state UPDATE-FN(actions, Agents, state)
until termination(state)
参考文献:
[1] 王汝传, 徐小龙, 黄海平等. 智能Agent及其在信息网络中的应用. 北京: 北京邮电大学出版社