这个问题目前比编程更符合逻辑。一旦我了解了我需要使用什么算法,我将研究如何实现它。
我在数据库中有一个项目列表,需要用户投票赞成或反对,以确定它们是否正确。目的是为每个项目提供一个百分比,以显示项目信息的可靠性。
有几个标准要考虑..
- 投票不是绝对的——每个用户的投票权重取决于他们的业力。
- 用户业力应该根据他们的投票来计算——例如,如果用户提交了一个项目,其他用户投票确认它是正确的,那么该用户的业力就会增加。如果用户对项目的投票方向与其他具有高 karma 的用户投票的方向相同,则也可以给予 Karma。如果他们与其他高 karma 用户的投票方向相反,他们的投票将被视为不正确,虽然这会降低项目的分数,但也会降低他们的 karma 水平,从而降低他们在未来投票中的影响力。
- 用户可以投反对票也可以投赞成票。
- 计算的项目分数应考虑项目的年龄(随着时间的推移,分数会随着项目变得不那么可靠而降低)。
是否有人对执行此操作的最佳算法有任何建议,或者有关如何在编程语言(例如 PHP)中实现此功能的任何提示?