APP下载

基于SA-KM 算法的毕业设计选题分配

2014-12-06罗乐霞

关键词:毕业设计权值选题

罗乐霞

(福建船政交通职业学院信息工程系,福州350007)

0 前言

传统的毕业设计选题分配是将试题随机分配给学生,或者是让学生在众多选题中选择自己心仪的题目,这往往导致学生分配的题目不理想,难以发挥出其真正的实力,同时选题与学生一对一的关系,一个选题被一个学生选择后其他学生不能再次选择,这就导致其他学生选择题目的范围越来越窄,有悖于公平、公正评估学生学习效果的意愿。因此,本文对毕业设计选题分配算法进行研究与设计,提出根据教师评定的课题难易程度与课题类型的权重分配及学生成绩与学生自我评价值的权重分配[1],采用优化后的高维数据[2]的SA-KM聚类算法[3],根据教师评估和学生意愿进行分配,大大提高了学生毕业设计的水平。

1 设计构思

本文所设计的毕业设计选题分配系统算法采用二分图数学理论,将教师赋予学生期望值课题与学生志愿选择课题分别设为X、Y2个集合,如图1所示。

将教师赋予学生期望值课题与学生志愿选择课题数学转化为一个带权的二分图,其中X值为教师赋予学生期望值,Y值为学生志愿选择值,采用最优匹配算法对权值进行优化,获得最大权值,即为毕业设计选题分配最优结果。

图1 教师赋予学生期望值课题X与学生志愿选择Y二分图

该算法描述了以权重分配为基础的二分搜索条件查找,为实现教师为学生所设置的课题与学生擅长或者是与学生兴趣相匹配,符合学生真实能力评测要求的毕业设计选题分配算法,建立教师出题与学生选题之间的逻辑关系,如图2所示。

图2 教师出题与学生选题的逻辑关系

算法数据库主要包含2大类数据项:一是以学生为主体的学生信息表,二是以选题为主体的课题信息表。学生信息表主要包括:兴趣爱好、技巧能力、考试成绩评估、自我评价;课题信息表主要包括:课题介绍、课题要求、课题类型、课题难度。

2 KM选题分配算法

采用KM算法[4]进行选题分配计算,该算法为求完备匹配下的最大权匹配问题[5]。

对于具有二部划分(X1,Y2)的加权完全二分图,其中 X1= {x1,x2,x3,…,xn},Y2= {y1,y2,y3,…,yn},边<xi,yj>具有权值Wi,j。该带权的二分图中一个与总权值最大的完美匹配,就是最佳匹配设计。

设L(x)表示结点x的标记量,如果对于二部图中的任何边 <x,y >,都有L(x)+L(y)>=Wx,y,我们称L为二部图的可行顶标。

设G(V,E)为二部图,G′(V,E′)为二部图的子图。如果对于G′中的任何边<x,y>满足L(x)+L(y)==Wx,y,我们称G′(V,E′)为G(V,E)的等价子图。

定理:设L是二部图G的可行顶标。若L等价子图GL有完美匹配M,则M是G的最佳匹配。

证明:由于GL是G的等价子图,M是GL的完美匹配,所以,M也是G的完美匹配。又由于对于匹配M的每条边e,都有e∈E(GL),而且M中每条边覆盖每个顶点正好一次,所以W(M)=˚aW(e),e∈M=˚aL(x),x∈V。另一方面,对于G的任何完美匹配 M′有W(M′)=˚aW(e),e∈M′<=˚aL(x),x∈V,于是W(M)>=W(M′),即M是G的最优匹配。

由上述定理,我们可以通过不断修改可行顶标,得到等价子图,从而求出最佳匹配。设X为毕业设计题目,Y 值为学生,题目集合X = {X1,X2,...,Xm},学生集合Y = {Y1,Y2,...Yn},根据教师赋予学生课题期望值与学生志愿选择课题意愿值建立权值二分图,其中权值为二维矩阵W[m][n]的值,教师赋予学生课题期望与学生志愿选择课题意愿不相关联权值等于0,相关联权值的试题显示给学生进行筛选。

3 选题分配算法优化

KM算法进行选题分配计算不足之处在于全局搜索能力较弱,其在初始聚类中随机选择选题,并没有对初始聚类进行优化,局限于部分选题最优匹配。同时KM算法收敛时间较长,在试题分类中无法达到最优的选题分类效果。因此,本文提出SA-KM选题分配算法,首先对聚类初始中心进行全局智能搜索,再通过KM算法进行聚类,进而能够获得全局搜索的最优聚类划分,从而提高毕业选题的快速搜索速度,减少利用KM算法进行选题搜索的盲目性,提高毕业设计选题分配的聚类划分质量。

3.1 SA-KM算法思想

SA-KM算法在搜索过程中如果发现新的最优匹配结果则无条件地替换原来的搜索结果,如果未发现最优匹配结果则接受原有的搜索结果。在毕业设计选题分配算法中,该算法跳出了教师与学生的选题分配权重的交集,丰富了选题内容。SAKM算法核心思想如图3所示。

图3 SA-KM算法思想

在毕业设计选题分配系统中,教师出题与学生选题可根据权重建立初始聚类中心,进而提高了学生选题的效率,避免了学生选题的盲目性,并减少了KM算法的迭代次数,提高了算法的计算效率。SA-KM算法跳出了KM算法只在权重交集中搜索毕业设计选题的局部框架,面向全局搜索获取最佳选题,当学生在全局搜索中找到新的最优解,则将最新解作为新的权重交集。SA-KM算法扩大了毕业设计选题的搜索范围,并提高了选题的搜索能力,当产生最新解时,更换权重匹配结果,提高学生自主选择的能力。

3.2 SA-KM选题分配算法

SA-KM聚类评价是为了提高教师出题权重与学生选题权重的聚类划分质量,设题目集合X={X1,X2,...,Xm},学生集合Y={Y1,Y2,...Yn},聚类划分为Pq={P1,P2,...Pq},其中Pi为第i个集合。选题集合评价为

最优权值匹配

4 算法实验结果分析

基于以上算法的思路,我们开发了相应的毕业论文管理系统,在福建船政职业技术学院计算机网络技术专业2012级学生的毕业论文选题中进行了测试应用,选取100名毕业生为分析对象,题目102个,为算法的实验提供了部分数据信息。

4.1 收敛时间比对分析

将毕业设计KM选题分配算法与SA-KM选题分配算法进行收敛时间的比对分析,分析结果如图4所示。

图4 收敛时间的比对分析

选题分配算法中,其收敛时间随着选题聚类的数目增加而延长,由图4所示,采用SA-KM算法的收敛时间明显比KM算法要短,这是因为SAKM算法首先通过匹配概率搜索快速找到聚类中心,从而规避了KM算法在局部最优解的问题上迂回搜索,在确定聚类中心后,再进行KM算法进行聚类划分,降低了KM算法的盲目聚类性。

4.2 选题结果对比分析

在匹配过程中,将教师出题权重值与学生选题权重值按比例划分,分别为1∶9、1∶8、1∶7、1∶6、1∶5、1∶4、1∶3、1∶2、1∶1分析 KM 选题分配算法与SAKM选题分配算法在不同比例下的选题满意度,分析测试结果如图5所示。

由图5所知,教师出题权重值与学生选题权重值在2∶8、3∶7范围内更容易选择出较为理想的毕业设计课题。同时,由于SA-KM选题分配算法所聚类的搜索能力更强,选题匹配评价更加客观、全面,更容易与师生意愿值匹配,选题成功率更高,更加人性化。

图5 选题结果比对分析

5 结语

目前对本选题算法进行了实现,在福建船政职业技术学院计算机网络技术专业2012级学生的毕业论文选题中进行了测试应用,在学生预选题目的智能匹配采用SA-KM算法完成最优匹配,证明了以上提出的算法有利于提高教师学生整体满意度和选题效率,同时降低了选题过程的工作量,达到了预期效果。

[1]杨胜超,张瑞军.基于二分图最优匹配算法的毕业论文选题系统[J].计算机系统应用,2008,17(7):14-17.

[2]陈黎飞.高维数据的聚类方法研究与应用[D].厦门:厦门大学,2008:4-6.

[3]李梓,于海涛,贾美娟.基于改进模拟退火的优化K-means算法[J].计算机工程与应用,2012,48(24):77-80.

[4]孙吉贵,刘杰,赵连宇.聚类算法研究[J].软件学报,2008,19(1):48-61.

[5]首翠香,陈宫.基于KM算法的毕业设计选题系统设计与实现[J].软件导刊,2012,11(8):75-77.

猜你喜欢

毕业设计权值选题
一种融合时间权值和用户行为序列的电影推荐模型
高校毕业设计展吸引业内眼球
CONTENTS
本刊诚征“独唱团”选题
谈诗词的选题
本刊诚征“独唱团”选题
本刊诚征“独唱团”选题
毕业设计优秀作品选登
基于FPGA的毕业设计实践平台实现
基于权值动量的RBM加速学习算法研究