APP下载

基于规范的Agent混合结构模型研究

2016-09-26杨海泷

计算机应用与软件 2016年3期
关键词:规范计划模块

杨海泷 赵 军

1(宁夏大学数学计算机学院 宁夏 银川 750021)2(宁夏大学经济管理学院 宁夏 银川 750021)



基于规范的Agent混合结构模型研究

杨海泷1赵军2

1(宁夏大学数学计算机学院宁夏 银川 750021)2(宁夏大学经济管理学院宁夏 银川 750021)

随着管理问题复杂性不断提高,计算实验方法应运而生。Agent作为计算实验方法中的主体,其模型构建的合理与否直接影响到仿真系统的实现与运行。通过研究Agent概念、特点以及已有Agent模型,结合管理科学、规范和计算实验相关理论,提出一种基于规范的Agent混合结构模型,并给出Agent的基类设计。最后,运用Swarm平台对一个实际案例进行仿真。仿真结果证明,该Agent模型具有可行性,适合于管理科学领域计算实验方法中的多Agent建模。

计算实验Agent规范混合结构模型Agent建模

0 引 言

管理问题复杂性不断提高,管理科学研究方法论体系也在不断拓展,在不同学科交叉和融合的推动下,管理科学研究领域内的计算实验方法应运而生。它提供了研究管理系统自组织、动态演化及宏观与微观层次之间相互作用的新工具和手段。计算实验是一种融合计算技术、复杂系统理论和演化理论等,通过计算机再现管理活动,并在此基础上分析揭示管理复杂性与演化规律的一种研究方法[1]。计算实验方法采用自下而上的研究思路,综合集成多种研究方法和工具,通过对系统中的主体建模并观察其决策与交互机制来研究系统整体特性的涌现。因此基于多主体(Agent)的建模仿真技术自然成为计算实验方法的主要研究手段。而Agent作为仿真系统中的主体,其模型构建得合理与否直接影响到仿真系统的实现与运行。

本文在分析总结Agent基本理论与前人研究工作基础上,结合计算实验方法相关理论,提出一种适合管理科学领域计算实验方法中多Agent建模的,具有一定可重用性的,基于规范的Agent混合结构模型,并介绍该模型的一个仿真实例。

1 Agent理论

1.1Agent内涵及特点

Agent作为一个粗粒度的、自治的、灵活的实体抽象,Agent的建模工作一直是人们研究的热点问题。然而,一方面由于面向Agent方法的研究起步不久,在软件系统实现阶段对面向Agent的开发环境尚不完善。另一方面由于Agent区别于对象具备智能性、自主性、反应性、社会性等特性,导致个体Agent结构的复杂度以及多个Agent交互和协作时的复杂度提高。以上原因共同导致Agent模型在软件实现时有一定的难度。

目前学术界对于Agent尚无统一的定义,Minsky在《Society of Mind》一书中认为,Agent应具有社会交互性和智能性。英国的Agent理论专家Wooldridge和Jennings认为,Agent应具有自主性、社会交互性、反应能力和预动能力,应具有通信能力和协商能力[2]。综合一些文献所提出的Agent的特点,本文认为计算实验研究中的Agent应具有以下特点:

1) 自治性:Agent能自行控制其状态和行为,能在没有人或其他程序介入时操作和运行[3]。

2) 推理能力:Agent能够根据当前具有的知识经验进行推理。

3) 交互性:Agent可以通过特定的通信语言与其他Agent进行交互。

4) 反应性:Agent能够及时感知环境的变化,并对环境的变化做出相应的反应。

5) 社会性:Agent之间能够相互协作,共同完成目标。

6) 适应性:Agent能够根据环境变化做出相应的适应性调整。

1.2Agent结构模型

从Agent模型角度看,Agent的结构通常分为:慎思型Agent、反应型Agent和混合型Agent三种类型。

(1) 慎思型Agent

顾名思义,此类Agent具有人类的思维,如信念、愿望和意图等,其内部通过一定形式的符号推理并加以修正来实现对外部环境的表示。慎思型Agent结构如图1所示。

图1 慎思型Agent基本结构

(2) 反应型Agent

Rodney Brakes认为智能是无需表示和逻辑推理的,也不需要知识,对人类智能进行符号层次的抽象建模过于复杂,应该立足现场而致力于智能的最初实现。反应型Agent就是基于上述思想设计,其内部不依赖任何符号表示,直接根据外部环境的输入产生相应的输出,反应型Agent的结构如图2所示。

图2 反应型Agent基本结构

(3) 混合型Agent

图3 混合型Agent基本结构

无论是慎思型Agent还是反应型Agent,优点和缺陷都过分明显,都难以用于解决实际问题。所以只有通过结合二者的优点,形成优势互补,构成混合型Agent结构,才能弥补纯粹的慎思型Agent或是反应型Agent的缺陷,发挥出二者各自的最大优势[4]。混合型Agent结构如图3所示。

关于Agent的结构模型,研究者们根据各自研究背景和研究领域提出了不同的观点和看法。

(1) 在企业管理领域中

针对电子贸易市场的Agent仿真,Bunn等给出一种自治的Agent结构[5],这些主体只能感知环境信息,在交互中互相学习,并能够调整自身状态,适应市场环境。针对供应链仿真,Fu[6]等人提出了一个由过程驱动的通用Agent模型,模型中包括信息输入输出模块、事件处理模块、执行模块及知识库、策略、状态等。在企业建模仿真中,吴菊华等人提出了一种基于Agent的企业模型[7],在该企业模型中,Agent内部考虑了社会因素,使用规范约束Agent个体行为。

(2) 在其他领域中

霍兰提出一种基于遗传算法的Agent反应模型[8]来描述个体的基本行为。迟妍等给出了一种Agent结构的6元组描述,即Agent=<标识、类型、知识库、规则库、属性、参数>[9]。针对生物系统仿真,Alfonseca等人建立了一种觅食Agent模型[10],该Agent模型具有生物特性,如生命周期、移动能力、交流能力等,而这些能力是通过设置相应的基因来体现的。针对足球机器人仿真,熊永华[11]等人给出了一种兼具反应式结构与慎思式结构的Agent模型,既能够快速响应紧迫事件,又具有一定的慎思性。

以上Agent模型各具特点,但这些Agent模型有的层次不够鲜明,具有较强的领域针对性,无法将其生搬硬套地移植到企业管理领域中来;有的模型过于简单,缺乏必要的模块,不适合企业管理领域仿真;有的则过分注重Agent智能性的理论分析,难于在软件系统中实现。

2 基于规范的Agent混合结构模型

2.1规范

规范的概念,来自于社会心理学,具有丰富的语义内涵,其在牛津百科全书中的解释为:“规范,也叫社会规范。是一个社会群体诸成员共有的行为规则和标准。规范可以内化,加入个人的意识。”Stamper定义了规范的表达方式如下所示[12]:

Whenever<条件集>If<状态集>ThenIs<义务逻辑操作符>To<行动集>

其中,<条件集>指明了某个Agent执行某种行为的条件;进一步说明可以通过If <状态集>,表明在什么状态下发生;指的是责任Agent,有权力或是有代表权做出决策的人或者软件;<义务逻辑操作符>包括允许、必须、禁止等;<行动集>规定了在条件满足的情况下接下来会采取的行为集合[13]。

规范指导Agent的活动,包括行使权力和履行义务,是Agent之间建立信任关系的根本。基于规范设计Agent结构模型,一方面体现了Agent的社会性,通过约束Agent的行为来缩小Agent搜索空间,提高Agent运行效率;另一方面也体现了Agent的智能性,使Agent按照规范执行,而降低了与环境的耦合度,使Agent更易于被复用。

2.2基于规范的Agent模型结构

在上述文献基础上,结合Agent建模理论以及规范的相关理论,提出一种具有一定通用性的,基于规范的Agent混合结构模型。其结构如图4所示。

图4 基于规范的Agent混合结构模型

控制器负责协调整个Agent的运行;反应器用来对紧急情况做出迅速反应;Norm模块主要维持一个可定制的规范库,是规则库中规则的来源之一,约束信息处理器的信息处理方式,指导计划器做出计划;感应器和效应器则是Agent与世界进行交互的接口。下面详细讨论各模块的结构与运作原理。

(1) 控制器

控制器负责协调整个Agent的运行,当感应器感知到外界环境的变化或者接收到其他Agent的任务请求时,控制器的信息处理器会对信息进行解析和分类。如果感知到的事件是紧急的或者简单的,则将信息转发至反应器;如果感知到的事件时间比较充裕或者是一个复杂事件,则将信息交由计划器进行推理。图5给出了控制器的内部结构图。

图5 控制器内部结构

(2) 计划器

图6 计划器内部结构

由于Agent工作在复杂环境中,而复杂环境的复杂多变性要求我们做出的计划是局部的中短期的计划。局部性是指每个Agent根据自身状态、自身对世界模型的认知程度以及其持有的经验做出计划,而不是由某一规划Agent对每一Agent做出全局计划。计划的短期性则是因为世界是运动的,Agent状态在实时变化,长期的计划可能会因为瞬息万变的情况而失去时效。计划器的结构如图6所示。

(3) 决策器

根据Agent计划器中各库反应的状态,从中选择Agent能达到的目标,将其按照特定优先级加入目标议程表。随后,选择预定义的可达到目标的计划,并使之成为活动计划。之后活动计划被加入可执行动作序列,交由相应模块执行。预定义计划来源于知识库中的预定义计划库。决策器还负责消解计划间的冲突,修改过时的、错误的、不可用的计划,并决定在必要时进行重新计划。

(4) 反应器

反应器使Agent能处理一些紧急的事件,它运用规则库中的条件规则,将来源于控制器中的反应型信息直接映射为动作。反应器生成的动作和目标以最高优先级加入执行器单元,而将从决策器模块送来的动作中断。如果发生中断,决策模块将决定是重新进行计划还是继续原来计划好的动作序列。鉴于反应器用来处理紧急事件,所以反应器基本上不做推理。反应器采用的规则格式如下:

RULE:IF 规则条件 THEN 动作

(5) 学习器

学习器是Agent具有智能性的基础。当控制器检测到的信息是新的信息或环境反馈信息,则交由信息处理器,进行信息解释、加工和分析,形成知识加入知识库,或者更新规则库。使用学习知识和规则库中的启发性知识,对可执行动作队列中的活动计划、活动计划对Agent目标的改变和计划的结果等进行分析。根据分析结果,产生新计划和新目标。

(6) Norm模块

Norm模块一方面约束Agent各个模块的动作行为,另一方面为Agent系统使用者提供一个规范定制接口,多Agent系统应用在不同的学科领域其规范是截然不同的。设计规范库模块原因有三。① 虽然Agent本身具有学习能力,某些规则可以通过学习机制习得,但Agent学习能力是有限的,随着问题规模增大、复杂程度加剧,单靠学习是不够的。② 某些领域规范已然成熟,此类规范可以直接投入系统使用,且不适合进行修改,例如企业内部运作规范。③ 随着环境的变化,总有一些规范不再适用,而这些规范是不允许Agent通过学习机制习得的,例如:政策政令、法律规定等。

Norm模块主要通过约束信息处理器与计划器,规范整个Agent的运行。Norm模块通过综合当前Agent类型、Agent状态、事件类型、事件前提条件等信息,约束相关部件的行为。当义务逻辑操作符为允许时,我们用某一概率控制其运行与否。

使用分层分类的思想设计Norm库[7],分别为社会层、组织层和操作层,将规范从三个层面进行组织,方便规范的使用和更新。

(7) 感应器和效应器

感应器和效应器是Agent与外界交互的接口,具有一定的信息处理和通信能力,Agent通过感应器感知外界信息并抽象出世界模型,随后将抽象的信息送到控制器。效应器则根据传入的命令做出相应的动作,对外界产生影响。

2.3Agent基类设计

该模型提供了一种通用的Agent内部结构设计,在代码设计时,通用的部分被设计在一个基类中,可以被不同管理领域继承使用。具体应用时只需在此基础上进行相应修改和扩展即可。基类的简单代码设计如下:

public class basic_Agent{

……

//相关参数与变量定义

public void com_Interface();

//通信接口

public void action_Block(){

//反应模块

void sensor();

//感知器

if(反应条件)

……

//相关反应动作

void effector();

//效应器

}

public void intel_Block(){

//慎思模块

void controller(

//控制器

……

//规划

……

//决策

void logManager();

//日志管理器

}

public void study_Block(){

void infProcessing()//信息处理

void study()//学习

void dataManager();//数据管理器

}

限于篇幅,本文只对规范库模块的设计进行介绍。规范库以一个单独的模块呈现,各种约束Agent行为的规范以结构化方式被设计并分层分类存储在规范库中,可供Agent调用。在新的应用中亦可实现代码级、方法级与模块级重用,开发者只需关心规范库内容更新即可。规范库基类设计如下:

public class normLib{

String normId;

List aList,bList…;

//链表

……

//不同类型的Norm

……

//匹配函数

void getNormId();

//获取规范的编号

void addNormIdToList();

//添加编号至链表

}

3 仿真实例

3.1仿真背景及模型设计

某公司是一家制造业企业,企业生产规模不大,整个企业的生产可根据市场需求量灵活调整。随着市场竞争的日益加剧以及企业外部环境的不断变化,按原有的服务和销售方式难以适应这种变化。为了提高企业的生产效益和声誉度,保持市场竞争力,如何改进服务和销售策略等问题成为了制约企业生存和发展的重要因素。

针对以上问题,以上文提出的Agent模型为基础,建立该情境下的多Agent仿真框架如图7所示,并利用Swarm仿真工具进行仿真实验。本文主要针对该公司的服务和销售策略以及在客户心中的声誉形象部分进行建模与仿真。

图7 多Agent仿真框架

客户Agent的作用是产生市场需求量,同时对企业的声誉形象进行评分;统计Agent负责管理客户信息、财务结算和维持新的销售策略及改进方法等,它通过继承Agent模型基类中的方法并加以扩展生成;销售Agent负责执行相关销售策略及服务改进方法等,在本文的设计中它的结构只是一个简单的反应式Agent,只需继承基类中的反应模块即可生成;生产Agent只负责产品的生产,它的设计结构类似客户Agent;通信Agent与规范库的设计依照上文给出的思路经扩展而来。各Agent的交互是在本文设计的规范约束下进行的,所有的交互信息都以消息的形式传递。表1列举了本文所设计的部分Norm的详细描述。

表1 Norm的详细表述

3.2评价指标

利润是企业追求的目标,利润越高说明该企业效益越好。除利润外,良好的声誉是企业成功的重要表现,为企业的发展提供了有力保证。因此,本文确定利润与声誉度为仿真指标。该企业的声誉评价标准是由客户从服务质量、产品质量和受益程度(客户从企业得到的好处和享受到的各种优惠)三个评论指标(每个指标给予相应权重)给企业打分,打分标准和权重由企业给出。根据这些标准和权重计算出最终声誉得分值。以上两个仿真指标计算公式如下:

1) 日均利润T见下式:

(1)

其中n代表天数,Ni与Oi分别代表第i天新顾客与老顾客的需求量,P是商品的单价,M代表每件商品的成本价,S表示折扣,E表示每天的其它费用(包括电费、维护费用等),m代表新顾客能享受折扣优惠时的最低需求量,也就是说当新顾客的需求量等于或超出这个量时才能享受相应的折扣优惠。

2) 声誉度分值R如下式:

(2)

其中Si、Qi与Ui分别代表第i个顾客从服务、产品质量和受益程度三方面给企业的打分值,WS、WQ与WU分别表示服务、产品质量和受益程度三个评价指标的权重值。

3.3仿真结果与分析

对该企业在服务与销售策略改进前后分别进行仿真。仿真结果如图8至图11所示。

图8 原销售策略下的日均利润值 图9 现销售策略下的日均利润值

图10 原服务与销售策略下的声誉值 图11 现服务与销售策略下的声誉值

对于以上实验结果,分析如下:

改变销售策略,即通过达到一定购买量就能享受相应折扣优惠的促销方式,刺激了消费,吸引了更多新客户。如图8和图9所示,改变策略后日利润有明显提高,可以推断该企业销售能力明显增强。

通过引入规范,约束企业各部门间的沟通与合作,提高产品质量和服务质量,使企业在日均获利明显提高的同时,企业形象也得到相应改善,如图10和图11所示。这不但有助于企业品牌的推广,而且有助于扩大企业生产规模和追求利润更大化。

通过以上实验,表明本文提出的Agent模型是可行的,通过修改仿真参数可以得到相应预期结果,能够满足管理科学领域对Agent模型的基本要求。

4 结 语

本文分析总结了Agent基本理论与现有Agent模型,结合计算实验方法相关理论,提出一种适合管理科学领域多Agent建模的,基于规范的Agent混合结构模型。通过仿真验证,该模型容易实现且具有可行性与一定重用性。同时,Swarm提供的开源源代码及其标准接口,使模型具有良好的可扩展性。但是,在Agent模型智能性与交互性体现上,需要进一步研究和完善。

[1] 盛昭瀚,张维.管理科学研究中的计算实验方法[J].管理科学学报,2011,14(5):1-10.

[2] Wooldrigde M,Jennings N R.Intelligent agents Theory and practice[J].The Knowledge Engineering Review,1995,10(2):115-152.

[3] 李群,赵彦博,黄建新,等.基于ABMS的CEC体系效能仿真分析[J].系统仿真学报,2013,25(7):1429-1434.

[4] 蒋伟进,钟珞,张莲梅,等.基于时序活动逻辑的复杂系统多Agent动态协作模型[J].计算机学报,2013,36(5):1115-1124.

[5] Derek W Bunn,Fernando S Oliveira.Agent-based Simulation-An Application to the New Electricity Trading Arrangements of England and Wales[J].IEEE Transactions on Evolutionary Computation,2001,5(5):493-503.

[6] Yanghui Fu,R de Souza,Jingru Wu.Multi-agent enabled modeling and simulation towards collaborative inventory management in supply chains[C]//Proceeding of the 2000 winter simulation conference,2000(2):1763-1771.

[7] 吴菊华,吴丽花,甘仞初.基于规范的多agent协同机制研究[J].计算机应用研究,2009,26(5):1778-1781.

[8] Holland J H.隐秩序:适应性造就复杂性[M].周晓牧,韩晖,译.上海:上海科技教育出版社,2000.

[9] 迟妍,邓宏钟.作战智能体的机动行为模型研究[J].计算机仿真,2009,26(5):96-99.

[10] Manuel Alfonseca,Juan de Lara.Two-level evolution of foraging agent communities[J].BioSystems,2002,66(1-2):21-30.

[11] 熊永华,许虎,赖旭芝,等.一种烧结生产过程控制云制造仿真实验平台[J].计算机集成制造系统,2012,18(7):1627-1636.

[12] Stamper R.Organizational Semiotics:Informatics without the Computer Studies in organizational semiotics[M].Boston,MA:Kluwer Academic Publisher,2001.

[13] 焦蕾.Agent结构的形式化描述分析及研究[J].电子设计工程,2012,20(16):21-24.

ON AGENT HYBRID ARCHITECTURE MODEL BASED ON NORM

Yang Hailong1Zhao Jun2

1(SchoolofMathematicsandComputer,NingxiaUniversity,Yinchuan750021,Ningxia,China)2(SchoolofManagementandEconomics,NingxiaUniversity,Yinchuan750021,Ningxia,China)

Along with the continuous increase of the complexity of problems in management practices, computational experiments emerges as the times requiring. The rationality of Agent model construction, which is the subject in computational experiment method, has direct influence on the implementation and operation of the simulation system. Based on analysing the Agent concept, characteristics and existing Agent models, and combining with the theories related to management science, norm and computational experiments, this paper puts forward a norm-based Agent hybrid architecture model, and presents a base class design of Agent. At last the simulation is made on a practical example based on Swarm platform. Simulation results show that the Agent model has the feasibility, and is suitable for multi-Agent modelling in computational experiment method of management science field.

Computational experimentAgentNormHybrid architecture modelAgent-based modelling

2014-09-13。

国家自然科学基金项目(71461025)。

杨海泷,硕士,主研领域:信息系统工程。赵军,教授。

TP391.9

A

10.3969/j.issn.1000-386x.2016.03.002

猜你喜欢

规范计划模块
28通道收发处理模块设计
来稿规范
来稿规范
“选修3—3”模块的复习备考
PDCA法在除颤仪规范操作中的应用
来稿规范
暑假计划
学做假期计划
学做假期计划
Learn to Make a Holiday Plan学做假期计划