加权有向无环图:查找边权重以定义距离函数的算法?

发布于 2024-11-17 19:47:27 字数 443 浏览 2 评论 0原文

我有一个可以用有向无环图(DAG)来表达的技术问题。 节点代表事件(时间未知),有向边编码关系:“我比你年轻/我发生在你之前”。

我需要估计边权重(即“动态权重”),以便加权 DAG (WDAG) 暗示 DAG 上的距离函数。换句话说,节点 A 和 B 之间的路径权重之和对于所有路径应该相等。

这是一个未确定的问题,即使权重是整数(我想这与拓扑排序不唯一的根本原因相同)。一般来说,表示节点/事件之间的时间间隔的边权重是实数。因此,我在加权 DAG 上引入一些预设的目标函数 C=J(WDAG),这里未指定。

我的问题是:是否有一种算法可以在 WDAG 上分配正定权重,并受到以下约束:1)权重形成 DAG 的距离函数,2)最小化目标函数成本 C。

这似乎与最短-通常与 WDAG 相关的路径或最小生成树问题。对于上述问题的正式或启发式解决方案有什么想法吗?

问候,

斯蒂芬

I have this technical problem that can be formuated with a Directed Acyclic Graph (DAG).
Nodes represent events (with unknown timing), with directed edges encoding the relation ship: "I'm younger than you/I happened before you".

I need to estimate edge weights (i.e. "dynamic weights") such that the Weighted DAG (WDAG) implies a distance function on the DAG. In other words the sum of weights for paths between nodes A and B should be equal for all paths.

This is an undetermined problem, even if the weights are integers (same underlying reason that topological sorting is not unique, I suppose). In all generality, the edge weights, which represent timeintervals between nodes/events, are real numbers. Therefore I'm introducing some preset objective function C=J(WDAG) on the weighted DAG, here unspecified.

My question is: is there an algorithm that distributes positive definite weights on the WDAG, subject to the constraint 1) that the weights form a distance function of the DAG and 2) minimizing the objective function cost C.

This seems unrelated to the shortest-path or minimum-spanning-tree problems classically associated to WDAG's. Any ideas to a formal or heuristic solution to the above problem?

Regards,

Stephane

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

筱果果 2024-11-24 19:47:27

我认为您所需要的只是拓扑排序

  1. 根据拓扑排序对节点进行排序。
  2. 按照得到的顺序将它们分布在 [0,1] 区间内。
  3. 现在,[0,1] 线上节点对的距离将为您提供连接它们的边的权重。

这是一种可能的解决方案。如果您对权重的限制比问题中描述的更多,则问题可能会更困难。

I think all you need is topological sorting.

  1. Sort the nodes according to a topological sort.
  2. Distribute them in the [0,1] interval in the order you got.
  3. Now the distance of node-pairs on the [0,1] line will give you the weight of the edge connecting them.

This is one possible solution. If you have more constraints on the weights than what you describe in the question, the problem might be more difficult.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文