遗传算法(二)之组卷算法
组卷算法主要用于编制科学、公正的试卷的一种算法,具体大家可以百度看一下。我这篇文章主要是讲解如何通过遗传算法来实现组卷,遗传算法大家不清楚的地方仍然可以查看百度,不是这篇文章的重点。
一、遗传算法的表示
基本遗传算法(SGA)可以定义为一个8元数组:
。
其中:
C:个体的编码,SGA种一般采用固定长度的二进制编码;
E:适应度评价函数;
:初始种群;
M:群体大小,一般取20;
:选择算子;
:交叉算子;
:变异算子
T:结束条件
二、遗传算法的设计
遗传算法的设计通常有以下5个步骤:
1、编码方案的确定
编码对遗传算法的效率、解空间的收敛程度有很大的影响。如何把现实问题,转化为算法的使用的编码,也是一个难度比较大的问题。
2、选择适应度评价函数
好的适应度函数能把种群的优劣程度充分、准确的体现出来,能让遗传算法在目标空间中更快的找到近优解。
3、初始化参数
参数主要是包括:种群数目M,交叉概率,变异概率以及迭代的代数。
4、算子的设计
算子主要包括选择算子、交叉算子、变异算子等
5、终止条件
终止条件是要是根据求解的性质,在质量和效率上做出合理的均衡和侧重。
三、基于遗传算法的组卷实现
1、组卷问题的数学模型
一套题目包含n个属性指标,如:章节、难度、题型等;一套试题
是有m个题目数,这样就构成了一个的矩阵。
对于这个矩阵应该满足
(1)试卷的总分是一个常数G,例如100分;
(2)各题型的分数也是一个常数,例如填空题多少分,选择题多少分。
是个常数,M表示每个题型占总分的比例。
(3)各难度系数所占试卷的比值一般也是一个常数,
2、染色体的编码
题库中有L个待选题目,我们用一个长度为L的01字符串来表示,0表示题未被选中,1表示题选中。这样每一个试卷都对应了一个长度为L的二进制字符串,称为染色体。
3、目标函数
我们可以把上述约束条件转化为目标函数,设(i=1,....p,p为要求的难度系统的总和)为难度要求为i的实际总分值与要求的总分值的偏差,偏差的平均值就为
;
同理,(i=1,...q,q为试题的总类型数)为实际试题类型第i章所占的分数与试题要求的分数之间的偏差,偏差的平均值就为
;每种偏差要求的权重为
其中
那我们的目标函数就为:
f越小选出的试题越好。
4、初始种群
一套试卷结构表为:
题型 |
填空题 |
选择题 |
判断题 |
简答题 |
综合题 |
总分数 |
10 |
10 |
10 |
30 |
40 |
每题分数 |
1 |
1 |
1 |
10 |
20 |
数目 |
10 |
10 |
10 |
3 |
2 |
题库数据表
题型 |
填空题 |
选择题 |
判断题 |
简答题 |
综合题 |
每题分数 |
1 |
1 |
10 |
30 |
20 |
难度系数 |
0.85~1 |
0.76~0.86 |
0.40~0.76 |
0.23~0.39 |
0.0~0.22 |
数目 |
50 |
150 |
70 |
30 |
20 |
假设,一套试题总分100分,综合难度系统为0.55,也就是说,期望得分为55分。
四、代码实现
参考背包问题的实现。
转载于:https://www.cnblogs.com/bigdatafly/p/5002461.html
遗传算法(二)之组卷算法相关推荐
- Java使用遗传算法实现智能组卷
遗传算法实现智能组卷 0.需求:用户选择知识点.年级.难度系数.题型.题目总数量,一键智能生成试卷,如下 1.遗传算法: 1.0 参考博文: 理论概念详解:https://www.jianshu.co ...
- 基于遗传算法实现自动组卷
转自 http://www.cnblogs.com/liulang/articles/1614311.html 1 遗传算法介绍 1.1 遗传算法概要 遗传算法是模拟达尔文的遗传选择和自然淘汰的生物 ...
- 基于遗传算法的试题组卷
基于遗传算法的试题组卷 IT企业每年都会在春季和秋季举行校园招聘,对于个性化定制的试卷需求量很大,如何组出又好又快的定制化试题对于IT企业非常重要.组卷技术主要针对知识点覆盖率,题型,难度系数,试题数 ...
- 遗传算法在自动组卷中的应用
遗传算法 遗传算法(Genetic Algorithm)是一种模拟自然界的进化规律-优胜劣汰演化来的随机搜索算法,其在解决多种约束条件下的最优解这类问题上具有优秀的表现. 1. 基本概念 在遗传算法中 ...
- 渐进式遗传组卷算法(大规模题库,实际可用的算法) 智能组卷系统
基本遗传算法的缺陷分析:设一套题共需5种题型,共20道题目.设每道题在题库中有100道侯选题目.那么总共的组卷空间大小大约是10020 ,假设遗传算法的种群大小为1000,叠代1000次,那么最多搜索 ...
- 组卷系统php遗传算法,基于遗传算法的智能组卷系统实现
考试作为教育测量学和教育统计学和的基本原理,不仅是对学生学习能力和知识水平的检验方式,也是对教师教育教学水平评价和体现的重要手段之一.如何更加客观公正地反映学生的学习状况,全面地掌握和评价教师的教学工 ...
- 基于粒子群算法的组卷系统的研究与实现
摘 要 组卷系统的主要任务是根据用户的需要用当前数据库中的试题组成一套符合用户需求的试卷.随着数据库与题量增大,传统采用随机选取和回朔试探法的组卷抽提算法因其抽题时间长,占用的空间复杂度太大,容易陷入 ...
- java实现自动组卷要用什么算法_基于Java的自动组卷系统的实现
基于 的 自动组卷系统的实现李桂玲 四平职业 大学计葬机工程 系 引言 考试作为教学测评的最主要的手段 , 其规范性 . 科学性以及考试工作的组织 . 管理等 , 直接关系到教学测评的准确性和客观性 ...
- 协同进化遗传算法 代码_遗传算法在组卷中的应用
最近看到之前做的项目,是关于使用遗传算法实现智能组卷的.所以这次为大家分享遗传算法的基本原理,以及在实际场景中的应用. "揭开算法神秘的面纱" 在学习计算机相关知识时,我们必定会遇 ...
最新文章
- linux socket 时间,Socket编程获取服务器时间
- vue后端框架mysql_springboot + vue 前后端结合·数据库查询
- java.lang.Object错误
- ie8 html 语音标签,让IE8支持html5中的video标签
- Unity面试题精选(5)
- [SQL Native Client] 命名管道提供程序:无法打开与 Sql Server 的连接[2]
- 十年站长人生路不言放弃 访资深个人站长游伟
- nexus搭建maven私服及私服jar包上传和下载
- 最全面的PLC学习网站
- 高数:第三章(同济大学第七版)
- ASP.NET商贸进销存管理系统源码(带数据库文档)源码免费分享
- 2019春c语言程序设计答案,知到C语言程序设计(2019春)答案全套
- ps中100%比例放大图片显示的快捷键
- android 自定义太阳,第一个AOSP安卓10自定义ROM已经可用,并且非常稳定
- QInputDialog,QTextEdit,QLineEdit,Qt右键菜单英文转中文问题
- 创客思维在高等教育中的启迪作用
- redis关于hash的常用命令
- 百度竞价点击价格怎么算
- Cortex-M MMU内存管理单元和 Linux
- 802.11n关键技术