基于多智能代理的试题库设计与实现
2021-05-29谢印宝
谢印宝
摘 要:针对传统试题库资源容易枯竭和命题效率低下的问题,结合操作系统课程的考核大纲,提出了基于多智能代理试题库的设计思想和利用可视化开发工具Visual FoxPro 9.0的实现方法。首先建立操作系统基本概念和算法的数学模型,然后定义并编写模型的Agent函数,从而实现自动生成试题及答案与评分标准的功能。通过引入动态难度系数和相似度,实现了难度、题型和算法相似的一试多卷或一人一卷的命题考试,有效地避免了考试作弊现象。数据库设计采用经典的企业建模工具PowerDesigner。实验结果表明,其在考试命题中具有方便、快速、长效、实用、一试多卷的特点。通过学生考试成绩统计分析,总分标准差为2.97,体现了考试的公平性。
关键词:多Agent;试题库;操作系统课程;智能计算机辅助教学;管理信息系统
中图分类号:TP391.6 文献标识码:A
Design and Implementation of Test Question Bank based on Multi-agent Technology
XIE Yinbao
(School of Computer Science and Technology, Shandong University of Technology, Zibo 255049, China)
xieyinbao@163.com
Abstract: This paper proposes to design a test question bank based on multi-agent technology and then implement it by using visual development tool Visual FoxPro 9. The proposed bank is designed by combing assessment syllabus of the operating system course, and aims to solve problems of traditional test question bank, such as easily-exhausted questions, low-efficient proposition. First, mathematical model of the basic concepts and algorithms of the operating system is established, and then Agent function of the model is defined and written, so as to automatically generate test questions, answers and scoring standards. Dynamic difficulty coefficient and similarity are introduced to realize a multi-paper or one-person-one-volume proposition test with similar difficulty, question type and algorithm, effectively avoiding exam cheating. Classic enterprise modeling tool PowerDesigner is used for database design. The experimental results show that in proposition, the proposed test question bank is convenient, fast, long-term, practical, and has the characteristics of multiple papers in one test. Through statistical analysis of students' test scores, the standard deviation of the total score is 2.97, which reflects fairness of the test.
Keywords: multi-agent; test question bank; operating system course; intelligent computer-assisted teaching; management
information system
1 引言(Introduction)
試题库命题已经成为计算机辅助教学的重要组成部分,命题的质量和考试效果取决于试题库中试题的数量、题型、难度和分类方法等因素[1]。国内外许多高校都已研发或购买了相关课程的试题库,但是由于专业课程和教学大纲的差异,在实际应用中存在三个问题:第一,题库资源枯竭,即题库中试题数量有限,随着时间推移,试题重复率越来越高,加上维护成本高,有的甚至被放弃[2]。第二,命题过程烦琐。第三,无难度系数相同、相似度高的一试多卷或一人一卷的多智能体(Multi-Agent, MA)命题模式。另一方面,从2009年起,计算机科学与技术学科实行计算机学科专业基础综合课全国硕士研究生入学统一考试,操作系统知识约占23%,重要性毋庸置疑。其考核越来越侧重基础知识应用能力的考查,主要分为两类题型:单项选择题和综合应用题。为此,本文针对计算机科学与技术专业的核心课程之一——操作系统进行设计并实现了基于MA的操作系统试题库,简称OS-Agent(Operating System-Agent)。从2013年使用OS-Agent进行一试多卷或一人一卷命题考试,并不断地进行完善,涉及60多个教学班近1,000 套试题,教学效果优良,同时对其他相似课程的试题库建设具有一定的借鉴作用。
2 OS-Agent系统设计(OS-Agent system design)
2.1 体系结构
OS-Agent主要由n个模型命题Agent和组卷输出Agent构成。模型命题Agent命名为M_Agent_i (i=1,…,n),如图1所示。
OS-Agent属于MA系统(MAS),与单Agent相比,MAS具有更显著的自制性和协作性特点,可以更好地满足命题多样化的需求[3-5]。组卷输出Agent主要根据试卷参数和历史数据,从模型命题Agent已经产生的试题数据库中进行自主性组卷并输出,如根据总分要求确定试题的数量,变化试题顺序,自主设置试卷页面、试卷信息等,最后完成试卷打印的功能。
2.2 数学模型
OS-Agent命题模型定义为如下五元式[6]:
定义1 (Variables)是所有参变量组成的集合,称为参变量集。
定义2 是自变量组成的集合,且,称为自变量集。
定义3 是因变量组成的集合,且,称为因变量集。
定义4 (Algorithm)是算法组成的集合,,,x通过算法f计算或确定y,记为,称为算法集。
定义5 (Domain)是可取值的范围或集合,称为域值。
建立数学模型的算法如下:
Step 1 依据课程教学考试大纲,确定模型;
Step 2 确定和;
Step 3 通过随机函数选定;
Step 4 根据Step 3选定的确定和,满足;
Step 5 通过随机函数给赋值并由求出值;
Step 6 如果是选择题,由随机函数产生在A、B、C、D中的位置;
Step 7 统一命名M_Agent_i(i=1,…,n)。
2.3 实例
依据计算机学科专业基础综合课全国硕士研究生入学统一考试中关于操作系统的考核大纲,根据文献[7]—文献[10],目前归纳基本概念模型30个,如操作系统设计目标模型、功能模型和特征模型等,主要用于概念完形填空题命题,随机考核一个属性;单个重点知识点模型10个,如存储器分配模型、地址变换模型、有效访问时间模型、缓冲管理模型和磁盘传输时间模型等,主要用于选择题命题;综合知识点模型6 个,如进程同步模型、三级调度模型、避免死锁模型、页面置换模型、磁盘管理模型和文件物理结构模型,主要用于综合题命题。当然,模型可以根据考试大纲动态地增加或减少,特别是添加、修改、删除和检索基本概念模型可以通过对数据表的操作完成。
编写模型的Agent函数,统一命名格式为M_Agent_i,如页面置换模型对应的函数名为M_Agent_44,即当进行Agent命题时,调用函数M_Agent_44( )就能根据用户确认的命题信息自动完成该模型生成试题、自动求解过程,同时将试题及答案与评分标准保存到OS-Agent相关数据库中。在OS-Agent中,每个函数都是一个Agent个体,具有自主性和高度智能化,因此Agent命题亦称为智能命题,详见用户界面设计。
实例1 若為有效访问时间模型,问题和模型描述如下:
一个具有快表的分页系统中,一次访问内存(Access Memory)的时间是100 ns,访问快表的时间是20 ns,设从快表中能找到所需页表项(页描述子)的概率(Hit Ratio)为80%,计算CPU存取一个数据时的有效访问时间(Effective Access Time)[8]。
其中,表示一次访问内存的时间,表示访问快表的时间,表示从快表中能找到所需页表项(页描述子)的概率,表示CPU存取一个数据时的有效访问时间。
其中,分别定义为:
,,
针对以上问题,确定,,即,,,。
实例2 OS-Agent调用页面置换模型函数M_Agent_44( ),显示的试题如图2所示。
针对图2中的问题,其模型描述如下:
其中,表示进程P分配的物理块个数,表示预先装入主存的页面个数,依次表示预先装入主存的页面且,表示页面访问串的长度,依次表示页面访问串中的页面且,表示缺页中断次数,表示页面置换次数,表示依次被置换的页面且。
其中,分别定义为、、三种需要重点掌握的页面置换算法。
函数M_Agent_44( )自动求解并给出答案与评分标准,如图3所示。
2.4 数据库设计
OS-Agent数据库设计首先要充分体现Agent的智能化特征,同时考虑系统的通用性和数据库的优化[11-14]。根据PowerDesigner的概念数据模型建立数据库OS_AgentD.dbc,共创建六个数据表:存储难度系数、相似度、考核性质等选项的临时表agent_temp.dbf;命题教师表agent_teacher.dbf、授课班级表agent_class.dbf、学期表agent_term.dbf;存储
M_Agent_i( )命题及答案与评分标准数据表agent_test.dbf,如表1所示;存储基本概念模型的数据表OSBC_cloze.dbf[6]。限于篇幅,只给出了主要数据表的结构,Fields Name命名原则是便于在循环结构中使用。
3 关键技术和实现方法(The key technology and implementation method)