利用遗传算法针对题库中的试题进行自动组卷的方法

文档序号:10471556阅读:147来源:国知局
利用遗传算法针对题库中的试题进行自动组卷的方法
【专利摘要】本发明涉及一种利用遗传算法针对题库中的试题进行自动组卷的方法,它针对题库中的试题采用实数编码,可以克服以往采用二进制编码搜索空间过大和编码长度过长的缺点,同时取消了待组试卷的解码时间,提高了求得最终试卷的速度。另外,本发明采用根据待组试卷的总题数、题型比例和总分等要求随机产生初始种群的方式产生待组试卷的初始种群,能够加快遗传算法的收敛并减少迭代次数,从而较少试卷的形成时间。因此,本发明可以广泛用于自动组卷领域。
【专利说明】
利用遗传算法针对题库中的试题进行自动组卷的方法
技术领域
[0001] 本发明设及一种组卷方法,特别是关于利用遗传算法针对题库中的试题进行自动 组卷的方法。
【背景技术】
[0002] 目前各类笔试试卷的组卷工作基本上都是人工完成。通常,在某项正式考试出卷 时,相应的考试组织邀请各领域专家根据考试人群和考试目标进行分析,封闭集中进行出 题。然后,再根据实际需要选择所需组卷的章节、知识点W及题型,手工完成组卷的全过程, 致使组卷工作资源投入多、成本高、工作量大、知识点覆盖不全面和出卷用时较长等问题。 由此运用信息处理技术从试题库中自动选择试题组成试卷的自动组卷应运而生。
[0003] 现有的组卷方法普遍采用传统优化算法和传统捜索算法,而传统优化算法是从单 个初始值迭代求最优解的,因此容易误入局部最优解;并且传统捜索算法都是单点捜索算 法,容易陷入局部的最优解,而局部最优相对试卷整体而言,可能某一知识点考查的最为全 面,造成整个试卷不合理的情况发生。因此,如何保证生成的试卷能最大程度地满足用户的 需要,并具有随机性、科学性、合理性。

【发明内容】

[0004] 针对上述问题,本发明的目的是提供利用遗传算法针对题库中的试题进行自动组 卷的方法。
[0005] 为实现上述目的,本发明采取W下技术方案:利用遗传算法针对题库中的试题进 行自动组卷的方法,它包括W下步骤:1)针对题库中所有试题编号进行实数编码;2)根据待 组试卷的总题数、题型比例和总分,从实数编码后的题库中的试题随机生成由Μ个待组试卷 组成的初始种群,每个待组试卷有Ν个试题组成;3)计算初始种群中每个待组试卷的适应 度;4)判断每个待组试卷的适应度是否达到预先设定的标准,若是,则转到步骤10);否则, 进入下一步;5)采用轮盘赌方法利用适应度对群体中的待组试卷进行选择操作,得到第一 个待组试卷,然后对群体中剩余的待组试卷进行选择操作,得到第二个待组试卷;6)针对第 一个待组试卷和第二个待组试卷,随机产生一个[0,Ν-2]的随机数r,将r后的题目交叉操 作,得到两个交叉后的待组试卷;7)计算两个交叉后的待组试卷的适应度;8)判断交叉后的 待组试卷的适应度是否达到预先设定的标准;若是,则转到步骤10);否则,进入下一步;9) 对交叉后的待组试卷进行变异操作,然后得到两个交叉后的待组试卷,返回步骤3),直到得 到最终试卷;10)结束,得到最终试卷。
[0006] 所述步骤3)包括W下内容:试卷难度系数P公式:P = Σ Di*Si/ Σ Si;其中,i = 1, 2,. . .,N,N是待组试卷所含的题目数;Di是第i题的难度系数,Si是第i题的分数;期望待组试 卷包含t个知识点,而一个待组试卷中所有题目知识点的并集中包含m个,且m含t,则知识点 的覆盖率为m/t;采用用户的期望难度系数EP与试卷难度系数P来决定适应度函数f如下:f =1-( 广IEP-P I *f2;其中,f 1为知识点分布的权重,f2为难度系数P所占权重。
[0007] 本发明由于采取W上技术方案,其具有W下优点:1、本发明针对题库中的试题采 用实数编码,可W克服W往采用二进制编码捜索空间过大和编码长度过长的缺点,同时取 消了待组试卷的解码时间,提高了求解(求得最终试卷)速度。而传统的二进制试题编码形 式,即采用二进制编码时,题库里的每一道题都要出现在运个二进制位串中,1表示该题选 中,0表示该题未被选中,从而导致由多个试题组成的选中/未被选中的试卷二进制位串较 长,且在进行交叉和变异遗传算子操作时,组成试卷的各种题型的题目数量不好控制,极易 造成选题错误的情况发生。本发明采用实数编码有效解决了上述问题。2、本发明采用根据 待组试卷的总题数、题型比例和总分等要求随机产生初始种群的方式产生待组试卷的初始 种群,能够加快遗传算法的收敛并减少迭代次数,从而较少试卷的形成时间。3、本发明采用 遗传算法从问题解的串集开始嫂索,而不是从单个解开始,相较于传统优化算法从单个初 始值迭代求最优解的;容易误入局部最优解。遗传算法从串集开始捜索,覆盖面大,利于全 局择优,从而得到较为合理的试题。4、本发明相较于单点捜索算法的传统捜索算法采用确 定性规则,容易陷入局部的最优解,而遗传算法是采用概率的变迁规则来指导他的捜索方 向。遗传算法同时处理群体中的多个待组试卷,即对捜索空间中的多个解进行评估,减少了 陷入局部最优解的风险,同时算法本身易于实现并行化,从而提高组卷的效率。5、遗传算法 基本上不用捜索空间的知识或其它辅助信息,而仅用适应度函数值来评估待组试卷,在此 基础上进行遗传操作。适应度函数不仅不受连续可微的约束,而且其定义域可W任意设定, 从而使得遗传算法的应用范围大大扩展。因此,本发明可W广泛用于自动组卷领域。
【附图说明】
[0008] 为了更清楚地说明本发明实施例或者现有技术中的技术方案,下面将对实施例或 者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅 是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还 可W根据运些附图获得其他的附图。
[0009] 图1是本发明的流程图。
【具体实施方式】
[0010] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。
[00川实施例
[0012] 如图1所示,本发明利用遗传算法针对题库中的试题进行自动组卷的方法,它包括 W下步骤:
[0013] 1)针对题库中所有试题编号进行实数编码;
[0014] 由于遗传算法的求解问题是将问题的解空间映射成一组代码串,即题库中试题的 编码问题。在传统的遗传算法中采用二进制编码,而采用二进制编码时,题库里的每一道题 都要出现在运个二进制位串中,1表示该题选中,0表示该题未被选中,从而导致由多个试题 组成的选中/未被选中的试卷二进制位串较长,且在进行交叉和变异遗传算子操作时,组 成试卷的各种题型的题目数量不好控制,极易造成选题错误的情况发生。
[0015] 本发明实施例针对试卷采用实数编码,将一份试卷映射为一个待组试卷,组成该 试卷的每道题的题号作为基因,基因的值直接用试题号表示,每种题型的题号放在一起,并 按题型分段,在随后的遗传算子操作时也按段进行,从而保证每种题型的题目总数不变。例 如,要组一份试卷,其中单选题6道,多选题4道,判断题5道,填空题5道,问答题3道,则该份 试卷的试题编码是: (1、6、13、12、10、4|18、22、25、28|52、36、67、11、123|31、35、32、47、44|99、85、45)
[0016] 单选喪 多选题 巧断题 填空题 问答题
[0017] 采用分组实数编码,可W克服W往采用二进制编码捜索空间过大和编码长度过长 的缺点,同时取消了待组试卷的解码时间,提高了求解(求得最终试卷)速度。
[0018] 2)根据待组试卷的总题数、题型比例和总分,从实数编码后的题库中的试题随机 生成由Μ个待组试卷组成的初始种群,每个待组试卷有N个试题组成;
[0019] 需要说明的是,待组试卷相当于遗传算法中的个体,待组试卷中的试题相当于遗 传算法中个体的染色体。
[0020] 采用根据待组试卷的总题数、题型比例和总分等要求随机产生初始种群的方式产 生待组试卷的初始种群,能够加快遗传算法的收敛并减少迭代次数,从而较少试卷的形成 时间。
[0021] 3)计算初始种群中每个待组试卷的适应度;
[0022] 适应度函数是用来评判试卷群体中待组试卷的优劣程度的指标,遗传算法利用适 应度值运一信息来指导捜索方向,而不需要适应度函数连续或可导W及其它辅助信息。所 W适应度函数跟试卷难度系数和知识点分布有关。
[0023] 试卷难度系数Ρ公式:
[0024] Ρ= Σ0?*8?/Σ8?
[0025] 其中,i = l,2,...,N,N是待组试卷所含的题目数,其根据实际需要组卷的试题规 定而定;Di是第i题的难度系数,Si是第i题的分数。
[00%]试卷所考查的知识点分布用一个待组
[0027]试卷知识点的覆盖率来衡量,例如期望本试卷包含t(且t为整数,t代表无穷多个 n,为了区分采用t表示)个知识点,而一个待组试卷中所有题目知识点的并集中包含m个(m <t),则知识点的覆盖率为m/t。用户的期望难度系数EP与试卷难度系数P之差越小越好,知 识点覆盖率越大越好,因此适应度函数f如下:
[002引 f = l-(l-m/t)*fHEP-P|*f2
[0029] 其中,f功知识点分布的权重,f2为难度系数P所占权重。当fi = 0时退化为只限制 试题难度系数,当f2 = 0时退化为只限制知识点分布。
[0030] 每一个待组试卷的适应度Ai,则规模为Μ的群体Q中各个待组试卷的适应度为Q = {Ai,A2,. ..,Am}〇
[0031] 4)判断每个待组试卷的适应度是否达到预先设定的标准,若是,则转到步骤10); 否则,进入下一步;
[0032] 其中,预先设定的标准为适应度期望值或迭代次数是否达到最大值,根据具体的 操作步骤而定,例如,本发明进行第一次判断时,只能根据适应度期望值进行判断是否达 到标准;而经过变异之后的待组试卷,则可w通过适应度期望值或迭代次数是否达到最大 值来进行判断。
[0033] 5)采用轮盘赌方法利用适应度对群体中的待组试卷进行选择操作,得到第一个待 组试卷,然后对群体中剩余的待组试卷进行选择操作,得到第二个待组试卷;
[0034] 其中,本发明的选择算子可W采用包括但不限于轮盘赌选择、随机遍历抽样、局部 选择、截断选择、锦标赛选择,本发明采用轮盘赌选择。
[0035] ①计算每个待组试卷被遗传到下一代的概率:
[0036]
[0037] ②计算出每个待组试卷的累积概率:
[00;3 引
[0039] 其中,q[i]称为试题i = l,2,. . .,N的积累概率。
[0040] ③在[0,1 ]区间内产生一个均匀分布的伪随机数r;
[0041] ④若r<q[l],则选择待组试卷1,否则,选择待组试卷k,使得q[k-l]<r<q[k]成 立;
[0042] ⑤重复步骤③和④共Μ次。
[0043] 6)针对第一个待组试卷和第二个待组试卷,随机产生一个[0,Ν-2]的随机数r,将r 后的题目交叉操作,得到两个交叉后的待组试卷;
[0044] 由于在编码时采用的是分段实数编码,所W在进行交叉时采用分段单点交叉,即 按题型分段来进行交叉,整个试题就表现为多点交叉。
[0045] 针对初始群体中每一个待组试卷中的同一题段的相同题型的试题进行任意两两 配对,对每对试题产生一个[0,N-2]的随机数r,r即为分段点,将r后的两道题目互换(保证 分值相加一样)得到下一代。交叉后生成的子代有可能因存在重复的题号而非法。出现运种 情况要将出现的题号换成该段中没有出现过的题号,运样重新得到新子代群体。
[0046] 7)计算两个交叉后的待组试卷的适应度;
[0047] 按照步骤3)中描述的方法计算交叉后的待组试卷的适应度,在此不再详述。
[004引8)判断交叉后的待组试卷的适应度是否达到预先设定的标准;若是,则转到步骤 10);否则,进入下一步;
[0049] 其中,预先设定的标准同步骤4)中的标准,故不再详述
[0050] 9)对交叉后的待组试卷进行变异操作,然后得到两个交叉后的待组试卷,返回步 骤3),直到得到最终试卷。
[0051] 针对待组试卷中所有试题在[1,N]范围内随机生成一个变异位置T,再根据与原试 题题型相同的、分数相同或与至少包含原题目一个有效知识点(期望试卷中也有此知识点) 从题库中选取试题进行替换。
[0052] 需要说明的是,在遗传算法中,通常变异的概率一般较小,本发明实施例不进行分 段变异,而只是针对某段上的某个试题进行变异。
[0053] 10)结束,得到最终试卷。
[0054] 综上所述,本发明重复步骤3)-9)直到得到最终试卷。
[0055] 上述各实施例仅用于说明本发明,其中各部件的结构、连接方式和制作工艺等都 是可W有所变化的,凡是在本发明技术方案的基础上进行的等同变换和改进,均不应排除 在本发明的保护范围之外。
【主权项】
1. 一种利用遗传算法针对题库中的试题进行自动组卷的方法,它包括以下步骤: 1) 针对题库中所有试题编号进行实数编码; 2) 根据待组试卷的总题数、题型比例和总分,从实数编码后的题库中的试题随机生成 由Μ个待组试卷组成的初始种群,每个待组试卷有N个试题组成; 3) 计算初始种群中每个待组试卷的适应度; 4) 判断每个待组试卷的适应度是否达到预先设定的标准,若是,则转到步骤10);否则, 进入下一步; 5) 采用轮盘赌方法利用适应度对群体中的待组试卷进行选择操作,得到第一个待组试 卷,然后对群体中剩余的待组试卷进行选择操作,得到第二个待组试卷; 6) 针对第一个待组试卷和第二个待组试卷,随机产生一个[0,Ν-2]的随机数r,将r后的 题目交叉操作,得到两个交叉后的待组试卷; 7) 计算两个交叉后的待组试卷的适应度; 8) 判断交叉后的待组试卷的适应度是否达到预先设定的标准;若是,则转到步骤10); 否则,进入下一步; 9) 对交叉后的待组试卷进行变异操作,然后得到两个交叉后的待组试卷,返回步骤3), 直到得到最终试卷; 10) 结束,得到最终试卷。2. 根据权利要求1所述的利用遗传算法针对题库中的试题进行自动组卷的方法,其特 征在于:所述步骤3)包括以下内容: 试卷难度系数P公式: P= IDi*Si/ISi 其中,i = l,2, . . .,N,N是待组试卷所含的题目数;Di是第i题的难度系数,Si是第i题的 分数; 期望待组试卷包含t个知识点,而一个待组试卷中所有题目知识点的并集中包含m个, 且m < t,则知识点的覆盖率为m/t; 采用用户的期望难度系数EP与试卷难度系数P来决定适应度函数f如下: f=1-(l-m/t)*fi-|EP-PI*f2 其中,fi为知识点分布的权重,f 2为难度系数P所占权重。
【文档编号】G06N3/12GK105825270SQ201610117477
【公开日】2016年8月3日
【申请日】2016年3月3日
【发明人】江龙, 李泽河, 曹俊豪, 张德刚, 王达达
【申请人】云南电网有限责任公司教育培训评价中心
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1