首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >协作投票算法在用户间的分布

协作投票算法在用户间的分布
EN

Stack Overflow用户
提问于 2011-12-22 07:59:22
回答 1查看 215关注 0票数 6

我的应用程序的用户(实际上是一个游戏)回答问题以获得积分。问题由其他用户提供。由于音量的原因,我无法亲自检查所有的内容,所以我决定将过滤过程蜂拥而至给用户(播放器)。这些规则很简单:

向每个用户显示一个问题的评分,因为good/bad/unsure

  • when问题被评定为“坏”的5倍,当问题被评为“好”的5倍时,将其从投票中删除,并标记为其他未见过问题的玩家

玩。

如果每个人都能看到一切,这就很容易了。然而,在游戏的后期阶段,用户不应该得到他们已经看到的问题。这意味着用户不应该看到所有的问题,确切地说,那些他们看不到的人将在游戏的后面进行(回答)。

问题的总数远大于玩家的数量,每天都会增加新的问题,新的玩家总是会出现,所以我不能预先分发。

我正在寻找一些算法,可以最大限度地提高所有玩家的可玩性(即不可见性)问题的数量。

我试着谷歌,但我甚至不知道应该在搜索框中添加哪些术语,并且使用诸如“分发”、“投票”、“协作过滤”之类的内容可以给出非常有趣但却无法使用的结果。

好问题和坏问题的比例是1:3,即。25%的问题被评为“好”。已提交的未评定问题的数量超过10000。拥有投票权的活跃用户数量约为150人。

我目前正在考虑将问题池和用户库分成两个部分。用户基础的一部分将检查问题的另一部分,反之亦然。分裂问题很容易(例如,奇数与偶数)。但是,我仍然不知道如何划分用户群。我考虑过在“顶部问题检查器”列表中使用奇数/偶数位置,但是随着新问题的检查,列表中的位置每天都会发生变化。

更新:我刚刚问了一个sequel to this question -我需要定期从池中删除一个固定数量的问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-12-22 08:51:13

我不知道是否有一种特定的,众所周知的算法。然而,这将是我的思路:

player.

  • Whatever
  1. “最大化所有玩家可玩的(即看不见的)问题的数量”意味着将使用+5的问题数最大化,以及每个算法中未见的问题数。它的有效性既取决于贡献者提交的问题的质量,也取决于其他玩家对评分的意愿(除非您强迫他们对系统中的目标进行评分,这不应该是让所有玩家都有相同数量的“看不见的问题”--这实际上是无关紧要的,而是总是为每个玩家提供一个“备用”的未见问题,使他/她能够在正常的游戏上玩。例如:假设您有两个用户A和B,他们定期在您的网站上播放。A通常每天回答80次小测验,B只回答40次。如果你的系统平均每天收到100个新的被批准的问题,原则上你希望玩家A每天不会看到超过20个问题,而玩家B可以安全地看到其中的60个问题。
  2. 提交的问题和批准的问题之间的比率也很重要:如果每秒提交的问题不太好,那么上面的用户A和B每天可以给40和120个问题打分。

因此,我对最后算法的处理方法是:

quality)

  • Number

  • 跟踪以下内容:每天提交的新问题(F =Flow)的
  • 数(F=Flow)、好的/总提交的问题之间的
  • 比率(Q =每个玩家每天使用的问题(用于游戏而不是评分)的
  • 比率(GR =游戏率)、每个玩家在给定的一天内评分的
  • 问题数(RC =RevieweCounter)

)。

  1. 建立了一个优先级队列,该队列将对要评分的问题进行排序。这里的目标是尽快批准问题。对这两种问题都给予额外的优先考虑:收集了由有其他问题历史的用户提交的already
  2. questions的
    • 问题,这些问题已经是accepted.

queue.

  • Repeat步骤3中的第一个问题是:Q* (F )< GR

考虑到当用户第一次注册时,网站上已经有一个已获批准但未见的问题,上述问题可以进一步调整。

当然,通过奖励有功的活动,你可以对用户的行为产生很大的影响(徽章和声誉点也是一个不言自明的例子)。

EDIT/ADDENDUM:评论中的讨论澄清了GR是固定的,它是每天一个问题。此外,“任择议定书”规定,系统中至少每24小时将有一个新批准的问题。这意味着可以将上述算法简化为以下两种形式之一:

如果用户只有在回答了他的日常问题后才能投票:

如果系统中至少有一批准的、看不见的问题,让用户随意投票。

如果用户在回答他的日常问题之前就可以投票:

如果系统中至少有两个批准的、看不见的问题,让用户随意投票。

这样,如果用户在系统上投票所有可投票的问题,然后在23:59回答他每天的问题,那么仍然有一个问题需要在00:00回答,再加上系统在第二天获得一个新问题的24小时时间。

哈哈!

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8600909

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档