基于黑板的多Agent智能决策支持系统设计

2012-01-15 06:03孙喁喁
电子设计工程 2012年16期
关键词:决策支持系统知识库黑板

孙喁喁

(西安工业大学 计算机科学与工程学院,陕西 西安 710032)

黑板模型是一种高度结构化的问题求解模型,用于“适时”问题求解[1],作为一种高效的多知识源知识处理方法,广泛应用于大型知识库系统求解中。黑板系统可以作为一类多Agent系统进行建模和实现。基于Agent的结构提供了柔性,可变性、鲁棒性,适用于解决一些动态的,不确定的和分布式的问题[2]。多Agent系统是一种松散耦合的Agent网络[3],具有很好的灵巧性和精干性,Agent之间通过相互调度、相互合作协同完成大规模的复杂问题求解。

笔者基于黑板系统和多Agent技术,在传统的IDSS的基础上提出了一种基于黑板的多Agent智能决策支持系统[4]。在该系统中,每个Agent可以利用黑板充分交换信息、数据和知识,黑板控制Agent对黑板进行监督和控制,完成任务的分解和冲突的消解。并且通过黑板进行Agent之间地协调,以便多个Agent共同协作来求解给定的问题。

1 基于黑板的多Agent智能决策支持系统结构

在基于黑板的多Agent智能决策支持系统中,每种决策任务或功能可由一个独立的Agent来完成,各种Agent通过一个相应的标准从各自角度出发来分析问题[5],不同Agent从自身角度审视决策问题,独立完成一定子任务,然后通过黑板协同合作来达到一个共同的目标。由于Agent的自治性和实体化[6],可以随时加入或离开一个问题求解系统,使得决策者可以方便地参与到决策过程中,从而保证系统的灵活性。文中提出的系统结构为交互层→智能决策层→资源层的3层体系结构。其中交互层由智能界面Agent和决策用户组成;智能决策层由以黑板、功能Agent和决策Agent组成;资源层由模型库及模型库管理系统、知识库及知识库管理系统、方法库及方法库管理系统及数据仓库和多库协同器组成。

2 多Agent智能决策支持系统中各Agent

2.1 智能界面Agent

系统可以通过智能界面Agent和决策者通信,通过学习用户的目标、爱好、习惯、经验、行为等,辅助用户更高效地完成任务。它强调Agent的自主性和学习性,主动的探测环境变化,能够通过不断地学习,获得用户地某些特征知识,从而可以在决策的过程中根据感知到的用户行为方式提供合适的用户界面,自主地做出与用户意志相符合的策略。在智能界面Agent的全局知识中主要包括:问题领域知识、用户模型或用户知识、自身知识、其他Agent能力的知识。其结构如图1所示。其可以用三元组描述:

其中A是智能界面Agent标识的集合;Ks是智能界面Agent的数据库和推理机制,包含了有关决策领域和决策者的知识,可以用来推测决策者的决策模式;Bout是Agent的行为,可以对其他Agent施加影响。

图1 智能界面Agent模型Fig.1 Model of the intelligent interface Agent

利用智能界面Agent不断与用户交互,学习用户的习惯、兴趣和偏好,根据与系统交互的情况,获取用户对系统的要求,形成用户所需的,反映用户个性的系统功能和界面显示,同时存储用户的功能和界面格式,待用户的功能和界面格式趋于稳定,记录下来形成用户模式,存入到用户模式表中,并会定期刷新、修改,当用户使用系统时,智能界面Agent就会感知用户的请求。用户模式是智能界面Agent代表用户或模仿用户实现用户的行为,并把行为的结果以适当的方式返回给用户,使用户满意。用户也可以随时干预智能界面Agent的活动,以满足用户的要求。用户模式一般用5元组表示:

UID——用户唯一标识,以区分不同的用户。

Time——用户模式的有效期。

TID——用户模式的任务号。

F——∑fi用户UID的TID在Time下的功能集,fi为某一功能或功能子集的标识。

D——∑di用户UID的TID在Time下的界面集,di为某一界面子集或界面格式的标识。

用户模式不是系统预选设定的,而是与用户不断交互,不断学习,逐步形成的具有用户知识和用户特性的模式。其接口可描述为:

用户进入系统

if not find UID //用户是新用户

new (TID); //智能界面Agent生成一个用户模式给新用户

else

read (TID); //智能界面Agent从用户模式库中提取当前用户的用户模式

end if

用户通过智能界面Agent与系统交互

while(not end) do //用户没有退出系统

if F changed //用户修改了模式

Update(F);

Update(D); //智能界面 Agent更新用户模式

else

execute(TID); //智能界面Agent按用户模式完成用户的任务

end if

2.2 功能Agent

功能Agent对黑板数据平面的变化进行监督,对各决策Agent的激活条件和黑板各平面信息进行匹配,将黑板上的信息发给相应的决策Agent。它内部有一个各决策Agent读黑板的激活条件表,当黑板各层信息变化时,则对与该层信息变化有关的激活条件表进行检查,如果匹配,则进行进一步分析,决定是直接激活相应的决策Agent读取黑板信息或者是做其它操作。其结构如图2所示。它的事件驱动规则有如下形式:

RULE<规则名>[(<参数>,…)]

WHEN<事件表达式>

IF<条件 1>THEN<动作 1>

……

IF<条件 i>THEN<动作i>

END-RULE[<规则名>]

<条件 i>(i=1,2,…,n)是某种逻辑中的任意的一个合法的逻辑公式。 <动作 i>(i=1,2,…,n)既可以是系统预先定义的一些标准动作,也可以是用户定义的一个动作,或者是用某种语言编写的一个程序。每个事件都有一个事件名标识,并有开始(发生)时间 B(e)、终止(发生)时间 E(e)和发生期D(e)等属性,其中e是一个事件名。

图2 功能Agent模型Fig.2 Model of the function Agent

2.3 决策Agent

把每一种决策方法设计为一个决策Agent,多个决策Agent在功能Agent的控制和监督下,通过相互间的协调和合作解决复杂决策问题。决策Agent可以描述为一个6元组:

其中A是Agent的标识的集合;St是Agent的内部状态;Ta是任务标识的集合,表示Agent的计划;Mt是Agent的消息传递机制;Ks是决策Agent的知识系统,包含了知识库以及推理机;Bout是决策Agent的行为,可以对其他Agent施加的影响。决策Agent没有关于外部环境的模型,没有关于其他Agent的知识,但仍然有与其他Agent交互的能力。其基本结构同功能Agent。其中,决策Agent在接收到信号/信息后,先对其进行过滤、抽象、聚合,使其形成可以与客观世界的对象联系起来的有意义的符号,然后将这些符号及特征与知识库中的知识块进行模糊匹配。如果能查找到高度匹配的知识块,相应的知识块被用来处理信息并产生决策,如果只能部分匹配,则将被匹配的部分知识作为符号,运用推理机制及知识库中的规则处理信息,并形成新的知识块;如果的确没有可用的知识块,则知识库中的规则被用来处理信息。知识库中的规则及知识块随着问题的处理不断被添加及更新。

3 多Agent智能决策支持系统中的黑板结构

在基于黑板的多Agent智能决策支持系统中,可以把各功能Agent和决策Agent的组合看作各个知识源,通过黑板进行交互。其中黑板是用来存储数据、传递信息和处理方法的综合数据库,是系统中的全局工作区。在该黑板结构中,对传统的黑板进行了改进,利用了黑板控制Agent。黑板控制Agent是整个系统的大脑,它直接控制着黑板并且间接地控制着系统中的其他Agent,它根据自身知识库和协作的原则把待处理问题分解成相应的子问题,并分配到黑板中相应的数据平面,对各数据平面进行统一管理,并且消除不同决策Agent间的冲突。黑板控制Agent能够根据用户需求,确定问题类型,利用知识库和模型库将问题分解,发送数据和控制信息,将子问题分配给合适的决策Agent,等着决策Agent发来的数据和结果写入黑板时,即对黑板上的各数据平面的内容进行改变时,消除不同决策Agent之间的冲突,协调各决策Agent,并将合成结果反馈给用户。其结构如图3所示。

图3 黑板控制Agent模型Fig.3 Model of the blackboard control Agent

黑板控制Agent有2个主要的子功能:问题分解和冲突消解,可以用一个8元组表示:

其中A是Agent的标识的集合;St是Agent的内部状态;E是Agent面临的外部环境,内部状态和外部环境构成Agent推理和行为的基础;Ka是关于其他Agent的知识,通常是(A×Ta)的部分函数;Ta是任务标识的集合,表示Agent的计划;这两个指标描述了黑板控制Agent如何分解决策问题。Mt是Agent的消息传递机制;Ks是黑板控制Agent的知识系统,包括任务分解方法以及不同Agent间的目标、意图和推理机制等的冲突消解;Bout是其对其他Agent施加的行为。

4 多Agent智能决策支持系统的决策步骤

基于黑板的多Agent智能决策支持系统进行决策的过程可以描述为问题的输入;决策问题的分解;通过多个决策Agent的协作进行问题求解;决策结果合成,形成整体解决方案这几个阶段。进一步细化如下:1)通过决策者和智能界面Agent之间的交互,输入有关决策问题的信息;2)在决策者的参与下,黑板控制Agent对问题进行整体分析,搜索知识库,案例库,把决策问题分解为若干子问题,并分配给相应的数据平面;3)功能Agent监督黑板各平面的信息,通过条件匹配和一系列控制策略激活相应的决策Agent;4)每个决策Agent运用自身知识完成自己的决策任务,得到子问题的结果,并且改变黑板上的假设;5)转至第3步继续进行推理决策,并且在黑板控制Agent的协调和控制下,完成多个决策Agent之间的协商和冲突消解;6)黑板控制Agent把各决策Agent的决策子结果合成,形成完整的决策方案。在决策过程中,决策者具有选择权,在任务的分解、决策结果的综合等方面参与到决策过程中,从而最终形成决策者满意的结果。

5 结 论

文中采用的基于黑板的多Agent智能决策支持系统模型中,Agent之间通过黑板进行信息共享,通过黑板控制Agent的协调机制共同完成复杂问题地求解。系统中关于知识的获取以及数据仓库的设计,多Agent之间的冲突消解算法及结果的合成在今后的实际应用中需要进一步学习和完善。

[1]毛海军,唐焕文.智能决策支持系统(IDSS)研究进展[J].小型微型计算机,2003,24(5):874-879.MAO Hai-jun,TANG Huan-wen.Developmentofthe research on intelligent decision support systems[J].Minimicro Systems,2003,24(5):874-879.

[2]Gottinger H W,Weimann P.Intelligent decision support system[J].Decision Support System,1992(8):317-332.

[3]Fetzer J H.Pepople are not computers:(most) thought processes are not computational procedures[J].Journal of Experimental&Theoretical Artifical Intellience,1998(10):371-391.

[4]向阳,沈洪.基于Agent的智能决策支持系统[J].计算机工程,2006,32(16):167-169.XIANG Yang,SHEN Hong.Intelligentdecision support system based on agent[J].Computer Engineering,2006,32(16):167-169.

[5]常艳,陈毛狗,袁捷,等.基于MAS的分布式群体决策支持系统框架体系结构的研究[J].计算机工程与应用,2003(18):100-102.CHANG Yan,CHEN Mao-gou,YUAN Jie,et al.Study on the architecture of MAS-based distributed group decision support system[J].Computer Engineering and Applications,2003(18):100-102.

[6]Toledo C B E,Bourne R A,Jennings N R.Reasoning about commitments and penalties for coordination between autonomous agents[C]//Conference of Workshop Item,2001.

猜你喜欢
决策支持系统知识库黑板
护理临床决策支持系统的理论基础
长在黑板上的诗
面向知识转化的临床决策支持系统关键技术研究
晓黑板
基于TRIZ与知识库的创新模型构建及在注塑机设计中的应用
临床决策支持系统应用于呼吸疾病的现状概述
黑板
电务维修决策支持系统研究
高速公路信息系统维护知识库的建立和应用
基于Drupal发布学者知识库关联数据的研究