| 这个作业属于哪个课程 | fzusdn社区-CSDN社区云|
| ----------------- |--------------- |
| 这个作业要求在哪里| 2022秋软工实践 第二次结对编程作业-CSDN社区|
| 这个作业的目标 | 设计点名小程序的算法 |
| 我的学号 | 052001214 |
|队友学号| 132002143 |
算法分析
生成算法
算法要求5~8个同学缺席80%的课程,并可添加信息辅助,但我们讨论过后觉得,只是简单的通过一个特征去确定哪5-8个的同学会缺课有点不切实际,但多特征的话又过于复杂且没有真实数据作为基础,难以实现。所以最后决定从头到尾都使用随机数去产生数据,随机确定5-8个同学,这些同学在一整门课程中每节课有80%的概率缺课。因各种原因缺席的同学同理。
点名算法
因为生成算法使完全随机的,所以去抽点因各种原因缺席的同学势必会降低E,所以我们选择抛弃这部分,将算法着重去寻找易缺课的5-8名同学(但实际点名应该不能这样)。算法收集前几次点名的信息,去寻找易缺课的学生。随着课程的推进,信息越完善,越容易找到易缺课学生,E也随之增高。算法具有一定学习性。
由于次数只有20次,5门课的E值会在25%~35%浮动, 均值在30%浮动