我的应用程序的用户(实际上是一个游戏)回答问题以获得积分。问题由其他用户提供。由于音量的原因,我无法亲自检查所有的内容,所以我决定将过滤过程蜂拥而至给用户(播放器)。这些规则很简单:
向每个用户显示一个问题的评分,因为good/bad/unsure
玩。
如果每个人都能看到一切,这就很容易了。然而,在游戏的后期阶段,用户不应该得到他们已经看到的问题。这意味着用户不应该看到所有的问题,确切地说,那些他们看不到的人将在游戏的后面进行(回答)。
问题的总数远大于玩家的数量,每天都会增加新的问题,新的玩家总是会出现,所以我不能预先分发。
我正在寻找一些算法,可以最大限度地提高所有玩家的可玩性(即不可见性)问题的数量。
我试着谷歌,但我甚至不知道应该在搜索框中添加哪些术语,并且使用诸如“分发”、“投票”、“协作过滤”之类的内容可以给出非常有趣但却无法使用的结果。
好问题和坏问题的比例是1:3,即。25%的问题被评为“好”。已提交的未评定问题的数量超过10000。拥有投票权的活跃用户数量约为150人。
我目前正在考虑将问题池和用户库分成两个部分。用户基础的一部分将检查问题的另一部分,反之亦然。分裂问题很容易(例如,奇数与偶数)。但是,我仍然不知道如何划分用户群。我考虑过在“顶部问题检查器”列表中使用奇数/偶数位置,但是随着新问题的检查,列表中的位置每天都会发生变化。
更新:我刚刚问了一个sequel to this question -我需要定期从池中删除一个固定数量的问题。
发布于 2011-12-22 08:51:13
我不知道是否有一种特定的,众所周知的算法。然而,这将是我的思路:
player.
因此,我对最后算法的处理方法是:
quality)
)。
queue.
。
考虑到当用户第一次注册时,网站上已经有一个已获批准但未见的问题,上述问题可以进一步调整。
当然,通过奖励有功的活动,你可以对用户的行为产生很大的影响(徽章和声誉点也是一个不言自明的例子)。
EDIT/ADDENDUM:评论中的讨论澄清了GR是固定的,它是每天一个问题。此外,“任择议定书”规定,系统中至少每24小时将有一个新批准的问题。这意味着可以将上述算法简化为以下两种形式之一:
如果用户只有在回答了他的日常问题后才能投票:
如果系统中至少有一批准的、看不见的问题,让用户随意投票。
如果用户在回答他的日常问题之前就可以投票:
如果系统中至少有两个批准的、看不见的问题,让用户随意投票。
这样,如果用户在系统上投票所有可投票的问题,然后在23:59回答他每天的问题,那么仍然有一个问题需要在00:00回答,再加上系统在第二天获得一个新问题的24小时时间。
哈哈!
https://stackoverflow.com/questions/8600909
复制相似问题