V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
olist
V2EX  ›  算法

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

  •  
  •   olist · 2021-02-07 15:04:10 +08:00 · 1186 次点击
    这是一个创建于 504 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近在看算法导论的最大流章节,习题 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 不连通了。 想了好久还没有证明出来,网上也没找到相关内容。

    8 条回复    2021-03-09 16:51:57 +08:00
    imn1
        1
    imn1  
       2021-02-07 16:20:07 +08:00
    你说的这个应该在该章节的前面证明了
    ... as described in the section
    你翻看前面的题目吧
    olist
        2
    olist  
    OP
       2021-02-07 16:23:45 +08:00
    @imn1 “as described in the section”指的是另一个问题。
    GuuJiang
        3
    GuuJiang  
       2021-02-07 16:47:47 +08:00 via iPhone
    这句英文的意思应该是“如果从源点到汇点最多只有一条唯一路径”,这样看的话这个结论不是“显然”吗?路径上的任意一条边都满足这个条件啊
    olist
        4
    olist  
    OP
       2021-02-07 16:57:21 +08:00
    @GuuJiang 但如果结合题目来看,基本上就是我说的那个意思。
    GuuJiang
        5
    GuuJiang  
       2021-02-07 19:23:39 +08:00   ❤️ 1
    手边没有书,不过单就你贴出来的内容来看,并不是你在题目里理解的那个意思,这段话是在说明为什么找到大小至少为 2 的流等价于解决了原问题,因为假如只有唯一路径(也就是说原文题无解),那么必然存在桥边,从而流量必然不大于 1,即桥边的流量,反之,如果流量大于等于 2,则说明存在非唯一路径,即原问题有解
    olist
        6
    olist  
    OP
       2021-02-09 10:02:24 +08:00 via iPhone
    找到答案了,参见门杰定理。在 mathoverflow 被秒回。。。
    olist
        7
    olist  
    OP
       2021-02-17 11:58:55 +08:00 via iPhone
    后续章节的最大流最小割定理也可推出这个结论。
    jiangzhizhou
        8
    jiangzhizhou  
       2021-03-09 16:51:57 +08:00
    @olist
    最大流 最小割 连通图 增广路
    印象中高中搞 IO 有些名词可以搜搜,如果需要中文资料
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1417 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 23:57 · PVG 07:57 · LAX 16:57 · JFK 19:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.