基于改进遗传算法的自动组卷研究

上传人:l****6 文档编号:38056773 上传时间:2018-04-26 格式:DOC 页数:5 大小:30.50KB
返回 下载 相关 举报
基于改进遗传算法的自动组卷研究_第1页
第1页 / 共5页
基于改进遗传算法的自动组卷研究_第2页
第2页 / 共5页
基于改进遗传算法的自动组卷研究_第3页
第3页 / 共5页
基于改进遗传算法的自动组卷研究_第4页
第4页 / 共5页
基于改进遗传算法的自动组卷研究_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《基于改进遗传算法的自动组卷研究》由会员分享,可在线阅读,更多相关《基于改进遗传算法的自动组卷研究(5页珍藏版)》请在金锄头文库上搜索。

1、1基于改进遗传算法的自动组卷研究摘 要 通过详细分析试卷的各项约束条件,建立了一个以知识点、难度系数、区分度等为核心属性的自动组卷数学模型,并利用改进的遗传算法实现了自动组卷。 关键词 自动组卷;数学模型;遗传算法自动组卷就是根据用户的要求,采用一定的算法自动地从试题库中抽取一定数量的试题组成试卷。自动组卷算法的好坏直接影响到试卷的质量,如何从试题库中选出试题组成符合用户要求的试卷,并使组卷具有较高的效率和成功率是当前研究的热门课题。现有的自动组卷算法一般有三种:随机选取法、回溯试探法和遗传算法。遗传算法是一种新发展起来的并行优化算法,它很适合解决自动组卷问题。1 试题核心属性的确定 在自动组

2、卷系统中,一些试题库设置了试题的各类属性,如章节、层次、要求、题型、难度系数、难度级别、各章节分值等属性,其实过多的属性会增加实际组卷的难度,降低效率。以教育学理论为指导,选择以下属性作为试题的核心属性。(1) 题号。试题的编号,用来唯一标识试题。(2) 题型。试题的类型。(3) 知识点。某道题属于某门课程的哪个知识点,知识点的设置不以章节为依据,从而可以避免教材的不同对组卷造成影响。(4) 难度系数。难度系数1是表示某一试题的难易程度,通常用未通过率来表示,即一次考试中未答对某道试题的考生数在其总体中所占的比例。一般来说,难度2系数值为 0.5 时,是中等难度,如果小于 0.3 试题太简单,

3、如果大于 0.7 试题太难,对考生都会做或都不会做(难度系数为 0 或为 1)的试题,属于无意义的试题,必须淘汰。(5) 区分度。区分度2是指某道题对不同水平考生加以区分的能力。区分度高的试题,对学生水平有较好的鉴别力。区分度的计算公式为:其中,B 表示试题的区分度,H 表示样本中高分组在某题上所得的平均分,L 表示样本中低分组在某题上所得的平均分,K 表示某题满分。高分组和低分组一般各占样本的 25%30%,最好取 27%。一般来说,试题的区分度在 0.4 以上就被认为是很好的。在 0.30.39 之间,认为良好;在 0.20.29 之间,认为可以;在 0.19以下,认为差,必须淘汰或加以修

4、改。对在校学生的达标考试,试卷的区分度不宜太高,因为它不是选拔性质的考试。但也不能过低,否则对学生的鉴别效果差,不能很好的达到考试的目的。一般区分度控制在 0.20.3 之间为宜。(6) 分值。某小题的分数。(7) 答题时间。完成某题估计所需的时间。2 自动组卷数学模型的建立自动组卷中决定一道试题,其实就是决定一个包含题号、题型、知识点、难度系数、区分度、分值、答题时间的七维向量(a1,a2,a3,a4,a5,a6,a7)。假设一套试卷中包含 n 道试题,一套试卷就决定了一个 n7 的矩阵 S:这就是问题求解中的目标矩阵,其中 ai1 、ai2、 ai3 、ai4、ai5、 ai6 、ai7

5、分别表示试卷中第 i 道题的题号、题型、知识点、难度系数、区分度、分值、答题时间。从矩阵 S 可以看出组卷问题是一个多重约束目标的问题求解,且目标状态不是唯一3的。在实际组卷时,用户会对试卷提出多方面的要求,用户的每一个要求对应试卷的一个约束条件。要组成一份符合要求的、高质量的试卷,目标矩阵的分布要满足以下试卷约束条件。(1) 试卷中包含的题型以及每种题型的题量要与用户的设置相符。k 种题型的题量= (2) 试卷中包含知识点即考核知识点以及各考核知识点所占分数的比例要与用户设置相符。K 种考核知识点所占分数= (3) 试卷的难度系数要满足用户的要求,试卷的难度系数一般用试卷中每道试题的难度系数

6、的加权平均来计算。即:试卷的难度系数=/总分(4) 试卷的区分度要满足用户的要求,试卷的区分度一般用试卷中每道试题的区分度的加权平均来计算。即:试卷的区分度=/总分(5) 试卷的总分要与设置相符。即:试卷的总分=(6) 试卷的总答题时间要与用户设置相符。即:试卷的总答题时间=在实际组卷时,试卷的总分、考核知识点、各题型每小题分值、试卷中包含的题型、各题型的题量都应该是精确达到的。试卷中各考核知识点所占的分数、试卷的难度系数、区分度和试卷的总答题时间这四个约束条件可以存在一定的误差。误4差的大小由用户的期望值和各约束条件的重要性决定。在实际应用中,各约束条件的重要性是不同的,因此,目标函数就取各

7、项误差的加权和。目标函数 f 可以表示为:为了不至于各项误差相互抵消,实际值与用户要求值的误差都取绝对值。其中,试卷中各考核知识点所占的分数和试卷的总答题时间这两项的误差为实际值与用户要求值的误差绝对值与用户要求值的比,试卷的难度系数和区分度这两项的误差为实际值与用户要求值的误差的绝对值。wi 表示第 i 个约束条件的权值,wi 通常由专家经验或试验给出,0wi1, 。由上式可知,目标函数 f 的值越小,即误差越小,问题的解越优,即生成的试卷越接近用户的需求。3 遗传算法遗传算法3,4,5是以适应度函数(或目标函数)为依据,通过对群体中的个体进行遗传操作实现群体内个体结构重组的迭代处理过程。在

8、这一过程中,群体中的个体一代一代地得以优化,并逐渐地逼近最优解,最终获得最优解。传统遗传算法的主要步骤包括初始染色体群体生成、适应度评估和检测、选择操作、交叉操作和变异操作。传统遗传算法流程图如图 1 所示(其中 t 为进化代数,t0 为最大进化代数)。图 1 传统遗传算法流程图 4 基于改进遗传算法的自动组卷传统的遗传算法采用二进制编码,用 1 表示某题被选中,0 表示某题没有被选中,这种编码非常简单,但在进行交叉和变异操作时,各题型的题量很难控制,而且当试题库题量很大时编码很长。传统的遗传算法以进化代数等于最大进化代数作为5终止条件,但是在实际组卷过程中并不知道种群进化到第几代就能得到试卷

9、的最优组合。因此用遗传算法实现自动组卷时,要对传统遗传算法进行一些改进。4.1 改进的遗传算法4.1.1 染色体编码通过对编码的大量分析,提出了一种分段实数编码机制,首先将染色体分成若干段,每一段对应一种题型,组成试卷的各道试题题号直接映射为基因,编码时将同一题型的试题放在同一段,同一段内题号各不相同。以题号编码的方法所表达的意义清楚、明确、不需解码,从而可以提高算法性能,提高运算效率。而且交叉和变异操作都在各段内部进行,因此可以保证组卷过程中各题型题量的正确匹配。4.1.2 适应度函数设计遗传算法在进化搜索中仅以适应度函数为依据,利用种群中每个个体的适应度值来进行搜索。因此,适应度函数的选择

10、至关重要,一般而言,适应度函数是由目标函数变换而成的。上面提出的自动组卷模型是最小化问题,采用如下方法可将目标函数 f 转换成适应度函数 F。 由上式可知,F 的取值范围为 01,适应度函数 F 的值越大,说明个体越好,个体越接近问题的最优解。4.1.3 初始化染色体群体随机生成初始染色体群体,在初始染色体群体中,染色体的长度为 n,群体的大小为 m,m 太小时,难以求出最优解,太大时则增长收敛时间。群体的大小一般根据需要,按经验或试验给出,一般 m=30160。4.1.4 遗传算子(1) 选择算子6在遗传操作中,为了保留较优的个体,以概率 1 完全地复制每一代群体中按适应度值从大到小依次排列

11、的前面 2 个个体。为了保持群体大小不变,同时删除适应度排列的后面的 2 个个体。然后从排列在前面的 m-2 个个体中随机抽取 p(pm-2)个个体进行交叉和变异操作。这种选择策略使得适应度小的个体也有可能被选中,这样有助于增加下一代群体的多样性。(2) 交叉算子在遗传操作中,采用了分段的思想,交叉的时候按题型段进行交叉,因此交叉后不存在段内试题重复的问题,也不会改变每种题型的题量。交叉概率 pc 太小时难以向前搜索,太大时则容易破坏高适应度的结构。一般 pc=0.40.6。(3)变异算子在遗传操作中,变异在染色体的题型段内进行。变异概率 pm 太小时难以产生新的基因结构,太大时使遗传算法成了

12、单纯的随机搜索。一般 pm=0.010.2。4.1.5 终止条件在改进的遗传算法中,设置了期望适应度值,把每一代计算出来的最高适应度个体的适应度值与期望适应度值相比较,当适应度最高的个体的适应度值大于或等于期望适应度值时则停止进化,否则继续进行遗传操作、计算适应度值、反复迭代直到组卷成功。4.2 主要算法描述基于改进遗传算法的自动组卷的主要算法描述如算法 1 所示。算法 1:int GJGA(pc,pm,m,f0) t=0;initialize(p(t);/随机产生初始染色体群体计算初始染色体群体的适应度值;while (maxff0) /当适应度最高的染色体的适应度值小于期望适应度值时7se

13、lection(p(t);/选择操作crossover(p(t);/交叉操作mutation(p(t);/变异操作得到下一代染色体群体 q(t+1),计算下一代染色体群体的适应度值;t+;输出当前染色体群体中适应度最高的染色体;4.3 遗传算法复杂度分析在遗传算法中,绝大部分处理都集中在适应度的计算上,因此可以用计算个体适应度操作的时间复杂度作为算法的时间量度。遗传算法的时间复杂度为 O(t*m*n)。因为试题库中的题量一般都很大,所以改进后的遗传算法的时间复杂度一般要比传统遗传算法的时间复杂度小。遗传算法的空间复杂度可以用初始染色体群体所占的空间来衡量,遗传算法的空间复杂度为 O(m*n)。

14、因为改进后的遗传算法的染色体的长度远比传统遗传算法的染色体的长度小,所以改进后的遗传算法的空间复杂度远比传统遗传算法空间复杂度小。5 结论算法的改进往往不能顾及问题每一个方面,如果算法设计的核心是提高解的精度,则算法可能在搜索范围和搜索精度上花去更多的时间,如果算法的设计主要在于尽快收敛,得到结果,则在解的精度上考虑很少,算法往往侧重于减少进化代数。改进后的遗传算法使生成试卷的质量得到了保证,但要使组卷的收敛速度得到进一步改进,还需进一步研究。 参考文献1 文海英. 智能型试卷自动生成系统中试卷难度控制技术的研究(J).湖南科技学院学报,2005,26(5):153-15682 常振江. 学生

15、成绩分布与一种简便的评估试卷命题质量的方法(J). 辽宁师范大学学报:自然科学版,2003,26(1):109-1123 丁卫平. 基于遗传算法的智能组卷应用研究.电气电子教学学报(J),2005,27(2):93-954 朱黎明. 基于单亲遗传算法的试题生成及其应用研究(D). 长沙:湖南大学,2005 5 T.Lynda,C.Chrisment,Boughanem Mohand. Multiple Query Evaluation Based on Enhanced Genetic Algorithm. Information Processing and Management,2003,39(2): 215-231

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号