渐进式遗传组卷算法(大规模题库,实际可用的算法) 智能组卷系统
基本遗传算法的缺陷分析:设一套题共需5种题型,共20道题目。设每道题在题库中有100道侯选题目。那么总共的组卷空间大小大约是10020 ,假设遗传算法的种群大小为1000,叠代1000次,那么最多搜索个体数量为1003 ,可见传统遗传算法的整个搜索空间相对组卷空间的大小来说,是一个非常小的区域。所以传统遗传算法搜索后期效率低并极易出现末成熟收敛的情况。
1.渐进式的遗传算法的具体步骤
(1) 先将试题按各属性粗略分类,例如将难度按0.2的间隔分为5个等级,处于同一个等级内的试题,可以看作是难度大致相同。将区分度分为5个等级。试题按这两种属性只有5*5=25种不同类型的题。同理也可将其他属性加入。通过这样一个粗略的分类,将很大程度的降低试题的类型数。
(2) 根据实际的试题库,算出每个类的参数指标。其中包括类中的试题数目N,类中试题各属性的平均值,类中试题各属性的方差。
(3) 用类中试题各属性的平均值代表类所对应的试题属性,组卷首先在类上进行。根据类组出的试卷,本文称作组卷模式。
(4) 对于每种组卷模式,计算它的总目标函数值记为f(X),并引入罚函数g(X),表示它的模式优劣性(例如:统计一套组卷模式中属于每个类的试题数目,若它大于步骤2中统计出来的类的试题数目N,那么此模式不可行。若某个类中试题数目很多,则可以多选用此类中的试题,因为它在细化的时候有更多的选择)。根据这两个函数值计算出组卷模式的适应度,并使用遗传算法来得到较优的组卷模式。
(5) 在每个组卷模式基础上,将每个类进一步划分成更细的类,用遗传算法得到更细致的组卷模式。
(6)将组卷模式中每一个类换成类中具体的试题,用遗传算法得到最终组卷方案。
2.渐进式遗传算法应用于智能组卷系统的优点
(1)如果想组出一套难度适中的试卷,那么由大部分试题属于难度非常大(或非常小)的类的组卷模式将不会采用,这样可以去掉许多无用的搜索空间,从而节约时间。
(2)由属性相近的题互换而产生的不同组卷方案在模式中都算作一种,因此每种模式都是合并了大量相似方案后的一个等价类代表,这样就减少了搜索的范围。
(3)不同组卷模式下的组卷方案相对独立,这样即可以保证遗传算法中种群的多样性,又可以避免由于模式交叉而产生的无用组卷方案。
我的淘宝小店:广西桂圆
淘宝掌柜:广西桂圆
转载于:https://www.cnblogs.com/feathersky/archive/2010/05/05/1727898.html
渐进式遗传组卷算法(大规模题库,实际可用的算法) 智能组卷系统相关推荐
- 浪潮NF5568M4落地猿题库 让机器老师更智能
近年来人工智能开始真正进入了人们的生活,开始与各行业应用融合,并让原有的应用更高效.更智能.比如在在线教育行业,"小猿搜题"运用浪潮NF5568M4 GPU服务器将其线下模型训练时 ...
- 数据结构与算法 经典题库练习
文章目录 一.字符串.时间复杂度与逻辑思维训练 1.Z字形变换 2.字符串转换整数(atoi) 3.字符流中第一个不重复的字符 4.小易的英语软件 二.指针.数组.链表组合练习 5.盛最多水的容器 6 ...
- 算法题库 java实现_LeetCode算法题-Most Common Word(Java实现)
这是悦乐书的第321次更新,第342篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第190题(顺位题号是819).给定一个段落和一组禁止词,返回不在禁止词列表中的最常用词 ...
- 线性表算法题库_数据结构与算法(线性表)练习题
.word 资料 . 三.写一个算法合并两个已排序的线性表. (用两种方法:数组表示的线性表(顺序表)和 指针表示的线性表(链表) ) 要求: 1 .定义线性表节点的结构,并定义节点的型和位置的型. ...
- Leetcode题库 119.杨辉三角(单数组迭代 C实现)
文章目录 解析 思路 效果 代码 解析 ret:存储迭代数组 思路 ret数组: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 -- 迭代公式:ret[i]= ...
- 华为OD机试2023年最新题库(JAVA、Python、C++)
我是一名软件开发培训机构老师,我的学生已经有上百人通过了华为OD机试,学生们每次考完试,会把题目拿出来一起交流分享. 2023年5月份题库已经更新为OD统一考试(B卷),题库由三部分组成: 1.202 ...
- 两个listmap合并去重_我是如何用单机实现亿级规模题库去重的?
题外话:欢迎将公众号设置为星标,技术文章第一时间看到.我们将一如既往精选技术好文,提供有价值的阅读.如有读者想要投稿,可以在公众号任意文章下留言,技术博主奖励丰厚. 作者:haolujun cnblo ...
- 两个listmap合并去重_单机亿级规模题库去重,如果是你会怎么做?
作者:haolujun原文:https://www.cnblogs.com/haolujun/p/8399275.html 背景 最近工作中遇到了一个问题:如何对大规模题库去重?公司经过多年的积累,有 ...
- 基于区块链的Smart系统-题库及试卷管理模块的设计与开发
1引言 1.1课题背景 随着网络技术的飞速发展,现在很多国外的大学和社会其他部门都已经开设了远程教育,通过计算机网络实现异地教育和培训.现在,计算机硬件技术的发展已经达到了相当高的水平.但是,远程 ...
最新文章
- MFC Initinstance中DoModal()返回-1
- Hibernate基础小案例
- 全链路灰度这样做,新需求迭代上线也能放心干饭
- Go Web:HttpRouter路由(一)
- dom内容区域的滚动overflow,scroll
- 解决阿里云主机受到攻击的问题 2
- HDU 1114 iggy-Bank(完全背包)
- PHP超级全局变量、魔术变量和魔术函数
- 【Python PE解析器】——制作解析PE文件软件 并进行编译EXE程序 并打包为单个安装程序(全程详细包资料)
- r语言library什么意思_关于R语言,你需要知道什么?
- 【JVM学习笔记】-字节码-第一章(多图,多表,实操)
- MAYA oceanShader/海洋(纹理)
- v2ex 非计算机专业,计算机的在职研究生值得考吗?
- linux卸载集群oracle,Oracle RAC集群卸载步骤
- 贪心——绝对值不等式——货仓选址
- 用sdk画三叶玫瑰曲线
- 35dir分类目录伪静态规则文件全网最全.htaccess,httpd.ini,web.config
- 关于在simulink中使用s-function后出现State derivatives returned by S-function during flag=1 call must be a rea
- Contiki中MAC层与RDC层
- 如何在不同情况下对别人表示赞美?