2011-06-09 107 views
1

我最近在这里看到一个问题,并将其加入书签以作进一步思考。这是question。我无法确定的是,如果这个问题真的很有趣,或者没有什么特别的?查找最近和最接近的帖子,限制20

为什么这是因为它在我看来,它有一个真正简单的答案排序最低距离的时间产品,或者我失去了明显的东西?

我可以解释为什么它看起来简单的我的理由:

  1. 距离总是一定程度的恒定,无论何时何地查询是跑了,这意味着,如果:我的家乡是在A点和有是B点的帖子,C点的另一个帖子,无论我什么时候运行查询,我都会得到常数值,比如5km & 7km。

  2. 自帖子看起来像它的时间偏移在某种意义上说,它对所有帖子平等增长。这意味着如果B后从2004年开始,C后从2009年开始,现在他们分别是7年和2年前。所以明年将是8年和3年前,等等。

  3. 添加一个重量值来“调整”距离&时间没有任何帮助(不需要),因为(从上面两个帖子中获取值)5 * 7 * alpha总是会超过2 * 7 * aplha因此无论我们何时运行查询帖子C(2 * 7 * aplha)将始终是“最近最近的”

  4. 同时增加一个权重常数来“调整”结果似乎是不更长的时间去产品最近和最近,但会有利于或者在这种情况下,我可以按照最近,然后按最接近或相反。但是这不再是最近的,而是最接近的,然后是最近的,或者是最近最近的,所以这两个问题都是微不足道的,我相信。所以这就是为什么我认为调整不是一个好主意,不管选择什么单位来表示时间偏移和距离。 加法不如我认为的乘法运作得好,但距离*时间似乎足以总是得到正确的结果。

所以这就是我的想法,但后来我想,没有那么简单。那么我在这里错过了什么?

+0

你的问题到底是什么? – 2011-06-09 10:26:59

回答

0

确定所需排序表达式的最佳方法是让一些人类手动排序一些项目并从他们的答案中推导出表达式。很可能不同的人会给出不同的答案,以至于一个单一的表达不能容纳每个人。

还有其他有用的多项式表达式,如t*d + A*t + B*d,其中td是时间和距离。如果我们再引入一个多项式次数,也许可以获得更精确的结果,以便表达式变为t*d + A*t*t + B*d*d + C*t + D*d。你只能从真人的答案中设计出这个公式。