智能在线考试系统中遗传算法组卷的设计和实现
- 格式:pdf
- 大小:1.29 MB
- 文档页数:3
基于遗传算法组卷系统中遗传算子的设计与实现摘要:随着计算机技术的不断发展,人们对于智能化教育的需求越来越高。
而考试评价作为一种重要的教育评价方式,在现代教育中得到广泛应用。
为了提高考试评价的效率和精度,本文提出了一种基于遗传算法的组卷系统,并详细介绍了其中遗传算子的设计和实现过程。
关键词:遗传算法;组卷系统;遗传算子一、引言考试评价是现代教育中常用的一种教育评价方式,其在教育教学中具有重要的地位。
而随着计算机技术的不断发展,人们对于智能化教育的需求越来越高。
基于此,本文提出了一种基于遗传算法的组卷系统,旨在提高考试评价的效率和精度。
本文主要介绍了该系统中遗传算子的设计和实现过程。
二、遗传算法遗传算法是一种模拟自然界进化过程的优化算法。
其基本思想是通过模拟自然界中的遗传、变异、选择等过程,不断优化解的质量。
遗传算法主要包括以下几个步骤:1. 初始化种群。
随机生成一定数量的个体作为初始种群。
2. 适应度函数。
根据问题的特点,设计适应度函数,用于评价个体的适应度。
3. 选择操作。
根据适应度函数的值,选择优秀的个体进行交叉和变异操作。
体。
5. 变异操作。
对个体的染色体进行变异操作,引入新的基因。
6. 终止条件。
达到预定的迭代次数或者满足一定的收敛条件时,停止算法。
三、组卷系统组卷系统是一种用于生成试卷的软件系统。
其主要功能包括试卷的生成、修改、保存和打印等。
组卷系统主要由以下几个模块组成: 1. 题库管理模块。
用于管理试题库中的试题,包括试题的录入、修改、删除和查询等。
2. 试卷生成模块。
根据用户的要求,从试题库中生成试卷。
3. 试卷修改模块。
用于对已生成的试卷进行修改。
4. 试卷保存模块。
将已生成或修改的试卷保存到数据库中。
5. 试卷打印模块。
将已生成或修改的试卷打印出来。
四、遗传算法在组卷系统中的应用在组卷系统中,我们可以将试题看作是个体,试卷看作是种群。
然后根据试卷的质量(如难度、区分度、覆盖面等)设计适应度函数,用于评价试卷的质量。
《智能组卷在线考试系统的设计与实现》15
⼀、基本信息
标题:《智能组卷在线考试系统的设计与实现》
时间:2012
来源:苏州⼤学学位论⽂
关键字:在线考试, 智能组卷, 遗传算法,B/S 模式,考试评价
⼆、研究内容
内容:本⽂从分析总结在线考试系统的历史、现状和发展趋势出发,详细分析了⽹络化在线考试系统的业务需求,提出了相应的整体解决⽅案,设计了系统的软件模型,根据试卷性能评价指标建⽴了组卷数学模型,将遗传算法应⽤于组卷过程。
在此基础上设计实现了⼀个在线考试系统,该系统包括⽤户管理、试题管理、随机组卷、固定组卷、难度抽题、在线考试、⾃动阅卷、考⽣答题分析和成绩查询等功模块。
该系统采⽤ B/S 模式,以 为编程语⾔,以 SQL Server 2008 作为数据库平台。
流程图:
三:总结:
利⽤ UML 统⼀建模语⾔,对系统进⾏了详尽的需求分析,提出了总体设计⽅案,给出了系统的数据流图,并对重要模块的主要功能设计做了描述,对数据库的概念结构、逻辑结构和物理结构进⾏了详细的设计。
结合组卷相关理论以及选题策略的需求,构建了题型、题量、内容、难易程度等分布合理的⾼质量试题库,对组卷算法进⾏了研究与分析,终确定了统所采⽤的组卷策略及相应的算法,并给出了具体的实现步骤,为整个考试系统的建⽴奠定了坚实的基础。
基于改进遗传算法的智能组卷系统设计智能组卷系统是一种应用人工智能技术的教育辅助工具,旨在通过自动化的方式生成试卷。
改进遗传算法是一种优化算法,可以用于优化智能组卷系统中的试题选择和试卷生成过程。
本文将介绍基于改进遗传算法的智能组卷系统的设计。
智能组卷系统需要一个试题库作为基础。
试题库中存储了各种类型的试题和试题的难度系数。
根据教学要求和知识点覆盖范围,系统需要从试题库中选择合适的试题来生成试卷。
在传统的遗传算法中,使用二进制编码来表示个体,每个个体对应一个试卷的一种组合方式。
然后通过遗传算子(交叉和变异)来产生新的个体,并通过适应度函数来评估个体的适应度。
在智能组卷系统中,适应度函数的设计比较复杂,需要考虑试题的多样性、难易程度和知识点的覆盖程度等多个因素。
本文将改进传统的遗传算法,使其更适用于智能组卷系统的设计。
改进后的遗传算法在个体编码上进行改变,采用实数编码来表示试卷的组合方式。
每个个体由一个实数序列表示,序列中的每个数值表示对应位置的试题在试卷中的比例。
通过交叉操作和变异操作来产生新的个体,并通过适应度函数来评估个体的适应度。
适应度函数的设计是改进遗传算法的关键。
适应度函数包括试题的多样性、难易程度和知识点的覆盖程度等多个因素。
为了提高试卷的多样性,可以引入多样性指标来评估试卷中试题的差异程度。
为了保证试卷的难易程度,可以将试题的难度系数和试卷的难度系数进行比较。
为了保证试卷的知识点覆盖程度,可以计算试题和试卷中知识点的匹配程度。
通过改进遗传算法,智能组卷系统可以快速生成满足教学要求的试卷。
系统根据教学要求和知识点覆盖范围,从试题库中选择合适的试题,并通过改进遗传算法生成试卷。
生成的试卷可以满足试题多样性、难易程度和知识点覆盖等要求。
基于改进遗传算法的智能组卷系统设计可以提高试卷生成的效率和质量,减轻教师的负担,促进教学工作的智能化。
未来,可以进一步研究和改进智能组卷系统的设计和算法,以适应不同的教学要求和知识点覆盖范围。
基于多目标遗传算法的智能组卷系统设计随着人工智能技术的不断发展和应用,智能组卷系统也逐渐受到关注和重视。
智能组卷系统是指利用计算机技术自动地生成试卷和题目的系统。
智能组卷系统不仅可以提高试卷的生成效率,节省人力和时间成本,同时还可以保证试卷的科学性和合理性,避免人为因素带来的试题偏差,同时也可以满足不同考生的个性化需求。
智能组卷系统主要包含两个方面的技术:一方面是试卷组合技术,另一方面是试题选择技术。
试卷组合技术主要是指如何将不同难度、不同类型的试题组合成为一份科学合理的试卷。
试题选择技术主要是指如何从试题库中选择出最优的试题,使得生成的试卷符合科学和实际需求。
而多目标遗传算法正是智能组卷系统中用于解决试卷组合和试题选择问题的关键方法之一。
多目标遗传算法是遗传算法的一个分支,它是一种通过模拟生物进化方式来解决多目标优化问题的算法。
相比于传统的优化算法,多目标遗传算法具有更高的灵活性和可靠性。
因此,它可以应用于许多优化问题中。
在智能组卷系统中,多目标遗传算法可以利用遗传操作(如选择、交叉、变异等)对试题进行筛选和优化。
通过遗传搜索,系统可以自动地将试题进行组合,并产生优质的试卷。
同时,多目标遗传算法可以利用相应的优化目标函数,如试题的难度、区分度、覆盖度、多样性等,进行试题筛选和优化。
多目标遗传算法的优点在于,他可以自适应地从多个方面对试题进行筛选和优化,并且可以同时优化多个目标。
这种优化方式可以产生更多更好的试题组合方案,以及最优的试卷组合方案。
同时,多目标遗传算法还可以通过评估不同试题之间的关联性,选择出具有较高互补性和多样性的试题,从而使得生成的试卷更具有科学性和实用性。
当然,多目标遗传算法作为一种优化方法并非完美的,在实际应用过程中仍存在一些缺陷和挑战。
例如,一些试题可能存在高度相关性,可能会导致试卷的平衡性和公平性下降。
此外,随着试题数量和复杂性的增加,多目标遗传算法的计算量也会大幅增加,需要更快的算法和更高效的方法来提高试卷的生成速度。
基于遗传算法的在线考试系统的设计与实现随着网络技术的迅速发展和普及,越来越多的高校和企事业单位开始采用在线考试系统来管理和评估考生的能力水平。
而在这些系统中,如何设计出一套完善的考试算法,是保证考试公正性和准确性的一个关键问题。
基于此,本文将重点介绍一种基于遗传算法的在线考试系统的设计与实现。
一、系统架构首先,我们先为该考试系统设计了一个全新的架构。
具体来说,该架构主要由以下几个模块组成:(1)用户管理模块:负责管理考生账号,包括账号的注册、登录、密码修改等功能。
(2)题库管理模块:负责维护和管理系统中的所有题目,包括题目类型、难度等级、答案等信息。
(3)试卷管理模块:负责生成试卷、评分等工作。
(4)考试管理模块:负责考试的全过程,包括考试时间、考试安排、考试结果等。
(5)遗传算法优化模块:主要使用遗传算法来完成试卷生成和答案评分的优化工作。
二、遗传算法优化遗传算法是一种基于自然选择理论的优化方法,可以模拟生物进化的过程,通过选择、交叉和变异等操作来迭代搜索最优解。
在该在线考试系统中,我们利用遗传算法来优化试卷生成和答案评分过程,具体步骤如下:(1)初始化种群:随机生成一个由若干试卷组成的初始种群。
(2)评估适应度:根据试卷的得分情况来计算每个试卷的适应度值,并将其排序。
(3)选择操作:随机选择一部分适应度高的个体,将其作为“父代”来进行交叉和变异操作。
(4)交叉操作:随机选择两个父代,并通过交叉操作生成两个新的“子代”。
(5)变异操作:将每个子代的一部分题目进行变异操作,以增加多样性并保持种群的搜索空间。
(6)重新评估适应度:计算新一代试卷的适应度值,并将其加入种群中。
(7)迭代搜索:重复步骤2-6,直到达到指定的最大迭代次数或者找到最优解为止。
三、系统实现最后,我们使用Java技术来实现了上述在线考试系统的逻辑和算法部分。
具体来说,我们使用了SpringMVC作为系统的框架,MyBatis作为系统的ORM工具,同时使用了jQuery和Bootstrap来实现前端页面的开发。
基于改进遗传算法的智能组卷系统设计随着社会的发展和教育技术的进步,智能化教育已经成为教育领域的热点之一。
智能组卷系统作为智能化教育的重要组成部分,可以根据学生的水平和需求,自动生成符合教学目标和教学大纲要求的试卷,极大地提高了教学效率和教学质量。
而其中的核心算法——遗传算法,正成为智能组卷系统中的关键技术之一。
本文将基于改进遗传算法的智能组卷系统进行设计,从算法理论到系统实现,完整地阐述智能组卷系统的设计流程及技术细节。
一、遗传算法简介遗传算法是一种模仿自然界生物进化过程,通过模拟自然选择、交叉和变异等操作来搜索最优解的启发式优化算法。
其基本过程如下:1. 初始化种群:随机生成一定数量的个体,构成初始种群。
2. 选择操作:根据个体适应度大小,选择出优良的个体来遗传下一代。
3. 交叉操作:选取两个适应度较好的个体,进行染色体部分交换,生成新个体。
4. 变异操作:对新生成的个体进行一定概率的变异操作,引入新的个体特征。
5. 评估操作:对新生成的个体进行适应度评估。
6. 替换操作:根据适应度大小,选择新生成的个体替换原种群中适应度较低的个体。
7. 结束条件:当满足一定的结束条件时,算法结束,输出最优解。
遗传算法通过不断地迭代进化,最终找到全局最优解或近似最优解,具有较高的全局寻优能力和较强的鲁棒性。
二、智能组卷系统设计1. 系统架构智能组卷系统包括试题库管理模块、试卷组卷模块和考试管理模块三个主要组成部分。
试题库管理模块负责试题的录入、分类和存储;试卷组卷模块负责根据教学大纲和考试要求,自动生成符合要求的试卷;考试管理模块负责考试安排、监督和结果分析等。
2. 算法设计(1)试题表示:每道试题可以用一个向量来表示,向量中的每个元素代表试题的各项属性,如难度、知识点、类型等。
试题向量可以表示为:[难度系数,知识点1, 知识点2, 类型]。
(2)试卷表示:试卷可以用一个二维矩阵来表示,矩阵的每一行代表一道试题的向量。
基于遗传算法的在线考试系统的设计与实现基于遗传算法的在线考试系统是一种利用遗传算法来优化考试试卷的系统。
遗传算法是一种基于自然进化原理的优化算法,通过模拟自然选择、交叉和变异等过程,寻求最优解。
这种在线考试系统的设计主要涉及以下几个方面:
1.试题库的建立:建立一个包含不同难易程度、覆盖面广的试题库。
2.试卷生成机制的设计:将试题库中的试题按照一定规则组合成试卷。
例如可以根据试题的难度等级、知识点覆盖面等指标来进行组合。
3.遗传算法的集成:采用遗传算法对试卷进行优化,通过对试卷的组合方式、试题难度等进行遗传操作和评估,以寻求最优解。
4.学习者答题分析与反馈:根据学习者的答题情况进行分析,提供个性化的反馈和学习建议,以帮助学习者更好地掌握知识点。
基于遗传算法的在线考试系统的优点是可以提高试卷质量和学习成效,同时能够更好地满足学习者个性化的需求。
但是也需要注意遗传算法的优化结果是否具有一定的随机性,以及试卷组合方式是否能够真实地反映出学习者的知识水平等问题。
基于改进遗传算法的智能组卷系统设计智能组卷系统是一种能够根据给定的题库和考试要求,自动生成合理的试题组卷的系统。
为了提高组卷的效率和质量,本文提出了基于改进遗传算法的智能组卷系统设计。
需要建立一个题库,题库中包含各个科目的试题,每个试题都有题目、选项、答案和难度等信息。
然后,根据考试的要求和限制条件,确定试卷的总题量、每个科目的题量以及各个科目的分值比例等信息。
接下来,通过改进的遗传算法来实现智能组卷。
遗传算法是模拟生物进化过程的一种算法,通过对试题的编码、交叉、变异等操作,生成一组符合要求的试卷。
将试题编码为二进制串,每个试题的编码都包含了题目、选项、答案和难度等信息。
然后,通过交叉操作,将两个编码进行随机交叉,生成新的编码。
交叉的位置可以根据试题的难度和重要性来确定,以保证生成的试卷能够覆盖各个难度和重要程度的试题。
接着,通过变异操作,对编码进行随机的变异,引入新的试题,增加试卷的多样性和随机性。
变异的概率可以根据试题的数量和要求来确定,以充分利用题库中的试题。
然后,通过适应度函数来评估生成的试卷的质量。
适应度函数可以考虑试题的难度、知识点的分布和试卷的平衡性等因素,以找到最优的试卷组合。
通过迭代的方式,不断生成和评估试卷,直到生成满足要求的试卷组合。
在每次迭代中,根据适应度函数对试卷进行评估,选择适应度高的试卷作为下一代的父代,然后通过交叉和变异操作生成新的试卷,再进行评估和选择,直到达到停止条件。
基于改进遗传算法的智能组卷系统设计可以有效地解决试卷组卷的问题,提高组卷的效率和质量。
还可以根据实际需求和具体情况进行改进和优化,以更好地满足用户的需求和要求。
第33卷 第1期 2011-1(下) 【215】收稿日期:2010-12-1作者简介:吴英(1972-),女,上海人,讲师,硕士,研究方向为计算机基础教学,软件工程。
0 引言在计算机课程的教学中,把传统笔试与计算机技术结合到一起的考试方式越来越被师生所接受。
智能在线考试系统研究主要是用来实现学生上机考试。
软件系统通过网络服务器的设置,学生所用的计算机作为客户端来登录服务器获得试题,答题完毕后网上提交试卷,软件系统对学生的答卷按班级学号等进行分类、整理。
然后进行智能化的判卷、给分(对部分题目类型能够实现)。
其中, 试题库系统的开发一直是教学改革中的重要方面,对改进教学方法和提高教学质量以及实现考试的公平性起到了很大的作用。
其中全自动成卷模块是试题库系统的一个亮点。
1 在线智能考试系统的设计1.1 系统的组成模块学生考试部分: 注册,登录,验证信息,试题下载…系统管理部分: 课程管理,试题管理,学生管理,成绩管理及查询,补考管理…数据库部分: 学生基本信息,学生选课信息,课程信息,教师信息,试卷信息,各题型信息…1.2 系统各模块设计1)用户登录和注册:根据用户所属的不同角色显示不同的操作页面。
如考生登录时,显示生成试卷等待页面;教师登录时,显示题库管理页面;系统管理员登录时,显示系统维护页面。
2)角色管理:添加角色 修改用户、删除用户、角色权限管理。
3)用户管理:添加用户、修改用户、删除用户、分配用户的角色。
4)题库管理:(1)试题类别管理,主要实现试题类别的添加、删除、修改和排序功能;(2)考试试题管理,主要实现试题的添加、删除、修改和排序功能;(3)试题答案管理,主要实现试题答案的添加、删除和修改功能。
5)在线答题:(1)动态随机生成试卷,使用遗传组卷算法动态地从题库中取得试卷的题目,每次生成的试卷是不同的;(2)显示整套试卷。
6)成绩管理:……2 在线智能考试系统的关键技术2.1 ASP .NET 技术ASP .NET 是当今最先进的开发平台,运行在服务器端。
它不仅是Active Server Page (ASP)的下一个版本,还提供了一个统一的Web 开发模型,其中包括开发人员生成企业级Web 应用程序所需的各种服务,利用它可建立功能更加强大的Web 应用。
作为Microsoft .NET 平台的一部分,ASP .NET 提供了划时代的新程序设计框架,是创建Web 应用的首选平台。
ASP .NET 开发速度快,并且为开发、部署和运行Web 应用提供了最快捷并且可缩放性程度最高的方式。
它可选择任何一种可用的.NET 编译性程序设计语言,不需要重新智能在线考试系统中遗传算法组卷的设计和实现Smart online examination system genetic algorithm design andimplementation of test paper吴 英 WU Ying(上海政法学院,上海 201701)摘 要: 计算机考试系统研究主要是用来实现学生上机考试,传统的组卷方法采取完全随机的方式来抽题对试卷在能力和层次上的差异性、覆盖面宽窄等现象难以有效解决。
本文阐述了遗传算法组卷在计算机考试系统中的设计和实现,从试题的数量及试题库结构两个方面分析、解决上述问题。
关键词: 遗传算法;组卷技术;考试系统中图分类号:TP391 文献标识码:B 文章编号:1009-0134(2011)1(下)-0215-03Doi: 10.3969/j.issn.1009-0134.2011.1(下).73编译,极大地简化了部署的过程,只需要将程序复制到Web服务器即可。
此外,它还提供了一些对数据库访问的数据控件,比如DataList、Dat—aGrid控件,使得对数据库操作更加灵活、方便。
鉴于ASP .NET的以上优势和目前远程考试存在的问题,采用ASP .NET技术结合B/S模式,设计远程考试系统。
2.2 使用ADO .NET访问数据库的方法系统使用SQL Server 2000作为应用程序的数据库,考虑实际需要,主要包括七个表,基本结构如下:1)角色表:角色ID,角色名称。
2)用户表:用户ID,用户名,密码,Email,角色ID。
3)考生表:考生ID,用户,考试时间,成绩。
4)问题种类表:问题类型ID,类型名称,问题顺序号。
5)图片表:图片ID,图片标题,图片存储地址。
6)问题表:问题表ID,问题标题,问题内容,添加试题的时问,问题类型ID,问题的图片ID,难度系数,成绩。
7)问题答案表:问题ID,答案标题,答案内容,图片ID,问题ID。
系统采用类DBConnection来封装访问数据库的某些基础属性和函数,如数据库连接字符串、添加数据库的参数等。
2.3 基于遗传算法的自动组卷技术以往智能在线考试系统大多采用随机选取法和回溯试探法。
随机选取法方法结构简单,对于单道题的抽取运行速度较快,但是对于整个组卷过程来说组卷成功率低,有时能够抽取出一组令用户满意的试题。
只不过由于它随机选取试题的范围太大,无法确定目前条件下哪些区域能够抽取合适的试题,反而可能在那些已经证明是无法抽取合适试题的区域内反复选题,进行大量的无效操作进入死循环,最终导致组卷失败。
即使组卷成功,花费时间也令人难以忍受。
回溯试探法是种有条件的深度优先算法,对于状态类型和出题量都较少的题库系统而言,组卷成功率较好,但在实际应用时对内存的占用量很大,程序结构相对比较复杂,而且选取试题缺乏随机性,组卷时间长,对于现今越来越流行的考生网上随机即时调题的考试过程来说,它已不符合要求。
我们从试题的数量及试题库结构两个方面分析,将遗传算法应用到该系统中,努力实现试卷的生成和考查的知识点尽可能地接近、并由教师控制试卷的难度系数等。
遗传算法是模拟生物界适者生存、自然选择等生物进化机制发展起来的一种高度并行、随机和自适应的搜索算法,是解决复杂问题的一个有效途径。
2.4 遗传算法的一般结构在设计遗传算法时通常按以下步骤进行闭:1)编码方案:遗传算法求解问题.一般不是直接在问题的解空间上,而是利用解的某种编码表示。
2)确定适应函数:适应值是对解的质量的一种度量。
解的适应值是演化过程中进行选择的依据。
3)选择策略的确定:优胜劣汰的选择机制使得适应值好的解有较高的存活概率。
4)控制参数的选取:控制参数主要包括种群规模、算法执行的最大代数、执行不同的遗传操作的概率及一些辅助性的控制参数。
5)算子的设计:主要有杂交、变异和再生。
6)确定算法的终止准则。
2.5 基于遗传算法的组卷问题的设计1)染色体编码编码就是用一种数字排列方案来表示问题的解的方法,利用编码将问题的解空间映射到GA算法的编码空间。
如何将问题的解转换为编码表达的染色体是遗传算法的关键问题,即先要将问题的解空间映射成一组代码串。
编码方案的选择依赖于问题的性质,并影响到算法内操作的设计,是影响算法性能的重要因素。
常见的编码方案有二进制编码、十进制编码、实数编码等。
采用二进制编码,用l 表示该题被选中,O表示该题未被选中。
这种编码简单明了,但进行交换等遗传操作时,各题型的题目数难以精确控制。
而且,当题库中题量很大时,编码很长。
我们采用实数编码,将一份试卷映射为一个染色体,组成试卷的各个试题映射为基因,基因的值直接用试题的题号表示。
这样染色体的编码可表示为(G1,G2,G3,…Gn)。
其中Gi(i=l,2,…n,n为试卷的总题目数)为试题编号。
比如要组成一份选择题5道、填空题5道、简答题2道的一份试卷,则染色体编码可以是:[23, 45, 90, 67, 22 11, 69, 112, 9, 37 78, 54]选择题填空题简答题【216】 第33卷 第1期 2011-1(下)第33卷 第1期 2011-1(下) 【217】编码时将同一题型的题目放在一起,同时为保证一份试卷中考查点不重复,每条染色体中各基因的考查点编码必须各不相同。
由于不同的题型是从不同的题型表中取出,有可能在同一个基因串中会出现相同的试题编号,它们属于不同题型,考察的知识点也未必相同。
故这种情况很正常的,不影响我们进行组卷。
在实际组卷过程中,假设在试卷中每种题型的数目是固定的,且相同题型的分数和答题时间是相同的。
这样我们将整个编码串按照题目类型划分为不同的功能块,每个功能块可以认为是独立的编码。
也就是说每个功能块对应一种特定的题型。
显然按这种规则产生的群体已经满足了试卷对题型、分数和答题时间的要求。
2)群体的初始化根据用户选定的考试内容及各种题型的题目数,按同一试卷中考查点不重复的原则,从相应题型表中随机抽取试题。
生成初始群体,群体的大小按经验或实验给出由于遗传算法和其它启发式算法一样,不对全部解空间进行穷举搜索。
因此初始的候选解群体的选择会对得到最终解的速度和质量有影响,初始的候选解群体在解空间内分布得越均匀,它们拥有的遗传基因就越有代表性。
3)适应度函数在遗传算法中,以适应度大小来区分群体中个体的优劣。
设di(i =1,2,… ,m,m 为试卷的总题目数)表示基因串中所选试题的考查点,用集合表示用户要求试卷中应包含考查点的集合,生成的试卷满足用户关于各考查点要求的程度可以用f1的大小来评价:f 1= d i 1m mi=1(1)其中 d i =1 当 Ω0 当∈Ω(2)可见,f1的取值范围为:0≤f1≤1,f1的值越小,生成的试卷越接近于用户关于各考查点的要求。
4)遗传算子遗传算法的交叉概率Pc 和变异概率Pm 是影响遗传算法行为和性能的关键所在,直接影响算法的收敛性。
Pc 和Pm 越大,算法产生新个体的能力就越强。
个体之间的适应度波动比较大,产生新的超平面的能力比较强:Pc 和Pm 越小,算法使个体趋于收敛的能力越强。
个体的平均适应度比较平稳,有可能产生早熟现象。
所以我们采用自适应的思想,在算法的运行过程中对Pc 和Pm 进行调整。
让它们随着个体适应度值的增加而变小,随着个体适应度值的减小而增加。
由于种群中每一个功能块对应着一个题型,所以,为了保证每个题型的数目不变,交叉点的选择不能破坏功能块的完整性。
假设交叉点位于第i 个功能块内,则前i 个功能块不变,从第i+1个功能块开始逐位交换。
(交叉如果在功能块内也发生的话,可能会出现同一模块中有重复试题的情况)。
普通的变异操作可能会使用户指定范围外的题目出现在染色体中,也会使各题型的题目数难以保证,采用有条件的变异算子。
即每个个体的每一个基因座上的基因都按设定的变异概率Pm,在一定范围内(与该基因题型相同且考查点与本个体其他题的考查点不重复)变异。
通过变异算子可以达到局部搜索的目的。
5) 最优保存策略进行了选择、交叉、变异操作后,比较新一代的最好个体与上一代的最好个体的适应度,如下降。