我打算建立一个社区驱动的网站,其投票功能类似于StackOverflow(或Digg等).我真的很喜欢SO的投票系统,你的积分被扣除以便投票给别人等等.
无论如何,有没有可用的开源模块/组件,我可以直接插入我的应用程序,而无需重新发明轮子?该应用程序将开发可能是PHP或Python.
感谢您的意见和建议.
我希望使用我的应用程序向Facebook提交几张图片,并邀请我的朋友在特定的时间间隔内对其进行投票.我的问题是 -
希望对此有所支持.
对于今年的学生会,我在"歌曲"委员会,我们选择歌曲.不幸的是,舞蹈中的孩子总是讨厌一些愚蠢的歌曲选择.我想我今年可能会有所不同.上周四,我创建了一个简单的PHP应用程序,以便孩子们可以将歌曲提交到数据库中,提供歌曲名称,艺术家和流派(来自下拉列表).我还实现了类似于Reddit的投票功能.单击一个upvote按钮,您已经对该歌曲进行了投票,增加了upvote计数.与downvotes相同.
Anywho,在数据库中,我有三个信息,我认为我可以使用它来评价这些歌曲,upvotes,downvotes和时间戳.有一段时间,排名是通过简单地将具有较高"投票"计数的歌曲放在顶部而创建的.也就是说,更多的投票,更少的downvotes(upvotes - downvotes)将位于列表的顶部.这种情况有一段时间了,但截至周日列表中大约有75首歌曲,首先提交的歌曲只是在列表的顶部.
周日,我将等级算法更改为(upvotes - downvotes)/(CurrentTimestamp - CreationTimestamp),也就是说,在较短的时间内投票计数越高,列表中的歌曲就越高.这工作得更好,但仍然不是我喜欢它.
现在发生的事情是,一首歌创建并投票到1的投票数,它最终会在某个地方的列表顶部.有负面投票计数的歌曲不经常被看到,因为孩子通常不会滚动到底部.
我想我可以对数据进行排序,以便较低的歌曲显示在顶部,因此人们不得不看到较低的歌曲.老实说,我以前从未使用过"流行度"算法,所以,你有什么想法?
网站http://www.songs.taphappysoftware.com - 我不知道我是否应该把这个放在这里,可能会在舞会上引起一些不受欢迎的歌曲:0
我有一个网站,用户可以"喜欢"和"不喜欢"的项目.
因此,对于每个项目,我都有数据,例如"喜欢"的总数和"赞"的总投票数百分比.
我想计算一个只给用户显示的分数.使用只有%不起作用,因为即使item_A可能有90%的"喜欢",而item_B可能有80%的"喜欢",如果item_B有10,000个总票数,item_B仍应排在item_A前面,而item_A只有总票数为1,000.
同样地,仅使用总"喜欢"是行不通的,因为虽然项目可能具有大量"喜欢",但如果"喜欢"的百分比低,则不应该排名很高.
从上面的数据中创建单个分数的好算法是什么?
理想情况下,分数应该以某种方式"有意义"或"标准化".例如,如果我去IMDB,我看到一部电影得分为8/10,我立即知道这是一部好电影.另一方面,如果我看到得分为1,370,我不一定知道这是好还是坏.
如何找到包含-1s,1s和0s的列表的多数票?
例如,给出一个列表:
x = [-1, -1, -1, -1, 0]
Run Code Online (Sandbox Code Playgroud)
大多数是-1,因此输出应该返回 -1
另一个例子,给出一个列表:
x = [1, 1, 1, 0, 0, -1]
Run Code Online (Sandbox Code Playgroud)
多数票将是 1
当我们有平局时,多数投票应该返回0,例如:
x = [1, 1, 1, -1, -1, -1]
Run Code Online (Sandbox Code Playgroud)
这也应该返回零:
x = [1, 1, 0, 0, -1, -1]
Run Code Online (Sandbox Code Playgroud)
获得多数投票的最简单案例似乎是将列表加起来并检查它是否为负数,正数或0.
>>> x = [-1, -1, -1, -1, 0]
>>> sum(x) # So majority -> 0
-4
>>> x = [-1, 1, 1, 1, 0]
>>> sum(x) # So majority -> 1
2
>>> x = [-1, -1, 1, 1, …Run Code Online (Sandbox Code Playgroud) 我有以下查询来确定一个故事收到了多少票:
SELECT s_id, s_title, s_time, (s_time-now()) AS s_timediff,
(
(SELECT COUNT(*) FROM s_ups WHERE stories.q_id=s_ups.s_id) -
(SELECT COUNT(*) FROM s_downs WHERE stories.s_id=s_downs.s_id)
) AS votes
FROM stories
Run Code Online (Sandbox Code Playgroud)
我想对即将到来的故事应用以下数学函数(我认为这是reddit使用的) - http://redflavor.com/reddit.cf.algorithm.png
我可以在应用程序端执行该功能(我现在正在做),但我不能按功能提供的排名对其进行排序.
有什么建议吗?
我正在开发一个PHP应用程序,它有几个可以评论的对象.每个评论都可以投票,用户可以给它+1或-1(如Digg或Reddit).现在我正计划有一个带有user_id和投票信息的"投票"表,这似乎工作正常.
问题是,每个对象都有数百条注释存储在单独的注释表中.加载评论后,我必须统计选票,然后单独检查每个投票对用户,以确保他们只能投票一次.这可行,但看起来真的是数据库密集型 - 很多只是评论的查询.
是否有一种更简单的方法可以减少数据库密集度?我目前的数据库结构是最好的方法吗?
要更清楚当前的数据库结构:
评论表:
投票表:
最终目标:
哪个rails投票系统插件或gem具有以下功能
投票和投票
能够显示净票数
我看了大拇指 ,但它没有明确说明,我可能是错的(如果我错了请纠正我).我还需要知道是否有可能定制赞美宝石?提前谢谢你
我正在寻找一种投票算法,根据大多数选票和投票数来选出获胜者.
真人生活的例子:
我们公司有一个谷物棒.我们有3种不同谷物的空间.我们希望允许我们的员工对他们想要的谷物进行投票.
我们不希望根据受欢迎程度严格挑选前3名获奖者,因为可能会有少数员工只能吃1种特定谷物(无论出于何种原因),我们希望尽可能给予他们特殊津贴.
鉴于以下投票结果,以下是我们希望算法给出的结果.

我正在寻找一种能够进行这种排名的算法.如果你至少可以提供我正在寻找的名称那将是一个很大的帮助,因为我可以更好地搜索它.:)
谢谢!
建议使用奇数集.我怀疑的是,从一个奇怪的集合中,我们有一个偶数集.当成员逐一下降时,成员数量在偶数和奇数之间波动.我们总是没有奇怪的成员情景.有人可以解释MongoDB投票的工作原理吗?
voting ×10
algorithm ×3
php ×3
mysql ×2
python ×2
binary ×1
comments ×1
if-statement ×1
list ×1
mongodb ×1
open-source ×1
popularity ×1
ranking ×1
scoring ×1
vote ×1