导航:首页 > 编程语言 > agent编程

agent编程

发布时间:2022-06-03 18:23:07

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

一.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

2.1 模态逻辑

模态逻辑是关于必然性和可能性的逻辑,或者说是关于“一定是”和“可能是”的逻辑,模态逻辑不仅考虑事物实际存在方式的真和假,而且考虑如果事物处在与实际存在方式不同的存在方式中那么什么将是真的或假的。逻辑关注真和假,模态逻辑则关注真实世界和其它可能世界中的真和假。在这种意义上,一个命题在一个世界中是必然的仅当它在可能替代该世界的所有世界中为真,可能的则仅当它在可能替换该世界的某个可能世界中为真。
一般,□表示必然性算子,◇表示可能性算子。
定义:一个标架F是表示为序对<W, R>,其中W是由对象(世界)组成的一个非空集;R是一个定义在W的全部成员上的二元关系。R通常称为“择一性”或“可达性”关系;wRw¢有时也可说成w“能看见”w¢。
定义:一个模型M表示为三元序组<F,v, w>,其中F=<W, R>是标架,wÎW,v是在标架F上的一个valuation, 则我们说一个模型M是基于标架F之上。
定义:K为极小的正规模态系统,则许多模态系统都是通过为K增加公理得到的,例如T,S4,S5,KD等。

2.2 BDI Logics

BDI logics 是一种多模态逻辑,把信念、愿望和意图模型化为可能世界语义下得正规模态算子,记为BEL ,DES (GOAL )和INT ,其中 (主体(agent)s)。
BDI : B,D,I满足自反性;
BDI :B,D,I满足自反性,传递性;
B D I : B满足Euclidean性,连续性,传递性,D满足自反性,传递性,对称性;I满足自反性。

3. Combining Logics
Combining Logics的目标就是能够综合利用熟知已有的逻辑工具。目前的组合技巧有两种,一种是fusion,一种是fibring,论文通过详细对比分析,认为采取fibring的方法更具有可行性。(杨柳负责讲解)

4. 具有复合动作(Composite Actions)的BDI模型扩展
本章研究考虑到复合动作Composite actions,在前人扩充的BDI模型基础上加入RES(Result)和OPP(Opportunity)两个算子,并给出了语义描述。

4.1 研究背景和动机
对世界中的事物,我们可以用对、错定义一样,对于actions和events我们也可以用成功、失败来定义。而BDI模型中没有涉及actions和events的概念。
Actions和events细微差别在于:action是指主体(agent)有一个状态转化为另一个状态时所采取的动作;event是特定主体(agent)执行一个特定的action的性能结果。
Rao & Georgeff基于提出的temporal framework给出了events的语义描述,但是没有说明特定事件中所牵涉的动作。

4.2 研究基础

(1) Brown理论-动作(Action)和能力(Ability)
考虑到动作(Action)和能力(Ability)因素,指出了衡量能力(Ability)的一个主要尺度:可靠性(reliability),而可靠性可以通过重复执行次数衡量的。
定义:模型M=(W,f,v),其中W是可能世界的集合;v是对每个世界中的原子命题的赋值;f是函数,关联单个世界与世界集(a cluster of worlds).
M,w Ability iff and :M,w’
语义为:在模型中,存在某个世界集,使得世界集中任一个世界都满足主体(agent)具有能力 ,则我们认为主体(agent)具有能力 。
Brown理论还给出了will,might等算子的定义。

(2)能力(Ability)的Non-Intentional理论;
Elegesem在Sommerhoff提出的Non-Intentional基础上,基于objective goal-directedness,认为在动态环境中主体(agent)维持特定的目标状态。
定义:焦点条件(Focal Condition)F( , )=o ,语义:认为如果要达到目标Goal,则至少存在某个时间点 ,至少存在一个动作变量 ,至少存在一个环境变量 ,使得在 时刻, 条件下,执行动作 ,可以实现目标Goal.
定义:模型M=(W, ,v),W是世界集; = … ;v是函数 , 是W的power set.
定义: (w, ),i是指某个主体(agent);w是指某个世界; 是指使目标G为真的世界的集合。 (w, )的语义:是这样的世界的集合,主体(agent) I 在这些世界中具有ability实现目标G。
定义: (w, )当且仅当 w’满足F( , )=o
定义:SUCCESS (W,X) X 如果 X W.
理论意义:在所有的世界中,如果主体(agent)都有能力ability实现目标Goal,则可以定义为SUCCESS.
Elegesem的non-Intentional理论还区分了”主体(agent)有能力实现目标“和”主体(agent)采取行动确实达到了目标状态”并给出了语义描述。

(3)Capabilities-BDI;
Padgham认为,主体(agent)有capability实现某个目标g,总是与plan相关的,每一个plan实际上可以认为是关联一个触发事件来实现这个目标g,也就意味着主体(agent)至少有一种方式可以实现目标g.
定义:Belief-Capability相容性公理: CAP( ) BEL( ),语义:如果主体(agent) i有能力实现 ,则主体(agent) i相信 。
定义:Capability-Goal相容性公理: GOAL( ) CAP( ),语义:如果主体(agent) i目标是 ,则主体(agent) i有能力实现 。
下表是加入CAP后的BDI模型与Rao & Georgeff提出的BDI原型的比较:
Rao & Georgeff Padgham
I-System IC-System
A1: GOAL( ) BEL( ) CAP( ) BEL( )
A2: INT( ) GOAL( ) GOAL( ) CAP( )
A3: INT(does( )) does( ) CAP( ) BEL(CAP( ))
A4:INT( ) BEL(INT( )) GOAL( ) CAP(GOAL( ))
A5: GOAL( ) BEL(GOAL( )) INT( ) CAP(INT( ))
A6: INT( ) GOAL(INT( ))
A7: done( ) BEL(done( ))
A8: INT( ) inevitable◇( INT( ))

4.3 RES算子、OPP算子的引入
以上的BDI理论,考虑到加入其它算子来对主体(agent)建模。但是还有一些问题没有涉及,例如上表中A3: INT(does( )) does( ),如果在复合动作的条件下,则得到:INT(does( ; )) does( ; )
这样就没有考虑到执行动作 对后续动作 执行的影响作用。
本文为了解决这个问题,引入了RES和OPP两个算子,并给出了语义描述。

OR1:
CAP(does( ; )) [BEL(does( )) OPP(does( ))] RES(done( ))
语义:如果一个主体(agent)具有执行复合动作 的能力
则在某个时刻,此主体(agent)相信可以执行动作 并有机会执行动作 ,相信可以执行动作 并有机会执行动作 ,并且执行动作 的结果不会导致非法状态。
OR2:
CAP(does( ; )) [CAP(does( )) OPP(does( ))] RES(done( ))
语义:如果一个主体(agent)具有执行复合动作 的能力
则此主体(agent)有能力执行动作 并有机会执行动作 ,有能力执行动作 并有机会执行动作 ,并且执行动作 的结果不会导致非法状态。
OR3:
CAP(does( ; )) [BEL(CAP(does( ))) OPP(does( ))] RES(done( ))
语义:如果一个主体(agent)具有能力执行复合动作 达到目标 ,
那么此主体(agent)相信具有执行动作 的能力并有机会执行动作 ,相信具有执行动作 的能力并有机会执行动作 ,并且执行动作 的结果不会导致非法状态。
……
OR7:
CAP (if then else ))
[ BEL(CAP(does( ))) OPP(does( ))] RES(done( )) ]
[ BEL(CAP(does( ))) OPP(does( ))] RES(done( )) ]
语义:如果主体(agent)有能力在 是执行动作 否则执行动作
则, 成立且主体(agent)相信具有执行动作 的能力并有机会执行动作 ,并且执行动作 的结果不会导致非法状态;或者是 不成立且主体(agent)相信具有执行动作 并有机会执行动作 ,并且执行动作 的结果不会导致非法状态。

5 基于Defeasible Logic的意图推理

5.1 问题的提出
Rao & Georgeff模型化意图为正规模态算子,从而不可避免的存在逻辑全知(logical-omniscience) 问题和重言隐含问题下副作用问题。
(1) 逻辑全知问题(logical-omniscience)
INT( )
(2) 重言隐含下的副作用问题
R INT( ) INT(R)
(3) 析取扩大化问题
INT( ) INT(R )
(4) 合取分离问题
INT(R ) INT(R) INT( )
5.2 理论基础
(1)Konolige & Pollack 意图建模
Konolige和Pollack认为正规模态逻辑不适用于意图,他们用方案(scenarios)来表示主体(agent)的思维状态,公式 的方案是W的使 为真的子集,模型中的方案集I,就是所有相互不等价的意图公式组成的集合,只有与I中的某个公式等价的公式才是该主体(agent)的意图,因此如果INT( )在该模型中可以由INT(a)推出,那么 =a,这样该模型就失去了非等价意图的推理能力。
(2)Rao & Georgeff意图建模。
Rao & Georgeff意图建模为了克服前边提出的(3)(4)问题,引入了BDI的only模态形式,本质上类同于Konolige&Pollack理论。

5.3 Defeasible Logic的引入
文章从另一个角度,应用基于非单调逻辑(non-monotonic)的defeasible logic来研究policy-based 意图模型。
非单调逻辑是这样一种推理:推理系统的定理集合并不随推理过程的进行而单调的增大,新推出的理论很可能会否定、改变原来的一些定理。非单调推理是处理不完全知识的工具。
Defeasible logic 就是一种非单调推理,在意图推理中应用defeasible logics就是考虑到允许主体(agent)可以在不能完全了解环境情况下,利用已有的不完备知识进行推理。

6 总结和进一步的工作
(1)多主体(agent)系统建模
(2)tableaux系统
(3)多主体(agent)系统动态维护

更多资料:
“ERP总设计师论坛”(网络搜索)

B. 面向agent的编程语言主要有哪些

看你的mysql当前默认的存储引擎:
mysql> show variables like '%storage_engine%';

你要看某个表用了什么引擎(在显示结果里参数engine后面的就表示该表当前用的存储引擎):
mysql> show create table 表名;

C. java的http编程怎样取消user-agent报头

我在android上做一个用基站方法获取用户地理位置信息的应用,程序将用户此时的信息封装为josn的格式以HTTP的形式发送出去,等待google 服务器返回用户的地理位置信息。在等待过程中,如果此时用户推出程序,则取消http请求。我用的是http.abort()的方法,即:
如果用户推出程序,执行CancelFetchAddress()方法,
public void CancelFetchAddress() {
try{
if (mGettingAddress && mHttpPost != null) {
Log.d(Constants.LOG_TAG, "Try to abort Json request");
mHttpPost.abort();
}
}catch(Exception e) {
Log.e(Constants.LOG_TAG, "Abort Json request failed: " + e.toString());
}
}
但是在实际实现中,当用户推出程序时,执行了CancelFetchAddress()方法,但是程序还是一直等待在
“BaseStation: posting the HTTP request....");”
中,直到40秒后,返回错误信息,java.net.SocketException:Socket is closed。也就是说,执行mHttpPost.abort();

D. 人工智能语言的面向主体(Agent,亦称活体)程序设计

近年来出现了具有人工智能特色面向对象程序设计,称为面向主体(Agent,亦称活体)程序设计。往一个对象中增加更多的智能,使它能根据环境的变化进行推理并规划自己的行为,就得到主体(Agent)。主体概念符合Minsky提出的“意念社会”认知模型,特别适用于分布环境。经典的面向对象程序设计语言是Smalltalk,面向主体的程序设计语言也已经有了一些,如OZ等,但还没被大家公认和普遍采用。也有基于PDP认知模型(Parallel Distributed Processing)的神经网络语言。第三来源是知识工程的实际需要。例如,为了开发各种领域的专家系统而设计的包含不精确推理或不确定推理功能,甚至包含多种不同推理机制的AI语言,例如Loops和TUILI。还有的是看到某一个专家系统做得比较成功,干脆抽去它的领域知识,留下它的表示方法,也成为一种语言,俗称专家系统外壳。例如,抽去医学专家系统MYSIN的领域知识就得到一个外壳语言Emycin。

E. 如何利用windows agent编程编写桌面宠物

http://procts.ccidnet.msn.com.cn/pub/@proctdatac_i86148_z1.html

阅读全文

与agent编程相关的资料

热点内容
二手的有什么APP 浏览:328
服务器的应用镜像是什么 浏览:151
命令行的使用方法 浏览:511
怎么让图片左右压缩 浏览:653
白鹿原pdf 浏览:431
人民币怎么算法 浏览:756
什么app可以听懂刺猬说话 浏览:600
安卓机内存小如何扩大 浏览:127
粉丝服务器怎么和安卓手机通信 浏览:400
初中数学竞赛pdf 浏览:570
linux自定义安装 浏览:190
fpic要在每个编译文件 浏览:868
编译原理广义推导的定义 浏览:913
怎么在已有的压缩文件里加密码 浏览:519
安卓手机怎么设置系统软件 浏览:768
php前端java后端 浏览:796
数据框转换为矩阵python 浏览:76
单片机程序反汇编 浏览:855
编程和实物不一样 浏览:880
天官赐福小说什么app可看 浏览:210