algorithm - 什么是好的加权函数?

标签 algorithm function graph-theory

我正在尝试对无向、循环、加权图执行一些计算,并且我正在寻找一个好的函数来计算聚合权重。

每条边的距离值在 [1,∞) 范围内。该算法应该更加重视较小的距离(它应该是单调递减的),并且应该为距离∞分配值 0。

我的第一直觉就是 1/d,它满足了这两个要求。 (好吧,从技术上讲,1/∞ 是未定义的,但程序员往往比数学家更容易让它滑动。)1/d 的问题是该函数更关心 1/1 和 1/2 之间的差异比 1/34 和 1/35 之间的差异。我想更进一步。我可以使用 √(1/d) 或 ∛(1/d) 甚至 ∜(1/d),但我觉得我错过了所有可能性。有什么建议吗?

(我想到了 ln(1/d),但随着 d 趋向于 ∞,它趋向于 -∞,我想不出将其推至 0 的好方法。)

稍后:

我忘记了一个要求:w(1) 必须为 1。(这不会使现有答案无效;乘法常数就可以了。)

最佳答案

也许:

exp(-d)

编辑:类似

exp(k(1-d)), k real

将满足您的额外要求(我相信您知道,但嘿嘿)。

关于algorithm - 什么是好的加权函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/480354/

相关文章:

php - 目的是什么或将 protected 功能与做同样事情的公共(public)功能包装在一起?

algorithm - 无向循环图中的最短路径

javascript - 如何从 html 调用 jquery 代码中的外部函数?

algorithm - Damerau–Levenshtein 距离的迭代版本

c++ - 将数组的值修改为另一个数组时输出不正确

django - Django 中的应用程序设计

javascript - 在 JavaScript 中创建按钮后出现不需要的情况

algorithm - 将后序二叉树遍历索引转换为层序(广度优先)索引

algorithm - 与其他算法相比,是什么让深度优先搜索成为计算图中连通分量数量的更好解决方案?

algorithm - 使用分支定界将路径匹配到图形