一种层次黑板模型的多Agent 学习系统的研究
2021-08-18顾明
顾明
(阜新高等专科学校,辽宁阜新,123000)
0 引言
随着分布式人工智能(DAI)技术研究的深入,多Agent(Multi-agentSystem,MAS)技术得以快速发展完善,该技术主要针对分布式开放动态的环境,对一组自治的Agent 在完成复杂的控制或分解任务时所采取的行为,包括交互、合作、竞争、协商等行为。但在多Agent 系统中的交互、计算与合作过程中,极易改变Agent 的角色及相对重要性,并且在不同阶段,应用系统中Agent 的离开和加入基本不受限制,使系统的稳定性会随着系统规模的增大而减小,因此开发相应多Agent 应用系统时需重点确保其稳定性。
1 设计原理
在分布式人工智能中,可通过运用具有层次性、内在并行性等优势的黑板模型结构(BBA)使多个计算实体的协作问题得以有效解决,作为平行信息共享数据结构的一种,黑板模型实现了多信息源间的共享和交互。由于在控制器的作用下需串行执行知识源,因此需弥补传统的黑板模型在实现环境(以串行硬件环境为主)方面存在的不足,主要由“黑板”、知识源(含有领域知识且自驱动)和控制机构组成,黑板上的状态信息由各知识源监视,并适时地决定对黑板的操作行为。在设计与实现网络学习系统时,针对分布式开放动态的网络环境,可通过应用多Agent(MAS)系统使学习系统整体的协作化和智能化水平得到显著提高,在MAS 中具有一定社会性的各个Agent 之间能够相互通信,由于在多Agent 系统中实施这些行为时,Agent 会不断加入加入或离开,可能使Agent 的角色和重要程度发生较大的变化。因此在应用多Agent 构建学习系统时,为确保系统高效稳定的运行,文中结合运用了黑板模型,在模型中集成了异构知识源,借助模型中的协作机制,从而使系统的协作服务质量及智能化水平得到显著提高。多个实体在不同物理环境下分布时,可通过黑板模型协作完成具体任务,形成一个专家系统结构模式,进一步提高多Agent 学习系统的智能化水平[1]。
2 多Agent 智能学习系统设计
2.1 系统设计
该学习系统模型可划分为3 层:(1)界面层,主要负责为用户提供一个简洁美观的系统访问和操作界面。(2)服务管理层,该层主要由Jadex 接口、负责与客户端界面通信的Web服务器、负责管理多个Agent 间的协作的Agent 协作管理区构成,web 服务器主要,并且把客户端请求转发给JadexWeb接口,多Agent 平台即Jadex 系统根据接收到JadexWeb 转发的用户请求执行相应功能。(3)资源层,主要负责对学生库、资源库等资源进行存储[2]。系统模型如图1 所示。
图1 学习系统模型
2.2 通信技术及通信策略
本文系统中的普通任务节点间的通信采用黑板方式完成,无需Agent 间有较深的了解,由控制节点负责对黑板中的信息频繁的进行收集,并据此完成相应任务Agent 的调度与执行。信息在控制节点间的交互是系统实现有效通信过程的基础和关键,直接采用消息进行通信,可在使系统的实时性需求得到有效满足的同时,提升应对紧急情况的能力。采用统一的信息交互格式,以确保多Agent 间信息交互的实现,本文采用的黑板的消息格式由报文标识(代表讨论区中消息的序列号)、源agent 标识、目的agent 标识、许可权、生命周期、报文或消息、消息优先级(确定控制器收集消息的顺序)、消息是否已读构成,许可权包括只读权限和删除权限。
2.3 Agent 动作的协调
黑板协调Agent 的作用机理如图2 所示,通过黑板模型对Agent 进行控制时,能以用户需求为依据完成问题类型的确定,再对问题采用知识库和模型库进行分解,据此将相应的决策Agent 分配给子问题,发送数据和控制信息,当黑板中写入来自决策Agent 的信息与结果时,即改变黑板上的各数据内容,对各决策Agent 进行协调,包括消除不同Agent 间的冲突,向用户反馈最终的合成结果。
图2 黑板协调Agent 的作用机理
3 智能学习系统的实现
3.1 主要Agent 模型的定义
JADE 软件开发框架基于Java 语言编程实现,采用JADE对多Agent 学习系统及应用程序进行开发,并符合FlPA 规范,JADE 包含较多的Java 包,提供多种现成功能及抽象界面,可供应用系统程序员使用。学习系统中的多Agent 间相互协作,针对同一课题的内容,由系统中具有相近的学习目标的Agent 对其进行学习,对于在学习过程中学生遇到的问题,通过教师Agent 答疑、交流、讨论等方式解决[3]。
3.2 并发控制的实现
考虑到存在较多的多Agent 并发执行时,可能出现不可预测的引用同一黑板数据的情况,本文系统采用锁机制实现并发控制过程,包括读锁和写锁,在某一知识源将写锁加入到黑板的某数据项的情况下,只有该加锁的Agent 可操作该数据项,其它Agent 则不具有读写该数据项的操作权限。若某一Agent 在某数据项上加了读锁,此时其它Agent 只能读取该数据项,但不具备写操作的权限。Agent 需先获得一个适当的锁,才能对一个数据项时进行操作;某个锁被其它Agent占有时,某一Agent 试图获得锁的执行将会被挂起,直至这个锁被释放,而某Agent 的锁直到执行结束后才会被释放[4]。本文采用了一种死锁预防法,具体通过利用Agent 的优先权实现,一个Agent 比另一个Agent 优先权高时才能等待另一个Agent 释放锁。为解决低优先权的Agent 存在的不停被启动或终止的问题,针对Agent 开始执行的时间,采用了时间邮戳的改进方法,一个Agent 比另一个Agent 时间邮戳小时允许等待另一个Agent 释放锁,越往后执行的Agent 的时间邮戳越小,重新启动某一被终止执行的Agent 时仍保持原来的时间邮戳,从而确保每个Agent 均能够得到锁,进而使学生的协作学习质量和效率得到有效提升。
4 结束语
本文主要完成了一种学习系统的设计,具体通过结合运用黑板模型和多Agent 技术实现了一种智能协作学习系统设计方案的构建,有效提高了学习系统的服务质量以及学生在协作学习过程中的学习效率和积极性,实现智能协作学习功能。