多智能体第3章.pptx
- 文档编号:1065319
- 上传时间:2022-10-16
- 格式:PPTX
- 页数:34
- 大小:178.75KB
多智能体第3章.pptx
《多智能体第3章.pptx》由会员分享,可在线阅读,更多相关《多智能体第3章.pptx(34页珍藏版)》请在冰豆网上搜索。
,第3章演绎推理Agent,哈尔滨工业大学,计算机科学与技术学院,多智能体机器人,3-1,Agent体系结构,Agent就是一个能够灵活自治活动的计算机系统为了设计基于Agent的系统需要解决的问题是什么Agent体系结构的三种类型:
符号的/逻辑的反应的混合的,2,我们想要设计Agent,它们拥有我们以前讨论的一些特性:
自治性,反应性,预动性和社会行为能力。
这是Agent体系结构的范围。
Maes定义了Agent体系结构如下:
整个集合和它们的交互需要给Agent的传感数据和当前的内部状态怎样采取行动这个问题提供答案还有Agent将来的内部状态是什么。
体系结构包括支持这个方法论的技术和算法。
3,Agent体系结构,Agent体系结构,Kaelbling认为Agent的体系结构应该是:
一个软件(或硬件)模块的有效集合,典型的就是用带有箭头的方框表示模块之间的数据和控制流。
体系结构更抽象的观点就是为特殊的任务设计特殊的模块组成部分的一般方法论。
4,Agent体系结构,最初(1956-1985),几乎所有在人工智能里的Agent都是符号推理Agent。
用纯粹的表达式说明Agent应该采用直接逻辑推理以决定要做什么。
拥有符号推理的问题导致对这个问题的反应就是所谓的反应式Agent活动(1985年至今)。
从1990年到现在,一些可供选择的建议是:
混合体系结构,试图把最好的推理和反应体系结构组合起来。
5,符号推理Agent,经典构造Agent的方法是把它们看作是基于知识系统的特殊类型,并将有关的方法学引入到这些系统中。
这个范例就是符号人工智能。
我们定义协商Agent或Agent体系结构如下:
包括环境的明确表示的符号模型。
通过符号推理做出行动(采取什么行动)。
6,符号推理Agent,如果以这种方式来构建Agent,有两个关键问题需要解决:
转换问题:
把现实世界转换成这个世界的准确恰当的符号表示问题,这种表示是有用的。
表示和推理问题:
用符号表示信息并且让Agent使用这种表示进行处理和推理的问题,这种结果是有用的知识表示,自动推理,自动规划。
7,符号推理Agent,无论从哪方面来说,大多数研究者都认为这两个问题都还没有解决。
通常符号处理算法复杂性的潜在问题是:
很多(大多数)基于搜索的符号处理算法是非常难处理的。
由于这些问题,一些研究人员为了构建Agent指望应用不同的技术(后来会提到)。
8,演绎推理Agent,用定理证明器,Agent怎样决定该做什么?
基本的想法是:
在任何给定的状态下,用逻辑推理产生一个可以执行的最好动作。
设:
表示演绎规则集描述现实世界状态的逻辑数据库Ac表示Agent可以执行的动作集表示可以从数据库仅只使用证明公式,9,演绎推理Agent,/*试图寻找一个事先明确指定的最好的动作*/foreachaAcdoifDoathenreturnaend-ifend-for*试图寻找一个不被明确禁止的动作*foreachaAcdoifDoathenreturnaend-ifend-forreturnnull*无可选动作*,10,演绎推理Agent,例子:
真空吸尘器世界。
机器人的目标就是清除所有的垃圾。
11,演绎推理Agent,用3个领域谓词来解决问题:
In(x,y)Agent在(x,y)位置上Dirt(x,y)在(x,y)位置有垃圾Facing(d)Agent面向d方向可以执行的活动:
Ac=turn,forward,suck说明:
turn表示“向右转”,12,演绎推理Agent,可以添加很多这样的规则。
这些规则(还包含其它的),从开始,,规则用来决定作什么还用机器人将清理所有垃圾。
13,演绎推理Agent,问题:
怎样把摄像机的输入转换成Dirt(0,1)?
决策假定环境是静态的:
计算合理吗?
决策使用优先顺序逻辑是不可判定的!
典型的解决办法:
削弱逻辑;用符号的,非逻辑的表示方法;把推理的重点从执行时间转移到设计时间。
14,更多的问题,使用的“逻辑方法”表明从数据库中添加或删除东西。
那不是纯粹的逻辑。
早期人们尝试创造一个“规划Agent”,试图用真正的逻辑演绎来解决问题。
15,面向Agent的程序设计,Agent研究者对人工智能的兴趣转换到Shoham的面向Agent的程序设计(AOP)。
AOP是一个“新的程序设计风格,基于计算的社会性观点”。
面向Agent的程序设计AOP的核心思想是用思维属性(如信念,愿望,意图)直接对Agent进行设计。
提出这个方法的动机是认识到人类正是使用这些概念作为一种抽象机制来表达复杂系统特性的。
就像我们用思维属性表示和解释人类的行为一样,用思维属性对机器进行程序设计可能是有用的。
16,AGENT0程序设计语言,Shoham指出:
一个完整的AOP系统将有3个部分:
一个用于说明Agent并描述它的思维状态的逻辑。
一个对Agent进行程序设计的解释性语言。
一个agentification过程,用于把中间应用程序(如各种数据库)转换成Agent。
仅仅前两部分有结果报导。
逻辑和编程语言的关系是语义学。
我们将会跳过“逻辑”!
并考虑第一个AOP语言AGENT0。
17,AGENT0,AGENT0是扩展LISP语言来实现的。
在AGENT0中的每一个Agent都有4部分:
一组能力集(thingstheagentcando)一组初始信念集初始承诺集(thingstheagentwilldo)承诺规则集决定Agent怎样活动的关键部分是承诺规则集。
18,AGENT0,每个承诺规则集包括:
一个消息条件一个思维状态条件一个活动在每个Agent周期消息条件要与Agent接收的消息相匹配。
思维状态条件要与Agent的信念相匹配。
如果这条规则被激活,则Agent执行所承诺的动作。
19,AGENT0,活动可能是私有的:
对应内部执行的子进程通信的:
发送消息消息限于3种形式:
“请求(requests)”答应执行一个动作“非请求(unrequests)”制止一个动作“通知(informs)”用来传递信息,20,AGENT0的控制流程,21,AGENT0,一个承诺规则集:
COMMIT(agent,REQUEST,DO(time,action),;msgcondition(B,now,FriendagentANDCAN(self,action)ANDNOTtime,CMT(self,anyaction),;mentalconditionself,DO(time,action),22,AGENT0,这个规则被解释如下:
如果从Agent收到一条要求在时间time做动作action的消息,并且相信:
Agent此时是朋友可以做这个动作在时间time,没有对其它动作的承诺则承诺在时间time动作action。
23,AGENT0andPLACA,AGENT0支持多Agent的合作和通信,并提供了基本的调试方法然而它被设计成一个用来说明原则的语言原型,而不是产生式语言。
由Thomas开发的更好的工具在1993年她的博士论文中有所阐述。
她的规划通讯Agents(PlanningCommunicatingAgentsPLACA)语言是要解决AGENT0的严重缺陷:
Agent不能通过高层目标来规划和通讯请求执行。
在PLACA中Agent的编程方式与在AGENT0相同,都是根据思维状态改变规则。
24,并发METATEM语言,并发METATEM是一个多Agent语言,其中每个Agent通过给它执行动作的时序逻辑说明来进行编程。
直接执行Agent这些说明,产生Agent行为。
Agent程序的执行相当于用迭代的方法为时序Agent的说明构造逻辑模型。
25,并发METATEM语言,例如:
importantagents意思是“现在和将来都是重要的”为真。
important并发MetateM意思是“将来某个时刻,并发MetateM将是重要的”。
importantProlog意思是“过去某个时刻,Prolog是重要的”为真friendsusuapologizeyou意思是“直到你道歉以前,我们不是朋友”apologize(you)意思是“明天(下一个状态),你道歉”。
26,并发METATEM语言,MetateM是一个能够直接执行时序逻辑说明的框架。
MetateM最基本的概念是Gabbay的分离理论:
任意的时序逻辑公式可以以一种过去的逻辑等式的形式重写未来形式。
过去未来的形式(可以作为执行规则)一个MetateM程序是这种规则的集合。
通过同历史相匹配的连续执行过程,激活那些满足后件的那些规则。
示例未来时间的结果成为后来必需满足的承诺。
27,执行是一个用来由程序规则组成的公式产生模型的迭代过程。
示例规则的未来部分代表了模型的约束部分。
MetateM编程的例子:
资源控制器第一个规则要保证一个请求最终跟随着一个给。
第二个规则要确保只有一个给可以在任何时间执行。
有给出合理执行MetateM程序的算法。
也有独立的规格化形式。
并发METATEM语言,28,并发METATEM语言,并发MetateM提供了一个MetateM过程的社会性,可以操作和通信的操作框架。
它是基于可以并发执行逻辑的模型:
执行一个逻辑说明的概念来产生单个Agent行为。
一个并发MetateM系统包括很多Agent(objects),每个对象有3个特性:
一个名字一个接口一个MetateM程序,29,并发METATEM语言,一个对象的接口包括两个集合:
环境谓词这些对应对象接受的消息成分谓词对应对象发送的消息例如,一个堆对象的接口:
stack(pop,push)popped,stackfullpop,push=环境谓词popped,stackfull=成分谓词如果一个Agent接收到一个环境谓词的开头消息,它就接收这个消息。
如果一个对象满足了对应成分谓词的承诺,它就进行广播。
30,并发METATEM语言,为了更详细地说明并发MetateM语言,这里是一些程序例子白雪公主有一些糖果(resources),她要把糖果给小矮人(resourceconsumers)。
她一次只给一个。
小矮人有请求时,她总会给他。
这里是白雪公主,用并发MetateM写的:
31,并发METATEM语言,小矮人最初渴望要一个糖果,然后无论什么时候他收到一个,他还会再要。
一些小矮人很没有礼貌:
贪心地每次都要。
32,并发METATEM语言,幸运的是,一些人更有礼貌,只有当渴望和贪心的人吃完后,才会要糖果。
时,才,害羞的人仅仅在没有人要,最终,会要一个糖果。
33,并发METATEM语言,总结:
一门实验语言非常好的潜在理论但是不幸的是,缺少很多期望的特征不能在并行状态用来执行整个系统只有原型系统,正规版本在开发中!
34,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 智能