- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的目标是生成一个类似于reddit首页的系统。
我有东西,为了简单起见,这些东西有投票权。我生成的最好的系统是使用时间衰减。半衰期为7天,如果今天的投票值20分,那么7天后就值10分,14天后仅值5分。
问题是,虽然这产生了我非常满意的结果,但它并没有扩展。每一次投票都要求我有效地重新计算每一次其他投票的值(value)。
所以,我想我可能能够扭转这个想法。今天的投票值 1 分。 7 天后的投票值 2 分,14 天后的投票值 4 分,以此类推。这很有效,因为对于每次投票,我只需要更新一行。问题是到今年年底,我需要一种可以容纳非常大的数字的数据类型。
所以,我尝试使用线性增长,这产生了糟糕的排名。我尝试了多项式增长(自网站启动和提交以来的天数的平方和立方),它产生了稍微好一点的结果。然而,当我得到稍微好一点的结果时,我很快就会重新接近无法维护的数字。
所以,我来找你stackoverflow。谁有天才的想法或链接到有关如何建模此系统的想法,以便它可以很好地扩展到 Web 应用程序。
最佳答案
我也一直在尝试这样做。我找到了一个解决方案,但不幸的是,我忘记了如何做数学,所以我无法理解它。
这个想法是存储你的分数的日志并按它排序,这样数字就不会溢出。
这个文档描述了数学。
https://docs.google.com/View?id=dg7jwgdn_8cd9bprdr
我发现它的评论在这里:
http://blog.notdot.net/2009/12/Most-popular-metrics-in-App-Engine#comment-25910828
关于scalability - Web 应用程序的可扩展时间衰减,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8754371/
liwen01 2024.08.18 前言 无论是在产品开发还是在日常生活中,在使用无线网络的时候,都会经常遇到一些信号不好的问题,也会产生不少疑问: 为什么我们在高速移动的高铁上网络会变
我正在使用 Kinect 获取每个关节的位置和方向,然后将它们发送到 Unity。我注意到值有很多“跳跃”或波动,例如,有时我不移动我的手,而在 Unity 中它会旋转 180 度。 我想要的是一个平
在下面的示例中, #include #include //okay: // template decltype(auto) runner(T&& t, F f) { return f(st
出于某种原因,即使我设置了衰减因子,我的学习率似乎也没有改变。我添加了一个回调来查看学习率,它似乎在每个纪元之后都是一样的。为什么没有变化 class LearningRatePrinter(Call
考虑下面的代码: #include #include using namespace std; template void Test2(future f, Work w) { async([
我是一名优秀的程序员,十分优秀!