基于遗传算法的电工学组卷程序的研究
2015-10-26吴根忠李剑清
吴根忠+李剑清
摘 要: 电工学是非电类工科学生的重要基础课程。由于手工命题出卷存在难度不一,试题分布不尽合理和出卷工作繁重等问题,开发了电工学组卷程序。组卷程序可以根据不同的教学内容选择试题范围、试题形式、题目分值和计算题的知识点,采用遗传算法从试题库中选择合适的试题,给出试卷和答卷。经试用后表明该组卷程序的界面简洁,操作简单,能满足课程的要求。
关键词: 组卷程序; 电工学; 遗传算法; 试题选择
中图分类号: TN710?34; TP301.6 文献标识码: A 文章编号: 1004?373X(2015)20?0078?03
Study on electrotechnics test?paper combination program based on genetic algorithm
WU Genzhong, LI Jianqing
(College of Information Engineering, Zhejiang University of Technology, Hangzhou 310023, China)
Abstract: Electrotechnics is an important basic course for non?electrical engineering students. To solve the problems of unequal difficulty, unreasonable distribution of test questions and heavy work by traditional manual test paper setting, an electrotechnics test?paper combination program was designed, which can choose the type and range of test, subject score and knowledge of questions according to different teaching contents. The test paper and answer sheet are selected from test database base on genetic algorithm to produce the test paper and answer sheet. The results show that the program has the advantages of concise interface and easy operation to meet the requirements of the course.
Keywords: test paper combination program; electrotechnics; genetic algorithm; item selection
0 引 言
电工学对于非电类工科学生,特别是机电一体化、机自、化自等专业的学生来说是一门非常重要的课程,电工学课程一般分为电工技术基础和电子技术基础两部分。课程考试模式的改革一直是高校教学改革的重点之一。传统的考试模式通常都是由任课教师轮流命题出卷,由于是人工出卷在试卷的难度、卷面的考题分布、题型分配和评分标准等各方面都会带来一定的主观随意性和不确定性,也难以真正实现考教分离[1?2]。组卷程序的开发是解决上述问题的有效方法之一,它不仅可以让教师从繁重的出卷工作中解脱出来,防止试卷的题目偏离教学大纲,试卷难易程度相差较大,题型变化多等问题的出现,同时也可以促使学生全面学习,提高学习的主动性,还有利于提高考试成绩的真实性和可比性。因此组卷程序的开发越来越受到各类高校的重视。
1 组卷系统要求
电工学组卷程序主要面向电工学这门课程。目前我校的电工学课程分为电工技术基础(1~7章)和电子技术基础(8~14章)两部分,分上下两个学期授课,总计104学时,采用的教材是顾伟驷老师主编的《现代电工学》(第2版)[3]。根据我校的实际教学情况,要求组卷程序能根据不同的教学内容生成相应的试卷,如果是第一学期的考卷,系统将从1~7章中选择题目生成试卷,如果是第二学期,系统将从8~14章中选择题目生成试卷[4]。
在设计组卷程序时,需要考虑的约束条件主要有:试卷难度、试卷总分、知识点的分布、各种题型比例、试题出现的频次以及考试时间等,教师可以根据这些参数,生成一份符合教学大纲要求的、科学的试卷。在题型上设置了填空题、选择题、判断题、简答题和计算题等5种类型[4],教师可以通过自动组卷界面选择相应的题型和对应数量。在分数设置上,每一种题型都可以设置相应的分数,在生成试卷时,每一题的分数随试题打印在试题上。在难易程度方面通过两方面加以保证:整份试卷有一个总体难度系数;每一个计算题又都单独设置了难度系数和知识点范围。通过这些选项可以保证试题的范围不会超纲,难度可控,保证了考卷的质量。
2 组卷系统功能
组卷系统主要有注册、登陆、添加试题、删除试题、查询试题、修改试题、试题查询、自动组卷、手工组卷和下载试题等功能,其功能简介如下:
(1) 注册:用户填写个人信息,如用户名、密码等;
(2) 登陆:可以根据已注册的用户名和密码登录到系统中;
(3) 试题导入:实现单个试题和批量试题的导入;
(4) 修改试题:对试题库中的试题内容和试题信息进行修改;
(5) 试题删除:把试题从数据库中删除;
(6) 试题查询:对试题库中试题内容和试题信息进行查看;
(7) 自动组卷:用户在界面上设置相应的参数,如难度、章节、题型等,组卷程序根据用户的输入需求,通过一定的算法从数据库中查找出符合要求的题目,并把这些题目组成一份试卷;
(8) 手工组卷:用户在试题库中手动选择试题,最后生成试卷;
(9) 下载试题和答案:用户可以将生成的试卷和答案进行下载。
3 数据库
根据上述组卷程序的约束条件和功能,在数据库中需要对用户信息、试题信息和试题答案等设置相应的数据库表。下面列出组卷程序中用到的数据库表及结构。
(1) 教师信息表。教师信息表有4个字段,分别表示教师编号、教师用户名、密码和权限。教师信息表字段展示如表1所示。
表1 教师信息字段表展示
(2) 试题信息表。试题信息表共有9个字段,分别表示题目编号、题目类型、所属单元、单元内编号、难度、被抽中次数、题目文本篇幅、答案文本篇幅和题目分数。题目信息表的字段展示如表2所示。
表2 题目信息表字段展示
(3) 试题答案表。试题答案表由3个字段组成,分别为试题编号、试题内容和答案内容。试题答案表字段展示如表3所示。
表3 试题答案表字段展示
4 组卷参数属性
在组卷过程中,需要根据用户输入的组卷条件即各种试卷参数,将这些信息传到后台,经过一系列的计算,再由系统选择出符合组卷要求的试卷并将其以Word文档输出。一份试卷的质量好坏,主要体现在试卷的题型、难度、重复率、知识点的覆盖面等几方面。其中难度又分为试卷的总体难度以及每一道试题的难度。一份试卷是由各种题目组成的,试卷的质量是根据试题的属性来综合决定的。
(1) 试题属性。对于一道试题一般有如下的属性:章节、难度、分值、要求、题型等。本系统涉及到的试题的属性如表4所示。
表4 有关组卷的试题属性
(2) 试卷属性。组卷的试卷属性包括:试卷编号、难度分布、覆盖度和被抽中次数。本系统涉及组卷的试卷属性如表5所示。
表5 有关组卷的试卷属性
5 遗传算法
组卷程序的质量也取决于其算法。目前组卷程序中常用算法有:遗传算法、模拟退火遗传算法、定性映射方法、智能补偿法、随机抽取法、回溯试探法等[5],各种方法各有其优缺点,本组卷程序中采用了遗传算法。遗传算法的操作步骤为根据相应条件编码、随机产生一个初始种群、构建适应度函数、对这个初始种群迭代执行选择、交叉、变异等操作产生下一代种群,最终获得最优解和解码。算法的过程如图1所示。
图1 遗传算法基本运算流程图
下面对遗传算法中的适应度函数设计和选择算子的方法进行说明。
(1) 适应度函数的设计。适应度函数对遗传算法的收敛速度以及能否找到最优解有直接的影响,同时遗传算法的复杂度主要由适应度函数的复杂程度决定。考虑到组卷程序的实际情况,适应度函数应尽可能简单。本系统采用的适应度函数与问题的目标函数一致,即:
[f=WV×V+WB×B+WI×I =WV×i=1n1cim-Ei+WB×i=1n2dim-Pi +WI×i=1n3eim-Ki] (1)
式中:WV为覆盖度的权重;m为试题总量;n1为试卷章节数,Ci为试卷中第i章节的题量;Ei为命题人要求的第i的覆盖度。WB为曝光度的权重;n2为年份数;di为试卷中第i年的题量;Pi为命题人要求的第i年的曝光度。WI为难度分布的权重;n3为难度等级级数;ei为试卷中难度为i的试题量;Ki为命题人要求的该难度等级的试题量。
(2) 选择算子。在遗传算法中需要按照一定的选择概率对种群进行复制,一般情况下选择适应度较好的个体生成下一代。为保证种群的多样性,适应度较差的个体也可能被选中,本系统中选择算子采用轮盘赌算法。个体的相对适应度计算公式为:
[Qi=Max(f)fii=1sizeMax(f)fi] (2)
式中:size为种群大小;f为个体适应度;Qi为相对适应度。
在进行选择时,生成一个[0,1]的随机数r,若P1+P2+…+Pi-1 6 组卷程序界面 根据上述的要求和算法,最后得到的组卷程序的界面见图2,图3。用户在图2所示的自动组卷界面中选择难度、题型和分值后点击“开始组卷”,就能实现自动组卷。 图2 自动组卷界面 图3 知识点展开界面 在图2界面的左下角点击“电工学1”右侧的“展开”或“电工学2”右侧的“展开”,可以进一步得到如图3所示的知识点展开界面,对试卷范围进行更具体的选择。 7 结 语 通过多次的试验和修改,该组卷系统实现了预定的功能,通过该组卷程序自动生成试卷能选择试题的题型和分值,还能指定在某个章节中安排计算题,使得试卷能更大程度地符合出卷教师的意愿。 参考文献 [1] 杨青.基于遗传算法的试题库自动组卷问题的研究[J].济南大学学报:自然科学版,2004,18(3):228?231. [2] 袁东华.高校试题库、试卷库建设问题的思考[J].黑龙江教育,2013(4):77?78. [3] 顾伟驷.现代电工学[M].2版.北京:科学出版社,2009. [4] 吴根忠,李剑清.“电工学”教学改革探索与实践[J].中国电力教育,2012(13):51?52. [5] 黄英.试题库系统中随机抽题算法的设计与实现[J].现代计算机,2010(3):198?200. [6] 尹贵祥.通用试题库系统的设计[J].现代电子技术,2011,34(2):50?52. [7] 郑刚.基于遗传算法的组卷系统的设计[J].计算机光盘软件与应用,2012(5):192?193.