论坛详细积分算法初稿

觉得基本符合各位的提议,包括雨林,猿人,狼等的建议,同时作了些修改使分数不至于过高。我估计一下,就算是最牛的安校大概分数也只在百万左右。像我这样混了不少时间在点击排行榜排60多名但无甚原创和精华贡献的大概只有两万分左右。

详细的权重我们可以再讨论修改,比如让分数范围再小一点等。

如果没有大的问题可以准备放到主坛上让大家讨论一下。

(1)实时算法

注:+= 表示该用户分数增加
-= 表示该用户分数减少
[] 表示取整, 例如 [10/100] = 0
sqrt: 平方根,例如sqrt(100) = 10
sum : 累加

假设有一个用户A。

— 每个用户注册后初始积分 = 50

— A每登录一次:A的积分 += 2 (奖励泡论坛)

— A发表新主贴, 标明[原创]:A的积分 += 10 + [sqrt(字数)/25]+ 50; (鼓励原创)

— A发表新主贴, 不标明[原创]:A的积分 += 10 + [sqrt(字数)/25];

— A发表新跟贴:A的积分 += 5 + [sqrt(字数)/25]

同时主贴作者B的积分 += 10* [跟贴数/10] (前提是A和B不是同一个人)
(鼓励跟贴多的话题)

— 用户点击A的帖子时:
A的积分 += 5 * [点击数/100] (鼓励点击数)

— A的帖子加入到精华导读时:
A的积分 += 80

— A的帖子加入到精华荟萃时:
A的积分 += 800

— A的帖子被删除:
A的积分 -= 50 (惩罚一下)

— A的帖子被修改:
A的积分 += 0

(2) 开始时算用户总积分 = 主题数 * 10 + SUM([sqrt(每个帖子字数)/20]) + SUM(5* [每个帖子的点击数/100]) + 50 * 原创数 + 5 * 发表跟贴数 + sum(10 * [每个主帖获得的跟贴数/10]) + 80*近期精华数 + 800 * 精华荟萃数

(注意, sum()里面的要每个帖子单独计算,然后再累加;比如一个人每个帖子点击数都不到100,那么SUM(5* [每个帖子的点击数/100])的值是0.)

(3)关于等级(军衔),等大家同意算法后我们计算一下现在的总积分分布情况,再划分。

(4)积分和等级增长应该能享受更高服务, 例如更多上传空间,或者兑换实物奖励(待讨论)

(5)“经验值“改名为“学分", “战功",“海归工分“, 或者“海归币"之类,请讨论决定一个名字。

(6) 需要说明的是,论坛的积分仅仅是一个虚拟的意义而已,主要是为了论坛的兴旺和帖子的质量,并不代表海龟论坛鼓励等级制度的倾向,希望大家不要把它看的太重。

About: mmpower

Software Architect & Soccer Fun 黑超白袜 = IT 民工 + 摇滚大叔


Leave a Reply

Your email address will not be published.