【发布时间】:2015-07-01 13:46:02
【问题描述】:
给定一个包含 N 个节点(数千个)的图,我需要找到 K 个节点,以使 K 的每对 (K1,K2) 之间的平均路径长度最大化。所以基本上,我想把它们放在离彼此尽可能远的地方。
我将为此使用哪种算法/如何在无需尝试 K 的多个单一组合的情况下对其进行编程?
也作为扩展:如果我现在有 N 个节点,并且我需要在图中放置 2 组节点 K 和 L,以使每对 (L,K) 之间的平均路径长度最大化,我该怎么做这个?
我目前的尝试是只做几个随机放置,然后计算 K 和 L 对之间的平均路径长度,但是这个计算开始需要很多时间,所以我宁愿不花那个花费大量时间评估随机选择的组合。我宁愿花时间获得真正传播最广的组合。
有什么算法可以解决这个问题吗?
【问题讨论】:
-
我投票结束这个问题,因为这是一个关于数学/几何算法的问题,应该在数学论坛上
-
只是标签不同还是我不熟悉这个网站的不同部分?
-
这是一个关于算法的问题,这并不是数学SE的重点。有一个计算机科学 SE,这将是一个很好的选择,但在这里也很好。
algorithm标签有超过 50,000 个问题。 -
@j_random_hacker 我同意,我不喜欢(最近?)比“我按下哪个按钮来获得颗粒?”更深层次的问题。被选为题外话,仅适合数学爱好者。
-
@biziclop 这不是最近的事,但当 CS 交易所开始游说让算法问题偏离主题时,情况确实变得更糟了。
标签: java algorithm graph cluster-computing maximize