文档库 最新最全的文档下载
当前位置:文档库 › A Defeasible Logic-Based Flexible Agent for Autonomic Computing

A Defeasible Logic-Based Flexible Agent for Autonomic Computing

A Defeasible Logic-Based Flexible Agent for Autonomic Computing
A Defeasible Logic-Based Flexible Agent for Autonomic Computing

ISSN 1000-9825, CODEN RUXUEW E-mail: jos@https://www.wendangku.net/doc/df13282981.html,

Journal of Software, Vol.19, No.3, March 2008, pp.605?620 https://www.wendangku.net/doc/df13282981.html, DOI: 10.3724/SP.J.1001.2008.00605 Tel/Fax: +86-10-62562563

? 2007 by Journal of Software. All rights reserved.

?

一种支持自治计算的基于可废止逻辑的柔性Agent

廖备水1+, 黄华新1, 高济2

1(浙江大学语言与认知研究中心,浙江杭州 310028)

2(浙江大学计算机学院,浙江杭州 310027)

A Defeasible Logic-Based Flexible Agent for Autonomic Computing

LIAO Bei-Shui1+, HUANG Hua-Xin1, GAO Ji2

1(Center for the Study of Language and Cognition, Zhejiang University, Hangzhou 310028, China)

2(College of Computer Science, Zhejiang University, Hangzhou 310027, China)

+ Corresponding author: Phn: +86-571-88273089, E-mail: baiseliao@https://www.wendangku.net/doc/df13282981.html,

Liao BS, Huang HX, Gao J. A defeasible logic-based flexible agent for autonomic computing. Journal of

Software, 2008,19(3):605?620. https://www.wendangku.net/doc/df13282981.html,/1000-9825/19/605.htm

Abstract: The architecture and reasoning mechanisms of traditional BDI (Beliefs-Desires-Intentions) agent have

some vital shortcomings such as the impossibility to dynamically modify its rules for motivation generation, and the

inability to handle rule conflicts and to conduct non-monotonic reasoning based on dynamic rules. These

shortcomings fundamentally restrict and hamper BDI based agents applying to some new areas. Under the context

of autonomic computing research, and taking advantage of the non-monotonic knowledge representation and

reasoning mechanisms of defeasible logic, a flexible Agent model is proposed, which is capable of accepting the

real-time rule modifications, flexibly handling the run-time rule conflicts, and providing efficient non-monotonic

reasoning abilities. The flexible agent is both autonomous and controllable, and is able to cooperate with other

Agents via contracts in the open and dynamic environment.

Key words: Agent; autonomic computing; defeasible logic; non-monotonic reasoning; distributed system

management

摘要: 传统的BDI(信念-愿望-意图)Agent在体系结构和推理决策机制上存在一些重要缺陷,包括Agent知识库

中用于产生动机的规则不能动态变更、不能处理规则冲突并利用动态的规则进行非单调推理等.这些缺陷从根本上

限制和阻碍了Agent在新领域的应用.以自治计算的研究为背景,利用可废止逻辑理论的非单调知识表征和推理机

制,提出一种能够动态接受规则变更,灵活处理实时发生的规则冲突,并进行高效的非单调推理的柔性Agent模型.这

种Agent既是自主的,又是可控的,且可以在开放、动态的环境中通过合同与其他Agent进行协同工作.

关键词: Agent;自治计算;可废止逻辑;非单调推理;分布式系统管理

中图法分类号: TP301文献标识码: A

? Supported by the National Natural Science Foundation of China under Grant No.60773177 (国家自然科学基金); the China

Postdoctoral Science Foundation under Grant No.20060400316 (中国博士后科学基金); the National Social Science Foundation of China

under Grant No.04BZX045 (国家社会科学基金)

Received 2006-11-26; Accepted 2007-01-24

606 Journal of Software软件学报 V ol.19, No.3, March 2008

Agent,又称为智能主体或智能代理,具有反应性、自治性和社会性等特点,已被普遍认为是支持大规模、开放和分布的信息系统实现动态服务集成和协同工作的关键技术[1?3].典型的Agent系统基于BDI(信念-愿望-意图)逻辑[4].该逻辑采用信念、愿望和意图这3类意识态度来刻画Agent的结构,并在此基础上描述其抽象性质和推理过程.目前,基于BDI逻辑的Agent已经得到了广泛而深入的研究,在个体Agent模型、多Agent协商、协同和协作等领域都有丰富的研究成果.不过,传统的基于BDI逻辑的Agent模型在体系结构和推理决策机制上仍然存在一些重大的缺陷:

? 传统Agent的信念修正(包括信念的扩充、修正和收缩等)是Agent基于对环境和自身的认识而对当前知识进行修改,并保持信念的一致性,面向的是Agent的信息部分.而对于动机部分,即Agent对动作选择的知识(规则)是静态确定的,不能动态变更.因此,Agent不能接受外部动机(如来自IT管理者的动态管理策略和目标),并依此调整其对动作的选择;

? 尽管包括基于合同网在内的协作机制为Agent之间的协作奠定了基础,不过对个体Agent而言,现有的BDI逻辑不支持Agent之间动态协作关系的显式表示和推理,即尚未考虑在引入新的规则(反应协作需求)后,如何对其行为的选择进行调整;

? 传统的推理过程本质上是单调的,不具备非单调的推理能力;

? 传统Agent没有讨论多种动机来源,因此也缺乏各种动机之间的冲突处理机制.

这些缺陷从根本上限制和阻碍了它在新领域的应用.本文以自治计算的研究为背景,针对现有Agent模型的上述不足,以BDI Agent理论为基础,采用具有非单调推理能力的可废止逻辑理论作为知识表征和推理的工具,提出一种经过革新的基于规则的柔性Agent模型.

1 应用背景和相关工作

与本文相关的应用背景是“自治计算(autonomic computing)”[5].它作为一个新的热点研究领域,于2001年10月由IBM公司正式发起,旨在克服阻碍未来IT工业进步的主要障碍:目前已隐约可见的软件复杂性危机.随着计算机技术和网络技术的迅猛发展,大型分布式信息系统的管理复杂性问题已经成为其发展过程中的瓶颈.为了使得系统正常运行,IT企业通常要花费高出设备成本4~20倍的管理费用,而且单靠IT专家和技术人员的努力,越来越难以驾驭开放、动态和异构的信息系统.在这个背景下,以降低分布式系统管理复杂性问题为目标的自治计算正在成为当前的研究热点.自治计算的思想受启发于人体自主神经系统的管理机制:人的心律、血压和体温等由自主神经系统自行控制,不需要人脑的直接参与,使得人脑可以用于解决宏观的问题.与之相仿,我们希望具备自治计算特性的信息系统及其各个部分拥有自我配置、自我修复、自我优化和自我保护等自我管理功能,尽量减少人工的参与,以大幅度降低系统的管理费用.

自治计算系统由自治元素构成,每个自治元素作为自主工作的实体,在IT管理者的动态管理策略和目标的指导下,自主地管理内部资源,并依据一定的方式参与协作,实现整个系统的自我管理.由于Agent具有反应性、自治性和社会行为能力等特点,刚好与自治元素的主要特征相吻合,它被认为是担任自治元素、支持信息系统实现自治计算的理想候选[6?8].然而,现有的BDI Agent的上述固有缺陷,限制和阻碍了它在自治计算系统中的应用,即:

? 上一节的第一条缺陷使得Agent只能根据系统的设计目标和当前的环境状态进行推理决策,而不能动态接受来自IT管理者的动态管理策略和目标.这对于自治计算元素来说是重大的缺陷之一,因为IT管理者一方面希望系统能够根据环境的状态自主决策和运作,另一方面又需要根据当前的商业目标和系统状态,制定适当的管理策略,以调整Agent的行为以满足当前的目标.即希望Agent既是自主工作的实体,又是柔性的和可控的;

? 上一节的第二条缺陷了使得Agent在开放、动态的Internet环境中通过合同进行协作时,难以合适处理内部工作动机与外部协作动机之间的关系(包括动机冲突);

? Agent推理过程的单调性以及缺乏动机的冲突处理机制,使其在根本上不支持行为选择知识(即目标规

廖备水等:一种支持自治计算的基于可废止逻辑的柔性Agent 607

则)的变更,这是因为这种变更可能造成规则的冲突,使得动机之间相互抵触.

针对自治计算系统的特性需求以及现有BDI Agent的上述缺陷,廖备水等[9?12]提出了一种初步满足自治元素基本特性的扩展BDI Agent模型.与传统BDI Agent不同的是,它把基于政策的管理方法和基于合同的协作机制有机地与个体Agent的知识表征和推理决策机制结合起来,以便能够接受和处理来自IT管理者的管理目标和策略,以及与其他Agent因协作需要而签订的合同,并在此基础上依据环境信息,进行自主决策和运作.由政策(policies)和合同(contracts)引起的行为动机用道义逻辑来表示,分别称为政策型义务和合同型义务;同时,由环境信息引起的行为动机对应于传统BDI Agent的愿望(desires).这样,Agent的目标就不仅由内部愿望决定,还应考虑政策和合同所产生的义务,因此把这种Agent简称为PDC-Agent[9,12].3类行为动机的冲突处理基于优先级的方法:当同类动机之间或不同类动机之间产生冲突时,选择优先级较高者.关于PDC-Agent的进一步阐述,详见相关文献[9?12].

以PDC-Agent为自治元素,廖备水等[12]提出了一个面向服务的自治计算系统模型.该模型由资源层、服务层和自我管理层组成.资源层包含各种资源,诸如计算、存储、应用软件和数据库等;服务层通过Web服务(或网格服务)基础设施提供的标准接口和协议,实现异构资源的共享和互操作.自我管理层(图1)是系统的核心,实现在IT管理者指导下的系统自我管理功能.它由政策管理框架和可以在政策指导下进行资源自主管理和动态协同工作的PDC-Agent组成.其中,政策(policies)用于表示来自IT管理者的管理策略和目标.政策分为抽象政策(对应于IT管理者的管理策略和目标)和可实施政策,它们都由通用的形式语言加以表征,并通过细化、映射和部署机制,把抽象政策转化为具体的可实施政策后,指派给特定的Agent.政策可以在系统的运行过程中动态变更,并以此来配置Agent的行为,从而在不改变底层软件编码的条件下,动态调整Agent的行为.关于政策管理框架以及面向服务的自治计算系统的详细内容请参考相关文献[12,13].

上述的PDC-Agent模型阐明了用政策和合同来扩展传统BDI Agent的基本原理,但尚未深入研究并阐明在引入动态规则后,如何有效解决各种规则之间的冲突问题,以及Agent推理过程的非单调性问题.本文将从该问题入手,利用Governatori和Dastani等提出的运用可废止逻辑进行Agent建模的思想[14],阐明一种能够动态接受规则变更、灵活处理实时发生的规则冲突,并进行高效的非单调推理的柔性Agent模型.我们把这种Agent称为

.

“柔性

图1 基于多Agent的自治计算系统自我管理层

2 柔性Agent体系结构

柔性Agent的体系结构如图2所示,它包含3个主要功能模块:信念修正、目标产生和意图产生.(1) 信念修正模块依据环境信息对信念进行扩充、修正或收缩,在修改信念的同时保持信念的一致性.因此,该模块在功能上与传统的BDI Agent的类似;(2) 目标产生模块是柔性Agent区别于其他Agent的核心部分.在这里,目标的产生来源于3个方面的动机:愿望、由政策产生的义务和由合同产生的义务,它们三者组成了3类目标;(3) 意图产生模块依据当前信念和目标,产生意图以及与该意图对应的规划.上述3个模块的推理逻辑均表示为规则,分别来

608 Journal of Software软件学报 V ol.19, No.3, March 2008

自于下列规则集:信念规则集(R B)、合同规则集(R C)、愿望规则集(R D)、政策规则集(R P)和意图规则集(R I).其中,合同规则集、愿望规则集和政策规则集统称为目标规则集,记作R G;另外,R C和R P可以动态变更,图中的合同维护和政策维护模块分别用于合同规则和政策规则的添加和删除.

Events

From

Fig.2 The architecture of defeasible logic based flexible agent

图2 基于可废止逻辑的柔性Agent体系结构

由于合同规则和政策规则可以动态变更,这不仅可能引起规则的冲突,而且使得Agent的推理过程呈现出非单调的特征.为了满足该要求,需要引入非单调逻辑来替换传统BDI中的经典谓词逻辑.在非单调推理方面,现有的理论包括限定推理、缺省逻辑、自认识逻辑[15]和可废止逻辑[16]等.相比较而言,可废止逻辑的突出优点是它具有线性的计算复杂性,而其他非单调推理系统都具有很高的计算复杂性[17].因此,可废止逻辑理论虽然表达能力有限,但具备简单、高效和易于实现等突出优点,近年来得到了快速的发展.另外,在可废止理论中,基于优先级的规则冲突处理机制恰好为柔性Agent的规则变更提供了天然的支持.鉴于此,本文将可废止逻辑作为柔性Agent表征和推理的基本工具.

3 基于可废止逻辑的柔性Agent模型

3.1 预备知识:可废止逻辑

可废止逻辑于1987年由Nute首先提出[16],它没有缺省逻辑或限定推理[15]那么有名,不过近年来却受到了相当的重视,这主要得益于它具备的两个突出优点[18]:1) 可计算性:在多项式的时间里得出结论;2) 有效的规则冲突处理机制:有一套内嵌的优先级处理手段.可废止推理和缺省推理很相似,不同点在于对规则的使用上.对于缺省推理,如果某条规则的所有前提满足,结论就成立;而对于可废止推理,这个结论可以被其他规则推翻.

一个可废止理论[19]由5种不同的知识组成:事实(facts)、硬性规则(strict rules)、可废止规则(defeasible rules)、废止者(defeaters)和规则上的优越关系(superiority relation).事实是不可辩驳的陈述,例如,“计算是资源”可表示为:资源(计算).规则由前提(身体)、箭头符号(“→”,“?”和“?”分别表示硬性规则、可废止规则和废止者)和结论(头)组成,其中,前提是一组文字的集合,头是一个文字.硬性规则与传统的规则意义相同,即,只要前提是不可辩驳的,那么结论也是.例如,“资源具有属性”可表示为:资源(X)→有属性(X);可废止规则是指那些可以被反面证据废止的规则,例如“典型地,资源可以被使用”,资源(X)?可使用(X),意指一般情况下资源可以使用,除非有证据表明其不可使用;废止者是那些不能用于得出任何结论,只用于防止某些结论发生的规则,例如“未通过认证的用户,可能不可使用资源”,可表示为:未认证(X)??可使用(X),意指“未通过认证的用户”这个证据不足以得出其“不能使用资源”的结论,而只是其“可能不能使用资源”的证据;规则之间的“优越关系”用于定义规则之间的优先级,即某条规则可以推翻另一条规则的结论.例如给定两条规则:

r1:资源(X)?可使用(X);r2:异常(X)??可使用(X)

这两条规则相互抵触,不能得出任何结论.但如果引入优越关系“?”,且r2?r1,那么,我们可以得出该资源不可使用的结论.优越关系必须是非循环的.

廖备水等:一种支持自治计算的基于可废止逻辑的柔性Agent 609

这样,可废止理论T表示为三元组(F,R,?),其中,F是事实,R是规则的有限集合,?是R上的优越关系.作为一种非单调的方法,可废止逻辑采用怀疑论的观点来构造结论,即结论不是定义为外延或问答集的交集.T的结论是一个带标签的文字,并有如下4种形式:

+?q:意指q在T中是明确可证的(即只使用事实和硬性规则);

??q:意指我们已经证明q在T中是明确不可证的;

+?q:意指q在T中是以可废止的方式可证的;

??q:意指我们已经证明q在T中是以可废止的方式不可证的.

一个证明是T中的一个推导,它是由推理规则构造的带标签文字的有限序列P=(P(1),…,P(n)).对应于上述4 种结论,有4种推理规则分别说明推导是如何展开的(图3所示).图中,R s,R sd,R d和R dft分别表示给定规则R中的所有硬性规则集合、所有硬性和可废止规则的集合、所有可废止规则以及所有废止者集合;R[q]表示R中结论为q 的规则集合;P(1...i)表示序列P的长度为i的初始部分.

+?: We may append P(i+1)=+?q if either

q∈F or

?r∈R s[q] ?a∈A(r):+?a∈P(1...i)

??: We may append P(i+1)=??q if

q?F and

?r∈R s[q] ?a∈A(r): ??a∈P(1...i)

+?: We may append P(i+1)=+?q if either

(1) +?q∈P(1...i) or

(2) (2.1) ?r∈R sd[q] ?a∈A(r): +?a∈P(1...i) and

(2.2) ??~q∈P(1...i) and

(2.3) ?s∈R[~q] either

(2.3.1) ?a∈A(s): ??a∈P(1...i) or

(2.3.2) ?t∈R sd[q] such that

?a∈A(t): +?a∈P(1...i) and t?s

??: We may append P(i+1)=??q if

(1) ??q∈P(1...i) and

(2) (2.1) ?r∈R sd[q] ?a∈A(r): ??a∈P(1...i) or

(2.2) +?~q∈P(1...i) or

(2.3) ?s∈R[~q] such that

(2.3.1) ?a∈A(s): +?a∈P(1...i) and

(2.3.2) ?t∈R sd[q] either

?a∈A(t): ??a∈P(1...i) or t?s

Fig.3 Inference rules for conclusions of a defeasible theory

图3 可废止理论的结论推理规则

首先,为了证明+?q,我们必须仅使用事实和硬性规则来建立一个证明,这是传统意义上的一个演绎;第二,为了证明??q,必须说明所有证明+?q的努力都是失败的.因此,用于??的推理规则是用于+?的推理规则的结构上的补;第三,由于可废止逻辑的可废止特性,可废止结论的推理规则要更加复杂,即为了说明q是以可废止的方式可证明的,我们有两种选择:(1) 说明q已经是明确可证的;或者(2) 使用T的可废止部分来证明.对于后者,我们不仅需要有一个可以应用的头为q的硬性规则或可废止规则(2.1),而且还要考虑可能的“攻击”,即支持~q的推理链.详细地来说,为了可废止地证明q,我们必须说明~q是明确不可证的(2.2),同时,对于那些头为~q的所有规则,他们或者是不可证的,或者被优先级更高的规则所反驳(2.3);第四,用于??的推理规则是用于+?的推理规则的结构上的补,具体解释略.

3.2 柔性Agent理论

柔性Agent是一种基于可废止逻辑的Agent,其知识分为事实和规则两部分.与传统Agent类似,它的意图也通过规划来实现.下面,首先给出用于表征柔性Agent知识的文字、规则以及用于实现意图的规划;接着给出柔性Agent理论的定义.

610

Journal of Software 软件学报 V ol.19, No.3, March 2008

假设Prop ={p ,q ,…}为原子命题集合,{r 1,r 2,…}为规则标签集合,T ={t 1,t 2,…}为离散时间点的全序集合,用

t 2>t 1表示t 2在t 1之后,M ={BEL ,P ?OBL ,DES ,C ?OBL ,INT }为模态算子集合(分别表示信念算子、

由政策引起的义务算子、愿望算子、由合同引起的义务算子和意图算子),{→,?,?}为规则箭头符号集合,Act ={α,β,γ,…}为柔性Agent 动作符号集合,Π={π1,π2,…}为规划集合,“?”为符号非.

定义1. 文字:

(1) 如果p ∈Prop ,那么p 和?p 是平凡文字,记作l ;

(2) 如果l 是平凡文字,t ∈T 是时间点,则l :t 是时间平凡文字;

(3) 如果l 时间平凡文字,X ∈M 是模态算子,那么,Xl 和?Xl 是模态文字;

(4) 文字包括平凡文字、时间平凡文字和模态文字.

文字的补用文字之前加符号“~”表示,即如果l 是文字,则它的补表示为~l ,因此,若l =p ,则~l =?p ;若l =?p ,则~l =p .文字也称为公式.

定义2. 规则:

在可废止理论中,规则形如r :A (r

)C (r ),其中,r 为规则标签;A (r )为规则的前提,也称为规则的身体,它是一组文字的有限集合;

箭头符号∈{→,?,?},分别表示硬性规则、可废止规则和废止者;C (r )为规则的结论,也称为

规则的头.本文区分下列不同类型的规则: (1) 设A 是文字的有限集,C 是文字,则

A

BEL C 是信念规则,式中

,BEL ∈{→BEL ,?BEL ,?BEL }; (2) 设A 是文字的有限集,C 是时间平凡文字,则

A GOAL C 是目标规则,其中,GOAL ∈{P ?OBL ,DES , C ?OBL

},GOAL ∈{?GOAL ,?GOAL },即目标规则不含硬性规则;

(3) 设φ1,…,φn 是平凡文字或时间平凡文字,GOAL ψ:t 是目标,其中,GOAL ∈{P ?OBL ,DES ,C ?OBL },则

φ1,…,φn :GOAL ψ:t ?INT ψ:t ;π是意图规则,其中π是规划(见定义3).意图规则只有可废止的形式.

如果R 是规则集,则R s ,R sd ,R d ,R dft 和R [q ]的含义与 3.1节介绍的相同;R B ,R P ,R D ,R C 和R I 与第2节规定的相同.对于意图规则r ,用A B (r )表示集合r 的信念条件,用A G (r )表示r 的目标条件(意图规则的定义参考了文献[14]),用C I (r )表示r 的意图结论,用C P (r )表示r 的规划结论.于是,我们用R I [C I (r )=ψ:t ]表示R I 中意图结论为ψ:t 的规则集合.规则中可以出现自由变量,带自由变量的规则解释为规则模式,它是所有规则实例的集合.

定义3. 规划:

(1) 如果α∈Act 是动作,那么α是基本动作规划;

(2) 如果l 是平凡文字或时间平凡文字,那么l ?是测试动作规划;

(3) 如果π和π′是规划,那么π;π′(顺序),π|π′(选择),π||π′(并列),π*(重复)也是规划,称为合成规划;

(4) 规划包括基本动作规划、测试动作规划、合成规划和空规划(ε).

定义4. 柔性Agent 理论是一个十元组:M =(T ,F ,Θ,R B ,R P ,R D ,R C ,R I ,Act ,?),其中:

?

T ={t 1,t 2,…}是离散时间点的全序集合; ?

F 为事实集,指Agent 对环境的观察信息集,表示为平凡文字或时间平凡文字; ?

Θ=(Bel ,Obl P ,Des ,Obl C ,Int )指Agent 的心智状态,包括当前的信念集(Bel )、由政策规则产生的义务集(Obl P )、愿望集(Des )、由合同规则产生的义务集(Obl C )和意图集(Int ),它们表示为模态文字; ?

R B 是信念规则集,即Agent 关于世界的理论; ?

R P ,R D 和R C 属于目标规则集,分别表示政策规则、愿望规则和合同规则; ?

R I 是意图规则,用于产生意图和相应的规划; ?

?是规则上的优越关系,??(R B ∪R P ∪R D ∪R C ∪R I )2.优越关系满足传递性; ? Act 为原子动作集,表示为平凡文字.

3.3 柔性Agent 基本模块工作原理

柔性Agent 模型基于可废止理论,其主要模块的工作机制均在该理论之下进行,包括信念修正、目标产生和意图产生.其中,柔性Agent 的信念修正可以基于传统的信念修正理论(AGM 理论),包括3种信念变化形式:扩

廖备水 等:一种支持自治计算的基于可废止逻辑的柔性Agent 611 充、修正和收缩.不过,与AGM 理论不同的是,柔性Agent 的信念修正是建立在可废止逻辑理论的基础之上,因此,必须对AGM 假设和信念修正算子进行相应的革新.与经典命题的逻辑推论相对应,在可废止理论之下,信念可以作为结论被推导出,称之为信念产生.由于信念修正是个相对独立的部分,且比较复杂,本文只介绍信念的产生,而略去信念修正这一部分,相似的工作可参考相关文献[20].

本文的重点在于以下3个方面:目标规则的动态变更、规则的冲突处理以及基于可废止理论的信念产生、目标产生和意图产生.下面分开叙述.

3.3.1 规则的动态变更

柔性Agent 的目标规则包括政策规则、愿望规则和合同规则.其中,愿望规则是静态设计的,而政策规则和合同规则可以动态变更,具体定义如下: 定义5. 目标规则的动态变更指柔性Agent 在运行的过程中,政策规则和合同规则及其优越关系的改变,分别建模为两个函数(δp 和δc ),对应于政策维护模块和合同维护模块(如图2所示)的功能:

δp :(,P P a a R ;):t i 6(,P P b b R ;):t j (1) δc :():t ,C C a a R ;i 6():t ,C C b b R ;j (2)

式中,a 和b 为自然数且b >a ;t i ,t j ∈T 且t j ≥ t i ;P a R 和P a ;是变更之前的政策规则及其上的优越关系,C a R 和是变更

之前的合同规则及其上的优越关系,C a ;P b R 和P b ;是变更之后的政策规则及其上的优越关系,C b R 和是变更之

C b ;后的合同规则及其上的优越关系.由于二者类似,下面讨论时略去上标.函数δp (或δc )由两个操作来实现:添加和删除规则.当进行规则变更时,可能存在规则冲突,因此,必须依据特定的要求对规则的优越关系进行适当的更改.下面首先定义冲突规则集的概念.

定义6. 设在时刻t ∈T 有某规则集R 和待添加或删除的规则r ,C (r )是r 的结论,那么,R 与r 在时刻t 的冲突规则集为R 中结论为~C (r )的规则集合,记作C (R ,r ,t )=R [~C (r )].

用符号+t 和?t 分别表示规则添加算子和删除算子,其中,t ∈T ;用符号??表示需要添加或删除的规则优越关系集,用?T 表示优越关系?上的传递闭包,下面给出规则添加和删除操作的定义.

定义7. 设(R ,?):t 为时刻t 某规则集及其上的优越关系,在时刻t ′(t ′≥t )将一条规则r 加入(R ,?):t 中,称为规则的添加操作,形式化表示如下:

(3) ({},):, (,,) =(,):+=({},):,

(,,)t R r t C R r t R t r R r t C R r t ?′′∪???′∪∪≠?;;;;?

?

式中,??必须满足下列条件: (1) ???C (R ,r ,t )×{r }

(2) ?sup 1,sup 2∈(?∪??)T ,如果Left (sup 1)=Right (sup 2),则Left (sup 2)≠Right (sup 1),其中,sup i (i =1或2)表示优

越关系,Left (sup i )和Right (sup i )分别表示优越关系sup i 的左边和右边项.例如,对于优越关系sup = r 1?r 2,有Left (sup )=r 1,Right (sup )=r 2.

定义8. 设(R ,?):t 为某规则集及其上的优越关系,在时刻t ′(t ′≥t )将一条规则r 从(R ,?):t 中删除,称为规则的删除操作,形式化表示如下

(4) ({},):, (,,) =(,):=({},):,

(,,)t T R r t C R r t R t r R r t C R r t ?′′?????′??≠?;;;;式中,??必须满足条件:??={sup |sup ∈?T ;且Left (sup )=r ,或Right (sup )=r }.

为了保证可废止理论的良构性,要求在执行上述的规则变更操作后,得到的优越关系是非循环的.下面首先定义可废止理论的良构性,再给出相关的定理.

定义9. 一个可废止理论T =(F ,R ,?)是良构的,当且仅当R 上的优越关系?是非循环的,即:假设?T 是?的传递闭包,那么对于任意的r i 和r j ,如果r i ?r j ∈?T ,则r j ?r i ??T .

定理1. 一个良构的可废止理论,按照上述方法进行规则的变更后,得到的可废止理论仍然是良构的.

612 Journal of Software软件学报 V ol.19, No.3, March 2008

证明:设T=(F,R,?)是一个良构的可废止理论,所以,?是非循环的,依据定义9,?T也是非循环的.首先,在执行规则的添加操作时,如果C(R,r,t)=?,则?不变;如果C(R,r,t)≠?,则?变为?∪??,依据公式(3)的第二个条件可知,修改后的优越关系是非循环的.第二,在执行规则的删除操作时,被删除的优越关系集??是?T的子集,因此, ?T?????T.由于?和?T是非循环的,于是可知?T???也是非循环的.否则,如果?T???是循环的,则?r, r′∈?T?????T,使得r?r′∈?T,且r′?r∈?T,即?T是循环的,矛盾.综上所述,规则变更后得到的优越关系是非循环的,因此与之对应的可废止理论是良构的.证毕. □3.3.2 规则之间的冲突处理机制

柔性Agent的规则冲突分为两类:同类规则冲突和异类规则冲突.在对带标签文字(结论)的证明过程中,规则的冲突处理基于规则之间的优越关系.对于同类规则,优越关系是明确指定的;对于异类规则,优越关系则是基于Agent类型,由元规则确定,即在信念规则、政策规则、愿望规则、合同规则和意图规则等5种异类规则之间发生冲突时,应该如何指派优先级.目前,解决这个问题的基本方法是依据Agent的类型来确定规则之间的优先次序[21].例如,对于现实型Agent,信念规则优越于所有其他类型规则;对于社会型Agent,义务规则强于除了信念规则之外的所有目标规则.考虑到本文的柔性Agent担任自治元素,它应该是综合类型的,这些类型包括:遵从型、社会型和现实型.其中,遵从型Agent定义如下.

定义10. 遵从型Agent特指能够遵从IT管理者的政策指导,并在此基础上自主工作的Agent.

依据定义10和自治计算系统中自治元素的要求,规定对于遵从型Agent,政策规则优越于除了信念规则之外的其他所有目标规则.于是,对于柔性Agent,首先有下列3条元规则来限定信念规则、政策规则、愿望规则和合同规则等4种异类规则之间的优越关系:

(MR1)r∈R B[?],r′∈(R P∪R D∪R C)[~?]→r?r′;

(MR2)r∈R P[?],r′∈(R D∪R C)[~?]→r?r′;

(MR3)r∈R D[?],r′∈R C[~?]→r′?r.

MR1,MR2和MR3分别对应于现实型、遵从型和社会型Agent的特点.

其次,意图规则与其他各类规则之间的优越关系由Agent的承诺策略来确定.对于担任自治元素的柔性Agent,拟采用开放型承诺策略,旨在保证Agent具备较好的敏捷性.不过,也因此存在Agent工作的稳定性问题.对此,本文暂不作深入探讨.所谓开放型承诺策略是指只要意图仍然是目标,它就维护这些意图.柔性Agent通过意图规则来实现这种承诺策略.依据定义2的意图规则:φ1,…,φn:GOALψ:

t INTψ:t;π,其中,GOAL∈{P?OBL,DES, C?OBL},即把目标作为与该目标对应的意图的前提条件之一.这样,意图规则与其他类型规则之间没有直接的冲突,它与其他类型规则之间的间接冲突通过目标这一层面来处理.

依据上述的元规则,可以得到柔性Agent的规则冲突处理策略如表1所示.表中,从第2列开始,每一列表示一条属于某类的支持文字?成立的规则在受到可能的攻击后所得的结论.例如,当一条支持?成立的信念规则遇到一条支持~?成立的政策规则的攻击时,将战胜它,得到结论+?BEL?,这是因为信念规则比较优越;而当两条信念规则互相攻击时,则依赖于同类规则的内部优越关系.

Table 1Strategies for rule conflict treatment in flexible Agent

表1柔性Agent规则冲突处理策略

?BEL??P?OBL??DES??C?OBL?

?BEL~?Depends on internal

superiority relations

??P?OBL?

+?BEL~?

??DES?

+?BEL~?

??C?OBL?

+?BEL~?

?P?OBL~?

+?BEL?

??P?OBL~?

Depends on internal

superiority relations

??DES?

+?P?OBL~?

??C?OBL?

+?P-OBL~?

?DES~?

+?BEL?

??DES~?

+?P?OBL?

??DES~?

Depends on internal

superiority relations

+?C?OBL?

??DES~?

?C?OBL~?

+?BEL?

??C?OBL~?

+?P?OBL?

??C?OBL~?

??DES?

+?C?OBL~?

Depends on internal

superiority relations

廖备水等:一种支持自治计算的基于可废止逻辑的柔性Agent 613

3.3.3 信念产生

定义11. 对于柔性Agent理论M=(T,F,Θ,R B,R P,R D,R C,R I,Act,?),公式?:t b(t b∈T)是信念,当且仅当M +?BEL?: t b或M +?BEL?:t b成立.这时,我们称信念?:t b是由M产生的.

依据可废止逻辑理论,带标签的文字+?BEL?:t b,+?BEL?:t b以及??BEL?:t b和??BEL?:t b的证明基于推导规则,下面给出相关定义.

定义12. 带标签文字+?BEL?:t b,??BEL?:t b,+?BEL?:t b和??BEL?:t b的推导规则定义如下:

+?BEL:我们可以添加P(i+1)=+?BEL?:t b,如果

?:t b∈F,或

R[?:t b],使得

?r∈B

s

?a:t a∈A(r):?BEL a:t a∈P(1...i).

+?BEL:我们可以添加P(i+1)=+?BEL?:t b,如果

(1) +?BEL?:t b∈P(1...i),或

(2) (2.1) ?r∈B

R[?:t b],使得

sd

?a:t a∈A(r):?BEL a:t a∈P(1...i),且

(2.2) ??BEL~?:t b∈P(1...i),且

(2.3) ?s∈R B[~?:t b]:

(2.3.1) ?a:t a∈A(s),使得

??BEL a:t a∈P(1...i),或

(2.3.2) ?u∈B

R[?:t b],使得

sd

?a:t a∈A(u):

+?BEL a:t a∈P(1...i)且u?s.

??BEL:我们可以添加P(i+1)=??BEL?:t b,如果

?:t b?F,且

R[?:t b]:

?r∈B

s

??:t a∈A(r),使得??BEL?:t a∈P(1...i).

??BEL:我们可以添加P(i+1)=??BEL?:t b,如果

(1) ??BEL?:t b∈P(1...i),且

(2) (2.1) ?r∈B

R[?:t b]:

sd

?a:t a∈A(r),使得??BEL a:t a∈P(1...i),或

(2.2) +?BEL~?:t b∈P(1...i),或

(2.3) ?s∈R B[~?:t b],使得

(2.3.1) ?a:t a∈A(s):

+?BEL a:t a∈P(1...i),且

(2.3.2) ?u∈B

R[?:t b]:

sd

?a:t a∈A(u),使得

??BEL a:t a∈P(1...i),或u?s.

在定义12中,第一,要使得M +?BEL?:t b成立(即?:t b是信念),必须具备下列两个条件之一:公式?:t b属于Agent的观察信息集;或存在一条结论为?:t b的硬性信念规则,其所有前提均明确可证.第二,如果?:t b不属于Agent的观察信息集,且对于每一条结论为?:t b的硬性规则,至少有一个前提不可证,那么,M ??BEL?:t b成立.第三,为了表明?:t b是以可废止的方式可证的,即M +?BEL?:t b,我们有两种选择:其一,?:t b已经是明确可证的;其二, 使用M的可废止部分来证明,这时需要考虑3个子条件:存在一条可应用的硬性的或可废止的信念规则(2.1)、互

614 Journal of Software软件学报 V ol.19, No.3, March 2008

补公式~?:t b是明确不可证的(2.2)以及对于所有结论为~?:t b的信念公式,要么前提不可证,要么被优越等级较高的规则所反驳(2.3).另外,上一节已说明,信念规则优越于所有其他类型的规则,所以,在考虑反面规则(结论为~?:t b的规则)时略去了其他类型规则,包括3种目标公式和意图规则.第四,用于??BEL?:t b的推理规则是用于+?BEL?:t b的推理规则的结构上的补,具体解释略.

3.3.4 目标产生

柔性Agent目标的产生来源于3个方面的动机:愿望、由政策产生的义务和由合同产生的义务.其中,产生义务的合同规则和政策规则可以动态变更(第3.3.1节),同时,3类动机之间以及动机与信念之间可能存在冲突,对此,我们使用第3.3.2节介绍的冲突处理机制.对于目标产生我们有以下基本假定:

(1) 目标只能由目标规则产生;

(2) 目标的持久性:目标产生之后,在没有出现中断事件(包括规则变更和信念变化)使之不成立之前,该目

标一直成立.

另外,我们假定目标规则都是可废止的.因此,对于每个目标公式?:t g,只有两个带标记的公式+?GOAL?:t g和??GOAL?:t g,其中,GOAL∈{P?OBL,DES,C?OBL}.于是,我们有如下定义:

定义13. 对于柔性Agent理论M=(T,F,Θ,R B,R P,R D,R C,R I,Act,?),公式?:t g(t g∈T)是目标,当且仅当M +?GOAL?:t g.这时,我们称?:t g是由M产生的.下面给出+?GOAL?:t g和??GOAL?:t g的推导规则定义(用GOAL表示P?OBL,DES或C?OBL;用R G表示R P,R D或R C).

定义14. 带标签文字+?GOAL?:t g和??GOAL?:t g的推导规则如下:

+?GOAL:我们可以添加P(i+1)=+?GOAL?:t g,如果

(1) ?r∈R G[?:t g],使得

(1.1) ?a:t a∈A(r):+?BEL a:t a∈P(1...i),且

(1.2) ?s∈R[~?:t g],其中,R=R B∪R P∪R D∪R C:

(1.2.1) ?a:t a∈A(s):??BEL a:t a∈P(1...i),或

(1.2.2) ?u∈R[?:t g],使得

?a:t a∈A(u):+?BEL a:t a∈P(1...i),且u?s;或

(2) (2.1) ?t h

(2.2) ?s∈R[~?:t k],t h

(2.2.1) ?a:t a∈A(s),使得??BEL a:t a∈P(1..i),或

??GOAL:我们可以添加P(i+1)=??GOAL?:t g,如果

(1) ?r∈R G[?:t g]:

(1.1) ?a:t a∈A(r),使得??BEL a:t a∈P(1…i),或

(1.2) ?s∈R[~?:t g],其中,R=R B∪R P∪R D∪R C,使得

(1.2.1) ?a:t a∈A(s):+?BEL a:t a∈P(1...i),且

(1.2.2) ?u∈R[?:t g]:

?a:t a∈A(u),使得??BEL a:t a∈P(1...i),或u?s;且

(2) (2.1) ?t h

(2.2) ?s∈R[~?:t k],t h

(2.2.1) ?a:t a∈A(s):?BEL a:t a∈P(1...i),且

(2.2.2) ?u∈R[?:t k]:

?a:t a∈A(u):??BEL a:t a∈P(1...i),或u?s.

定义14表明,要可废止地证明一个公式是目标,包括两个途径:(1) 存在一条前提均成立的支持该公式成立的目标规则;同时,对于每个结论为~?:t g的规则,要么它的前提不成立,要么存在另一条可实施的支持该公式成立的规则有着更高的优越等级;(2) 在时间t g之前的某个时刻t h,该目标公式已经成立;同时,未出现使该目标公

廖备水等:一种支持自治计算的基于可废止逻辑的柔性Agent 615

式不成立的规则,即对于任何具有互补结论的规则,要么它的前提不成立,要么存在另一条可实施的支持该公式成立的规则有着更高的优越等级.用于??GOAL?:t g的推理规则是用于+?GOAL?:t g的推理规则的结构上的补,具体解释略.

3.3.5 意图产生

柔性Agent依据意图规则以及当前的信念和目标,产生意图和规划.对于意图和规划的产生我们有以下基本假定:

(1) 意图的产生伴随着规划的产生;

(2) 意图只能由意图规则产生;

(3) 意图的持久性:意图产生之后,在支持该意图成立的目标和信念仍然成立之前,该意图一直成立.

另外,意图规则之间的冲突包括意图冲突和动作冲突,因此,先给出动作冲突和意图规则冲突的概念,再定义意图产生和相关的推导规则.

定义15. 动作冲突:两个动作α和α′(α,α′∈Act)冲突,当α与α′之间存在资源冲突或逻辑冲突,记作c(α,α′). Act中所有动作冲突的集合记作C,它满足关系C?Act×Act.

所谓资源冲出是指在执行动作α和α′时,由于时间或其他资源的限制,使得它们不能同时执行.例如,写入动作和删除动作不能同时执行;若某服务s是唯一的,不能同时将它提供给两个不同的服务使用者等.另外,我们规定在动作之上没有非操作.

定义16. 两条意图规则r:φ1,…,φm:GOALψ:t?INTψ:t;πr和s:?1,…,?n:GOALξ:t?INTξ:t;πs冲突,当且仅当两个规则的意图互补或两个规划中存在动作冲突.

为了区分两种不同的冲突来源,我们规定R I中与某规则r:φ1,…,φm:GOALψ:t?INTψ:t;π的意图互补的冲突规则集记作:R I[C I(r)=~ψ:t],而与r中规划π存在动作冲突的规则集记作:R I[Cπ],其中Cπ?C,指引起冲突的动作对的集合.

定义17. 对于柔性Agent理论M=(T,F,Θ,R B,R P,R D,R C,R I,Act,?),公式?:t;π(t∈T)是意图,当且仅当M +?INT?: t;π.这时,我们称意图?:t;π是由M产生的.下面给出+?INT?:t;π和??INT?:t;π的推导规则定义.

定义18. 带标签文字+?INT?:t;π和??INT?:t;π的推导规则如下:

+?INT:我们可以添加P(i+1)=+?INTψ:t;π,如果

(1) ?r∈R I[C I(r)=ψ:t],使得

(1.1) ?φ:t∈A B(r):+?BELφ:t∈P(1...i),且

?GOALψ:t∈A G(r):+?GOALψ:t∈P(1...i),且

(1.2) C P(r)=π,且

(1.3) ?s∈R I[C I(r)=~ψ:t]∪R I[Cπ]:

(1.3.1) ?φ:t∈A B(s),使得??BELφ:t∈P(1...i),或

?GOALψ:t∈A G(s),使得??GOALψ:t∈P(1...i),或

(1.3.2) ?u∈R I[C I(r)=ψ:t],使得u?s,且

?φ:t∈A B(u):+?BELφ:t∈P(1...i),且

?GOALψ:t∈A G(u):

+?GOALψ:t∈P(1...i);或

(2) ?v∈R I[C I(r)=ψ:t′],其中t′

(2.1) +?INTψ:t′;π′∈P(1...i),且

(2.2) π′=π,且

(2.3) ?φ:t′∈A B(v):+?BELφ:t∈P(1...i),且

?GOALψ:t′∈A G(v):+?GOALψ:t∈P(1...i).

616 Journal of Software软件学报 V ol.19, No.3, March 2008

??INT:我们可以添加P(i+1)=??INTψ:t;π,如果

(1) ?r∈R I[C I(r)=ψ:t]:

(1.1) ?φ:t∈A B(r),使得??BELφ:t∈P(1...i),或

?GOALψ:t∈A G(r),使得??GOALψ:t∈P(1...i),或

(1.2) C P(r)≠π,或

(1.3) ?s∈R I[C I(r)=~ψ:t]∪R I[Cπ],使得

(1.3.1) ?φ:t∈A B(s):+?BELφ:t∈P(1...i),且

?GOALψ:t∈A G(s):+?GOALψ:t∈P(1...i),且

(1.3.2) ?u∈R I[C I(r)=ψ:t]:u?s,或

?φ:t∈A B(u),使得??BELφ:t∈P(1...i),或

?GOALψ:t∈A G(u),使得

??GOALψ:t∈P(1...i);且

(2) ?v∈R I[C I(r)=ψ:t′],其中,t′

(2.1) ??INTψ:t′;π′∈P(1…i),或

(2.2) π′≠π,或

(2.3) ?φ:t′∈A B(v),使得??BELφ:t∈P(1...i),或

?GOALψ:t′∈A G(v),使得??GOALψ:t∈P(1...i).

定义18表明,要可废止地证明一个公式?:t;π是意图,可以有两个途径:(1) 存在一条前提均成立的意图结论为?:t的意图规则r(1.1);同时,该规则的规划结论为π(1.2),且对于每个意图结论为~ψ:t的或与r存在动作冲突的规则,要么它的前提不成立,要么存在另一条可实施的支持该公式成立的规则有着更高的优越等级(1.3);(2) 在时刻t之前的某时刻t′存在某条规则v,使得+?INTψ:t′成立(2.1);同时,v的规划与r的规划相同(2.2),且在时刻t,规则v的前提仍然成立,即表示一个意图产生后,一直有效直到产生该意图的目标不成立,或者Agent的信念不支持它成立.用于??INT?:t;π的推理规则是用于+?INT?:t;π的推理规则的结构上的补,具体解释略.

前面我们详细定义了信念、目标和意图的产生,我们要求依据上述定义产生的信念、目标和意图必须是一致的,即对于公式?:t,不允许M +?X?:t和M ??X?:t同时成立,式中X∈{BEL,P?OBL,DES,C?OBL,INT}.对此,我们有以下定理.

定理2. 对于一个柔性Agent理论,其信念、目标和意图的产生具有一致性.

证明:以意图产生为例,用反证法:假设存在公式?:t;π,使得M +?INT?:t;π和M ??INT?:t;π同时成立.分为两种情况:

第一,假设M +?INT?:t;π成立是因为定义18的第1个条件满足,即存在一条意图结论为?:t的意图规则r,使得下列3个条件同时成立:r的所有前提均成立;r的规划部分为π;r的结论不会被反面规则所推翻.而依据M ??INT?:t;π,对于所有意图结论为?:t的意图规则r,上述3个条件至少有一个不成立,产生矛盾.

第二,假设M +?INT?:t;π成立是因为定义18的第2个条件满足,同理可以得出矛盾.因此,意图的产生满足一致性.证毕.同理可证信念和目标的产生具有一致性(略). □另外,在可计算性方面,Maher等人提出的算法证明了可废止理论的结论可以在O(N)的时间内得出,其中,N 为可废止理论中的符号数[18].对于本文提出的柔性Agent,其具体实现和算法将在进一步的研究中给出.类似的实现和算法请参考相关文献[18].

4 实例

有一个提供计算服务的Agent ag0作为自治元素可以在IT管理者的政策指导下,管理内部服务,进行服务合成,并通过合同对外开展协作(即向外提供计算服务s c).ag0是一个柔性Agent,对应的模型是M=(T,F,Θ,R B,R P,R D, R C,R I,Act,?),在时刻t0~t2,M中的各部分知识如下:

廖备水等:一种支持自治计算的基于可废止逻辑的柔性Agent 617

? T={t0,t1,t2,…};

? F={golden(g1):t0,?golden(g2):t0,pay(g1):t0,profit(g2):t1,request(g1):t1,request(g2):t1,reward(g2):t1, punish(g1):t1,acquaintance(g1):t1,request(g1):t2,request(g2):t2},式中,文字golden(g i):t k表示在时刻t k, Agent g i是金卡用户;pay(g i):t k表示在时刻t k,Agent g i向ag0支付了服务费用;profit(g i):t k表示在时刻

t k,ag0为Agent g i提供服务获得了较高的利润;request(g i):t k表示在时刻t k,ag0接收到Agent g i的服务请

求;reward(g i):t k表示在时刻t k,Agent g i获得奖励;punish(g i):t k表示在时刻t k,Agent g i受到惩罚;

acquaintance(g i):t k表示在时刻t k,Agent g i是熟人;

? Θ是Agent的心智状态,具体见表2;

? R B={b1:golden(g i):t k?BEL golden(g i):t k+1,

b2:?golden(g i):t k?BEL?golden(g i):t k+1,

b3:golden(g i):t k,punish(g i):t k?BEL?golden(g i):t k+1,

b4:?golden(g i):t k,reward(g i):t k?BEL golden(g i):t k+1};

? R P={p1:?golden(g i):t k,request(g i):t k?P?OBL?provide(s c,g i):t k

p2:acquaintance(g i):t k,request(g i):t k?P?OBL provide(s c,g i):t k};

? R D={d1:profit(g i):t k,request(g i):t k+1?DES provide(s c,g i):t k+1};

? R C={c1:pay(g2):t0,t k>t0,?INTprovide(s c,g2):t k?1?C?OBL provide(s c,g2):t k};

? R I={i1:golden(g i):t k;GOALprovide(s c,g i):t k?INT provide(s c,g i):t k,do(s1)||do(s2);do(s3)*

i2:?golden(g i):t k;GOALprovide(s c,g i):t k?INT provide(s c,g i):t k,do(s1)|do(s2)};

? Act={do(s1),do(s2),do(s3)},do(s i)是个原子动作:执行服务s i;

? ?={b3?b1,b4?b2,p1?p2}.

上式中,GOALprovide(s c,g i)(GOAL∈{P?OBL,DES,C?OBL})表示一个目标:向Agent g i提供服务s c;g i(i= 1,2,…)为外部服务使用者.另外,假设在时刻t2,发生了目标规则变更:删除政策p1,添加政策p3:punish(g i):t k, request(g i,s C):t k+1?P?OBL?provide(s C,g i):t k+1.另外,上述的信念规则、政策规则、愿望规则和意图规则都是规则模式,它们在运行中将被实例化(具体表示略).

Table 2The working status of the basic modules of Agent ag0 from t0 to t2

表2自t0至t2,Agent ag0基本模块工作状况

Time

modification generation generation generation

t0M +?BEL golden(g1):t0 M +?BEL?golden(g2):t0 M +?BEL pay(g2):t0

t1M +?BEL profit(g2):t1

M +?BEL request(g1):t1

M +?BEL request(g2):t1

M +?BEL reward(g2):t1

M +?BEL punish(g1):t1

M +?BEL acquaintance(g1):t1

M +?BEL golden(g1):t1

M +?BEL?golden(g2):t1

M +?P?OBL provide(s C,g1):t1

M +?INT provide(s C,g1):t1;

do(s1)||do(s2);do(s3)*

t2?t2p1

+t1p3M +?BEL request(g1):t2

M +?BEL request(g2):t2

M +?BEL?golden(g1):t2

M +?BEL golden(g2):t2

M +?DES provide(s C,g2):t2

M +?C?OBL provide(s C,g2):t2

M +?INTprovide(s C,g2):t2;

do(s1)||do(s2);do(s3)*

618

Journal of Software 软件学报 V ol.19, No.3, March 2008

从时刻t 0至t 2,Agent ag 0基本模块工作状况见表2(表中只列出了可证的文字),包括规则的动态变更以及信念产生、目标产生和意图产生.

(一) 规则变更:规则变更发生在时刻t 2,在变更发生之前(时刻t 1),政策规则及其上的优越关系为(R P ,?P ):t 1, 其中,R p ={p 1,p 2},?P ={p 1?p 2}.首先,执行规则删除操作2t ?p 1,这时,C (R P ,p 1,t 2)=R P [~C (p 1)]=R P [provide (s C ,g i ):t k ]= {p 2}≠?,??={p 1?p 2},于是,执行删除操作2t ?p 1后的结果为:(1P R ,1P ;):t 2=(R P ,?P ):t 12t ?p 1=({p 2},{}):t 2.接着执行

规则添加操作p 2t +3,这时,C (1P R ,p 3,t 2)=1P R [~C (p 3)]=1P R [provide (s C ,g i ):t k ]={p 2}≠?,取??={p 3?p 2},??满足定义7

的两个条件,于是执行添加操作2t +p 3后的结果为:(2P R ,2P ;):t 2=(1P R ,1P ;):t 22t +p 3=({p 2,p 3},{p 3?p 2}):t 2.

(二) 信念产生:在t 0,t 1和t 2,可证的信念见表2第3列.明确可证的信念来源于ag 0的观察信息集合F ,依据 定义12,显然成立.以可废止方式可证的信念,我们举例证明:M +?BEL golden (g 1):t 1.

证明:(1) M 中有一条信念规则b 1∈B sd R [golden (g 1):t 1](该规则由信念规则实例化而来,下列其他规则类似),且

b 1的前提golden (g 1):t 0可证,即M +?BEL golden (g 1):t 0成立;(2) 互补的文字?golden (g 1):t 1明确不可证,即M ??BEL ?golden (g 1):t 1成立;(3) R B [?golden (g 1):t 1]={b 2,b 3},且在b 2和b 3的前提中,分别存在一个条件不成立,即可证M ??BEL ?golden (g 1):t 0和M ??BEL punish (g 1):t 0;依据定义12,可得M +?BEL golden (g 1):t 1,证毕. □

(三) 目标产生:在时刻t 0,未产生目标;在时刻t 1,有M +?P ?OBL provide (s C ,g 1):t 1,即产生了目标provide (s C ,g 1):t 1(在时刻t 1,ag 0有目标为Agent g 1提供服务s C );在时刻t 2,发生了规则变更,p 1被删除,且信念也发生了变化,这时 有M +?DES provide (s C ,g 2):t 2和M +?C ?OBL provide (s C ,g 2):t 2,即产生了目标provide (s C ,g 2):t 2(在时刻t 2,ag 0有目标为Agent g 2提供服务s C ).另外可以证明,M ??C -OBL provide (s C ,g 2):t 1和M ??P -OBL provide (s C ,g 1):t 2等.下面,我们以M +?P ?OBL provide (s C ,g 1):t 1为例,证明如下:

证明:(1) R P -OBL [provide (s C ,g 1):t 1]={p 2},p 2的所有前提均成立,即可证M +?BEL acquaintance (g 1):t 1和M + ?BEL request (g 1):t 1;(2) R [?provide (s C ,g 1):t 1]={p 1},且在p 1的前提中,存在一个条件不成立,即可证M ??BEL ? golden (g 1):t 1;依据定义14,可得M +?P ?OBL provide (s C ,g 1):t 1,证毕. □

(四) 意图产生:在时刻t 0,未产生意图;在时刻t 1,有M +?INT provide (s C ,g 1):t 1;do (s 1)||do (s 2);do (s 3)*,即产生了意图provide (s C ,g 1):t 1和相应的规划do (s 1)||do (s 2);do (s 3)*;在时刻t 2,有M +?INT provide (s C ,g 2):t 2;do (s 1)||do (s 2);do (s 3)*, 即产生了意图provide (s C ,g 2):t 2和相应的规划do (s 1)||do (s 2);do (s 3)*.另外我们发现,对于t 1时刻产生的意图INTprovide (s C ,g 1):t 1;do (s 1)||do (s 2);do (s 3)*,在t 2时刻被放弃,这是由于支持该意图的目标在t 2时刻不成立 (M ??P ?OBL provide (s C ,g 1):t 2),因此有M ??INT provide (s C ,g 1):t 2;do (s 1)||do (s 2);do (s 3)*.

下面我们以M +?INT provide (s C ,g 1):t 1;do (s 1)||do (s 2);do (s 3)*为例,证明如下:

证明:(1) R I [provide (s C ,g 1):t 1]={i 1,i 2},其中,i 1可应用,即对于A B (i 1)={golden (g 1):t 1},可证M +?BEL golden (g 1):t 1,对于A G (i 1)=P ?OBLprovide (s C ,g 1):t 1,可证M +?P ?OBL provide (s C ,g 1):t 1;(2) C P (i 1)=do (s 1)||do (s 2);do (s 3)*;(3) R I [C I (r )= ~ψ:t ]∪R I [C π]={};依据定义18,可得

M +?INT provide (s C ,g 1):t 1;do (s 1)||do (s 2);do (s 3)*.证毕.

□ 5 结论和进一步的工作

在传统的BDI(信念-愿望-意图)模型中加入社会思维属性(规范、义务等)以反映实际需求、提高Agent 的协作效率、改善Agent 之间的协作可靠性和安全性,已经成为新的研究趋势.例如,马光伟等人的把信念、愿望和义务作为基本思维属性的Agent 模型[22]、Broersen 的BOID(信念-义务-意图-愿望)模型[21]、Dignum 等人的用规范和义务扩展的BDI Agent 模型[23]和Boella 的基于合同的Agent 模型[24]等.另一方面,运用可废止逻辑的非单调推理机制来建立Agent 模型目前已经有了初步进展,例如在Governatori 和Dastani 等的工作[14]中提出了一种可废止Agent 理论,阐明了如何运用偏好(preference)来表达和处理规则之间的冲突.这些研究成果表明,把规范和义务引入Agent 模型,并让Agent 具有非单调的推理能力,是使得Agent 能够适应开放、分布和异构的信息系统特点的必然选择.不过,上述工作虽然在Agent 模型中加入了社会思维属性,引入了基于可废止逻辑的非单调推理机制,

廖备水等:一种支持自治计算的基于可废止逻辑的柔性Agent 619

但尚未考虑如何使得Agent能够动态变更规则(反映IT管理策略和协作关系),并基于动态规则进行非单调推理.

与上述工作相比,本文的创新点主要体现为以下3个方面:

(1) 提出了一种柔性Agent体系结构和模型,这种Agent能够接受动态变更的IT管理策略(表示为政策规

则)的指导,并结合协作合同进行非单调推理,其动机包括3个方面:由政策规则产生的义务(反映来自

IT管理者的动态管理目标和策略)、内部愿望和由合同规则产生的义务(反映协作关系).其突出的特

点是政策规则可以动态变更,使得柔性Agent既是自主工作的,又是可控的;

(2) 提出了一种规则动态变更机制和一种基于元规则的冲突处理机制,使得规则能够恰当地加入现有的

规则库,或者从规则库中删除,并使得Agent可以利用可能冲突的规则进行有效的推理;

(3) 对信念公式、目标公式和意图公式的推导规则进行了新的定义.提出了目标和意图是可废止的且是

持久的思想(即当目标或意图产生之后,在没有遇到使得目标或意图不成立的事件之前,它们一直有

效),并运用该思想给出了目标公式和意图公式推导规则的定义,证明了在该定义下产生的信念、目标

和意图是一致的.

本文提出的基于可废止逻辑的柔性Agent在体系结构、知识表征和推理决策机制上所具备的上述特点为Agent在新领域的应用奠定了基础.不过,作为一个新的理论体系,基于可废止逻辑的柔性Agent模型仍然不够成熟.进一步的研究工作包括建立对应的语义模型、给出系统的具体实现和算法、进行系统的复杂性分析等.

References:

[1] Jennings NR. On Agent-based software engineering. Artificial Intelligence Journal, 2000,117(2):277?296.

[2] Lü J, Tao XP, Ma XX, Hu H, Xu F, Cao C. A study of Agent-based internetware model. Science in China Ser. E—Information

Sciences, 2005,35(12):1233?1253 (in Chinese with English abstract).

[3] Gao J, Yuan CX, Wang J. SASA5: A method system for supporting agent social activities. Chinese Journal of Computers, 2005,

28(5):838?848 (in Chinese with English abstract).

[4] Rao AS, Georgeff M. BDI Agents: From theory to practice. In: Georgeff MP, ed. Proc. of the 1st Int’l Conf. on Multi-Agent

Systems (ICMAS’95). San Francisco: ACM Press, 1995. 312?319.

[5] Kephart JO, Chess DM. The vision of autonomic computing. IEEE Computer, 2003,36(1):41?50.

[6] Bonino D, Bosca A, Corno F. An Agent based autonomic semantic platform. In: Kephart J, Parashar M, eds. Proc. of the Int’l Conf.

on Autonomic Computing. New York: IEEE Computer Society, 2004. 189?196.

[7] Tesauro G, Chess DM, Walsh WE, Das R, Segal A, Whalley I, Kephart JO, White SR. A multi-Agent systems approach to

autonomic computing. In: Sierra C, Sonenberg L, eds. Proc. of the 3th Int’l Conf. on Autonomous Agents and Multi-Agent Systems.

New York: IEEE Computer Society, 2004. 464?471.

[8] Zhang HJ, Shi ZZ. Software engineering for autonomic computing. Mini-Micro Systems, 2006,27(6):1077?1082 (in Chinese with

English abstract).

[9] Liao BS, Gao J. Dynamic self-organizing system supported by PDC-Agent. Journal of Computer-Aided Design & Computer

Graphics, 2006,18(2):217?224 (in Chinese with English abstract).

[10] Liao BS, Huang HX, Gao J. An extended BDI Agent with policies and contracts. In: Shi ZZ, Sadananda R, eds. Proc. of the Agent

Computing and Multi-Agent Systems. LNAI 4088, Berlin, Herdelberg: Springer-Verlag, 2006. 94?104.

[11] Liao BS, Gao J. A model of multi-Agent system based on policies and contracts. In: Pěchou?ek M, Petta P, Varga LZ, eds. Proc. of

the Multi-Agent Systems and Applications IV. LNAI 3690, Berlin, Herdelberg: Springer-Verlag, 2005. 62?71.

[12] Liao BS. Service-Oriented autonamic computing based on PDC-Agent [Ph.D. Thesis]. Hangzhou: Zhejiang University, 2006 (in

Chinese with English abstract).

[13] Liao BS, Gao J, Hu J, Chen JJ. Ontology-Based conceptual modeling of policy-driven control framework:oriented to multi-Agent

system for Web services management. In: Chi CH, Lam KY, eds. Proc. of the Content Computing. LNCS 3309, Berlin, Herdelberg: Springer-Verlag, 2004. 346?356.

[14] Dastani M, Governatori G, Rotolo A, van der Torre L. Programming cognitive Agents in defeasible logic. In: Sutcliffe G,

Voronkov A, eds. Proc. of the LPAR 2005. LNAI 3835, Berlin, Herdelberg: Springer-Verlag, 2005. 621?636.

620 Journal of Software软件学报 V ol.19, No.3, March 2008

[15] Lu RQ. Artificial Intelligence. Beijing: Science Press, 2000. 617?659 (in Chinese).

[16] Nute D. Defeasible logic. In: Bartenstein O, et al, eds. Proc. of the INAP 2001. LNAI 2543, Berlin, Herdelberg: Springer-Verlag,

2003. 151?169.

[17] Cadoli M, Schaerf M. A survey on complexity results for non-monotonic logics. Journal of Logic Programming, 1993,17:127?160.

[18] Maher MJ. Efficient defeasible reasoning systems. Int’l Journal on Artificial Intelligence Tools, 2001,10(4):384?392.

[19] Antoniou G, Billingto D. Representation results for defeasible logic. ACM Trans. on Computational Logic, 2001,2(2):255?287.

[20] Billington D, Antoniou G, Governatori G, Maher M. Revising nonmonotonic theories: The case of defeasible logic. In: Burgard W,

Christaller T, Cremers AB, eds. Advances in Artificial Intelligence. LNCS 1701, Berlin, Herdelberg: Springer-Verlag, 1999.

101?112.

[21] Broersen J, Dastani M, Hulstijn J, van der Torre LWN. Goal generation in the BOID architecture. Cognitive Science Quarterly,

2002,2(3-4):428?447.

[22] Ma GW, Xu JH, Shi CY. Modeling social agents in BDO logic. Chinese Journal of Computers, 2001,24(5):521?528 (in Chinese

with English abstract).

[23] Dignum F, Morley D, Sonenberg E, Cavendon L. Towards socially sophisticated BDI Agents. In: Durfee EH, ed. Proc. of the 4th

Int’l Conf. on Multi-Agent Systems. Washington: IEEE Computer Society, 2000. 111?118.

[24] Boella G, van der Torre L. Regulative and constitutive norms in normative multiagent systems. In: Dubois D, Welty CA, eds. Proc.

of the 9th Int’l Conf. on the Principles of Knowledge Representation and Reasoning (KR 2004). Whistler: AAAI Press, 2004.

255?265.

附中文参考文献:

[2] 吕建,陶先平,等.基于Agent的网构软件模型研究.中国科学(E)——信息科学,2005,35(12):1233?1253.

[3] 高济,袁成祥,王进.支持Agent社交活动的方法体系SASA5.计算机学报,2005,28(5):838?848.

[8] 张海俊,史忠植.自主计算软件工程方法.小型微型计算机系统,2006,32(7):1?3.

[9] 廖备水,高济.PDC-Agent支持的动态自组织系统.计算机辅助设计与图形学学报,2006,18(2):217?224.

[12] 廖备水.基于PDC-Agent的面向服务的自治计算研究[博士学位论文].杭州:浙江大学,2006.

[15] 陆汝钤.人工智能.北京:科学出版社,2000.617?659.

[22] 马光伟,徐晋晖,石纯一.社会Agent的BDO模型.计算机学报,2001,24(5):521?528.

廖备水(1971-),男,福建古田人,博士,主要研究领域为人工智能,Agent与多Agent 系统,自治计算,逻辑学.

高济(1946-),男,教授,博士生导师,主要研究领域为人工智能,网格计算,软件工程,信息智能

.

黄华新(1959-),男,教授,博士生导师,主

要研究领域为语言逻辑,科学逻辑和“语

言与认知”交叉领域.

step7与wincc flexible仿真

使用Wincc Flexible与PLCSIM进行联机调试是可行的,但是前提条件是安装Wincc Flexible时必须选择集成在Step7中,下面就介绍一下如何进行两者的通讯。 Step1:在Step7中建立一个项目,并编写需要的程序,如下图所示: 为了演示的方便,我们建立了一个起停程序,如下图所示: Step2:回到Simatic Manager中,在项目树中我们建立一个Simatic HMI Station的对象,如果Wincc Flexible已经被安装且在安装时选择集成在Step7中的话,系统会调用Wincc Flexible程序,如下图所示:

为方便演示,我们这里选择TP270 6寸的屏。 确定后系统需要加载一些程序,加载后的Simatic Manager界面如下图所示:

Step3:双击Simatic HMI Station下Wincc Flexible RT,如同在Wincc Flexible软件下一样的操作,进行画面的编辑与通讯的连接的设定,如果您安装的Wincc Flexible软件为多语言版本,那么通过上述步骤建立而运行的Wincc Flexible界面就会形成英语版,请在打开的Wincc Flexible软件菜单Options-〉Settings……中设置如下图所示即可。 将项目树下通讯,连接设置成如下图所示: 根据我们先前编写的起停程序,这里只需要使用两个M变量与一个Q变量即可。将通讯,变量设置成如下图所示:

将画面连接变量,根据本文演示制作如下画面: 现在我们就完成了基本的步骤。

Step4:模拟演示,运行PLCSIM,并下载先前完成的程序。 建立M区以及Q区模拟,试运行,证实Step7程序没有出错。 接下来在Wincc Flexible中启动运行系统(如果不需要与PLCSIM联机调试,那么需要运行带仿真器的运行系统),此时就可以联机模拟了。 本例中的联机模拟程序运行如下图所示:

ASP脚本语言

第3章ASP脚本语言—VBScript 吴运明 信息技术与传播学院3.1 VBScript概述 3.1.1 VBScript用途 ●Microsoft公司脚本语言,属Basic语法体系 ●用途: (1)客户端脚本编程 (2)服务器端动态脚本编程 用途(1):客户端脚本编程 ●基本格式: 例:1.html VBScript客户端应用 用途(2):服务器端脚本编程 ●基本格式: ●改进: <%@Language="VBScript"%> asp页面第一行 页面的其他地方使用 <% ... %> 用途(2):服务器端脚本编程 例:2.asp <%@Language="VBScript"%> VBScript服务器端应用 <% for i=1 to 100 sum=sum+i next response.write("1+2+3+...+100=" & sum) %> 3.2 VBScript数据类型及运算符 3.2.1 数据类型 ●Variant:变体类型,根据用途选择最合适的子类型来存储数 据 ●Variant包含的子数据类型:P31 表3-1 3.2.2 VBScript中的运算符 (1)算术运算符 (2)逻辑运算符 (3)比较运算符 (4)字符串连接符 (1)算术运算符 (2)逻辑运算符 用于判断表达式是否成立,其返回值为真或假 与:And 或:Or 非:Not (3)比较运算符 用于将表达式两边的值做出比较,返回值为True或False = <> < > <= >= (4)字符串连接符 ●& :连接字符串、不同类别的数据 ●例如: “abc” & “123” “abc123” ●+ :字符串与字符串的串接运算 First="Peter" Last="Wang" document.write(first+""+last) 3.3 VBScript变量和常量 3.3.1 变量的声明与赋值 ●声明变量:Dim 变量名 如:dim x, y ●变量赋值:变量名=值 如:x=10 ●强制声明变量 ●Option Explicit ●例:4.html 课本P33 3.3.2 数组的定义 1.定义一维数组:Dim 数组名(最大下标) 如:dim x(4) …定义了x(0)~x(4)共5个数组元素 ●说明:数组下标从0开始,元素个数为最大下标值+1 2.定义二维数组:Dim X(M,N) 例如:Dim X(2,2) X(0,0)=85 X(1,1)=88 定义多维数组: Dim 数组名称(M,N,L....) 3.数组与For-Next循环的搭配 (1) 读取数组数据 ●x=array(“word”, “excel”, “powerpoint”, “access”) for i=0 to 3 document.write x(i)&“” next (2)Ubound函数:读取数组中最大的下标。

winccfleXible系统函数

WinCC Flexible 系统函数 报警 ClearAlarmBuffer 应用 删除HMI设备报警缓冲区中的报警。 说明 尚未确认的报警也被删除。 语法 ClearAlarmBuffer (Alarm class number) 在脚本中是否可用:有 (ClearAlarmBuffer) 参数 Alarm class number 确定要从报警缓冲区中删除的报警: 0 (hmiAll) = 所有报警/事件 1 (hmiAlarms) = 错误 2 (hmiEvents) = 警告 3 (hmiSystem) = 系统事件 4 (hmiS7Diagnosis) = S7 诊断事件 可组态的对象 对象事件 变量数值改变超出上限低于下限 功能键(全局)释放按下 功能键(局部)释放按下 画面已加载已清除 数据记录溢出报警记录溢出 检查跟踪记录可用内存很少可用内存极少 画面对象按下 释放 单击 切换(或者拨动开关)打开 断开 启用 取消激活 时序表到期 报警缓冲区溢出

ClearAlarmBufferProtoolLegacy 应用 该系统函数用来确保兼容性。 它具有与系统函数“ClearAlarmBuffer”相同的功能,但使用旧的ProTool编号方式。语法 ClearAlarmBufferProtoolLegacy (Alarm class number) 在脚本中是否可用:有 (ClearAlarmBufferProtoolLegacy) 参数 Alarm class number 将要删除其消息的报警类别号: -1 (hmiAllProtoolLegacy) = 所有报警/事件 0 (hmiAlarmsProtoolLegacy) = 错误 1 (hmiEventsProtoolLegacy) = 警告 2 (hmiSystemProtoolLegacy) = 系统事件 3 (hmiS7DiagnosisProtoolLegacy) = S7 诊断事件 可组态的对象 对象事件 变量数值改变超出上限低于下限 功能键(全局)释放按下 功能键(局部)释放按下 画面已加载已清除 变量记录溢出报警记录溢出 检查跟踪记录可用内存很少可用内存极少 画面对象按下 释放 单击 切换(或者拨动开关)打开 断开 启用 取消激活 时序表到期 报警缓冲区溢出 SetAlarmReportMode 应用 确定是否将报警自动报告到打印机上。 语法 SetAlarmReportMode (Mode) 在脚本中是否可用:有 (SetAlarmReportMode) 参数 Mode

JAVASCRIPT脚本编程 带答案

1、JavaScript是什么_______。 A)客户端脚本语言√ B)客户端标记语言 C)服务器端脚本语言 D)服务器端标记语言 2、关于JavaScript的作用说法正确的是_______。(选三项) A)JavaScript即面向过程又面向对象√ B)实现客户端表单验证√ C)制作网页特效√ D)JavaScript语言属于低级语言 3、关于JavaScript编程工具的说法,正确的是_______。 A)只能使用DreamWeaver B)只能使用记事本 C)只能使用EditPlus D)一切文本编辑器皆可√ 4、完整的JavaScript实现包括三个部分,除了_______。 A)ECMAScript B)BOM C)COM√ D)DOM 5、JavaScript脚本文件的后缀名是_______。 A)*.jsp B)*.js√ C)*.java D)*.asp 6、将JavaScript脚本文件导入到HTML页面所对应的标记是_______。 A) B) C) D)