目录
- 组员职责分工
- github 的提交日志截图
- 程序运行截图
- 程序运行环境
- GUI界面
- 基础功能实现
- 运行视频
- LCG算法
- 过滤(降权)算法
- 算法思路
- 红黑树
- 附加功能一
- 背景
- 实现
- 附加功能二(迭代中)
- 附加功能三
- 背景
- 引言
- 解决方法
- 实现效果
- 效果截图
- 遇到的困难及解决方法
- 组员:胡绪佩
- 组员:庄卉
- 组员:周政演
- 组员:刘一好
- 组员:翟丹丹
- 组员:刘恺琳
- 组员:青元
- 组员:葛家灿
- 组员:何家伟
- 组员:黄鸿杰
- 组员:何宇恒
- 马后炮
- 组员:胡绪佩
- 组员:何家伟
- 组员:周政演
- 组员:翟丹丹
- 组员:刘一好
- 组员:刘恺琳
- 组员:青元
- 组员:庄卉
- 组员:何宇恒
- 组员:黄鸿杰
- 组员:葛家灿
- 贡献分评估
- PSP表格
- 学习进度表
组员职责分工
组员 | 职责 |
---|---|
绪佩 | 组织分工、改进前端、后端、云化 |
庄卉 | 改进前端、后端 |
家伟 | 算法关键词识别、附加题实现 |
家灿 | 数据库 |
一好 | 算法随机数、算法审查 |
鸿杰 | 算法随机数、算法审查 |
政演 | 提供算法思路、附加题idea思路、博客撰写 |
凯琳 | 前端审查 |
丹丹 | 前端审查 |
青元 | 前端改进 |
宇恒 | 前端审查 |
github 的提交日志截图
github地址
抽奖结果名单
抽奖规则设定1
抽奖结果名单
发布成功显示
从该式可以看出,该算法由于构成简单,具有以下优点:
- 计算速度快
- 易于实现
- 易于写入硬件
以下是针对不同参数 lcg 产生随机数的效果图
根据我们机器的情况,我们选择使用参数:
过滤(降权)算法
算法思路
抽奖算法对两种情况进行了处理:
无发言剔除:当用户只转发抽奖关键字,而没有相关发言时,直接剔出抽奖名单。
恶意刷屏:抽奖者可以自行定义一个抽奖阈值φ1,当发言数超过φ1时,对该用户进行中奖概率降权处理。
灌水剔除:抽奖者可以自行定义一个抽奖阈值φ2,发送的表情数超过阈值的时候,判定为灌水,剔出抽奖名单
红黑树
实现效果
此处仅仅对该功能进行测试,由于样本数据不足,设定的阈值也较小,将黑名单的内容输出到文件中可以显示如下内容:
设计考量
测量值偏大:使用哈希的方法会产生冲突,多个数据哈希到同一个桶内,那么这个桶的计数值就会偏大。
-
为什么允许有误差:在大量数据条件下,若把所有信息都准确地记录下来,要消耗大量计算和空间开销,无法满足实时性;而且在很多情况下,并不需要非常精确的数据,在一定程度上可靠的估计值,便足以满足需求。
-
为什么要设置多个哈希函数:如果只设置一个哈希函数,多个流数据存入同一个桶,误差就会很大。通过设计多个哈希函数,减少哈希值的冲突,以减少误差。每个流都要经过所有哈希函数的处理,存入不同的计数器中。计数器的最小值虽然还是大于等于真实值,但最接近真实值。这也是 “ Count-Min ”的由来。
-
哈希函数个数:哈希函数越多,冲突越少,测量值越精确,但计算开销大。需要权衡测量精度和准确度,来设置合适
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!