时间:2022-10-09 07:25:26
摘要:针对远程教育中学习者寻找帮助者过程中存在的问题,该文通过引入Agent技术,提出了一套基于Multi-agent的互助学习系统模型,并设计和实现了该互助学习系统。
关键词:多Agent;互助学习系统;黑板机制;远程教育
中图分类号:TP391文献标识码:A文章编号:1009-3044(2008)25-1441-02
An Implementation of Mutually-helping System Based on Multi-agent
LI Fa1, WU Fei2, XU Lin-jun1
(1.Department of Computer Science and Technology, Tongji University, Shanghai 201804, China; 2.Shanghai Distance Education Group, Shanghai 200433, China)
Abstract: In order to solve the problem in course of seeking for helpers on a distance education platform, the paper puts forward a model of mutually-helping system based on Multi-agent by introducing the agent technology. At last, we design and implement the mutually-helping system.
Key words: Multi-agent; mutually-helping systems; blackboard mechanism; distance education
在远程教育平台中,学习者学习中遇到问题时,传统的方法是通过设定帮助者的条件,通过手工搜索来寻找帮助者,这种方法不仅效率低,同时也缺乏智能性。本文借助Agent技术,提出了一套基于Multi-agent(多Agent)的互助学习系统模型。该系统通过利用Agent具有自治性、主动性和智能性的特点,增强了远程教育平台的智能性,提高了学习者的学习效率,为学习者的学习带来了极大的方便。
1 多Agent技术和Jadex平台简介
Agent(主体)是指驻留在某一环境下能够自主(autonomous)、灵活(flexible)地执行动作以满足设计目标的行为实体[1]。多Agent系统(MAS)是由多个Agent个体构成的系统,一般这些系统通过网络基础设施交换信息实现交互和协调,形成一定的社会群体和组织机构,并表现出个体Agent不具有的社会性。由于Agent个体的相对独立性,MAS是一个松散耦合的Agent群体。通过Agent交互协调形成的MAS整体,其总体的问题求解能力大于各个Agent个体所具有的问题求解能力的简单相加[2]。
Jadex[3,4] 系统是一个多Agent应用程序的集成开发平台, 建立在Jade平台的基础上,它将BDI(Belief,Desire, Intention)模型的概念引入到Jade系统的Agent中,为Agent赋予信念、愿望和意图。在Jadex系统的Agent中,Agent包含一组信念(Beliefs),信念存储于信念库中,它是Agent所拥有的当前环境状态的信息;一个目标集(Goals)表示想要实现的目标(例如要达到的状态),目标能影响Agent的行为;一个规划库(Plans)用来实现Agent的目标。
2 互助学习系统模型体系结构
互助学习系统模型的体系结构如图1所示。
系统模型共分为三层:用户界面层,服务器层和数据资源层。
1)用户界面层。主要给用户提供一个使用互助学习系统的界面,用户通过用户访问界面来访问系统提供的服务。
2)服务器层。这一层中主要包括三个模块:Web服务器、Agent协作管理区和Jadex Web接口。Web服务器负责与客户端界面的通信,并把客户端请求转发给Jadex Web接口,Jadex Web接口再把请求转发给多Agent平台(这里为Jadex系统),由多Agent平台来完成相应功能。Agent协作管理区负责管理Jadex平台上多个Agent之间的协作。
3)数据资源层。该层主要用来存储数据资源,包括学习者库、学习资源库、协作知识库和留待扩展的其它一些库。其中协作知识库是用来指导Agent间的协作的。
3 互助学习系统模型设计和实现
3.1 Agent模型定义
互助学习系统模型中包含了三种智能Agent :
1)学习者Agent。每个学习者对应一个学习者Agent,用来记录学习者的基本信息、学习状态和兴趣爱好。学生通过与学习者Agent交互,完成在线智能学习、问题答疑、在线讨论以及在线合作等学习活动。当学生要进行某种学习活动就触发学习者Agent中相应的规划执行。
2)管理Agent。用来指导和管理学习者的学习活动,如学习者的提问和其他学习者对问题的解答等。
3)资源Agent。负责在学习者学习或教师辅导过程中,智能地为学习者和教师搜索并推荐合适的学习材料、参考资料等。
在三种类型Agent中,管理Agent是整个系统的核心,负责其它各个Agent之间的组织和协调。因此,本文将对管理Agent的设计和实现进行重点介绍。考虑到系统今后的可扩展性,我们采用黑板机制来对管理Agent进行实现。
3.2 黑板的设计
在黑板通信方式中,参与通信的一组主体共享一个公共的区域(如一个共享存储区)。这些主体都可以对该区域进行访问,包括向该区域写入信息或者从该区域读取信息[1]。例如,在分布式系统中,系统开辟了一个公共的存储区域供多个主体访问,这些主体可以通过向该区域写入和读取信息,从而实现信息的交流。
在本系统中,黑板分成了两个区域:问题区和匹配区。问题区用来接收学习者提出的问题,匹配区用于实现问题与帮助者的匹配,并把匹配结果按匹配度的大小从大到小排序后,返回给提问者。其中,问题区的实现较为简单,下面将详细介绍匹配区的实现。
3.3 匹配区的实现
匹配区在问题有效期内接收有能力帮助的学习者Agent返回的信息,并把这些帮助者信息添加到相应问题的帮助者列表中。当到达问题有效期时,匹配区按匹配度的大小对帮助者按从大到小进行排序,最后推荐给提问者。
匹配区实现为匹配项(MatchAreaItem)的集合,其结构描述如下:
MatchArea = Set of MatchAreaItem
MatchAreaItem = (Question, HelperInfoBeanList)
HelperInfoBeanList = List of HelperInfoBean
HelperInfoBean = (StuId, StuName, Rank, OnlineState, MatchDegree)
其中StuId, StuName, Rank, OnlineState, MatchDegree分别为学习者的学号、姓名、等级、在线状态和匹配度。
匹配区的实现算法可描述如下:
public class BlackboardAgent extends Agent{
//问题区
……
//匹配区
BlackboardAgent循环接收消息msg;
if ( msg!=null && msg.getPerformative( )= = ACLMessage.CONFIRM)
{//消息不为空并且为确认消息
取出msg中的问题Question和帮助者信息;
if(该问题在回答有效期内 && 执行状态为OPEN)
{if(匹配区中存在问题Question){把帮助者信息添加到问题Question的帮助者信息列表HelperInfoBeanList中;}else{新建一个帮助者信息列表HelperInfoBeanList,把帮助者信息添加到帮助者列表中;把该问题和帮助者信息列表添加到匹配区中;}}else if(问题已过期 && 问题的帮助者信息列表大小不为0){对该问题的帮助者列表按匹配度从大到小进行排序后,返回该帮助者列表给提问者;该问题的执行状态置为DONE,并从问题区中移除;}
else if(问题已过期 && 问题的帮助者信息列表大小为0)
{将该问题的执行状态置为FAILED,返回未找到合适帮助者信息;}}
else
{block( );//阻塞}
4 总结和展望
本文针对远程教育中学习者寻找帮助者过程中存在的问题,提出了一套基于Multi-agent的互助学习系统模型,并对其中黑板机制的设计和实现进行了详细介绍。该系统增强了远程教育平台的智能性,提高了学习者的学习效率,在远程教育平台中有很大的应用价值。进一步的工作将集中在对黑板模型的完善和相关参数如问题有效期等的调整上。
参考文献:
[1] 毛新军.面向主体的软件开发[M].北京:清华大学出版社,2005.
[2] 徐颖丽,刘志.基于Jadex的虚拟课堂实现[J].计算机工程与应用,2006,3:67.
[3] Jadex-The BDI extension for JADE[R/OL]. [2008-04-10].Http:///prjects/jadex.
[4] Alexander Pokahr, Lars Braubac. The Jadex user guide, Release 0.96[CP/OL]. vsis-www.informatik.uni-hamburg.de/projects/jadex,15.June 2007.