与有向边的最大加权二分匹配

2024-03-05

我知道计算最大加权匹配的各种算法加权、无向二分图(即分配问题):

例如......匈牙利算法、贝尔曼-福特算法甚至 Blossom 算法(适用于一般图,即非二分图)。

但是,如果二分图的边是,如何计算最大加权匹配加权和定向?

我希望能够提供具有多项式复杂度的算法或先前变换的指针,以使图形无向,以便我可以应用上述任何算法。

Edit:请注意,匹配应该最大化边的权重,这就是为什么有向边会产生影响(A->B 可以具有与 B->A 完全不同的权重)。

诚然,如果我最大化基数,有向边不会产生影响,我可以应用任何众所周知的算法来最大化基数:Hopcroft–Karp、最大网络流......

Edit 2: Since matching是一个通常应用于无向图的术语,让我澄清一下我的确切含义matching在这个问题中:一组不共享起始或结束顶点的有向边。更正式地说,如果 U->V 和 U'->V' 是匹配的一部分,则 V /= U' 且 V' /= U。


dfb的评论是正确的,对于任意两个顶点A,B,您可以丢弃两条边AB和BA中更便宜的一条。

证明是一句话:

Theorem:对于任意两个顶点 A,B,最大匹配 M 永远不会包含 AB 和 BA 中较便宜的边。

Proof:设M为最大匹配。假设AB在M并且比BA便宜。定义 M' = M - {AB} + {BA}。 M'显然仍然是一个匹配,但它更贵。这与 M 是最大匹配的假设相矛盾。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

与有向边的最大加权二分匹配 的相关文章

  • 用于计算井字游戏独特状态的高效算法

    我正在尝试构建一个井字游戏来演示和实验机器学习算法 并且我发现了一个有趣的问题 例如 井字棋板可以是mirrored 但出于机器学习的目的 这两种状态是等效的 x o o x o o x x o o 同样地旋转 x o x o o o x
  • 如何快速计算集合的所有交集的包含顺序

    这是后续如何在python中快速获取集合的所有交集 https stackoverflow com questions 37622153 我有一个整数有限集合 Ai 的有限集合 A A1 Ak 我想计算Python下列 A 子集的所有交集
  • 产生独特的价值

    我想创建一个C程序生成 0 到 999999 之间的数字 请记住生成的数字不应包含任何重复的数字 例如 123 是一个可接受的值 但不是 121 as the 1 被重复 我已经找到了其他程序代码来检查整数是否有重复的数字 检查整数是否有重
  • 在等式约束的情况下求解线性规划

    我问了一个问题 可以在这里找到 计算最优组合 https stackoverflow com questions 17232596 computing the optimal combination 并有人建议线性规划 我查阅了线性规划和单
  • 这个简单的洗牌算法是否会返回一副随机洗牌的扑克牌? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 您有一个包含 52 张卡片的列表 其中列表中卡片的位置不会移动 您有第二个卡位置列表 首先 位置列表与第一个列表相同 迭代第一个列表 对于第一个列表中
  • 修正增量函数的摊余成本

    因此 对于 n 位二进制字符串 A 0 n 1 其中 A 0 是最低有效位 A n 1 是最高有效位 增量算法为 Increment A n i 0 while i
  • 在螺旋线上画等距点

    我需要一种算法来计算螺旋路径上的点的分布 该算法的输入参数应为 环路宽度 距最内环路的距离 点之间的距离固定 绘制点数 要绘制的螺旋是阿基米德螺线并且获得的积分必须是等距离来自彼此 该算法应该打印出单点的笛卡尔坐标序列 例如 点 1 0 0
  • 简化债务加权有向图的算法

    我一直在使用我编写的一个小Python脚本来管理室友之间的债务 它有效 但缺少一些功能 其中之一是简化不必要的复杂债务结构 例如 如果下面的加权有向图代表一些人 箭头代表他们之间的债务 爱丽丝欠鲍勃 20 美元 查理欠 5 美元 鲍勃欠查理
  • 基本编程/算法概念[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我即将 与其他程序员一起 在我的高中
  • 有没有快速的矩阵求幂方法?

    Is there any faster method of matrix exponentiation to calculate Mn where M is a matrix and n is an integer than the sim
  • 硬币数量有限的最小硬币找零问题

    具体来说 问题是 给定面值数组coins 每个硬币的限制数组limits 和数量amount 返回minimum需要的硬币数量 以获得amount 或者如果不可能返回 null 另外填充数组change解决方案中使用的每个硬币的数量 这是我
  • 证明:为什么 java.lang.String.hashCode() 的实现与其文档相符?

    JDK 文档为java lang String hashCode http java sun com javase 6 docs api java lang String html hashCode famously https stack
  • 使用 d3 在两个节点之间绘制多条边

    我一直在关注 Mike Bostock 的代码这个例子 http bl ocks org 1153292学习如何在 d3 中绘制有向图 并且想知道如何构建代码 以便可以在图中的两个节点之间添加多个边 例如 如果上例中的数据集定义为 var
  • 使用 Chudnovsky 算法计算 pi 时出错 - Java

    我一直在尝试编写一个简单的程序来使用 Chudnovsky 算法计算 pi 但是我不断得到错误的值输出 我编写的最新代码如下并输出 9 6427156192980758374488232782187800865411623432530844
  • 求分数 a/b 的小数点后第 k 位,其中 a、b、k 是非常大的整数(小于 10e18)

    我的任务是找到分数 a b 小数点后第 k 位的数字 昨天我发现了这个算法 为了获取小数点后的任何数字 我生成一个名为 rem 的变量并进行循环 for int i 1 i lt k 1 i rem a b a rem 10 cout lt
  • JS中的递归排序

    在一次采访中 我被要求编写一个程序 算法来使用递归对数字数组进行排序 虽然我含糊地回答了它 但我尝试并想出了以下代码 您可以使用以下JSFiddle https jsfiddle net RajeshDixit 2u9mLegv 1 链接来
  • 所需的最少攻击次数[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我们有一个二维的细胞网格 每个细胞可能包含也可能不包含怪物 我们得到了包含怪物的单元格列表 在一次攻击中 我们可以杀死所有排成一排或一列的
  • Gremlin 按顶点属性分组并获取同一顶点中其他属性的总和

    我们有顶点来存储各种作业及其类型 并算作属性 我必须按状态和数量进行分组 我尝试了以下查询 该查询适用于一个属性 receiveCount g V hasLabel Jobs has Type within A B C group by T
  • 计算产生相同 BST 的唯一节点序列的数量

    问题 给定一个最多 50 个整数的特定序列 它们代表 某个二叉搜索树 BST 的节点 有多少种排列 这个序列在那里 这也会产生完全相同的 空白石板时间 将原始序列作为 1 个序列包含在总计数中 例如 对于这样的序列 5 2 1 9 8 答案
  • 用于检索编辑距离接近的字符串的数据结构

    例如 从一组英语单词开始 是否有一种结构 算法允许使用单词 right 作为查询来快速检索诸如 light 和 tight 之类的字符串 即 我想检索与查询字符串编辑距离较小的字符串 The BK tree http blog notdot

随机推荐

  • mongodb num_rows 相当于 php

    我怎样才能得到结果的数量 相当于num rows mysqli 在mongodb 如果我有 db gt dbName gt find array email gt newemail password gt newpass 检查符合此条件的结
  • 深入了解 skew() 函数

    我真的需要了解如何skew xdeg 函数有效所有研究似乎都没有解释 x 角度如何影响其他点并像这样扭曲它 我需要知道是否有任何数学公式或一种方法可以预期使用特定角度的结果 附 我已经阅读了大量文档 其中最好的一个是DevDocs其中说 这
  • 当 R 中的生存分析中违反比例假设时,如何对协变量与时间的相互作用进行建模

    在 R 中 当比例检验 使用 coxph 显示违反了 Cox 模型中的比例假设时 合并协变量和时间之间的交互项的最佳方法是什么 我知道您可以使用分层或与时间项交互 我对后者感兴趣 我无法在互联网上找到明确的解释以及如何执行此操作的示例 在使
  • 如何使用数字序列解压可变参数模板参数?

    如何 或者是否可以 使用数字序列解压参数包 例如 template
  • Android - 自定义小部件未更新

    我正在尝试为我的应用程序制作一个小部件 但它没有更新 我只需要更改文本视图文本并在按下按钮时打开一个活动 但它们都不起作用 代码 public void onUpdate Context context AppWidgetManager a
  • Xcode 10 和 super.tearDown

    从 Xcode 10 1 可能是 10 开始 当我创建单元测试文件时 我没有调用 super tearDown 和 super setUp 我在发行说明中没有看到这样的变化 在文档中https developer apple com doc
  • 快速、无分支的 unsigned int 绝对差

    我有一个程序 它花费大部分时间计算 RGB 值之间的欧几里德距离 无符号 8 位的 3 元组 Word8 我需要一个快速 无分支的 unsigned int 绝对差函数 这样 unsigned difference Word8 gt Wor
  • 可以使用 Twitter Bootstrap 来实现 Modernizr 吗?

    使用 Twitter Bootstrap 实现 Modernizr 可以吗 我目前正在将 Bootstrap 与 Google 的 html5shiv 结合使用 我想知道是否可以使用 Modernizr 来代替 或者只是为旧版 IE 浏览器
  • 在 Linux 上检查连接的蓝牙设备的电池电量

    如何检查已连接蓝牙设备的电池电量 该设备在 Android 上显示电池电量 因此我假设该设备支持基于 GATT 的电池服务 https www bluetooth com specifications gatt viewer attribu
  • 如何在 openLayer 地图中加载本地 gpx 文件?

    我认为标题很清楚 我正在使用 openLayer 库 v4 6 5 并且我试图在加载页面时在地图中加载本地 GPX 文件 在官方文档中 在 GPX 数据示例中 https openlayers org en latest examples
  • TSLint 错误:: 节点解释器路径不正确。请检查口译员设置

    我是 Angular 的新手 很想知道错误是什么 如何解决呢 我正在使用网络风暴 IDE 这就是我在 Intellij 中摆脱这个警告的方法 改变这个 to this
  • Sagemaker:如何在 Predictor 中设置 content_type(Sagemake > 2.0)?

    请求帮助解决以下错误 调用 InvokeEndpoint 时发生错误 ModelError 操作 从模型收到客户端错误 415 和消息 不支持内容类型应用程序 八位字节流 支持 内容类型是文本 csv 文本 libsvm 这是相关代码 fr
  • 箭头函数“预期表达式”语法错误

    我想改造这段代码 var formatQuoteAmount function tx return Currency toSmallestSubunit tx usd USD var quoteAmounts res transaction
  • 如何在列表上触发 Traits 静态事件通知?

    我正在通过traits https github com enthought traits PyCon 2010 的演示 http python mirocommunity org video 1690 pycon 2010 introdu
  • 将数据帧写入 csv 文件,其中 NA 值为空白

    有一个dataframe named cnbd 例如 cnbd data frame 1 2 3 NA NA 5 因此表达式 dim cnbd 1 give 1 我想写一个像这样的数据框cnbd到 csv write file filena
  • React 路由器:在每个 导航上执行自定义函数

    抱歉 如果这个问题已经得到回答 但是有没有一种方法可以在每个导航 最好不创建自定义包装纸 我想在应用程序内的每次导航之前将一些信息放入 sessionStorage 中 Thanks 您可以使用onClick执行任何操作 例如 gt con
  • Django 1.3 中链接静态文件的问题

    我在 Windows XP 上运行 django 1 3 python 2 7 我正在尝试在我的 django 应用程序的静态文件夹中设置 css 模板如下所示 生成的 HTML 如下所示
  • 正则表达式排除 [ 除非前面有 \

    如何编写一个正则表达式来接受包含任意数量的除 之外的任何字符的表达式 除非 前面是 例子 this is text this also this isn t any more 从上面的文字来看 this is text this also
  • @Html.DropDownList 宽度

    问 如何设置 Html DropDownList 的宽度 而不是在 css 中 Html DropDownList ListId String Empty new style width 250px no go 该的第二个论点下拉列表 ht
  • 与有向边的最大加权二分匹配

    我知道计算最大加权匹配的各种算法加权 无向二分图 即分配问题 例如 匈牙利算法 贝尔曼 福特算法甚至 Blossom 算法 适用于一般图 即非二分图 但是 如果二分图的边是 如何计算最大加权匹配加权和定向 我希望能够提供具有多项式复杂度的算