关键词:智能体
通过代理的研究可追溯到70年代分布式人工智能的研究(DAI:Distribute Artifical Intelligence),主要分两条研究路线:一条围绕经典人工智能展开,主要研究代理的拟人行为,多代理的协商模型等,其研究方向可分为代理理论,代理体系结构,代理语言,多代理系统等,一些计算机科学家称之为"智能代理"或是强定义的代理;另一条从90年代左右到现在,以应用为主,将经典人工智能关于代理的强定义弱化,拓宽了代理的应用范围,新的研究方向主要包括代理界面,基于代理的软件工程(AOSE).
Agent(智能代理、智能体或艾真体)的要素:
Agent必须利用知识修改其内部状态(心理状态),以适应环境变化和协作求解的需要。Agent的行动首期心理状态驱动。人类心 理状态的要素有认知(信念、知识、学习等)、情感(愿望、兴趣、爱好等)和意向(意图、目标、规划和承诺等)三种,着重研究信念(belief)、愿望 (desire)、意图(intention)的关系及其形式化描述,力图建立Agent的BDI(信念、愿望和意图)模型,已成为Agent理论模型研 究的主要方向。
信念、愿望、意图与行为具有某种因果关系,如下图所示。其中,信念描述Agent对环境的认识,表示可能发生的状态;愿望从信念直接得到,描述Agent可能发生情景的判断;意图来自愿望,制约Agent,是目标的组成部分。
![]()
BDI关系图
Bratman的哲学思想对心理状态研究产生了深刻影响。1987年,他从哲学的角 度研究行为意图,认为只有保持信念、愿望和意图的理性平衡,才能有效地实现问题求解。他还认为,在某个开放的世界(环境)中,理性Agent的行为不能有 信念、愿望及两者组成的规划直接驱动,在愿望和规划之间还存在一个基于信念的意图。在这样的环境中,这个意图制约了理性Agent的行为。理性平衡是使理 性Agent行为与环境特性相适应。环境特性不仅包括客观环境条件,而且涉及环境的社会团体因素。对于每种可能的感知序列,在感觉序列所提供证据和 Agent内部知识的基础上,一个理想的Agent的期望动作应使其性能测度达到最大。
过去十多年,在Agent和MAS的建模方面进行了大量工作,几乎所有的研究工 作都以实现Bratman的哲学思想为目标。不过,这些研究都没有完全实现Bratman的哲学模型,仍然存在尚待进一步研究和解决的问题,如Agent 模型与结构的映射关系、建造Agent系统的计算复杂性以及Agent问题求解与心理状态关系的表示等问题。
Agent(智能代理、智能体或艾真体)的特点:
1.代理性(Action On Behalf Others):
代理具有代表他人的能力,即它们都代表用户工作.这是代理的第一特征.
2.自制性(Autonomy):
一个代理是一个独立的计算实体,具有不同程度的自制能力.它能在非事先规划、动态的环境中解决实际问题,在没有用户参与的情况下,独立发现和索取符合拥护需要的资源、服务等等.
3.主动性(Proactivity):
代理能够遵循承诺采取主动,表现面向目标的行为.例如,Internet上的代理可以漫游全网,为用户收集信息,并将信息提交给用户.
4.反应性(Reactivity):
代理能感知环境,并对环境作出适当的反应.
5.社会性(Social Ability):
代理具有一定的社会性,即它们可能同代理代表的用户、资源、其它代理进行交流
6.智能性(Intelligence):
代理具有一定程度的智能,包括推理到自学习等一系列的智能行为.代理一定程度上可能表现其它的属性:
7.合作性(Callaboration):
更高级的代理可以与其它代理分工合作,共同完成单个代理无法完成的任务.
8.移动性(Mobility):
具有移动的能力,为完成任务,可以从一个节点移动到另一个节点.比如访问远程资源、转移到环境适合的节点进行工作等. 还有诚实性、顺从性、理智性等等. 由于Agent的特性,基于Agent的系统应是一个集灵活性、智能性、可扩展性、鲁棒性、组织性等诸多优点于一身的高级系统.
Agent(智能代理、智能体或艾真体)的结构
Agent系统是一个高度开放的智能系统,其结构如何将直接影响到系统的性能和智能。例如,一个在自主环境中自主移动的机器人需 对它面临的各种复杂地形、地貌、通道状况及环境信息作出实时感知和决策,控制执行机构完成各种运动操作,实现导航、跟踪、越野等功能,并保证移动机器人处 于最佳的运动状态。这就要求构成该移动机器人的系统的各个Agent自主的完成局部问题求解任务,显示出较高的求解能力,并通过各Agent之间的协作来 完成全局任务。人工智能的任务就是设计Agent程序, 即实现Agent从感知到动作的映射函数。这种Agent程序需要在某种称为结构的计算设备上运行。这种结构可以是一台普通的计算机,或者可能包含执行某 种任务的特定硬件,还可能包括在计算机和Agent程序间提供某种程度隔离的软件,以便在更高层次上进行编程。一般意义上体系结构使得传感器的感知对于程 序可用,运行程序并把该程序的作用选择反给执行器。可见,Agent、体系结构和程序之间存在如下关系:
Agent=体系结构+程序
计算机系统文Agent的开发和运行提供软件和硬件环境支持,使各个Agent依据全局状态协调的完成各项任务。具体的说:
(1)在计算机系统中,Agent相当于一个独立的功能模块,、独立的计算机应用系统,它含有独立的外部设备、输入输出驱动装备、各种功能操作程序、数据结构和相应的输出。
(2)Agent程序的核心部分叫做决策生成器或问题求解器,起到主控作用,它接收全局状态、任务和时序等信息,指挥相应的功能操作程序模块工作,并把内部的工作状态和所执行的重要结果送至全局数据库。Agent的全局数据库设有存放Agent状态、参数和重要结果的数据库,供总体协调使用。
(3)Agent的运行是一个或多个进程,并接受总体调度。特别当系统的工作状态水工作环境而经常变化以及各Agent的具体任务时常变更时,更需要搞好总体协调。
(4)各个Agent在多个计算机CPU上并行运行,其运行环境有体系结构支持。体系结构还提供共享资源(黑板系统)、Agent键的通信工具和Agent间的总体协调,以使各Agent在统一的目标下并行、协调的工作。
Agent(智能代理、智能体或艾真体)的结构分类
Agent是从感知序列到实体动作的映射。根据人类思维的不同层次,可以把Agent分为以下几类:
(1)反应式Agent
反应式(reflex或reactive)Agent只简单的对外部刺激产生响应,没有内部状态。
(2)慎思式Agent
慎思式(deliberative)Agent又称为认知式(cognitive)Agent,是一个具有现实符号模型的基于知识的系统。
(3)跟踪式Agent
具有内部状态的反应式Agent通过找到一个条件与现有环境进行工作,然后执行与规则相关的作用。这种就叫跟踪式Agent。
(4)基于目标的Agent
与反应式Agent不同,基于目标的Agent在实现目标方面更灵活,只要指定新的目标,就能够产生新的作用。
(5)基于效果的Agent
仅有目标还不足以产生高质量的作用,一个具有显式效果函数的Agent能够作出理性的决策。
(6)复合式Agent
复合式Agent即在一个Agent内组合多种相对独立和并行执行的智能状态,其结构包括感知、动作、反应、建模、规划、通信和决策等模块。
面向Agent(智能代理、智能体或艾真体)的方法学
不管面向智能主体的(AO:Agent-Oriented)方法学是否会像鼓吹的那样继面向数据流(DFO:DataFlow-Oriented)、面向数据结构(DSO:DataStruct-Oriented)、面向对象(OO:Object-Oriented)之后成为新一代的软件开发方法学.随着软件系统服 务能力要求的不断提高,在系统中引入智能因素已经成为必然.Agent作为人工智能研究重要而先进的分支,引起了科学、工程、技术界的高度重视.斯坦福大 学的Barbara Hayes-Roth在IJCAI'95的特约报告中提及:智能的计算机主体既是人工智能最初的目标,也是人工智能最终的目标.网络导致了网络计算这个概 念的出现.如今,并行和分布计算是网络计算的亮点.而Agent作为并行、分布计算的因素、合作者、目标自然的产生了MAS(Multi-Agent System)、MA(Mobile Agent)等研究方向.这一切的科学技术成果将会极大的提高了软件系统的能力,紧跟时代的需要.以前的方法学不能很好的支持新的开发模式,必须匹配的开发方法学.AO就是Agent时代的方法学.
1) 面向Agent的系统分析
面向Agent的系统分析是分割复杂系统问题空间的有效途径.面向对象系统比面向过程的设计关键在于一定程度上对象直接映射现实世界的实体.而Agent比对象更能反映现实.
它不但抽象出实体的特性、动作,还有感觉、心智、承诺等. 这样从现实出发,更加容易将系统分解成以Agent为单位的灵活、强交互的系统.一方面,由于Agent的自制性、反应性,那么意味着子系统有 自己的控制流程. 而并行、分布已成为系统的趋势,Agent在这种系统中可以承担多重控制流,从而降低系统的分析复杂度.Agent在存在不可预料(这种系统往往具有高灵 活度、高处理能力)处理能力系统中的优势更是与身俱来的.而这种系统特性是现代软件系统的重要特点之一,它体现了系统的智能性.在分解的过程中,子系统的 关系也可以自然的映射为Agent之间的交互、协作.
2) 面向Agent的系统组织
从映射角度来说,面向Agent的系统组织更适合处理系统中的依赖和交互关系.
复杂软件系统往往包含复杂的组织关系,这些组织关系使得一些分散的模块可以被划分在一起,被视为概念上的一个实体;其次,这些特征化的实体之间有着高级的 链接关系;再次, 实体间的关系是变化的,要求每个实体应该具有适应这种变化的能力.而基于Agent的软件系统有着灵活的组织关系,可以按一定的机制自动建立和解除.这种 结构使单个的Agent可以独立的开发,然后加到系统中.这样,基于Agent的复杂软件系统有着良好的可成长性.符合软件系统对系统成长性的要求.