一种考试系统的随机抽题策略分析

2015-04-18 03:00
大理大学学报 2015年12期
关键词:样本空间题库均值

司 飙

(滇西科技师范学院信息科学与技术系,云南临沧 677000)

网络化考试作为一种高效、准确、严肃的考试形式逐渐替代传统笔试,被高校课改、培训机构等广泛应用。在网络化考试系统中能否实现满足要求的随机抽题组卷功能,实现一人一卷、重复率低是决定系统优劣的一个关键因素〔1-5〕。

1 背景和意义

本文研究背景是基于Java Web技术的MVC模式下的校园网考试平台设计,在系统业务逻辑完备的基础上研究随机抽题的形态和产生过程,从而提高系统性能。通过本文的理论分析,也可以把此方法推广到其他的考试系统中,跨越开发语言的局限,为后续的研究提出思考。

2 随机抽题问题定义

为了更透彻地研究随机抽题的重复率、平均分布等主要问题,本研究简化了题目类型、数据库调用等业务逻辑部分,把数据库题库资源抽象为简单的数字序列,分析题库序列抽取过程,并对抽取结果的重复率、序列分布情况等方面展开研究,通过分析实验采样结果,推导更加优化的随机抽题策略〔6-12〕。

2.1 问题抽象 在给定样本空间M内,随机抽取N个数量,重复抽取K次,每次抽取中,N(i)不能重复。

2.2 问题分析 当M趋于无穷大时,即M>=N×K,N(i)的重复率基本趋于平均分布,可达到每个K里面的N(i)都不重复的状态,但是当M<N×K时,N(i)的重复分布并不均匀。需要设计一种算法,能够在有限个M中,抽取N个数时,降低N(i)的重复次数。或者说,当M、N、K3个量固定的前提下,能够有效地降低N(i)的重复次数。

在实际的考试实施中,题库数量总是有限的,并且建立题库数量是一个漫长的过程,所以降低N(i)的重复次数很有必要。

2.3 决定N(i)重复次数的因素 ①在每场考生数量K确定的情况下,样本空间M的范围,和抽取量N影响重复率,即M越大,N越小,重复率不高,反之则重复率增高;②在题库数量M和抽题数N确定的情况下,考生数量K影响重复率,K值增加,则会导致N(i)的重复次数增加。

2.4 预期结果 通过实验,应该得到M、N、K三者的比例关系,即三者之间应该达到怎样的比例状态时,随机数重复分布是最佳的。通俗的理解为设计出低重复率的考卷抽题策略。

3 随机抽题建模

实验采用Java面向对象技术建模,如图1所示,Rdm类是主要的随机抽题类,app类是用于实现Rdm类的入口程序。

图1 随机抽题采样模型

Rdm类构建了主要的随机抽题逻辑,完成了探测随机数、抽题、采样、统计、显示结果等功能。其中:

a[]数据用于记录每套组卷抽题的序列N。

b[][2]数组用于记录样本空间M,第一维记录题库样本序列,第二维用于记录对应序列的抽取次数,即重复的次数。

1 mol酯可以水解成1 mol酸,由于总酸和总酯的质量浓度是以乙酸和乙酸乙酯来计[8],乙酸乙酯与乙酸的相对分子质量之比(88.12∶60.06)为1.467,即水解消耗的酯和水解生产的酸的质量之比应该是1.467。

Rdm(intm,intn)构造方法用于调用初始化方法来设定数组a和数组b的规模。

createRdm(intn,intm)方法用于完成抽题采样工作,不包括限定条件。

createRdmD(intn,intm,intk,int upLimited)方法是createRdm()方法的改进策略,完成主要的抽题采样工作,根据参数n的要求,在参数m的范围内生成随机数,采样到数组a中,并满足上限upLimited的要求。

findItem(intx,intn)方法用于检测当前随机数x是否已经存在,保证在一套组卷中没有重复的题目,被createRdm()调用。

testD(int temp,int avg,int upLimited)方法用于检测当前抽取的随机数的重复次数是否超过均值avg,若超过均值,再次检测是否超过均值上限up-Limited,若超过upLimited,表示此次抽取无效,随机数temp将被抛弃,重新抽取,直到符合上述要求为止。被createRdm()调用。

get_Max_min(intm,intn)方法用于统计一次组卷采样结果,采样结果包括抽题重复次数最大值、最小值,重复次数最大值占样本空间的比例,重复次数最小值占样本空间的比例,重复次数最大值占抽题数量的比例,重复次数最小值占抽题数量的比例。统计结果将作为后续实验分析的重要依据。被外部入口程序调用。

在上述建模设计中,有两个重要的参数,一个是抽题重复数理论均值avg,另一个是均值理论上限值upLimited。

抽题重复数理论均值avg是根据样本空间、抽题数量、考生数量三者结合而计算产生,计算方法是avg=K/(M/N),均值avg也表示K个考生试题中,至少有avg个重复的题目。

均值理论上限值upLimited,主要作用是把重复的题目数量控制在avg+upLimited的范围内,这样就能更加均匀的分布重复题目。

生成随机数的基本方法是采样Java类库java.util.Random包里面的Random类完成,例如Random.nextInt(m),则产生一个在m以内的随机数。具体随机抽题采样的算法如图2。

图2 随机抽题采样流程

随机抽题采样算法核心是设计了一个不断探测的逻辑,直到找到可取的随机数为止,评价一个可取的随机数采样findItem()方法和testD()两个方法实现。findItem()方法的设计思想不再赘述,testD()方法的算法如图3。

图3 随机数合法检测流程图

随机数合法检测算法中,upLimited上限值的估计很难确定,实验中,可以把上限值设置为2,进行采样分析,然后再调整上限值,比对实验结果,找出一个最佳的值。

4 实验过程

利用Java Application应用程序的特点,实例化一个具体的Rdm对象,设定考生数量,实现自动抽题组卷,观察采样和统计结果,对采样结果对比分析。实现抽题组卷的入口程序算法如图4。

图4 抽题组卷入口程序

5 样本分析

执行app程序,实现Rdm模型的逻辑设计,执行一次程序,就得到一次抽题结果。通过改变n、m、k,以及upLimited上限值等抽题的因素,多次执行程序,就能得到庞大的抽题组卷样本。分析样本的目的是分析数据统计比例,观察统计图像,来评价组卷的低重复率,以此反推出更为合理的n值、m值、k值和upLimited值。实验中,本文多次采样数据,认为有3组数据符合优化条件,具体如下。

第1组:m=100,k=50,upLimited=2,n值分别设定为20、40、60、80,通过比对,认为当n=60时,数据图像基本趋于正态分布,比较合理,但是抽题重复次数的题量占样本空间的比例过高。

第2组:n=60,k=50,upLimited=2,m值分别设定为90、200、300、400、500、1 000,通过比对,认为当m=1 000时,数据图像接近正态分布,比较合理。

第3组:n=60,k=50,m=1 000,upLimited值分别设定为2、3、4、5、6,通过比对,认为当upLimited=3时,数据图像比第2组实验更加光滑,更加合理。分析结果如图5。

图5中第3组采样统计可解读为,题库中共有1 000个题目,每套组卷题目数量为60,共有50个考卷,上限值为3。第一行数据中,抽题的题目重复次数为7次,在总题库中类似这样的题目共有31个,这31个题目占组卷题目量的52%,占总题库数量的3%,重复的7个题目占每套组卷的14%。第3组实验的数据图像接近正态分布,且图像相对光滑,是一个很优化的策略。

分析认为,第1组、第2组和第3组实验结果,都基本接近正态分布,第3组实验结果比其他两组更优化,原因是第3组实验的数据图像相对光滑,抽题重复次数的题量占组卷题目数量的比例合理,即重复次数多的题量少,重复次数接近均值的题量多,重复次数少的题量少,两头少,中间多,基本接近正态分布,并且抽题重复次数的题量占样本空间的比例不高,图像曲线趋于直线,说明有重复题的题目数量分布均匀,覆盖了大部分的题库。

推导得出,当题库数量为总抽题次数的1/3时,是比较合理的,即M/(N×K)=0.33时,且均值的上限偏移值upLimited设定为3或者4时,随机抽题组卷的效果是更好的,考试试卷的题目雷同度是更低的,对考生来所,则体现了更好的公平性。

根据以上推导,本文枚举了部分常见的抽组卷策略,如表1。

图5 抽题组卷结果采样分析

表1 常见的组卷策略情况

6 总结

本文采用Java面向对象逻辑设计,通过大量的数据分析,推导出了随机抽题的一种策略,在每次组卷考试中,有效地降低了组卷重复率,能够有效区分考卷之间的重复题目。根据本策略,可以再拓展设计题目种类、难易度权值等因素,以此来设定题库量的取值,为考试系统提供更优化的随机抽题策略。

〔1〕司飙.MVC模式下的考试系统建模研究〔J〕.计算机科学,2013,40(6A):403-406.

〔2〕司飙.MVC模式下的校园网考试平台设计〔D〕.昆明:昆明理工大学,2012.

〔3〕杨健,张晓玲,周少云.通用试题库系统自动组卷算法研究〔J〕.大理学院学报,2007,6(10):77-79.

〔4〕李永飞,赵巧芳.网上考试系统中随机抽题算法的实现〔J〕.华北科技学院学报,2009,6(3):88-90.

〔5〕陶喆,林财兴,何绪兰.基于ASP.NET2.0的网上考试系统随机抽题功能的实现和改进〔J〕.现代机械,2010(5):55-58.

〔6〕王凡彬.利用可加性求一类独立随机变量和的分布〔J〕.大理学院学报,2014,13(12):1-2.

〔7〕王毅鹏,李荣芳.Java中不重复随机数的生成与分析〔J〕.软件开发与设计,2014(10):17.

〔8〕金百东.JAVA中一类随机数生成方法设计思想〔J〕.信息技术,2012(3):181-183.

〔9〕黄英.试题库系统中随机抽题算法的设计与实现〔J〕.现代计算机,2010(3):198-200.

〔10〕陈炜.网上考试系统中随机抽题算法研究〔J〕.现代商贸工业,2010(19):335-336.

〔11〕马锐,熊梅.公共数学网络考试系统分析与设计〔J〕.云南师范大学学报(自然科学版),2013,33(1):70-74.

〔12〕王雪燕.伪随机数及其在JAVA程序中的应用分析〔J〕.硅谷,2012(19):156.

猜你喜欢
样本空间题库均值
概率统计中样本空间刍议
“勾股定理”优题库
“轴对称”优题库
“轴对称”优题库
“整式的乘法与因式分解”优题库
均值—方差分析及CAPM模型的运用
均值—方差分析及CAPM模型的运用
古典概型中一道易错题的思考
全概率公式的教学方法研究
关于均值有界变差函数的重要不等式