遗传算法在计算机考试系统中的应用研究
2018-06-25张晓峰
摘 要:现如今,计算机考试系统已经取代了传统的纸质试卷方式,大幅度减少了监考教师的工作量。应当注意到遗传算法在其中也起到了非常重要的作用。文章简单描述了什么是遗传算法,然后结合实例详细阐述了遗传算法在计算机考试系统的应用方法。
关键词:遗传算法;计算机;考试系统
遗传算法的整体搜索策略、优化搜索方法在计算时可以不借助梯度信息以及其他辅助知识,只需要借助可影响搜索方向的目标函数、适应度函数。也就是说遗传算法提供了一种实用、高效地复杂系统问题解决框架。也正因为如此,遗传算法的应用领域非常广泛。其中计算机考试系统便是其中之一。近年来,随着IT行业的发展,基于遗传算法的计算机考试系统研究也越来越成熟[1]。
1 遗传算法概述
遗传算法是模拟达尔文生物进化论中的自然选择、生物进化过程的一种过程搜索最优解方法。这种算法是1975年美国Holland教授提出的。具有可以直接操作结构对象、无连续求导限制、全局寻最优解、内在隐并行性的特点。在实际应用中,遗传算法可采用概率化方法,自动化获取、搜获、调整得到最优解。正是因为这些特点,遗传算法被广泛应用在信号处理、机器学习等方面。尤其是在计算机考试系统设计方面,遗传算法作为其中关键技术之一,起到了非常重要的作用[2]。
2 基于遗传算法的计算机考试系统设计
2.1系统框架
计算机考试系统主要包括3个部分:(l)服务器端。服务器端又可分为3个模块,即教师信息管理模块,在这个模块中可以进行教师信息的增、删、改、查;考试成绩回收模块。其主要功能就是从学生客户端回收评分成绩;数学备份模块,主要是对系统中的数据库数据进行备份,一旦发生意外情况,可自动恢复。(2)教师客户端。其中包括考试信息管理模块、学生信息管理模块、试题维护模块、考试状态管理模块4个部分。其中考试信息管理模块主要提供设置考试班级、日期、市场以及试卷组建、分配功能;学生信息管理模块主要就是对学生信息进行增、改、删、查;试题维护模块主要是指对试题的增、删、改、查;考试状态管理是指实现对学生参加考试、正在考试、未参加考试3种状态的管理,这一模块能有效帮助教师实现对学生的实时监控。(3)學生客户端。该部分包括试题下载、自动评分两个模块。在试题下载模块中,学生完成登录后,就可通过该模块将试题下载到本地。当学生完成答卷之后,单击“交卷”,系统就会对学生试卷自动阅卷,评分并将其最终结果传送到服务器端。另外,如果考试时间为零,系统也会进行自动阅卷、评分,并发送到服务器[3]。
2.2遗传算法应用原理
在计算机考试系统中包含多套考试题,在考试过程中系统可依照成套标准灵活选择试题。但以往的组卷方法灵活度不足,无法有效控制试题选取。因而,为了进一步提高试题的灵活性,实现重新组卷,可采用遗传算法。这样便能模拟自然遗传规律,搜索最优解。其主要应用步骤包括:应用遗传算法理论进行组卷问题分析;先定义染色体,实现试题编码;而后初始化种群,并对种群进行遗传算法操作;经过选择、交叉、变异,搜索到最优解后算法停止。其中交叉操作是指对于不同的染色体利用某种方式使其部分基因交换,这样就可以形成一个新的染色体。常见的交叉方法包括单点交叉、多点交叉、均匀交叉。选择操作是指在完成某个染色体个体的适应度函数值计算后,采用轮盘赌选择机制进行选择;变异操作是指用其他字符代替某个染色体编码串的部分基因,对于计算机算法来说,其变异方式包括二进制编码染色体变异、浮点编码染色体变异。可以说遗传算法应用组卷,既能保证高效的组卷速度,也能保证试卷质量。但需要注意的是传统的遗传算法容易出现过早收敛的问题。随后,随着遗传算法研究的深入,多种能够弥补过早收敛问题的遗传算法走进了人们的视野。如单亲遗传算法、基于概率和自适应遗传算法、采用功能结构改进遗传算法等。
2.3遗传算法应用实践分析
本文主要针对一种改进的遗传算法进行了分析。其主要应用步骤如下[4-5]。
2.3.1编码
以往传统的遗传算法编码算法主要是应用二进制编码方式。这种编码方式能科学地、迅速地表达出多变量优化问题。但二进制编码的编码长度较长、搜索空间较大,其搜索效率较低。本文提出了一种基于实数矩阵的编码方式,既能有效减少个体编码时间,也能提高求解速度,从而尽可能快地完成最优试卷的求解。其基本思想是:先将试题库中的每个试题作为分析对象,而后对其进行独立的实数编码。如果试题具有Ⅳ_个属性值,那么其特征向量则应为N+l维,维与组卷参数一一对应。比如难度、题型等。其中的主要映射方式是:试卷与矩阵染色体对应,试题与矩阵向量对应,试题属性就是染色体基因位。
2.3.2适应度设计
适应度在遗传算法中起到了非常重要的作用。通过适应度参数能够定量地分析种群个体在遗传计算中能够达到的最优解。这样就能够进行多种遗传算法操作,并且还能够有效控制算法终止条件。也就是说适应度对遗传算法的收敛有着非常大的影响。在设计适应度函数时,由于其函数定义域无条件限制,因而采用将定义域限制为不同的集合。在选择使用度函数时,应保证函数的区别性,从而保证即便是输入不同,在计算后也能够保证输出的可区分,最终提高搜索效率。
针对组卷问题,在设计适应度函数时可应用一种基于线性尺度变换的适应度函数。其主要操作方法是目标属性赋权值、组合目标函数、计算整体适应值。为了保证种群的多样性,可以将指数比例变换方法应用到适应度设计中,如采用F=exp (-af),作为目标函数。
2.3.3种群初始化
种群初始化的关键在于起点选择。以往的遗传算法采用的随机方式进行种群初始化。虽然这样能提高种群的多样性,但是若将其应用在组卷中,则达不到良好的组卷效果。为此,在种群初始化时应加以改进、优化。如可以采用这样一种种群初始化方法:依据知识点、题型对试卷的约束,综合分析系统参数,最终得到最优试卷种群。
2.3.4改进遗传算子
之所以进行遗传算子改进是为了保证算法更加科学,满足组卷要求。结合传统的基础选择、变异、杂交算子,对传统选择算子可以采用基于适应值排序的选择方法,以降低比例变换参数对算子的影响;对传统杂交算子,可采用分段多点杂交方法,避免杂交子代的冲突;对传统变异算子,可采用分段多点变异方法,以保证在题型、知识点的情况下,进行新旧试卷更换。
2.3.5算法实现
首先,在算法过程中。试题数据库选择SQL Server2000,同时采用MATLAB2010进行算法编码。其试题的基本参数主要包括题型、难度、曝光度、区分度、知识点。其中题型包括选择、填空、判断、计算、简单共5个。难度包括较难、难、中、易、较易5个。曝光度分为9种。区分度也分为9种。知识点共100个。在应用遗传算法时,对于参数设置可将其进化代数设置为1 000,种群规模分为10,20,50 3种。其算法流程主要包括:開始、染色体编码、种群初始化生产、依据适应度排序。而后如果满足停止条件,则进行试卷编排、输出,最终结束。如果不满足停止条件,则要进行遗传选择操作,杂交操作,变异操作,并返回到适应度排序操作,继续循环下去,直至满足停止条件,进行试卷编排、输出后,结束算法。通过应用结果能够看出采用这种算法能够有效提高种群群体平均适应值的收敛速度,且能够保证基本上都可以达到最优值。最重要的是能保证指标误差小于1%。如果种群规模不同,其遗传进化速度也会有所不同。也就是如果迭代代数增加,则种群规模变大,进化速率提升。 总的来说,应用上述算法具有3个方面的优势:(l)能够降低算法过程冲突。比如在种群初始化阶段,可根据实际需求灵活设置;其基因变异、染色体杂交算子基本是同题型、通知识点变异,在变异操作时能避免数据库冲突。(2)试题编码方式有助于系统试题属性扩展。(3)分段杂交算子能保证系统数据知识点的稳定,减少题库中存在试题编号的问题。
3 计算考试系统设计
3.1需求分析
首先,在用户需求方面,结合实际分析能够发现基于遗传算法的计算机考试系统应满足一下几个要求:操作灵活、安全稳定、高效。其次,在功能需求方面,其计算机考试系统应包括题库管理、组卷、统计分析、教师和学生管理[6]。
3.2系统结构
之前已经提到了系统的三大客户端及其每个客户端下属的功能模块。为此,在系统结构设计中应保证每个功能模块都能够实现。该系统结构主要是采用B/S结构模式,对用户操作界面、系统功能实现、题库数据存储等部分进行层次处理,从而保证逻辑结构的清晰、完整,避免出现功能耦合现象,最终提高系统的编码效率和可扩展性。
3.3数据库设计
数据库设计主要包括概念结构设计、逻辑结构设计、系统功能模块设计、主功能模块设计、成绩模块设计。其中概念结构设计包括数据实体、数据属性、数据关系3方面内容。该系统的主要数据实体包括教师、学生、试题、试卷、试题;而数据属性是指数据实体与关系的基本特征;数据关系是指数据与实体的一对一、一对多、多对一关系。逻辑结构设计是指各数据表之间的逻辑关系表示。系统功能模块设计是指对每个功能模块进行细化、设计[7]。如上文中提到的教师模块内容、功能。主功能模块设计亦是如此。之所以将成绩模块单独列出,主要是因为该模块对题库的各项指标有较大的影响,并且其实用功能也非常强。
4结语
综上所述,结合实际需求,对遗传算法进行改进,能有效提高计算机考试系统的实用性。但也应当认识到随着计算机技术的发展,遗传算法的应用会更加成熟、广泛。
[参考文献]
[1]温静,郝大治,张晓峰.基于遗传算法的智能组卷考试系统研究[J].科技传播,2017 (22):134,179
[2]兰青青.基于遗传算法的智能组卷考试系统设计[J].信息系统工程,2017 (5):174.
[3]卞勇.基于遗传算法在线考试系统题库的设计与实现[J].宁波职业技术学院学报,2016 (6):87-89
[4]冯秀梅.基于遗传算法的智能组卷考试系统研究与实现[D].济南:山东师范大学,2016
[5]马玲.基于遗传算法的在线考试系统开发研究[J].信息化建设,2016 (5):43.
[6]魏冬梅.基于遗传算法的自动组卷系统的设计及实现[D].石家庄:河北科技大学,2015.
[7]刘召华.基于遗传算法的考试系统设计与实现[D]杨凌:西北农林科技大学,2015