最终版正稿基于遗传算法的试题组卷研究.docx
- 文档编号:10584799
- 上传时间:2023-02-21
- 格式:DOCX
- 页数:25
- 大小:147.32KB
最终版正稿基于遗传算法的试题组卷研究.docx
《最终版正稿基于遗传算法的试题组卷研究.docx》由会员分享,可在线阅读,更多相关《最终版正稿基于遗传算法的试题组卷研究.docx(25页珍藏版)》请在冰豆网上搜索。
最终版正稿基于遗传算法的试题组卷研究
茂名学院
毕业论文
题目:
基于遗传算法的试题组卷研究
英文并列题目:
theResearchofExaminationPaperBuildupBasedonGeneticAlgorithm
学院:
理学院专业:
计算机科学与技术(师范)
班级:
计科04-
(1)班学生:
张军海
指导教师(职称)叶奇明(讲师)
完成时间:
2008年1月15日至2008年6月9日
系主任
批准日期
茂名学院
毕业设计(论文)任务书
教育与信息技术系计算机科学与技术(师范)专业学生张军海
一、毕业设计(论文)课题基于遗传算法的试题组卷研究
二、毕业设计(论文)工作自2008年1月15日起至2008年6月9日止
三、毕业设计(论文)进行地点茂名学院学生宿舍
四、毕业设计(论文)的内容要求:
一)研究内容
论文简述遗传算在国内外应用研究现状,分析遗传算法模拟自然选择和遗传机制的全局概率寻优原理(包括:
遗传变异机制,基因编码机制),突出遗传算法在解决多重约束问题的并行性、通用性、全局优化性、稳健性与可操作性。
介绍遗传算法的存储结构,并针对算法要求设计相应数据结构,最后用高级语言实现该算法在自动组卷中的应用。
二)过程要求
1、毕业设计必须独立完成,严禁抄袭,力争有一个创新点
2、必须查阅参考15篇以上文献,其中外文文献不少于2篇
3、成果必须包括论文和程序,并参照进度及时完成
4、总字数不少于15000字,格式必须符合学校统一要求,陈述清晰,条理性好,内容充实,图表规范,表达准确。
教研室负责人
指导教师
接受设计论文任务开始执行日期2008年3月16日
学生签名
摘要
文章在研究具有自适应全局寻优、智能搜索技术和收敛速度快特点的遗传算法基础上,根据成卷技术指标要求,提出成卷前先进行组卷要求与题库分布相容性检测的方法,以便及早发现一些不可能实现的组卷要求,从而提高组卷的成功率和工作效率,最后以知识、难度、题型为主要控制参数建立基于遗传算法的自动组卷问题数学模型,并在此基础上给出了基于实数编码的实例验证。
关键词:
自动组卷,遗传算法,题库,实数编码,相容性检测
Abstract
Inthestudyoftheauto-adaptedoverallsituationoptimization,theintelligencesearchtechniqueandintheconvergenceratequickcharacteristicgeneticalgorithmfoundation,Thearticleaccordingtothecoilingtechnicalspecificationrequest,proposedthatbeforethecoiling,carriesonthegroupvolumerequestandthequestionbankdistributioncompatibilityexaminationmethodfirst。
Withtheaimofdiscoveringearlysomeareimpossiblethegroupvolumerequestwhichrealizes,thustheenhancementgroupvolume'ssuccessratioandtheworkingefficiency,finallytaketheknowledge,thedifficulty,thetopicastheprimarycontrolparameterestablishmentbasedongeneticalgorithm'sautomaticgroupvolumequestionmathematicalmodel,andhavebasedonthisgivenbasedontherealnumbercodeexampleconfirmation.
Keywords:
AutomaticTestPaper,Geneticalgorithm,Questiondatabase,Realcode,Compatibilitytesting
目录
第一章绪论
1.1研究的背景及意义
在教育领域中,考试是整个教学过程中的重要环节,它是对学生所学知识和能力的一种评价,也是衡量教师教学效果优劣的一种教育测量手段。
目前许多考试的实施过程并不完全科学,考试手段落后,命题内容评分标准等由于受各种人为因素的干扰,缺乏普遍的可比性,考试信度和效度较低。
例如,传统的检验型考试是由任课教师分别主持,命题原则不同,评分标准和评分方法不同,带有较大的主观性,不够客观和准确。
随着计算机科学的迅速发展和广泛应用,计算机技术己进入现代教育领域并形成一门新兴的边缘科学――计算机辅助教学。
利用计算机建立试题库,实现计算机自动选题组卷,是CAI工程的重要组成部分,也是实现考试规范化、科学化的重要措施,更是实现教考分离的一个重要手段。
利用计算机组卷,不仅能节省教师的宝贵时间,提高工作效率,而且能消除出卷人主观意志的影响,使考试更加标准化,更加客观、真实、全面地反映教学的实际效果,有利于促进教学质量的提高。
建立了自动组卷系统以后,可实行教考分离,促使任课教师必须按照教学大纲的要求认真备课,认真组织教学内容,改进教学方法,对提高教学质量和整体教学水平有着非常重要的意义。
考试是一项“测量工程”。
从统计学的角度来看,考试是一种抽样测量,通常我们告诉学生的应考内容是考查的总体,而试题实际考查到的内容则是我们从总体中抽取的样本。
要提高考试质量,在实施考试之前,先要进行设计。
实施一次考试命题,不论主观上的认识如何,都在进行着不同形式、不同水平的设计,差别是有的设计是不自觉的模糊的,有的设计则是有意识的、较周密的。
命题是考试设计的核心,传统的命题是人工命题,往往凭主考者的经验编制试卷和评阅试卷。
而我们许多重要考试的命题不够理想,往往是命题人员专业知识缺乏和命题检验不足造成,没有对试题和试卷的评估。
因此,为了更好地普及计算机命题,有必要研究一种采用科学、先进的组卷方法来实现快速、高效、科学组卷。
本文着重对遗传算法在自动组卷中的应用研究,通过对遗传算法理论的研究,探讨一下遗传算法以解决智能选题成卷的问题。
1.2国内外相关研究及现有题库系统的状况
在国外,早己建立起一些针对标准化考试的试题库系统[1]。
例如:
美国的TOEFL、GRE、GMAT等试题库计算机系统,己成功地运作了好些年,一直都能科学地测试出学生的实际水平。
这表明利用计算机来成卷是可能的而且是有效的,但是,这些系统涉及到的具体内容与细节,以及其设计思想与原理几乎都是保密的,要建立一套适合中国国情的试题库就只能靠国人自己的努力。
在国内,目前部分高校己经联合开发了一些基础学科的试题库系统。
从组卷方法看,
现有的试题库系统大体分三种:
一种是将试题库看作试题集,命题时由具有丰富经验的教师逐题抽取。
二是将试题库看作试卷集,将己经出好的试卷存储起来,在组卷时任意抽取一份。
三是有自动形成试卷的功能,利用某种组卷策略,自动形成合理的试卷。
前两种虽能保证试卷质量,但第一种与人工命题无异,第二种只能出有限份试卷,第三种则是随机出题,又有组卷策略可遵循,会形成千变万化的试卷,但所使用的组卷技术和策略有优有劣。
因此,为了更好地普及计算机命题,有必要研制一个采用先进的组卷方法的试题库成卷系统。
为此,本文着重对组卷算法进行研究,通过建立一个数学模型,结合遗传算法理论,来探讨一种合适的算法解决题库系统中自动选题成卷的问题,同时在此基础上,应用VB语言实现一个自动组卷系统。
1.3本文主要工作
(1)通过查阅大量中外文献,了解国内各种题库特点,分析功能需求。
确定本系统的设计方案。
(2)按系统要求确定数据库的数据结构,以及试题库系统的整体功能和结构,并实现组卷功能。
(3)对组卷方法进行了研究,应用遗传算法进行组卷。
第二章自动组卷算法研究
2.1组卷算法的发展和概述
国内外的许多科研单位、学校机构都在对组卷系统进行研究[2]。
虽然组卷系统是一个被探讨了很长时间的问题,但至今还没有一个很好的解决其自动出题的算法方案。
在题库试题质量高的前提下,自动组卷的效率与质量完全取决于抽题算法的设计。
如何设计一个算法从题库中既快又好地抽出一组最符合考方要求的试题,涉及到一个全局寻优和收敛速度慢的问题,很多学者对其进行了研究。
以前所采用的算法大多是随机选取和回溯试探法,他们虽然都能最终组出试卷,但是在实际的操作过程中,却发现他们不是耗费的时间很大就是容易进入死循环。
随机选取法根据状态空间的控制指标,由计算机随机地抽取一道试题,然后根据抽题情况,调整控制指标,再去抽题,此过程不断重复,直至组卷完毕,或已无法从题库中抽取满足控制指标的试题为止,其过程见图1。
该方法结构简单,对于单道题的抽取运行速度较快,但是对于整个组卷过程来说组卷成功率低,即使组卷成功,花费的时间也令人难以忍受。
回溯试探法就是将随机选取法产生的每一类型记录下来,当搜索失败时释放上次记录的状态类型,然后再根据一定的规律(正是这种规律破坏了选取试题的随机性)变化一种新的状态类型进行试探,通过不断地回溯试探直到试卷生成完毕或退回出发点为止,这种有条件的深度优先算法,对于状态类型和出题量都较少的系统而言,组卷成功率较好,但是在实际应用中,发现这种算法对内存的占用量很大,程序结构相对比较复杂,而且选取试题缺乏随机性,组卷时间长,后两点是用户无法接受的,因此他也不是一种很好的用来自动组卷的算法。
分析上述两种算法的优缺点,不难发现,在有限条件状态空间的控制下,随机选取法有时能够抽取出一组令用户满意的试题。
只不过由于他随机选取的范围太大,无法确定目前条件下哪些区域能够抽取合适的试题,反而可能在那些已经证明是无法抽取合适试题的区域内反复选题,进行大量的无效操作进入死循环,最终导致组卷失败。
回溯试探法组卷成功率高,但他是以牺牲大量的时间为代价的,对于现今越来越流行的考生网上随机即时调题的考试过程来说,他己不符合要求。
另外,数据发掘和知识发现作为一
门新兴的技术虽然已开始用在组卷系统中,但是对他的研究目前都还停留在理论上,缺乏成熟的技术和理论。
因此,必须结合以上几种方法寻找一种新的改进算法,这种算法要具有全局寻优和智能搜索技术,并且收敛速度快的特点。
遗传算法以其具有自适应全局寻优和智能搜索技术,并且收敛性好的特性能很好地满足自动组卷要求。
2.2遗传算法概述
遗传算法GA[3](GeneticAlgorithm)是一种新型的、模拟自然界生物进化过程的随机搜索、优化方法。
他是模拟达尔文的遗传选择和自然淘汰的生物进化过程的计算模型,是由美国Michigan大学的JohnH.Honlland教授于1975年首先提出来的。
他采用简单的编码技术来表示各种复杂的结构,并通过对一组编码表示进行简单的遗传操作和优胜劣汰的自然选择来指导学习和确定搜索的方向。
由于他采用种群的方式组织搜索,这使得他可以同时搜索解空间内的多个区域。
而且用种群组织搜索方式使得遗传算法特别适合大规模并行。
在赋予遗传算法自组织、自适应、自学习等特征的同时,优胜劣汰的自然选择和简单的遗传操作使遗传算法具有不受其搜索空间限制性条件(如可微、连续、单峰等)的约束、不需要其它辅助信息(如导数)、搜索过程不易陷入局部最优点的特点[4]。
这些崭新的特点使得遗传算法不仅能获得较高的效率而且具有简单、易于操作和通用的特性。
目前,该算法己渗透到许多领域,并成为解决各领域复杂问题的有力工具。
遗传算法是具有“生成+检测”(generate-and-test)的迭代过程的搜索算法。
在遗传算法中,将问题空间中的决策变量通过一定编码方法表示成遗传空间中的一个个体,他是一个基因型串结构数据;同时,将目标函数值转换成适应值,他用来评价个体的优劣,并作为遗传操作的依据。
遗传操作包括三个算子:
选择、交叉和变异。
选择用来实施适者生存的原则,即把当前群体中的个体按与适应值成比例的概率复制到新的群体中,构成交配池(当前代与下一代之间的中间群体)。
选择算子的作用效果是提高了群体的平均适应值。
由于选择算子没有产生新个体,所以群体中最好个体的适应值不会因选择操作而有所改进。
交叉算子首先将交配池中的个体随机配对,然后将两两配对的个体按某种方式相互交换部分基因。
交叉算子是产生新个体的主要方法,他决定了遗传算法的全局搜索能力。
变异是对个体的某一个或某一些基因值按某一较小概率进行改变。
变异算子是产生新个体的辅助方法。
交叉和变异相配合,共同完成对搜索空间的全局搜索。
遗传算法是一种群体型操作,该操作以群体中的所有个体为对象,选择、交叉和变异构成的遗传操作,使遗传算法有了其它传统方法所没有的特征。
遗传操作的设计与参数编码、初始群体的生成、适应度函数的设计、控制参数设定一起构成了遗传算法的核心内容,一般将他们称之为遗传算法的五大要素。
遗传算法的基本步骤如下:
(1)在一定编码方案下,随机产生一个初始种群:
(2)用相应的解码方法,将编码后的个体转换成问题空间的决策变量,并求得个体的适应值;
(3)按照个体适应值的大小,从种群中选出适应值较大的个体构成交配池:
(4)由交叉和变异这两个遗传算子对交配池中的个体进行操作,并形成新一代的种群;
(5)反复执行步骤2-4,直至满足收敛判据为止。
试题库组卷方法研究遗传算法的基本处理流程图2所示。
开始
使用遗传算法需要决定的运行参数有:
编码串长度、种群大小、交叉和变异概率。
编码串长度由优化问题所要求的求解精度决定。
种群大小表示种群中所含个体的数量,种群较小时,可提高遗传算法的运算速度,但却降低了群体的多样性,可能找不出最优解;种群较大时,又会增加计算速度,使遗传算法的运行效率降低。
一般取种群数目为20-100[5]。
交叉概率控制着交叉操作的频率,由于交叉操作是遗传算法中产生新个体的主要方法,所以交叉概率通常应取较大值:
但若过大的话,又可能破坏群体的优良模式。
一般取0.4-0.99。
变异概率也是影响新个体产生的一个因作为一种优化与搜索算法,遗传算法相比于其它算法应用于组卷系统所具有的优势在于[6]:
(1)遗传算法的操作对象是一组可行解,而非单个可行解,搜索轨道有多条,而非单条,因而具有良好的并行性。
(2)遗传算法只需要利用目标的取值信息,而无需梯度等高价值信息,因而适用于任何大规模、高度非线性的不连续多峰函数的优化以及解析式的目标函数的优化,具有很强的通用性。
(3)遗传算法择优机制是一种“软”选择,加上其良好的并行性,使它具有良好的全局优化性和稳健性。
(4)遗传算法操作的可行解是经过编码化的,目标函数解释为编码化个体的适应值,因而具有良好的可操作性和简单性。
(5)遗传算法易于和别的技术(如神经网络、模糊推理、混沌行为和人工生命等)相结合,形成性能更优的问题求解方法。
正是由于遗传算法的诸多优点,很多学者把其应用到组卷系统的研究中,如D.B.Folgeol在神经网络的进化学习方法的研究中首次提出把遗传算法用于试题组卷,GordbergM.W应用遗传算法的寻优特性为组卷问题建立了寻优模型等。
2.3基于遗传算法的组卷方法
2.3.1自动组卷模型
组卷系统最基本的目的是根据用户的要求,组出一份符合要求的、高质量的试卷。
所以首先要做的事便是获取用户的组卷要求。
一般而言,要出一份试卷,我们总是先确定考试时间KSSJ、试卷的满分值MFZ和所用的题型以及各种题型的题目和分数,而且对一种考试而言,这种题型一一分数分布曲线LT常保持相对稳定,如自学考试、英语等级考试、各种职称考试等都是这样。
例如,广东省高校非计算机专业计算机等级考试一级笔试试卷包括判断题、单选题、填空题、简答四种题型,其题型一一分数分布曲线LT:
(10,30,20,40)各题型分数允许的误差为0。
然后获取难度一一分数分布曲线LD、内容一一分数分布曲线LC,教学要求度一一分数分布曲线LR及其各自允许的误差。
曲线LC,LR及其允许的误差均由用户给出,后者采用专家默认曲线(根据各课程的教学大纲给出的)。
曲线LD在很大程度上决定了考试成绩的分布,是很重要的一条曲线,高等数学试题库系统Mathlab中,将它称为中心曲线,系统的默认曲线不一定满足用户要求,但是要用户用难度分布曲线LD表示对试卷的难度要求又比较困难,为此,借用专家模型[7]。
如:
对满分为100的试卷,期望平均分为80时,得到的难度分数分布曲线LD为:
(26,39,25,8,2),期望平均分为70时,得到的难度分数分布曲线LD为:
(12,30,32,19,7)。
下面根据试题参数和组卷要求设计建立目标函数。
设yi,hi,ji(j=1,2,3……k,)k为教学难度的档数,本文中k=5)分别表示用户要求的试题难度为i档的题应占的分数、实际生成试卷中试卷难度度为i档的题应占的分数、用户允许试卷难度要求度为i档的题的分数误差。
生成的试卷满足用户关于难度分数分布要求的程度可以用公式2-1值的大小来评价:
公式(2-1)
由上式可以看出f的值越小,则生成的试卷越接近于用户关于各教学要求度应占分数要求。
对于如何使生成的试卷中各种题型的题目数满足用户的要求,由于题库中的题目可以按题型进行索引,因此,只要题库题量充裕,这一要求很容易满足。
综上所述,得到求解组卷问题的目标函数:
min(f)=f1。
2.3.2自动组卷的遗传算法设计与实现
(1)染色体编码及群体的初始化
用遗传算法求解问题,首先要将问题的解空间映射成一组代码串。
经典遗传算法采用二进制编码,用1表示该题被选中,0表示该题未被选中,这种编码简单明了,但是进行交换等遗传操作时,各题型的题目数难以精确控制,而且,当题库中题量很大时,编码很长。
己有大量实验表明[8],在解决数值优化问题时,采用实数编码的遗传算法的效率要好得多。
(g1,g2,g3……gn),其中gi(i=1~n,n为试卷的总题目数)为试题的题号。
注意编码时应将同一题型的题目放在一起,并且为保证一份试卷中知识点不重复,每条染色体中,各基因的知识点编码必须各不相同。
根据用户选定的考试内容及各种题型的题目数,按同一试卷中知识点不重复的原则,随机生成初始群体,群体的大小按经验或实验给出。
(2)适应度函数
在遗传算法中,以适应值大小来区分群体中个体的优劣。
一般情况下适应值越大的个体越好,适应值越小的个体越差。
本文提出的组卷模型是最小化问题,采用公式2-2将目标函数f转换为适应度函数F’:
公式(2-2)
因为指数比例既可以让非常好的个体保持多的复制机会,同时又限制了其复制数目以免其很快控制整个群体,提高了相近个体间的竞争,所以对L述适应度函数F’采取公式2-3指数比例变换方法转换为适应度函数[9]:
(其中
取值为0.03)
公式(2-3)
(3)遗传算子设计
选择算子
采用期望值模型选择机制,即先用公式2-4计算群体中各个个体期望被选中的次数:
公式(2-4)
其中M为种群规模,Fi为第i个个体适应值。
用Ni的整数部份[Ni]安排个体i被选种的次数,这样其选出
个个体,然后对Ni的小数部分作为概率进行贝努利试验,若试验成功,则该个体被选中,不断重复,直至选满为止。
交叉算子
将以上选出的个体进行两两随机配对,对每一对相互配对的个体采用有条件的“均匀交叉”,即两个配对个体的每一个基因座上的基因都按设定的交叉概率Pc和一定的条件(确保交换后个体仍是有意义的组合)进行交换,产生两个新个体。
具体的操作是:
对两个配对个体的每一个基因座上的基因,先随机产生一个0~1的实数r1,如果r1<Pc并且满足交换条件(即交换后个体的各个基因的知识点不重复),则交换该基因座上的基因,否则不交换。
都按设定的交叉概率Pc和一定的条件(确保交换后个体仍是有意义的组合)进行交换,产生两个新个体。
具体的操作是:
对两个配对个体的每一个基因座上的基因,先随机产生一个0~1的实数r1,如果r1<Pc并且满足交换条件(即交换后个体的各个基因的知识点不重复),则交换该基因座上的基因,否则不交换。
变异算子
由于普通的变异操作可能会使用户指定范围外的题目出现在染色体中,也会使各题型的题目数难以保证,本文采用有条件的变异算子,即每个个体的每一个基因座上的基因都按设定的变异概率Pm在一定范围内(考试范围内与该基因题型相同且知识点与本个体其它题的知识点不重复)变异。
对经以上交换操作后产生的每一个个体的每一个基因座上的基因,具体的变异操作是:
A确定搜索新题的最大次数S,令当前搜索新题的次数S=0;
B随机产生一个0~1的实数r2,如果r2>Pm,则保持该基因不变;否则,根据该基因的值(题号),判断所属题型;
C搜索次数S加1,若S>S,则结束搜索新题,保持该基因不变,否则,在该题型的题号范围内随机产生一个与该基因值不同的整数作为新题的题号;
D判断新题的知识点是否在考试范围内,若否,转C;E判断新题的知识点是否与本个体其它题的知识点重复,若是,转C;
F用新题的题号替换该基因的值。
最优保存策略
进行了选择、交叉、变异操作后,比较新一代的最好个体与上一代的最好个体的适应值,如下降,则以上一代最好个体替换新一代的最差个体。
此策略可以保证迄今为止的最优个体不会被交叉、变异等遗传运算所破坏,它是遗传算法收敛性的一个重要保证条件。
算法实现
确定参数:
最大代数MaxGene,群体规模PopSize,交叉概率Pc,变异概率Pm;
接收用户的组卷要求:
产生初始群体;
当前代数Gene=0;
计算群体中各个体的适应值;
while(Gene { 根据个体适应值及选择策略从当前群体中选择生成下一代的父体; 执行交换操作和变异操作生成新一代群体; 计算新一代群体中各个体的适应值; 比较新一代的最好个体与上一代的最好个体的适应值,如下降,则以上一代最好个体替换新一代的最差个体: 输出当前代数,群体的平均目标函数,最好个体的目标函数值; Gene++; } 输出最好个体的编码,计算各难度级别的分数等指标,输出这些指标的值并与用户的要求值相比较。 第三章成卷的技术指标 从难度、区分度、信度、效度是评介成卷合理性的有效指标,尽管这些指标是利用试卷的应试结果进行分析,我们在组卷时没有应试结果,但我们应当了解其计算方法,以便指导我进行科学、合理性组卷。 试卷分析涉及的理论如下所述[10]。 3.1难度 难度D试卷的难度可用整卷的平均得分率P表示公式3-1,或由试题的难度加权平均得到公式3-2,也可以用高分组和低分组的平均分公式3-3得到。 公式(3-1) 公式(3-2) 公式(3-3) 其中 为平均得分,m为试卷的题目数, 为第j题的难度, 为第j题的分值, 和 分别为高分组和低分组的平均得分,C为试卷的满分值。 难度对考试结果有如下的影响: 试卷的平均难度将影响考试成绩的分布状态,当试卷的难度为0时,所有的考生都得零分;当试卷的难度为1时,所有的考生都得满分。 在这两种情况下,所有的分数都集中到0分或100分上,不能得到分数的合理分布。 因此,试卷的难度过大或过小都
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最终版 基于 遗传 算法 试题 研究