面向智能体编程比面向对象更合理吗?为什么?

面向智能体编程比面向对象更合理吗?为什么?,第1张

一Agent(面向主体)与对象的区别

相似性:

实体性、封装状态,可以执行某种动作和方法;通过消息进行通讯;

区别:

1)在决定是否执行对象的方法时,决定权不同;面向对象系统中,决定权在主动调用方法的对象,而在Agent系统中,决定权在在接受请求的Agent;。

2)灵活的行为能力(反应的、预动的、社会的)作为Agent的基本属性之一考虑;

3)

Agent在实现上并行特点作为最基本的特性出现;而传统对象不是这样;

二,面向服务的体系结构SOA概述

面向主体(agent)的系统越来越具有广泛的应用价值,在理性主体(agent)的形式化过程中,通常认为主体(agent)的思维状态包括信念、愿望和意图这三个属性,因此BDI模型一直是主体(agent)建模研究的重点。

1

BDI模型

当前主体(agent)使用的BDI模型一般都是在Cohen和Levesque的正规模态逻辑的意图模型以及Rao和Georgeff的BDI计算数逻辑模型基础上发展起来的,即侧重于形式描述信念(belief)、愿望(desire)和意图(intention),简称BDI,其本质上要解决的问题是如何确定主体(agent)的目标以及如何实现这个目标。

一个BDI模型包含三种基本成分:

(1)

信念(Belief)是一个包括了对世界相关的信念、与其它主体(agent)思维趋向相关的信念和自我信念的集合。信念是主体(agent)对世界的认知,包含描述环境特性的数据和描述自身功能的数据,是主体(agent)进行思维活动的基础。

(2)

愿望(Desire)是主体(agent)的最初动机,是其希望达到的状态或希望保持的状态的集合。主体(agent)希望达到的状态,由此可以激发系统的规划和行动。一般来说,可以表达为主体(agent)对环境状态的一种期待和判断,也就是通过判断该状态是否成立作为Desire是否实现的标志。主体(agent)可以拥有互不相容的愿望,而且也不需要相信它的愿望是绝对可以实现的。

(3)

意图(Intention)是承诺实现的愿望中选取的当前最需要完成或者最适合完成的一个,是当前主体(agent)将要正在实现的目标,它是属于思维状态的意向方向。当前意图对主体(agent)的当前动作具有指导性的作用。

基于BDI模型的主体(agent)研究一般分为两个层面,一个就是理论层面,也叫做逻辑层面,主要研究如何使用逻辑方法给出BDI

主体(agent)正规语义描述;另一个层面是实际应用层面,包括系统体系结构的设计以及编程实现。

2

BDI

Logics

21

模态逻辑

模态逻辑是关于必然性和可能性的逻辑,或者说是关于“一定是”和“可能是”的逻辑,模态逻辑不仅考虑事物实际存在方式的真和假,而且考虑如果事物处在与实际存在方式不同的存在方式中那么什么将是真的或假的。逻辑关注真和假,模态逻辑则关注真实世界和其它可能世界中的真和假。在这种意义上,一个命题在一个世界中是必然的仅当它在可能替代该世界的所有世界中为真,可能的则仅当它在可能替换该世界的某个可能世界中为真。

一般,□表示必然性算子,◇表示可能性算子。

定义:一个标架F是表示为序对,其中W是由对象(世界)组成的一个非空集;R是一个定义在W的全部成员上的二元关系。R通常称为“择一性”或“可达性”关系;wRw¢有时也可说成w“能看见”w¢。

定义:一个模型M表示为三元序组,其中F=是标架,wÎW,v是在标架F上的一个valuation,

则我们说一个模型M是基于标架F之上。

定义:K为极小的正规模态系统,则许多模态系统都是通过为K增加公理得到的,例如T,S4,S5,KD等。

22

BDI

Logics

BDI

logics

是一种多模态逻辑,把信念、愿望和意图模型化为可能世界语义下得正规模态算子,记为BEL

,DES

(GOAL

)和INT

,其中

(主体(agent)s)。

BDI

:

B,D,I满足自反性;

BDI

:B,D,I满足自反性,传递性;

B

D

I

:

B满足Euclidean性,连续性,传递性,D满足

不会。

1、easyconnect是由深信服公司推出的一款软件,具有界面整洁、使用简单等特点。

2、可以帮助用户在办公室之外使用公司内网的所有系统及应用;还具备远程应用发布的功能,它能帮助客户,把任何只能安装在PC环境的软件系统,发布到智能终端上。

我个人认为面向智能体编程没有比面向对象更合理,因为面向智能体编程一定程度上来说只能算是面向对象编程的“小”升级版。而且最重要的是,现在面对智能体编程的这个概念是比较玄学的,在企业项目开发中基本上是见不到,而且许多编程语言也没有推荐使用这种所谓的面向智能体编程。

一:面向智能体编程是什么?

很多人第一次听说面向智能体编程,会以为是最近才出现的编程思维,其实大错特错,面向智能体编程早在上世纪九十年代就出现了,也就是Agent编程。在IT界,是公认的面向对象编程的进化版,但是进化程度不大,导致还不如面向对象编程运用起来好。如果要理解面向智能体编程,必须要先明白什么是面向对象编程。因为这面向对象的概念比较难,不是业内人士,不一定能理解透彻,所以我简单的来举例一下,什么是面向对象编程,什么是面向智能体编程。

二:什么是面向对象编程?什么是面向智能体编程?

面向对象编程编程:把所有人当成一个人,建立一个模板,再根据每个人的不同情况,对这个模板进行修改。

面向智能体编程:把世界上所有的生命体当成一个物种,建立一个模板,再根据每个生命体的不同情况,对这个模板进行修改。

三:为什么面向智能体编程不如面向对象编程合理?

看到这里,答案你应该心知肚明了。面向对象编程是把同个物种抽象成一个物种,但面向智能体编程是把所有物种抽象成一个物种。那样不是很扯淡吗?虽然理论上可以,但是开发起来,难度比面向对象编程大得多了,所以这就是为什么面向智能体编程不如面向对象编程合理的原因。

如果你是使用ADSL的PPPOE拨号的网络,或者使用路由器等的IP网络。

都可以用网络共享的方式把笔记本设置成软AP,提供给智能手机、PSP、DNS、itouch等具有WIFI功能的设备连接上网。但你这种需要二次认证的网络,做不了双网卡共享方式的软AP,更无法设置使用无线路由器。所以,不是我在打击你,但是,死了心吧。真的是做不到。

智能体是人工智能领域中一个很重要的概念。任何独立的能够思想并可以同环境交互的实体都可以抽象为智能体。

Agent是一个英文单词,agent指能自主活动的软件或者硬件实体。在人工智能领域,中国科学界把其译为中文“智能体”。曾被译为“代理”、“代理者”、“智能主体”等,中国科学界已经趋向于把之翻译为:智能体,艾真体(蔡自兴2002年提出)。

概念的提出

IT界的智能体概念则是由麻省理工学院的著名计算机学家和人工智能学科创始人之一的Minsky提出来的,他在“Society of Mind”一书中将社会与社会行为概念引入计算系统。

传统的计算系统是封闭的,要满足一致性的要求,然而社会机制是开放的,不能满足一致性条件,这 种机制下的部分个体在矛盾的情况下,需要通过某种协商机制达成一个可接受的解。Minsky将计算社会中的这种个体称为智能体。这些个体的有机组合则 构成计算社会——多智能体系统。

Simon的有限性理论是多智能体系统形成的另一个重要的理论基础,Simon认为一个大 的结构把许多个体组织起来可以弥补个体工作能力的有限;每个个体负责一项专门的任务可以弥补个体学习新任务的能力的有限;社会机构间有组织的信息流动可以弥补个体知识的有限;精确的社会机构和明确的个体任务可以弥补个体处理信息和应用信息的能力的有限。

智能体定义

智能体是指驻留在某一环境下,能持续自主地发挥作用,具备驻留性、反应性、社会性、主动性等特征的计算实体。

其实,智能体有很多种定义:

智能体在某种程度上属于人工智能研究范畴,因此要想给智能体下一个确切的定义就如同给人工智能下一个确切的定义一样困难。在分布式人工智能和分布式计算领域争论了很多年,也没有一个统一的认识。

研究人员从不同的角度给出了智能体的定义,常见的主要有以下几种:

1) FIPA(FoundationforIntelligent Physical 智能体),一个致力于智能体技术标准化的组织给智能体下的定义是:“智能体是驻留于环境中的实体,它可以解释从环境中获得的反映环境中所发生事件的数据,并执行对环境产生影响的行动。” 在这个定义中,智能体被看作是一种在环境中“生存”的实体,它既可以是硬件(如机器人),也可以是软件。

2) 著名智能体理论研究学者Wooldridge博士等在讨论智能体时,则提出“弱定义”和“强定义”二种定义方法:弱定义智能体是指具有自主 性、社会性、反应性和能动性等基本特性的智能体;强定义智能体是指不仅具有弱定义中的基本特性,而且具有移动性、通信能力、理性或其它特性的智能体;

3) Franklin和Graesser则把智能体描述为“智能体是一个处于环境之中并且作为这个环境一部分的系统,它随时可以感测环境并且执行相应的动作,同时逐渐建立自己的活动规划以应付未来可能感测到的环境变化”;

4) 著名人工智能学者、美国斯坦福大学的Hayes-Roth认为“智能智能体能够持续执行三项功能:感知环境中的动态条件;执行动作影响环境条件;进行推理以解释感知信息、求解问题、产生推断和决定动作”;

5) 智能体研究的先行者之一,美国的Macs则认为“自治或自主智能体是指那些宿主于复杂动态环境中,自治地感知环境信息,自主采取行动,并实现一系列预先设定的目标或任务的计算系统”。

以上就是关于Agent(面向主体)与对象的区别全部的内容,包括:Agent(面向主体)与对象的区别、agentforeasyconnect会监控我的电脑吗、面向智能体编程比面向对象更合理吗为什么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/8854410.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-22
下一篇 2023-04-22

发表评论

登录后才能评论

评论列表(0条)

保存