有向无环图(DAG)的最小路径覆盖

本文探讨了有向无环图(DAG)的最小路径覆盖问题,包括最小不相交路径覆盖和最小可相交路径覆盖。通过将DAG转化为二分图并寻找最大匹配数,可以求得最小不相交路径覆盖。使用Floyd算法求传递闭包后,可将最小可相交路径覆盖问题转化为最小不相交路径覆盖。最小路径覆盖等于总节点数减去最大匹配数。文中还提醒,在存在边相交情况时,需要对原图进行传递闭包处理以确保正确计算最小路径覆盖。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

http://www.cnblogs.com/justPassBy/p/5369930.html

http://www.cnblogs.com/ka200812/archive/2011/07/31/2122641.html

定理:
柯尼希定理:二分图最小点覆盖的点数=最大匹配数。
最小路径覆盖的边数=顶点数n-最大匹配数
最大独立集=最小路径覆盖=顶点数n-最大匹配数

增广路定理:用未盖点表示不与任何匹配边邻接的点,其他点位匹配点,即恰好和一条匹配边临界的点。从未盖点出发,依次经过非匹配边,匹配边,非匹配边,匹配边。。。所得到的路径称为交替路。注意,如果交替路的终点时一个未盖点,则称这条交替路位一条增广路。在增广路中,非匹配边比匹配边多一条。增广路的作用是改进匹配。如果有一条增广路,那么把此路上的匹配边和非匹配边互换,得到的匹配比刚才多一边。反过来,如果找不到增广路,则当前匹配就是最大匹配。

查找增广路,存在增广路就交换增广路上的非匹配边和匹配边,这样会使得当前最大匹配数+1。

DAG的最小路径覆盖

 

定义:在一个有向图中,找出最少的路径,使得这些路径经过了所有的点。

最小路径覆盖分为最小不相交路径覆盖最小可相交路径覆盖

最小不相交路径覆盖:每一条路径经过的顶点各不相同。如图,其最小路径覆盖数为3。即1->3>4,2,5。

最小可相交路径覆盖:每一条路径经过的顶点可以相同。如果其最小路径覆盖数为2。即1->3->4,2->3>5。

特别的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值