采用改进遗传算法的试题库自动组卷实现方法

文档序号:6418299阅读:228来源:国知局
专利名称:采用改进遗传算法的试题库自动组卷实现方法
技术领域
本发明涉及一种采用改进遗传算法的试题库自动组卷实现方法,确切地说,涉及一种在网络教育中,为拥有一个标准化的电子试题库的网络考试系统提供自动组成考试试卷的方法;且该自动组卷方法是基于标准的电子试题库、自定义的组卷策略和针对目前现有的自动组卷所存在的问题进行改进的遗传算法的基础上,属于数字信息处理技术领域。
背景技术
在基于现代网络教育技术的试题库建设中,试题库自动组卷是运用计算机的数据搜索、优化等信息处理技术,从试题库中自动选择试题,并对试题信息进行处理,最后组成试卷。具体地说,自动组卷问题就是计算机根据人机交互制定的自动组卷策略,将其转换成为选择试题的属性(难度、区分度、建议分值等)约束条件,然后利用计算机的信息处理能力,依照科学合理的搜索和处理方法,从试题库中自动搜索出一组试题组成试卷,这份试卷应该满足教育测量学上的难度、区分度、信度和时间效率等指标。
目前,自动组卷的主要难题是如何保证生成的试卷能够最大程度地满足用户的不同需要,并具有随机性、科学性、合理性。尤其在网络交互式环境下,用户对组卷速度的要求较高,而在理论上能搜索到全局最优的算法可能会以牺牲时间作为代价,往往不能达到预期效果。因此,如何选择一个高效、科学、强壮的算法是自动组卷的关键。
现有的试题库自动组卷方法有随机法、回溯法、遗传算法等等。其中随机法结构简单,对于单道题的抽取运行速度较快;但是,该方法的效率不高,最主要问题是不但要求试题库的试题量大,还要分布良好。随机法组卷通常需要搜索的时间较长,这对于网络考试是不可忍受的。回溯法是属于有条件的深度优先算法,对于组卷指标简单的试卷而言,组卷成功率较高。但是,在实际应用时发现这种算法要占用大量的内存,程序结构相对比较复杂,而且选取试题缺乏随机性,组卷时间长。
遗传算法是一种模拟自然界适者生存的淘汰选择方式和遗传机制的计算机随机优化算法。生物种群的生存过程普遍遵循达尔文的优胜劣汰遗传进化准则群体中的个体依据其对环境的适应能力而被大自然所选择或淘汰。进化过程的结果反映在个体结构上,即包含若干基因的染色体组成结构中,相应的表现型和基因型的联系体现了个体的外部特性与内部机理间的逻辑关系。染色体还通过个体之间的交叉、变异来适应大自然环境。用计算机方式表示的生物染色体、或染色体就是一串二进制数码,有时也叫个体。其适应能力是对应每一个染色体中的某一个数值来衡量;染色体的选择或淘汰则是按照所面对的问题求最大值还是最小值。为了体现染色体的适应能力,引入了对问题所涉及到的每一个染色体都能进行度量的函数一适应度函数。适应度函数体现了自然进化中的优胜劣汰原则,通过适应度函数可以决定染色体的优、劣程度。对于优化问题,适应度函数就是目标函数。
遗传算法的遗传操作主要有三种选择(selection)、交叉(crossover)、变异(mutation)。选择操作又叫复制操作,根据个体的适应度函数值所度量的优、劣程度决定它在下一代是被淘汰还是被遗传;交叉操作的简单方式是将被选择出的两个个体分别作为父母个体,并将两者的部分数位的数值进行对应的交换;变异操作的简单方式是改变数码串中的某个数位上的数字,可以理解为改变染色体中的某个基因。
在遗传算法中,不是所有被选择的染色体都要进行交叉操作和/或变异操作,而是以一定概率进行的通常交叉发生的概率Pc与变异发生的概率Pm相比较,前者要比后者大若干个数量级,例如交叉概率取值范围是
,变异概率取值范围是
。种群的染色体总数叫种群规模,它对算法效率有明显的影响,规模太小不利于进化,而规模太大将导致进化时间长。对不同的问题可能有各自适宜的种群规模,通常种群规模为30至100。
遗传算法同时具有内在的并行性、全局寻优和收敛速度快的特点,这些特点都适宜于处理试题库自动组卷的问题。下面结合一例采用简单遗传算法进行试题库自动组卷的实例来详细说明该算法首先确定计算机的编码方法假设题库中总共有n道题,计算机用一个n位的二进制数字串来表示,形式如F1F2F3...Fn。其中Fi有两种取值,当第i题被选中时,Fi=1,当第i题未被选中时,Fi=0。这样,一份试卷可表示为形如00101...0010的n位的二进制数字串。
接着进行群体的初始化,具体方法是计算机随机生成m个如同上述形式的二进制数字串,该m个个体(即染色体)形成遗传群体。在该群体中,每个个体的二进制数字串的数位长度都相同,即每个染色体的基因数量是相同的。
然后对群体开始进行遗传操作,也就是对群体循环地进行选择、交叉、变异的操作,直到满足设定的停止条件,或者达到最大的循环次数为止。
其中选择操作是使用适应度函数计算每个个体的适应度值,再从中选择适应度值较高的个体(即较好地满足组卷约束条件的个体),按比例复制后遗传到下一代,最后删去适应度值低的个体,但要保持群体的总数大小不变。
交叉操作是将两个个体(即二进制数字串)按照交叉概率Pc从某一位开始彼此互相交换该两个数字串的后一部分。将群体中的所有数字串都随机地两两组合以后,针对每一对数字串,从0~1之间产生一个随机数,若该数大于交叉概率Pc,则给该对数字串随机选择一个交换点,对该交换点之后的数字串进行交叉操作;否则保持原状。
变异操作是将二进制数字串中随机选定的某一位数字按照变异概率Pm发生反转1变为0,0变为1。具体到组卷过程中有所改变,即在变化某一位的同时,随机选择的另一位也进行反转,表现为替换当前试卷中的一道题。
最后在循环操作达到规定次数的群体中选择适应度值最高的个体,也就是选择其中相对最好地满足组卷策略的一个试题组合,该组合就是最后的试卷。
目前,在进行试题库自动组卷时,使用传统遗传算法的比较多,因为该方法能够较快地找到比较满意的结果,但是还存在一些问题会产生早期的盲目搜索、过早收敛、收敛于局部最优解、局部搜索能力不强等弊病,这些缺陷影响了该方法的进一步拓展应用。因此,如何解决自动组卷的易于实现和组卷方法效率高的矛盾、组卷成功率高和组卷时间短的矛盾、以及试卷较好满足预定组卷策略和试卷试题随机性好的矛盾已经成为业内人士急需解决的研发课题。

发明内容
有鉴于此,本发明的目的是提供一种采用改进遗传算法的试题库自动组卷实现方法,该方法对传统的遗传算法进行了改进,能够为拥有标准化试题库的网络考试系统自动生成更加适宜于网络考试的试卷,同时,较好地解决了现有技术存在的各种矛盾和问题。
本发明的目的是这样实现的一种采用改进遗传算法的试题库自动组卷实现方法,其特征在于该方法包括下列操作步骤(1)制订组卷策略根据试题库提供的试题分布信息产生人机交互界面,藉由该界面用户制订一套自动组卷的策略;所述组卷策略就是对目标试卷中所有试题的属性提出的规范和约束条件;(2)选取试题根据所述组卷策略形成的试题筛选条件从试题库中选取试题,这些被选试题的属性参数将被用于遗传算法自动组卷;(3)自动组卷根据所述组卷策略形成适应度函数,然后根据每一份试卷,即染色体或个体的适应度函数值和改进后的遗传算法进行试题群体的遗传筛选,直至选出适应度函数值最高的一组试题组成试卷。
该方法还包括下述操作步骤(4)分析评价参照制订的组卷策略,对已经生成的试卷是否满足组卷策略要求给出评价,并分析其试题分布及其它属性参数;所述分析和评价用于以后组卷时的参考。
所述步骤(1)中制订自动组卷策略至少包括下述操作步骤(11)制订试题过滤条件设置候选题目的包括但不局限于此的下述过滤条件最大使用次数、候选题目曝光时间距离出卷时间的最小时间间隔、题目用途、题目审核标识和题目相关性;(12)制订组卷策略属性设置卷面总分和建议的试卷考试时间长度,并用一个区间为
的整数表示所述该两项属性在整个组卷策略中的重要程度,数值越大表明该项属性越重要;(13)制订试题分布条件根据数据库中统计的数据分布信息设置目标试卷中的包括但不局限于此的下述试题分布条件题目类型、知识点、题目难度、认知程度,以及相关各项属性的重要程度;并用一个区间为
的整数表示所述试题分布条件中的各项属性的重要程度,数值越大表明该项属性越重要。
所述步骤(13)中制订试题分布条件中的各项属性时,以试题数目作为分布单位,或以试题分数作为分布单位。
所述步骤(2)中根据组卷策略形成的筛选条件从试题库中选取试题是指先根据试题过滤条件从试题库中进行第一次选择试题的操作,然后,再在第一次筛选出来的试题中,根据试题分布条件的属性参数进行第二次筛选操作,使得筛选出来的试题应同时满足各项筛选条件;然后这些被选中试题将被用于遗传算法自动组卷。
所述步骤(3)自动组卷至少包括下述操作步骤(31)初始化群体首先设计遗传算法中的染色体编码方法即用一个n位的二进制数字串来表示试卷染色体,即个体;该个体是从总共有n道试题的候选试题库中选取试题而形成的一份试卷,其中每个二进制数字的两种取值1或0分别表示其所对应的某个试题选中与否;然后根据组卷策略中试题分布条件的属性参数对该二进制数字串进行划分,即按照功能块重新排列该二进制数字串,使得每一个功能块中的二进制数字串表示所有候选的满足某个分布条件属性的试题集合;(32)计算适应度值将组卷策略中的约束条件映射成适应度函数,并用该适应度函数计算群体中的每个个体的函数值,再按值重新排序;函数值的高低表示该个体的优劣程度,即染色体的优劣程度和符合组卷策略的程度;(33)进行选择操作根据个体适应度函数值选择和复制用于进入下一代的个体,即适应度函数值高的个体将被复制多个进入下一代,适应度函数值低的个体将被淘汰,且下一代群体的数量应与上一代群体的数量相等;(34)进行交叉操作先在种群中对所有个体进行随机选择的两两组合,然后在搜索前期,按照传统遗传算法的单点交叉对每对组合中的两个个体进行全局交叉操作,也就是先在该两个个体的整个二进制数字串上随机选择彼此对应的一个交叉点,再将该两个个体对应的交叉点以后的所有二进制数字都进行交换,以保持群体多样性;而在搜索后期,采用带约束的交叉算子进行有限制的局部遗传操作,即首先在该两个个体的整个二进制数字串上随机选择一个功能块,再在该功能块内部随机选择一个交叉点,最后将该两个个体对应的交叉点以后到功能块末尾的所有二进制数字都进行交换,以改善遗传算法的局部搜索能力,同时改善求解质量和提高收敛速度;(35)进行变异操作在搜索前期,在整个染色体或个体范围内随机选择两个具有不同数值的数位作为变异点进行变异,以提高群体多样性;而在搜索后期,首先在整个染色体或个体范围内随机选择一个功能块,然后在该功能块内部随机选择两个具有不同数值的数位作为变异点进行带约束的变异,提高局部搜索能力,并加快后期的收敛速度;(36)判断是否停止遗传判断是否出现完全满足组卷策略要求或具有最高适应度值的个体,或者是否完成了预先设定遗传进化代数的最大值,即遗传循环比对的最大次数,如果是,则种群进化停止,不再搜索更佳试卷,进入步骤(37);否则,转入步骤(32)继续遗传操作;
(37)输出适应度最高的个体选取种群中适应度值最高的个体为最佳个体,再进行反编码,形成试卷。
所述步骤(32)中的适应度函数是综合考虑步骤(12)中设置的卷面总分和建议的试卷考试时间长度,以及步骤(13)中设置的试题分布条件的各项属性而确定的一个计算公式适应度函数值Fn=(1-|A1-A|A)*IA+(1-|B1-B|B)*IB+(1-|C1-C|C)*Ic+···]]>式中A1为该个体对应试卷的实际考试时长,A为组卷策略中制订的建议考试时间长度;IA为组卷策略中考试时长的重要程度值;B1为该个体对应试卷的总分,B为组卷策略中制订的卷面总分要求,IB为组卷策略中卷面总分的重要程度值;公式中的其余相关字符则与该个体对应试卷分布条件中的各项分布属性及其重要程度值相对应;适应度函数值Fn的数值越高,表示该个体对应的试卷满足组卷策略的程度越高。
所述步骤(33)中进行的选择操作中的选择次数取决于适应度比例公式个体i被选择的概率Psi=fiΣj=1nfj;]]>式中n为群体数目,fi为该群体中的个体i的适应度函数值;个体i被选择的概率psi用于反映该个体i的适应度值在整个群体的个体适应度值总和中所占的比例,个体的适应度值越大,其被选择的概率就越高。
所述步骤(34)和(35)中采取不同遗传操作的搜索前期和搜索后期的划分界限取决于在监控种群进化过程中计算机是否在种群中发现多数个体在相同位置出现相同基因的情况;划分界限的标准是超过种群数量一半以上的个体的适应度值的波动范围是否小于这些个体适应度平均值的10%。
所述步骤(35)中,搜索前期选择变异点位置操作的最大次数为整个数字串长度值除以3后得到的商的整数,搜索后期选择变异点位置操作的最大次数为所述功能块内数字串的长度值除以3后得到的商的整数;如果超过所述最大次数也没有选择出能够进行变异的数位,则放弃本次操作。
本发明方法对传统的简单遗传算法进行了改进,不仅保留了传统遗传算法具有的内在并行性、全局寻优和收敛速度快的特点,而且能够较好地避免传统遗传算法会产生早期盲目搜索、过早收敛、收敛于局部最优解、局部搜索能力不强等缺陷,应用该改进的遗传方法,计算机能够快速组成试卷,并且试卷各项参数均能较好地满足组卷策略要求,多次自动组卷生成的试卷的试题随机性、科学性和合理性的指标高,能够满足网络考试的要求,具有很好的应用前景。


图1为本发明采用改进遗传算法的试题库自动组卷实现方法的流程图;图2为本发明试题库自动组卷实现方法中自动组卷操作的详细流程图;图3为本发明在初始化群体的操作中按照功能块(即试题类型)重新组织试题二进制数字串的一实施例示意图。
图4(A)、(B)分别为传统遗传算法在整个染色体上进行的交叉操作和本发明只在功能块内进行的交叉操作的一实施例示意图。
图5(A)、(B)分别为传统遗传算法在整个染色体上进行的双点变异操作和本发明只在功能块内进行的双点变异操作的一实施例示意图。
具体实施例方式
为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步的详细描述。
参见图1,本发明是一种采用改进遗传算法的试题库自动组卷实现方法,主要包括下列操作步骤(1)制订组卷策略根据试题库提供的试题分布信息产生人机交互界面,藉由该界面用户制订一套自动组卷的策略;所述组卷策略就是对目标试卷中所有试题的属性提出的规范和约束条件。
组卷策略包括分别制订试题过滤条件、组卷策略属性和试题分布条件。其中制订试题过滤条件是设置下述内容候选题目最大使用次数、候选题目曝光时间距离出卷时的最小时间间隔、题目用途、题目审核标识和题目相关性。制订组卷策略属性是制订试卷的建议考试时间长度和卷面总分,以及这两项属性的重要程度。制订试题分布条件包括设置目标试卷题目类型分布、知识点分布、题目难度分布、认知程度分布,以及各项属性的重要程度;这里采用一个区间为
的整数表示相关属性在组卷策略中的重要程度,数值越大表明该项属性越重要。在制订试题分布条件各项属性时,可以将试题数目作为分布单位,例如制订试题类型分布中单项选择题的数目为3道;也可以将试题分数作为分布单位,如制订知识点分布中第一章第一节的题目分数为10分。
(2)选取试题根据组卷策略形成的试题筛选条件从试题库中选取试题,这些被选试题的属性参数将被用于遗传算法自动组卷。该步骤是根据前述步骤中制订的试题过滤条件和试题分布条件中的知识点分布属性来形成筛选条件,其中试题过滤条件是第一步筛选条件,例如组卷策略中制订候选题目的最大使用次数为3,那么计算机只会选取使用次数小于3的试题用于自动组卷;知识点分布属性是第二步过滤条件,例如组卷策略中制订第5章不是考试内容,那么计算机就不会选取第5章的试题用作自动组卷。总之,最后筛选出来用于自动组卷的试题必须要同时满足各项筛选条件。
(3)自动组卷根据所述组卷策略形成适应度函数,然后根据每一份试卷,即染色体或个体的适应度函数值和改进后的遗传算法进行试题群体的遗传筛选,直至选出适应度函数值最高的一组试题组成试卷。
参见图2,由于该步骤是本发明的关键操作,下面结合附图具体介绍其所包括的各项操作。
(31)初始化群体首先根据本发明自动组卷的需要设计遗传算法中的染色体的编码方法。假设候选试题总共有n道,就用一个n位的二进制数字串来表示试卷染色体,即个体;该个体是从总共有n道试题的候选试题库中选取试题而形成的一份试卷,其形式如F1F2F3...Fi...Fn,式中Fi表示候选试题库中的某个试题,每个试题有两种取值当该第i题被选中时,Fi=1,当该第i题未被选中时,Fi=0。这样,一份试卷可表示为形如00101...0010的n位的二进制数字串,又称试卷染色体,或个体。以上也是传统遗传算法的试卷所采用的编码方法。但是,本发明还要对该数字编码串进行改进采用功能块对该二进制数字串进行划分,也就是根据组卷策略中试题分布条件的属性参数(例如试题类型分布属性)对该二进制数字串进行划分,即按试题类型重新排列组织,使得每一个功能块中的二进制数字串表示所有候选的满足某个分布条件属性的试题集合。例如图3所示,其中010100中的试题都是选择题,属于功能块1;其后的100011中的试题都是填空题,属于功能块2。
群体初始化的一般方法是随机生成m个上述形式的二进制编码串,由该m个个体形成遗传群体。在本发明中,为了避免搜索开始就陷入随机漫游状态,对群体初始化操作进行改进在采用传统的随机生成的染色体个体中,再根据试卷中不同类型题目的分布有选择地生成具有较好个体的初始群体。例如在组卷策略的试题类型分布条件中制订填空题需要选择10道,那么在选择题的功能块中随机设置10个数字位的值为1,其它位为0。
(32)计算适应度值将组卷策略中的约束条件映射成适应度函数,并用该适应度函数计算群体中的每个个体的函数值,再按值重新排序;函数值的高低表示该个体的优劣程度,即染色体的优劣程度和符合组卷策略的程度。
适应度函数是综合考虑设置的卷面总分和建议的试卷考试时间长度,以及试题分布条件的各项属性而确定的计算公式;下面是推荐的一个公式适应度函数值Fn=(1-|A1-A|A)*IA+(1-|B1-B|B)*IB+(1-|C1-C|C)*Ic+···]]>式中A1为该个体对应试卷的实际考试时长,A为组卷策略中制订的建议考试时间长度;IA为组卷策略中考试时长的重要程度值;B1为该个体对应试卷的总分,B为组卷策略中制订的卷面总分要求,Ib为组卷策略中卷面总分的重要程度值;公式中的其余相关字符与此类似,都是与该个体对应试卷分布条件中的各项分布属性及其重要程度值相对应的量化值;适应度函数值Fn的数值越高,表示该个体对应的试卷满足组卷策略的程度越高。
(33)进行选择操作因为适应度函数值Fn决定了染色体的优、劣程度,为了体现自然界进化中的优胜劣汰原则,该步骤根据个体适应度函数值选择和复制用于进入下一代的个体,即将适应度函数值高(即性能优)的个体复制多个进入下一代,适应度函数值低(即性能劣)的个体将被淘汰,且下一代群体的数量应与上一代群体的数量相等。
选择操作中的选择次数取决于适应度比例公式个体i被选择的概率Psi=fiΣj=1nfj;]]>式中n为群体数目,fi为该群体中的个体i的适应度函数值;个体i被选择的概率Psi反映该个体i的适应度值在整个群体的个体适应度值总和中所占的比例,个体的适应度值越大,其被选择的概率就越高。
(34)进行交叉操作先在种群中对所有个体进行随机选择的两两组合,然后在搜索前期,按照传统遗传算法的单点交叉对每对组合中的两个个体进行全局交叉操作,也就是先在该两个个体的整个二进制数字串上随机选择彼此对应的一个交叉点,再将该两个个体对应的交叉点以后的所有二进制数字都进行交换,以保持群体多样性;而在搜索后期,采用带约束的交叉算子进行有限制的局部遗传操作,即首先在该两个个体的整个二进制数字串上随机选择一个功能块,再在该功能块内部随机选择一个交叉点,最后将该两个个体对应的交叉点以后到功能块末尾的所有二进制数字都进行交换,以改善遗传算法的局部搜索能力,同时改善求解质量和提高收敛速度;在遗传过程中,计算机要监控种群的进化情况,主要监控两个方面一是种群中某个个体数量是否过多,即该个体相对其他个体比较优秀,但是如果按比例复制过多,也会不利于种群的下一步进化。二是种群中是否出现多数个体在相同位置出现相同的基因。这里的基因可以理解为在整个个体数字串上连续的几位数字,这种现象表示该基因较好,但不一定是最好。这时可以针对该基因进行小范围内的进化,使该基因更加优化。如果计算机检测到种群出现上面第二种情况,表明种群已经进化到了比较好的程度。为了使进化不致于停滞不前而达到更加优良的程度,本发明将整个进化过程中的交换操作和变异操作都分为两个时期搜索前期和搜索后期而分别采用不同的操作。具体来说,搜索前期的交叉点选择是在每对个体的整个数字串上随机选择;后期的交叉点选择首先是在每对个体中先随机选择一个功能块,然后在这个功能块上随机选择一个数位做为交叉点。而搜索前期和搜索后期的划分界限取决于在监控种群进化过程中计算机是否在种群中发现多数个体在相同位置出现相同基因的情况;划分界限的标准是超过种群数量一半以上的个体的适应度值的波动范围是否小于这些个体适应度平均值的10%-这是证明这些个体的绝大部分适度值的来源是同一基因的必要条件。
参见图4,图(A)中所示是对个体A和B采用传统遗传算法在整个染色体上随机选择的交叉点之后进行的交叉操作产生的新个体C和D。图(B)中所示是对个体A和B采用本发明改进的遗传算法先随机选择一个功能块,然后在该功能块内部随机选择一个交叉点,再在该交叉点之后到功能块末尾之间进行交叉操作产生的新个体E和F。
(35)进行变异操作在搜索前期,在整个染色体或个体范围内随机选择两个具有不同数值的数位作为变异点进行变异,以提高群体多样性;而在搜索后期,首先在整个染色体或个体范围内随机选择一个功能块,然后在该功能块内部随机选择两个具有不同数值的数位作为变异点进行带约束的变异,提高局部搜索能力,并加快后期的收敛速度。
搜索前期的变异点选择是先在整个数字串上随机选择两个数位,如果这两个数位的数字不同(即一个是1,另一个是0)则满足要求,否则重新随机选择两个数位,如果选择了m次还没有选择出来,则放弃这次变异操作;搜索后期变异点的选择是先随机选择一个功能块,然后在这个功能块上随机选择两个数位,如果这两个位置上的数字不同则满足要求,否则重新在这个功能块上随机选择两个数位,如果选择了m’次还没有选择出来,则放弃这次变异操作。
参见图5,图(A)中所示是对个体A采用传统遗传算法在整个染色体上随机选择的两个数值不同的变异点1、2之后进行变异操作后产生的新个体G。图(B)中所示是对个体A采用本发明改进的遗传算法先随机选择一个功能块,然后在该功能块内部随机选择两个数值不同的变异点进行变异操作产生的新个体H。
在进行变异操作时,搜索前期和搜索后期进行的选择变异点位置操作的最大次数(即前述m和m’)分别是整个数字串长度值除以3后得到的商的整数和功能块内数字串的长度值除以3后得到的商的整数。如果超过该最大次数也没有选择出能够进行变异的数位,则放弃本次操作。
(36)判断是否停止遗传判断是否出现完全满足组卷策略要求或具有最高适应度值的个体,或者是否完成了预先设定遗传进化代数的最大值,即遗传循环比对的最大次数,如果是,则种群进化停止,不再搜索更佳试卷,进入步骤(37);否则,转入步骤(32),继续遗传操作。
(37)输出适应度最高的个体选取种群中适应度值最高的个体为最佳个体,再进行反编码,形成试卷。
由于遗传算法的特点,应用本发明改进的遗传算法自动组成的试卷也不一定能够完全满足组卷策略的要求,因此在自动组成试卷之后,计算机还会参照先前制订的组卷策略,对已经生成的试卷进行评价和分析。这也可以说是本发明的第四个操作步骤(4)分析评价参照先前制订的组卷策略,对已经生成的试卷是否满足组卷策略要求给出评价并分析其试题分布及其它属性参数;这些分析和评价都可用于以后组卷时的参考。
本发明已经进行了试验实施,根据所述改进的遗传算法从试题库中选取符合要求的不同试题自动组卷,试验的效果是成功的,多次自动组卷生成的试卷的试题随机性、科学性和合理性的指标比较高,能够满足网络考试的要求,实现了预期的发明目的,具有很好的应用前景。
权利要求
1.一种采用改进遗传算法的试题库自动组卷实现方法,其特征在于该方法包括下列操作步骤(1)制订组卷策略根据试题库提供的试题分布信息产生人机交互界面,藉由该界面用户制订一套自动组卷的策略;所述组卷策略就是对目标试卷中所有试题的属性提出的规范和约束条件;(2)选取试题根据所述组卷策略形成的试题筛选条件从试题库中选取试题组成试卷,所述试卷上的被选试题的属性参数将被用于遗传算法自动组卷;(3)自动组卷根据所述组卷策略形成适应度函数,然后根据每一份试卷,即染色体或个体的适应度函数值和改进后的遗传算法进行试题群体的遗传筛选,直至选出适应度函数值最高的一组试题组成试卷。
2.根据权利要求1所述的采用改进遗传算法的试题库自动组卷实现方法,其特征在于该方法还包括下述操作步骤(4)分析评价参照制订的组卷策略,对已经生成的试卷是否满足组卷策略要求给出评价,并分析其试题分布及其它属性参数;所述分析和评价用于以后组卷时的参考。
3.根据权利要求1所述的采用改进遗传算法的试题库自动组卷实现方法,其特征在于所述步骤(1)中制订自动组卷策略至少包括下述操作步骤(11)制订试题过滤条件设置候选题目的包括但不局限于此的下述过滤条件最大使用次数、候选题目曝光时间距离出卷时间的最小时间间隔、题目用途、题目审核标识和题目相关性;(12)制订组卷策略属性设置卷面总分和建议的试卷考试时间长度,并用一个区间为
的整数表示所述该两项属性在整个组卷策略中的重要程度,数值越大表明该项属性越重要;(13)制订试题分布条件根据数据库中统计的数据分布信息设置目标试卷中的包括但不局限于此的下述试题分布条件题目类型、知识点、题目难度、认知程度,以及相关各项属性的重要程度;并用一个区间为
的整数表示所述试题分布条件中的各项属性的重要程度,数值越大表明该项属性越重要。
4.根据权利要求1所述的采用改进遗传算法的试题库自动组卷实现方法,其特征在于所述步骤(13)中制订试题分布条件中的各项属性时,以试题数目作为分布单位,或以试题分数作为分布单位。
5.根据权利要求1所述的采用改进遗传算法的试题库自动组卷实现方法,其特征在于所述步骤(2)中根据组卷策略形成的筛选条件从试题库中选取试题是指先根据试题过滤条件从试题库中进行第一次选择试题的操作,然后,再在第一次筛选出来的试题中,根据试题分布条件的属性参数进行第二次筛选操作,使得筛选出来的试题应同时满足各项筛选条件;然后这些被选中试题将被用于遗传算法自动组卷。
6.根据权利要求1所述的采用改进遗传算法的试题库自动组卷实现方法,其特征在于所述步骤(3)自动组卷至少包括下述操作步骤(31)初始化群体首先设计遗传算法中的染色体编码方法即用一个n位的二进制数字串来表示试卷染色体,即个体;该个体是从总共有n道试题的候选试题库中选取试题而形成的一份试卷,其中每个二进制数字的两种取值1或0分别表示其所对应的某个试题选中与否;然后根据组卷策略中试题分布条件的属性参数对该二进制数字串进行划分,即按照功能块重新排列该二进制数字串,使得每一个功能块中的二进制数字串表示所有候选的满足某个分布条件属性的试题集合;(32)计算适应度值将组卷策略中的约束条件映射成适应度函数,并用该适应度函数计算群体中的每个个体的函数值,再按值重新排序;函数值的高低表示该个体的优劣程度,即染色体的优劣程度和符合组卷策略的程度;(33)进行选择操作根据个体适应度函数值选择和复制用于进入下一代的个体,即适应度函数值高的个体将被复制多个进入下一代,适应度函数值低的个体将被淘汰,且下一代群体的数量应与上一代群体的数量相等;(34)进行交叉操作先在种群中对所有个体进行随机选择的两两组合,然后在搜索前期,按照传统遗传算法的单点交叉对每对组合中的两个个体进行全局交叉操作,也就是先在该两个个体的整个二进制数字串上随机选择彼此对应的一个交叉点,再将该两个个体对应的交叉点以后的所有二进制数字都进行交换,以保持群体多样性;而在搜索后期,采用带约束的交叉算子进行有限制的局部遗传操作,即首先在该两个个体的整个二进制数字串上随机选择一个功能块,再在该功能块内部随机选择一个交叉点,最后将该两个个体对应的交叉点以后到功能块末尾的所有二进制数字都进行交换,以改善遗传算法的局部搜索能力,同时改善求解质量和提高收敛速度;(35)进行变异操作在搜索前期,在整个染色体或个体范围内随机选择两个具有不同数值的数位作为变异点进行变异,以提高群体多样性;而在搜索后期,首先在整个染色体或个体范围内随机选择一个功能块,然后在该功能块内部随机选择两个具有不同数值的数位作为变异点进行带约束的变异,提高局部搜索能力,并加快后期的收敛速度;(36)判断是否停止遗传判断是否出现完全满足组卷策略要求或具有最高适应度值的个体,或者是否完成了预先设定遗传进化代数的最大值,即遗传循环比对的最大次数,如果是,则种群进化停止,不再搜索更佳试卷,进入步骤(37);否则,转入步骤(32)继续遗传操作;(37)输出适应度最高的个体选取种群中适应度值最高的个体为最佳个体,再进行反编码,形成试卷。
7.根据权利要求3或6所述的采用改进遗传算法的试题库自动组卷实现方法,其特征在于所述步骤(32)中的适应度函数是综合考虑步骤(12)中设置的卷面总分和建议的试卷考试时间长度,以及步骤(13)中设置的试题分布条件的各项属性而确定的一个计算公式适应度函数值Fn=(1-|A1-AA)*IA+(1-|B1-BB)*IB+(1-|C1-CC)*Ic+...]]>式中A1为该个体对应试卷的实际考试时长,A为组卷策略中制订的建议考试时间长度;IA为组卷策略中考试时长的重要程度值;B1为该个体对应试卷的总分,B为组卷策略中制订的卷面总分要求,IB为组卷策略中卷面总分的重要程度值;公式中的其余相关字符则与该个体对应试卷分布条件中的各项分布属性及其重要程度值相对应;适应度函数值Fn的数值越高,表示该个体对应的试卷满足组卷策略的程度越高。
8.根据权利要求3或6所述的采用改进遗传算法的试题库自动组卷实现方法,其特征在于所述步骤(33)中进行的选择操作中的选择次数取决于适应度比例公式个体i被选择的概率Psi=flΣj=1nfj;]]>式中n为群体数目,fl为该群体中的个体i的适应度函数值;个体i被选择的概率Psi用于反映该个体i的适应度值在整个群体的个体适应度值总和中所占的比例,个体的适应度值越大,其被选择的概率就越高。
9.根据权利要求6所述的采用改进遗传算法的试题库自动组卷实现方法,其特征在于所述步骤(34)和(35)中采取不同遗传操作的搜索前期和搜索后期的划分界限取决于在监控种群进化过程中计算机是否在种群中发现多数个体在相同位置出现相同基因的情况;划分界限的标准是超过种群数量一半以上的个体的适应度值的波动范围是否小于这些个体适应度平均值的10%。
10.根据权利要求6所述的采用改进遗传算法的试题库自动组卷实现方法,其特征在于所述步骤(35)中,搜索前期选择变异点位置操作的最大次数为整个数字串长度值除以3后得到的商的整数,搜索后期选择变异点位置操作的最大次数为所述功能块内数字串的长度值除以3后得到的商的整数;如果超过所述最大次数也没有选择出能够进行变异的数位,则放弃本次操作。
全文摘要
一种采用改进遗传算法的试题库自动组卷实现方法,该方法主要操作步骤包括(1)制订组卷策略,(2)选取试题,(3)自动组卷,(4)分析评价。本发明对传统的简单遗传算法进行了改进,不仅保留了传统遗传算法具有的内在并行性、全局寻优和收敛速度快的特点,而且能够较好地避免传统遗传算法会产生早期盲目搜索、过早收敛、收敛于局部最优解、局部搜索能力不强等缺陷,应用本发明的改进遗传方法,计算机能够快速组成试卷,并且试卷各项参数均能较好地满足组卷策略要求,多次自动组卷生成的试卷的试题随机性、科学性和合理性的指标高,能够满足网络考试的要求,具有很好的应用前景。
文档编号G06F9/44GK1588308SQ20041006241
公开日2005年3月2日 申请日期2004年7月2日 优先权日2004年7月2日
发明者勾学荣, 文福安, 上官右黎, 于斌, 董跃武, 姬艳丽, 郑敏, 叶建统, 黄凯东, 李建伟, 孙元涛 申请人:北京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1