微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

计算最优捐赠分配的难度返回最大网络流量

如何解决计算最优捐赠分配的难度返回最大网络流量

希望有人能花点时间考虑以下问题,欢迎大家一起讨论。问题如下:

对于给定的加权有向网络,作为中央权威,他的任务是找到最佳捐赠分配,用m表示,( m一个向量,m=(m_1,m_2,...m_n) 其中 m_i 表示权限分配给 v_i 的商品数量,n 是节点数在网络中),它可以返回网络中的最大流量所有流量的总和)。具体规则如下:

  1. 捐赠给节点的商品可分,但商品总量有限。比方说,用 M 表示的捐赠总额。(想象一下,你正在为网络中的节点分配一个有限的加权蛋糕)。中央机构必须将所有商品捐赠给节点。

  2. 将货物分配给节点后,每个节点v_i将分配 她拥有的通过**外向边缘按比**给她的邻居。

  • 特别是,“每个节点有什么”由两部分组成,一是中央分配(捐赠)的数量,另一部分是它通过传入边缘从其邻居的分发处接收的货物。例如,考虑enter image description here所示的网络,左边的网络是原始网络,虚线方块上的东西是按权限分配的时间表,即分别给v_1、v_2分配1个.那么在这种情况下,v_2 拥有的是 2,等于“1 来自权威分配”加上来自 v_1 的分配的另外 1,因为一旦 v_1 收到来自权威的 1 捐赠,那么它会将 1 传递(分配)给邻居 v_2。另外,v_1 所拥有的只是来自权威捐赠的 1。相反,v_3 的值是 2,它仅来自 v_2 的分布。 因此,简而言之,每个节点所拥有的,除了它从其邻居的分配中获得了多少之外,还等于它收到的捐赠。
  • “比例性” 每个节点根据每个单条出边的相对权重按比例分配它所拥有的,例如图中,enter image description here同样的,v_2的也是2,因为v_2有两条出边,每条出边的相对权重分别为3/(2+3)、2/(2+3),所以v_2会分配6/5到 v_4,4/5 到 v_3。
  1. 第三条规则被称为“有限责任”,这意味着如果节点所拥有的不小于每个单独传出的权重(容量)之和边,那么节点必须分配的是所有出边的权重(容量)的总和。否则,节点必须按比例分配它所拥有的一切。例如,如enter image description here所示,v_1拥有的是3(来自捐赠),但其总出边容量为2,因此v_1只能分配2个v_2。另外,v_2 有 5 小于 6 (4+2),因此 v_2 按比例分配到 v_3、v_4 之间,使得 v_4 有 5*2/3=10/3 大于 3,因此 v_4 只给出1 到 v_5、v_6 和 v_7。

还有一个具体的例子,如enter image description here 假设有一个权限,其捐赠金额为 8(可整除),权限为需要决定如何在网络内的节点之间分配8个捐赠,以最大化网络中的总流量。

假设权限决定给6和2分别提供节点v_1和节点v_3,即m_1=6,m_3=2,其他都为0。那么总流量捐赠后为(1+2+2+8/5+12/5+3),具体计算如下:

首先,因为对v_1的捐赠是6,不小于v_1的总输出权重(1+2+3),因此v_1和v_2、v_4、v_4之间的每条边都会被充分利用。此外,v_2 会向 v_3 发送 2,因此 v_3 拥有的是 (2+2),这等于来自 v_2 的分配和来自权威的捐赠之和。然后v_3将它所有的(4)按比例分配给v_1和v_4,导致边缘上的8/5、12/5分别从v_3流到v_1和v_4。

我认为最后一个例子展示了如何计算给定捐赠分配的流量,但我没有展示如何进行捐赠分配,以便我们可以获得网络中的最大总流量,这实际上是我想问的问题.

据我所知,对于任何给定的捐赠分配,可以在多项式时间内计算确切的流量,因此无需担心给定捐赠分配的计算流量。然而,对于任何具有 n 个节点的网络,是否容易计算返回最大总流量的最优捐赠分配?这是一个 np-hard 问题吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。