CN105825270A - 利用遗传算法针对题库中的试题进行自动组卷的方法 - Google Patents
利用遗传算法针对题库中的试题进行自动组卷的方法 Download PDFInfo
- Publication number
- CN105825270A CN105825270A CN201610117477.7A CN201610117477A CN105825270A CN 105825270 A CN105825270 A CN 105825270A CN 201610117477 A CN201610117477 A CN 201610117477A CN 105825270 A CN105825270 A CN 105825270A
- Authority
- CN
- China
- Prior art keywords
- paper
- organized
- fitness
- question
- test
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Theoretical Computer Science (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Genetics & Genomics (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种利用遗传算法针对题库中的试题进行自动组卷的方法,它针对题库中的试题采用实数编码,可以克服以往采用二进制编码搜索空间过大和编码长度过长的缺点,同时取消了待组试卷的解码时间,提高了求得最终试卷的速度。另外,本发明采用根据待组试卷的总题数、题型比例和总分等要求随机产生初始种群的方式产生待组试卷的初始种群,能够加快遗传算法的收敛并减少迭代次数,从而较少试卷的形成时间。因此,本发明可以广泛用于自动组卷领域。
Description
技术领域
本发明涉及一种组卷方法,特别是关于利用遗传算法针对题库中的试题进行自动组卷的方法。
背景技术
目前各类笔试试卷的组卷工作基本上都是人工完成。通常,在某项正式考试出卷时,相应的考试组织邀请各领域专家根据考试人群和考试目标进行分析,封闭集中进行出题。然后,再根据实际需要选择所需组卷的章节、知识点以及题型,手工完成组卷的全过程,致使组卷工作资源投入多、成本高、工作量大、知识点覆盖不全面和出卷用时较长等问题。由此运用信息处理技术从试题库中自动选择试题组成试卷的自动组卷应运而生。
现有的组卷方法普遍采用传统优化算法和传统搜索算法,而传统优化算法是从单个初始值迭代求最优解的,因此容易误入局部最优解;并且传统搜索算法都是单点搜索算法,容易陷入局部的最优解,而局部最优相对试卷整体而言,可能某一知识点考查的最为全面,造成整个试卷不合理的情况发生。因此,如何保证生成的试卷能最大程度地满足用户的需要,并具有随机性、科学性、合理性。
发明内容
针对上述问题,本发明的目的是提供利用遗传算法针对题库中的试题进行自动组卷的方法。
为实现上述目的,本发明采取以下技术方案:利用遗传算法针对题库中的试题进行自动组卷的方法,它包括以下步骤:1)针对题库中所有试题编号进行实数编码;2)根据待组试卷的总题数、题型比例和总分,从实数编码后的题库中的试题随机生成由M个待组试卷组成的初始种群,每个待组试卷有N个试题组成;3)计算初始种群中每个待组试卷的适应度;4)判断每个待组试卷的适应度是否达到预先设定的标准,若是,则转到步骤10);否则,进入下一步;5)采用轮盘赌方法利用适应度对群体中的待组试卷进行选择操作,得到第一个待组试卷,然后对群体中剩余的待组试卷进行选择操作,得到第二个待组试卷;6)针对第一个待组试卷和第二个待组试卷,随机产生一个[0,N-2]的随机数r,将r后的题目交叉操作,得到两个交叉后的待组试卷;7)计算两个交叉后的待组试卷的适应度;8)判断交叉后的待组试卷的适应度是否达到预先设定的标准;若是,则转到步骤10);否则,进入下一步;9)对交叉后的待组试卷进行变异操作,然后得到两个交叉后的待组试卷,返回步骤3),直到得到最终试卷;10)结束,得到最终试卷。
所述步骤3)包括以下内容:试卷难度系数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-(1-m/t)*f1-|EP-P|*f2;其中,f1为知识点分布的权重,f2为难度系数P所占权重。
本发明由于采取以上技术方案,其具有以下优点:1、本发明针对题库中的试题采用实数编码,可以克服以往采用二进制编码搜索空间过大和编码长度过长的缺点,同时取消了待组试卷的解码时间,提高了求解(求得最终试卷)速度。而传统的二进制试题编码形式,即采用二进制编码时,题库里的每一道题都要出现在这个二进制位串中,1表示该题选中,0表示该题未被选中,从而导致由多个试题组成的选中/未被选中的试卷二进制位串较长,且在进行交叉和变异遗传算子操作时,组成试卷的各种题型的题目数量不好控制,极易造成选题错误的情况发生。本发明采用实数编码有效解决了上述问题。2、本发明采用根据待组试卷的总题数、题型比例和总分等要求随机产生初始种群的方式产生待组试卷的初始种群,能够加快遗传算法的收敛并减少迭代次数,从而较少试卷的形成时间。3、本发明采用遗传算法从问题解的串集开始嫂索,而不是从单个解开始,相较于传统优化算法从单个初始值迭代求最优解的;容易误入局部最优解。遗传算法从串集开始搜索,覆盖面大,利于全局择优,从而得到较为合理的试题。4、本发明相较于单点搜索算法的传统搜索算法采用确定性规则,容易陷入局部的最优解,而遗传算法是采用概率的变迁规则来指导他的搜索方向。遗传算法同时处理群体中的多个待组试卷,即对搜索空间中的多个解进行评估,减少了陷入局部最优解的风险,同时算法本身易于实现并行化,从而提高组卷的效率。5、遗传算法基本上不用搜索空间的知识或其它辅助信息,而仅用适应度函数值来评估待组试卷,在此基础上进行遗传操作。适应度函数不仅不受连续可微的约束,而且其定义域可以任意设定,从而使得遗传算法的应用范围大大扩展。因此,本发明可以广泛用于自动组卷领域。
附图说明
为了更清楚地说明本发明实施例或者现有技术中的技术方案,下面将对实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例
如图1所示,本发明利用遗传算法针对题库中的试题进行自动组卷的方法,它包括以下步骤:
1)针对题库中所有试题编号进行实数编码;
由于遗传算法的求解问题是将问题的解空间映射成一组代码串,即题库中试题的编码问题。在传统的遗传算法中采用二进制编码,而采用二进制编码时,题库里的每一道题都要出现在这个二进制位串中,1表示该题选中,0表示该题未被选中,从而导致由多个试题组成的选中/未被选中的试卷二进制位串较长,且在进行交叉和变异遗传算子操作时,组成试卷的各种题型的题目数量不好控制,极易造成选题错误的情况发生。
本发明实施例针对试卷采用实数编码,将一份试卷映射为一个待组试卷,组成该试卷的每道题的题号作为基因,基因的值直接用试题号表示,每种题型的题号放在一起,并按题型分段,在随后的遗传算子操作时也按段进行,从而保证每种题型的题目总数不变。例如,要组一份试卷,其中单选题6道,多选题4道,判断题5道,填空题5道,问答题3道,则该份试卷的试题编码是:
采用分组实数编码,可以克服以往采用二进制编码搜索空间过大和编码长度过长的缺点,同时取消了待组试卷的解码时间,提高了求解(求得最终试卷)速度。
2)根据待组试卷的总题数、题型比例和总分,从实数编码后的题库中的试题随机生成由M个待组试卷组成的初始种群,每个待组试卷有N个试题组成;
需要说明的是,待组试卷相当于遗传算法中的个体,待组试卷中的试题相当于遗传算法中个体的染色体。
采用根据待组试卷的总题数、题型比例和总分等要求随机产生初始种群的方式产生待组试卷的初始种群,能够加快遗传算法的收敛并减少迭代次数,从而较少试卷的形成时间。
3)计算初始种群中每个待组试卷的适应度;
适应度函数是用来评判试卷群体中待组试卷的优劣程度的指标,遗传算法利用适应度值这一信息来指导搜索方向,而不需要适应度函数连续或可导以及其它辅助信息。所以适应度函数跟试卷难度系数和知识点分布有关。
试卷难度系数P公式:
P=∑Di*Si/∑Si
其中,i=1,2,...,N,N是待组试卷所含的题目数,其根据实际需要组卷的试题规定而定;Di是第i题的难度系数,Si是第i题的分数。
试卷所考查的知识点分布用一个待组
试卷知识点的覆盖率来衡量,例如期望本试卷包含t(且t为整数,t代表无穷多个n,为了区分采用t表示)个知识点,而一个待组试卷中所有题目知识点的并集中包含m个(m≤t),则知识点的覆盖率为m/t。用户的期望难度系数EP与试卷难度系数P之差越小越好,知识点覆盖率越大越好,因此适应度函数f如下:
f=1-(1-m/t)*f1-|EP-P|*f2
其中,f1为知识点分布的权重,f2为难度系数P所占权重。当f1=0时退化为只限制试题难度系数,当f2=0时退化为只限制知识点分布。
每一个待组试卷的适应度Ai,则规模为M的群体Q中各个待组试卷的适应度为Q={A1,A2,...,AM}。
4)判断每个待组试卷的适应度是否达到预先设定的标准,若是,则转到步骤10);否则,进入下一步;
其中,预先设定的标准为适应度期望值或迭代次数是否达到最大值,根据具体的操作步骤而定,例如,本发明进行第一次判断时,只能根据适应度期望值进行判断是否达到标准;而经过变异之后的待组试卷,则可以通过适应度期望值或迭代次数是否达到最大值来进行判断。
5)采用轮盘赌方法利用适应度对群体中的待组试卷进行选择操作,得到第一个待组试卷,然后对群体中剩余的待组试卷进行选择操作,得到第二个待组试卷;
其中,本发明的选择算子可以采用包括但不限于轮盘赌选择、随机遍历抽样、局部选择、截断选择、锦标赛选择,本发明采用轮盘赌选择。
①计算每个待组试卷被遗传到下一代的概率:
②计算出每个待组试卷的累积概率:
其中,q[i]称为试题i=1,2,...,N的积累概率。
③在[0,1]区间内产生一个均匀分布的伪随机数r;
④若r<q[1],则选择待组试卷1,否则,选择待组试卷k,使得q[k-1]<r≤q[k]成立;
⑤重复步骤③和④共M次。
6)针对第一个待组试卷和第二个待组试卷,随机产生一个[0,N-2]的随机数r,将r后的题目交叉操作,得到两个交叉后的待组试卷;
由于在编码时采用的是分段实数编码,所以在进行交叉时采用分段单点交叉,即按题型分段来进行交叉,整个试题就表现为多点交叉。
针对初始群体中每一个待组试卷中的同一题段的相同题型的试题进行任意两两配对,对每对试题产生一个[0,N-2]的随机数r,r即为分段点,将r后的两道题目互换(保证分值相加一样)得到下一代。交叉后生成的子代有可能因存在重复的题号而非法。出现这种情况要将出现的题号换成该段中没有出现过的题号,这样重新得到新子代群体。
7)计算两个交叉后的待组试卷的适应度;
按照步骤3)中描述的方法计算交叉后的待组试卷的适应度,在此不再详述。
8)判断交叉后的待组试卷的适应度是否达到预先设定的标准;若是,则转到步骤10);否则,进入下一步;
其中,预先设定的标准同步骤4)中的标准,故不再详述
9)对交叉后的待组试卷进行变异操作,然后得到两个交叉后的待组试卷,返回步骤3),直到得到最终试卷。
针对待组试卷中所有试题在[1,N]范围内随机生成一个变异位置T,再根据与原试题题型相同的、分数相同或与至少包含原题目一个有效知识点(期望试卷中也有此知识点)从题库中选取试题进行替换。
需要说明的是,在遗传算法中,通常变异的概率一般较小,本发明实施例不进行分段变异,而只是针对某段上的某个试题进行变异。
10)结束,得到最终试卷。
综上所述,本发明重复步骤3)-9)直到得到最终试卷。
上述各实施例仅用于说明本发明,其中各部件的结构、连接方式和制作工艺等都是可以有所变化的,凡是在本发明技术方案的基础上进行的等同变换和改进,均不应排除在本发明的保护范围之外。
Claims (2)
1.一种利用遗传算法针对题库中的试题进行自动组卷的方法,它包括以下步骤:
1)针对题库中所有试题编号进行实数编码;
2)根据待组试卷的总题数、题型比例和总分,从实数编码后的题库中的试题随机生成由M个待组试卷组成的初始种群,每个待组试卷有N个试题组成;
3)计算初始种群中每个待组试卷的适应度;
4)判断每个待组试卷的适应度是否达到预先设定的标准,若是,则转到步骤10);否则,进入下一步;
5)采用轮盘赌方法利用适应度对群体中的待组试卷进行选择操作,得到第一个待组试卷,然后对群体中剩余的待组试卷进行选择操作,得到第二个待组试卷;
6)针对第一个待组试卷和第二个待组试卷,随机产生一个[0,N-2]的随机数r,将r后的题目交叉操作,得到两个交叉后的待组试卷;
7)计算两个交叉后的待组试卷的适应度;
8)判断交叉后的待组试卷的适应度是否达到预先设定的标准;若是,则转到步骤10);否则,进入下一步;
9)对交叉后的待组试卷进行变异操作,然后得到两个交叉后的待组试卷,返回步骤3),直到得到最终试卷;
10)结束,得到最终试卷。
2.根据权利要求1所述的利用遗传算法针对题库中的试题进行自动组卷的方法,其特征在于:所述步骤3)包括以下内容:
试卷难度系数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-(1-m/t)*f1-|EP-P|*f2
其中,f1为知识点分布的权重,f2为难度系数P所占权重。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610117477.7A CN105825270A (zh) | 2016-03-03 | 2016-03-03 | 利用遗传算法针对题库中的试题进行自动组卷的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610117477.7A CN105825270A (zh) | 2016-03-03 | 2016-03-03 | 利用遗传算法针对题库中的试题进行自动组卷的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105825270A true CN105825270A (zh) | 2016-08-03 |
Family
ID=56988071
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610117477.7A Pending CN105825270A (zh) | 2016-03-03 | 2016-03-03 | 利用遗传算法针对题库中的试题进行自动组卷的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105825270A (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106548432A (zh) * | 2016-11-03 | 2017-03-29 | 中建八局第建设有限公司 | 建筑工人考核方法、装置及服务器 |
CN106710344A (zh) * | 2017-02-13 | 2017-05-24 | 盐城工学院 | 计算机应用考试*** |
CN107194743A (zh) * | 2017-06-19 | 2017-09-22 | 腾讯科技(深圳)有限公司 | 一种网络调查问卷生成方法和装置 |
CN107480765A (zh) * | 2017-07-04 | 2017-12-15 | 北京奥鹏远程教育中心有限公司 | 遗传和蚁群混合算法在组卷中的应用方法及装置 |
CN107918655A (zh) * | 2017-11-16 | 2018-04-17 | 重庆三峡学院 | 一种试卷生成管理控制***及控制方法 |
CN109118402A (zh) * | 2018-08-31 | 2019-01-01 | 中国人民解放军军事科学院评估论证研究中心 | 一种军队干部在线学习考核评估***及方法 |
CN109241516A (zh) * | 2018-10-30 | 2019-01-18 | 辽宁科技大学 | 一种基于改进遗传算法的智能组卷方法 |
CN109559264A (zh) * | 2018-11-27 | 2019-04-02 | 深圳市关运通科技有限公司 | 一种基于试题库的考试方法和装置 |
CN109918406A (zh) * | 2019-01-27 | 2019-06-21 | 浙江工业大学 | 一种基于最大团算法的自动等质组卷方法及组卷*** |
CN110147953A (zh) * | 2019-05-16 | 2019-08-20 | 电子科技大学 | 一种调查问卷自动生成方法 |
CN111427925A (zh) * | 2020-03-20 | 2020-07-17 | 北京易真学思教育科技有限公司 | 组卷方法、装置、设备及存储介质 |
CN111667070A (zh) * | 2020-05-06 | 2020-09-15 | 华东师范大学 | 一种基于遗传算法的智能组卷方法 |
-
2016
- 2016-03-03 CN CN201610117477.7A patent/CN105825270A/zh active Pending
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106548432A (zh) * | 2016-11-03 | 2017-03-29 | 中建八局第建设有限公司 | 建筑工人考核方法、装置及服务器 |
CN106548432B (zh) * | 2016-11-03 | 2021-06-18 | 中建八局第一建设有限公司 | 建筑工人考核方法、装置及服务器 |
CN106710344A (zh) * | 2017-02-13 | 2017-05-24 | 盐城工学院 | 计算机应用考试*** |
CN107194743B (zh) * | 2017-06-19 | 2019-04-09 | 腾讯科技(深圳)有限公司 | 一种网络调查问卷生成方法和装置 |
CN107194743A (zh) * | 2017-06-19 | 2017-09-22 | 腾讯科技(深圳)有限公司 | 一种网络调查问卷生成方法和装置 |
CN107480765A (zh) * | 2017-07-04 | 2017-12-15 | 北京奥鹏远程教育中心有限公司 | 遗传和蚁群混合算法在组卷中的应用方法及装置 |
CN107918655A (zh) * | 2017-11-16 | 2018-04-17 | 重庆三峡学院 | 一种试卷生成管理控制***及控制方法 |
CN109118402A (zh) * | 2018-08-31 | 2019-01-01 | 中国人民解放军军事科学院评估论证研究中心 | 一种军队干部在线学习考核评估***及方法 |
CN109118402B (zh) * | 2018-08-31 | 2021-12-07 | 中国人民解放军军事科学院评估论证研究中心 | 一种军队干部在线学习考核评估***及方法 |
CN109241516A (zh) * | 2018-10-30 | 2019-01-18 | 辽宁科技大学 | 一种基于改进遗传算法的智能组卷方法 |
CN109559264A (zh) * | 2018-11-27 | 2019-04-02 | 深圳市关运通科技有限公司 | 一种基于试题库的考试方法和装置 |
CN109918406A (zh) * | 2019-01-27 | 2019-06-21 | 浙江工业大学 | 一种基于最大团算法的自动等质组卷方法及组卷*** |
CN110147953A (zh) * | 2019-05-16 | 2019-08-20 | 电子科技大学 | 一种调查问卷自动生成方法 |
CN110147953B (zh) * | 2019-05-16 | 2023-01-10 | 电子科技大学 | 一种调查问卷自动生成方法 |
CN111427925A (zh) * | 2020-03-20 | 2020-07-17 | 北京易真学思教育科技有限公司 | 组卷方法、装置、设备及存储介质 |
CN111667070A (zh) * | 2020-05-06 | 2020-09-15 | 华东师范大学 | 一种基于遗传算法的智能组卷方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105825270A (zh) | 利用遗传算法针对题库中的试题进行自动组卷的方法 | |
CN106528433B (zh) | 一种用于白盒测试的测试用例优先级排序方法 | |
CN103593287B (zh) | 一种基于遗传算法的数据流测试用例自动生成方法 | |
CN110033164B (zh) | 一种水库群联合防洪调度的风险评估与决策方法 | |
CN111709244A (zh) | 一种用于矛盾纠纷事件因果关系识别的深度学习方法 | |
CN102323906A (zh) | 一种基于遗传算法的mc/dc测试数据自动生成方法 | |
CN106777402B (zh) | 一种基于稀疏神经网络的图像检索文本方法 | |
Kim et al. | Single-reservoir operating rules for a year using multiobjective genetic algorithm | |
Chiou et al. | Stepwise genetic fuzzy logic signal control under mixed traffic conditions | |
CN107368613A (zh) | 短文本情感分析方法及装置 | |
CN107122616A (zh) | 一种地下水水质的多指标正态云综合评价方法 | |
Chauvet et al. | Using a forest dynamics model to link community assembly processes and traits structure | |
CN104504627A (zh) | 一种利用遗传算法的自动组卷方法 | |
CN104866918A (zh) | 带有水电站的配电网短期负荷预测方法 | |
Hong et al. | Fast analysis of optimal improved-oil-recovery switch time using a two-factor production model and least-squares Monte Carlo algorithm | |
CN101853202B (zh) | 一种基于遗传算法和带权匹配算法的测试案例自动生成方法 | |
CN104809890A (zh) | 基于主成分分析和局部搜索改进正交遗传算法的交通信号配时优化方法 | |
CN1588308A (zh) | 采用改进遗传算法的试题库自动组卷实现方法 | |
CN104332051A (zh) | 城市道路rfid检测器优化布设方法 | |
Teodorovic et al. | Genetic algorithms approach to the problem of the automated vehicle identification equipment locations | |
Olsson et al. | Probabilistic building block identification for the optimal design and rehabilitation of water distribution systems | |
CN109002878A (zh) | 一种ga优化bp神经网络 | |
Michalski et al. | Learning problem-oriented decision structures from decision rules: The aqdt-2 system | |
CN103995750B (zh) | 一种多Agent***非对称分布式约束优化方法 | |
CN114862071A (zh) | 水平定向钻进扩孔扭矩预测方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160803 |
|
RJ01 | Rejection of invention patent application after publication |