1浙江大学计算机学院研究生《人工智能引论》课件第13讲智能Agent及多Agent系统Chapter13IntelligentAgent&Multi-AgentSystems徐从富浙江大学人工智能研究所2003年第一稿2005年10月修改补充2007年10月第二次修改2内容1.概述2.分布式问题求解3.Agent4.Agent理论5.Agent结构6.Agent通信7.Agent的协调与协作8.多Agent环境MAGE9.面向Agent的软件技术10.MobileAgent11.若干前沿问题讨论313.1概述分布式人工智能(DAI)主要研究在逻辑上或物理上分散的智能系统如何并行的、相互协作地实现问题求解。两种解决问题的方法:自顶向下:分布式问题求解自底向上:基于Agent的方法4DAI系统的特色1)系统中的数据、知识,以及控制不但在逻辑上,而且在物理上是分布的,既没有全局控制,也没有全局的数据存储。2)各个求解机构由计算机网络互连,在问题求解过程中,通信代价要比求解问题的代价低得多。3)系统中诸机构能够相互协作,来求解单个机构难以解决,甚至不能解决的任务。5DAI系统的主要优点1)提高问题求解能力2)提高问题求解效率3)扩大应用范围4)降低软件的复杂性613.2分布式问题求解特点:数据、知识、控制均分布在系统的各节点上,既无全局控制,也无全局数据和知识存储。两种协作方式:任务分担结果共享713.2.1分布式问题求解系统分类根据组织结构,分布式问题求解系统可以分为三类:层次结构类平行结构类混合结构类813.2.2分布式问题求解过程分布式问题求解过程可以分为四步:任务分解任务分配子问题求解结果综合9分布式问题求解系统中协作的分类按节点间协作量的多少,协作分为三类:全协作系统无协作系统半协作系统常用的通信方式有:共享全局存储器信息传递黑板模型1013.3智能Agent及多Agent系统多Agent系统主要研究在逻辑上或物理上分离的多个Agent协调其智能行为,即知识、目标、意图及规划等,实现问题求解。可以看作是一种由底向上设计的系统。11Agent的思想智能Agent的几个典型的实例:Microsoft的Office助手计算机病毒(破坏Agent)计算机游戏或模拟中的智能角色贸易和谈判Agent(如Ebay的拍卖Agent)网络蜘蛛WebSpider(搜索引擎中的数据搜集和索引Agent,如Google)12Agent概念的出现面向过程的方法面向实体的方法面向对象的方法面向Agent的方法软件开发方法的进化13Agent的定义在计算机和人工智能领域中,Agent可以看作是一个实体,它通过传感器感知环境,通过效应器作用于环境。14Agent的强定义基于某种场景,并具有灵活、自主的行为能力,以满足设计目标的计算机系统。15Agent的弱定义满足如下特征的基于硬件或(更经常是)软件的计算机系统:自主性(Autonomy)社会性(Socialability)反应性(Reactivity)主动性(Pro-activeness)(或称“前瞻性”)基于场景性(Situatedness)灵活性(Flexibility)16移动性(Mobility)理性(Rationality)此外,许多学者还提出一些其它特性:诚实性(Veracity)友好性(Benevolence)长寿性(或时间连贯性)自适应性(Adaptability)17Agent的特性Agent弱概念:自治性、社会能力(可通信性)、反应能力、自发行为Agent强概念:知识、信念、意图、承诺等心智状态其它属性:长寿性、移动性、推理能力、规划能力、学习和适应能力、诚实、善意、理性1813.4Agent理论智能Agent的理论模型研究主要从逻辑、行为、心理、社会等角度出发,对智能Agent的本质进行描述,为智能Agent系统创建奠定基础。19可能世界模型(PossibleWorldsModel)地位:Agent理论基础的开创性工作之一。思想:将Agent的知识、信念等特征化为一系列“可能世界”,在可能世界模型中包括对象、属性及其关系。优点:理论基础(特别是模态逻辑)比较完善。缺点:存在“逻辑万能”(LogicalOmniscience)问题。20“意图系统”(IntentionalSystem)作用:用于描述其行为可用信念、愿望等理性智慧来预测的实体。分为:一阶和二阶两种形式。对象、属性及其关系。21“意图姿态”(IntentionalStance)意义:启发AI学者将信念(Belief)、愿望(Desire)、承诺(Commitment)等人类特有的思想和概念应用于Agent。2213.4.1理性Agent(BDI模型)思想:认为Agent行为可由信念、愿望和意图来表达作用:已成为经典模型,并被广泛采用Belief——信念,Agent对环境的基本看法。Desire——愿望,Agent想要实现的状态,即目标。Intention——意图,目标的子集。2313.4.2BDIAgent模型BDIAgent模型可以通过下列要素描述:一组关于世界的信念;Agent当前打算达到的一组目标;一个规划库,描述怎样达到目标和怎样改变信念;一个意图结构,描述Agent当前怎样达到它的目标和改变信念。24BDI解释器BDI-Interpreterinitialize-state();dooptions:=option-generator(event-queue,B,G,I);selected-options:=deliberate(options,B,G,I);update-intentions(selected-options,I);execute(I);get-new-external-events();drop-successful-attitudes(B,G,I);drop-impossible-attitudes(B,G,I);untilquit2513.4.3RAO逻辑框架目标:以一种自然的方式描述多Agent系统中关于别的Agent的状态的推理过程。系统的分类:由于多Agent系统太复杂,建立一种通用的推理模式的想法是不现实的,有必要对系统分类以便区别对待。常识的获得:和单个Agent情形一样,常识问题是阻碍推理的大难题。2613.4.4换位推理思想:模仿语言学中的虚拟语气,即为了对某个Agent在某种场景下的状态或行为进行推测,设想自己处于那种场景时的状态或行为,再把这种设想结果作为被猜测Agent的状态或行为。作用:使得一Agent对其它Agent的状态和行为的推理过程变得简单明了。2713.4.5动作理论情景演算是描述动作的主要的形式框架。在情景演算中引入了状态和动作的概念,并利用两条逻辑公理来描述动作与状态的关系。一条公理描述一个动作在满足什么条件的状态之下可能发生,另外一条描述在一个状态之下某个动作发生以后当前状态如何改变。2813.4.6“言语行为”理论(SpeechActsTheory)地位:这是多Agent交互(通信)的重要理论基础之一。思想:任何行为都可以等价地表示为言语行为(既任何行为的含义都可用言语来表达),甚至认为所有的行为都是言语行为。作用:大大简化了Agent之间交互的复杂度。29规划库的形式化表示环境状态:State={P1,P2,…Pn}目标:Goal=State,weightiness动作模板:Act_template=name,roles,preconditions,effects,resourcesAgent能力:Ability=Act_template,role,cost3013.5Agent结构Agent结构需要解决的问题包括:Agent由那些模块组成,模块之间如何交互信息,Agent感知到的信息如何影响它的行为和内部状态,如何将这些模块用软件或硬件的方式组合起来形成一个有机的整体。31Agent基本结构环境Agent感知作用黑箱软件Agent32智能Agent的工作过程环境交互信息融合信息处理作用交互感知作用33Agent骨架程序functionSkeleton-Agent(percept)returnactionstatic:memory/*Agent的世界记忆*/memory←Update-Memory(memory,percept)action←Choose-Best-Action(memory)memory←Update-Memory(memory,action)returnaction34Agent的分类根据人类思维的层次模型,可以将Agent分成四类:反应Agent形象思维Agent抽象思维Agent复合式Agent形象思维Agent和抽象思维Agent也可以合称为认知Agent3513.5.1反应Agent环境当前世界传感器动作效应器条件-动作规则Agent36反应Agent程序functionReactive-Agent(percept)returnsactionstatic:rules,/*一组条件-动作规则*/state←Interpret-Input(percept)rule←Rule-Match(state,rules)action←Rule-Action[rule]returnaction3713.5.2认知Agent环境信息融合传感器动作效应器Agent规划知识库目标内部状态38认知Agent程序functionCognitive-Agent(percept)returnsactionstatic:environment,/*描述当前世界环境*/kb,/*知识库*/environment←Update-World-Model(environment,percept)state←Update-Mental-State(environment,state)action←Decision-Making(state,kb)environment←Update-World-Model(environment,action)returnaction39BDI结构知识信念规划意图目标愿望4013.5.3复合式Agent决策生成规划反射建模通信感知行动其他智能Agent智能Agent外部世界预测协作与协商动作请求或应答信息一般情况紧急情况和简单情况41规划模块世界的模型(包括其他Agent的模型)经验库目标集合局部规划器决策生成重新规划规划规划目标42建模模块世界的模型(包括其他Agent的模型)模型库模型生成和维护预测规划决策生成感知通信建模43通信模块词法库语法库词义库物理通信语言生成语言理解通信4413.6Agent通信策略对话消息黑板协议通信协作协议45Agent通信中的主要问题语义:全部有关的Agent必须知道通信语言的语义,消息的语义内容知识是分布式问题求解的核心部分。言语行为:通信语言也是一种动作,说话是为了使世界的状态发生改变。交互协议:Agent之间消息交换的典型模式通信语言:传递消息的标准语法。FoundationforIntelligentPhysicalAgents(Ontology)本体论是概念化的明确的表示和描述。对某一领域中的概念有共同理解,可以提高交流和协作的效率,从而提高了软件的重用性。48言语行为有关言语行为理论的研究主要集中在如何划分不同类型的言语行为。在Agent通信语言的研究中,言语行为理论主要用来考虑Agent之间可以交互的信息类型。49FIPA通信动作库AcceptProposal接受提议Agree同意Cancel取消CallforProposal要求提议Confirm确认Disconfirm确认