有算法大佬来帮我证明一个定理吗?

2021-02-07 15:04:10 +08:00
 olist

最近在看算法导论的最大流章节,习题 26.1-6 是这样的: Professor Adam has two children who, unfortunately, dislike each other. The problem is so severe that not only do they refuse to walk to school together, but in fact each one refuses to walk on any block that the other child has stepped on that day. The children have no problem with their paths crossing at a corner. Fortunately both the professor’s house and the school are on corners, but beyond that he is not sure if it is going to be possible to send both of his children to the same school. The professor has a map of his town. Show how to formulate the problem of determining whether both his children can go to the same school as a maximum-flow problem.

解答是这样的: Use the map to create a graph where vertices represent street intersections and edges represent streets. Define c(u; v) = 1 for all edges (u; v). Since a street can be traversed, start off by creating a directed edge in each direction, then make the transformation to a flow problem with no antiparallel edges as described in the section. Make the home the source and the school the sink. If there exist at least two distinct paths from source to sink then the flow will be at least 2 because we could assign f(u; v) = 1 for each of those edges. However, if there is at most one distinct path from source to sink then there must exist a bridge edge (u; v) whose removal would disconnect s from t. Since c(u; v) = 1, the flow into u is at most 1. We may assume there are no edges into s or out from t, since it doesn’t make sense to return home or leave school. By flow conservation, this implies that f = Pv2V f(s; v) ≤ 1. Thus, determining the maximum flow tells the Professor whether or not his children can go to the same school.

解答中的这句“However, if there is at most one distinct path from source to sink then there must exist a bridge edge (u; v) whose removal would disconnect s from t.”似乎用了这个结论:如果 a 到 b 是连通的且任意两条 a 到 b 的路径都有重叠的边,那么存在一条边 e,如果删掉 e 会导致 a 和 b 不连通了。 想了好久还没有证明出来,网上也没找到相关内容。

1790 次点击
所在节点    算法
8 条回复
imn1
2021-02-07 16:20:07 +08:00
你说的这个应该在该章节的前面证明了
... as described in the section
你翻看前面的题目吧
olist
2021-02-07 16:23:45 +08:00
@imn1 “as described in the section”指的是另一个问题。
GuuJiang
2021-02-07 16:47:47 +08:00
这句英文的意思应该是“如果从源点到汇点最多只有一条唯一路径”,这样看的话这个结论不是“显然”吗?路径上的任意一条边都满足这个条件啊
olist
2021-02-07 16:57:21 +08:00
@GuuJiang 但如果结合题目来看,基本上就是我说的那个意思。
GuuJiang
2021-02-07 19:23:39 +08:00
手边没有书,不过单就你贴出来的内容来看,并不是你在题目里理解的那个意思,这段话是在说明为什么找到大小至少为 2 的流等价于解决了原问题,因为假如只有唯一路径(也就是说原文题无解),那么必然存在桥边,从而流量必然不大于 1,即桥边的流量,反之,如果流量大于等于 2,则说明存在非唯一路径,即原问题有解
olist
2021-02-09 10:02:24 +08:00
找到答案了,参见门杰定理。在 mathoverflow 被秒回。。。
olist
2021-02-17 11:58:55 +08:00
后续章节的最大流最小割定理也可推出这个结论。
jiangzhizhou
2021-03-09 16:51:57 +08:00
@olist
最大流 最小割 连通图 增广路
印象中高中搞 IO 有些名词可以搜搜,如果需要中文资料

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://tanronggui.xyz/t/752080

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX