首页
会员中心
到顶部
到尾部
NET毕业设计

基于遗传算法的题库自动组卷系统

时间:2020/10/27 9:03:31  作者:  来源:  查看:0  评论:0
内容摘要:毕业设计(论文)的基本内容:     研究遗传算法,以及自动组卷的数学模型,最后实现此系统。此系统能够完成简单条件的组卷,当用户输入组卷条件,例如试题总分、答题时间、各个题型的试题题数等信息,根据遗传算法利用用户输入的信息进行组卷。另外,提供对题库的...

毕业设计(论文)的基本内容:
    研究遗传算法,以及自动组卷的数学模型,最后实现此系统。此系统能够完成简单条件的组卷,当用户输入组卷条件,例如试题总分、答题时间、各个题型的试题题数等信息,根据遗传算法利用用户输入的信息进行组卷。另外,提供对题库的管理,包括新题目的添加、题库内原有题目信息的修改以及原有题目的删除等操作。
   在算法设计方面,考虑到试卷会涉及很多题型,预计会使用分段实值编码来编码染色体,不同的题型采用不同的段进行编码,而不采用二进制。个体选择上,预计采用现在使用比较广泛的轮盘赌选择个体。另外,在算法优化上,预计采用固定进化100代的原则。
   系统实现时,在 visio studio 2005平台下,使用C#语言开发此基于 B/S的智能组卷系统。
     本文分析了考试及其作业练习中自动组卷的作用、方法,并利用SQL SERVER 2000建立安全、有效、小冗余、访问方便的数据库,实现了按照一定的自动组卷算法能够自动的生成平时作业。从试题库的组成及随机选题自动组卷数学模型的方向,详细论述了试题库自动组卷系统的研制方法、主要内容和关键技术的实现。在比较了比较普遍的3种组卷算法基础上,针对平时作业组卷生成这一具体任务,选择了随机组卷算法。
    此系统预期包含题库管理,组卷管理两个功能模块。在题库管理模块,我们会实现对题库的管理功能,包括添加新的试题、修改已有的试题、删除某道试题、以及题型分数的修改等等。在组卷管理模块,当用户输入试卷的相关信息例如试题的数目、覆盖得内容、分数、试卷难度和试卷的表头等信息后,根据用户的输入,利用遗传算法从题库里选择出对应的一套最符合用户需求的试卷,并将此试卷显示在屏幕上。
在对遗传算法做了一些研究之后,经过指导老师的传授和自己查阅书籍,我独立完成了此毕业设计,简单实现了“基于遗传算法的智能组卷系统”,系统基本实现了对于系统题库的增加、修改和查询。另外,指定考试时间、试卷难度、题数和试卷分数之后,可以根据遗传算法简单的进行组卷。总的来说,该系统基本上实现了预期目标。
   在此系统的开发阶段,让我学到了很多知识。我查阅了介绍遗传算法的相关书籍,并在网络上找了一些相关的论文。完成了该系统的开发之后,我对简单的遗传算法有了一个基本的认识,包括染色体的编码、个体选择、交叉、变异等等操作。另外,也基本掌握了开发工具的使用。
在开发此系统时出现了很多的问题,尤其是在算法设计阶段。在刚开始设计时,我选择了二进制编码作为染色体的编码方式,以0,1来表示题库的试题是否被选中。染色体的长度就是题库里试题的数量。但是后来考虑到试题库会随着时间而扩大,因此采用这种编码方式并不科学。于是只好抛弃了二进制编码方式,选择了实值编码。但是,问题与之而来,若采用实值编码,如何来避免染色体的基因重复,即如何避免同一试卷里出现相同的试题,如果两条染色体的基因有重复,那么在交叉阶段如何交叉以及子个体的选择。另外,在选择最优个体的时候如何选择优化原则等等!那一段日子每天都是想这些问题,有的时候会因为有了一个好点子早上6点钟爬起来考虑是否可行,如此反复得琢磨,不停地修改,差不多将近一个月的时间算法才基本上可行了。问题深入了,才能真正看到问题背后的问题,看到了问题背后的问题,并把它解决了,也就是成长了。
  当然,由于知识水平的限制,在系统实现阶段遇到了很多的问题和困难,这个系统还仅仅是一个简单试验,还不适合实际应用,以后我会进一步的完善和改正,还请各位老师多多指正,多多批评。
   这次做毕业设计使我受益颇多,不仅从知识上,它更让我明白了一件事,所有的困难都是纸老虎而已,它让我能够鼓起勇气来面对困难,让我终身受益。
 



相关评论
广告联系QQ:45157718 点击这里给我发消息 电话:13516821613 杭州余杭东港路118号雷恩国际科技创新园  网站技术支持:黄菊华互联网工作室 浙ICP备06056032号