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。(这不会使现有答案无效;乘法常数很好。)

最佳答案

1/ln(d+k)怎么样?

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

相关文章:

haskell - 在 Haskell 中建模异构图

algorithm - 在图中找到一个将图划分为近似相等的两个子图的割点

algorithm - 考虑节点和边的图上的寻路算法

algorithm - 有没有一种方法可以将集合中的整数和限制为(0,1),而无需在集合中找到最大整数?

algorithm - 类似背包优化问题的遗传算法

我的代码的 C++ 问题

php - session_start 不起作用 :(

c++ - 修剪十分之一的数字的算法

c - 十进制到二进制函数的段错误

python - 如何合并具有交集的集合(连通分量算法)?