{"title":"具有顶点容量的平面图形中的最大流","authors":"Yipu Wang","doi":"10.1145/3504032","DOIUrl":null,"url":null,"abstract":"We consider the maximum flow problem in directed planar graphs with capacities on both vertices and arcs and with multiple sources and sinks. We present three algorithms when the capacities are integers. The first algorithm runs in O(min {k2 n, n log3 n + kn}) time when all capacities are bounded by a constant, where n is the number of vertices in the graph, and k is the number of terminals. This algorithm is the first to solve the vertex-disjoint paths problem in linear time when k is fixed but larger than 2. The second algorithm runs in O(k5 Δ n polylog (nU)) time, where each arc capacity and finite vertex capacity is bounded by U, and Δ is the maximum degree of the graph. Finally, when k = 3, we present an algorithm that runs in O(n log n) time; this algorithm works even when the capacities are arbitrary reals. Our algorithms improve on the fastest previously known algorithms when k and Δ are fixed and U is bounded by a polynomial in n. Prior to this result, the fastest algorithms ran in O(n4/3+o(1)) time for unit capacities; in the smallest of O(n3/2log n log U), Õ(n10/7U1/7), O(n11/8+o(1)U1/4), and O(n4/3 + o(1)U1/3) time for integer capacities; and in O(n2/log n) time for real capacities, even when k = 3.","PeriodicalId":154047,"journal":{"name":"ACM Transactions on Algorithms (TALG)","volume":"29 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2022-01-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":"{\"title\":\"Max Flows in Planar Graphs with Vertex Capacities\",\"authors\":\"Yipu Wang\",\"doi\":\"10.1145/3504032\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"We consider the maximum flow problem in directed planar graphs with capacities on both vertices and arcs and with multiple sources and sinks. We present three algorithms when the capacities are integers. The first algorithm runs in O(min {k2 n, n log3 n + kn}) time when all capacities are bounded by a constant, where n is the number of vertices in the graph, and k is the number of terminals. This algorithm is the first to solve the vertex-disjoint paths problem in linear time when k is fixed but larger than 2. The second algorithm runs in O(k5 Δ n polylog (nU)) time, where each arc capacity and finite vertex capacity is bounded by U, and Δ is the maximum degree of the graph. Finally, when k = 3, we present an algorithm that runs in O(n log n) time; this algorithm works even when the capacities are arbitrary reals. Our algorithms improve on the fastest previously known algorithms when k and Δ are fixed and U is bounded by a polynomial in n. Prior to this result, the fastest algorithms ran in O(n4/3+o(1)) time for unit capacities; in the smallest of O(n3/2log n log U), Õ(n10/7U1/7), O(n11/8+o(1)U1/4), and O(n4/3 + o(1)U1/3) time for integer capacities; and in O(n2/log n) time for real capacities, even when k = 3.\",\"PeriodicalId\":154047,\"journal\":{\"name\":\"ACM Transactions on Algorithms (TALG)\",\"volume\":\"29 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2022-01-22\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"1\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"ACM Transactions on Algorithms (TALG)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1145/3504032\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"ACM Transactions on Algorithms (TALG)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3504032","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1
摘要
本文研究了有向平面图中既有顶点也有圆弧的最大流问题,且有多个源和汇。给出了容量为整数时的三种算法。第一种算法运行时间为O(min {k2n, n log3n + kn}),所有容量以一个常数为界,其中n为图中顶点数,k为终端数。该算法首次解决了当k固定且大于2时,在线性时间内的顶点不相交路径问题。第二种算法运行时间为O(k5 Δ n polylog (nU)),其中每个弧容量和有限顶点容量都以U为界,Δ为图的最大度。最后,当k = 3时,我们给出了一个运行时间为O(n log n)的算法;该算法即使在容量为任意实数时也有效。当k和Δ固定且U受n的多项式约束时,我们的算法改进了先前已知的最快算法。在此结果之前,单位容量的最快算法运行时间为O(n4/3+ O(1));对于整数容量,最小时间为O(n3/2log n log U), Õ(n10/7U1/7), O(n11/8+ O(1)U1/4), O(n4/3 + O(1)U1/3);对于实际容量,在O(n2/log n)时间内,即使k = 3。
We consider the maximum flow problem in directed planar graphs with capacities on both vertices and arcs and with multiple sources and sinks. We present three algorithms when the capacities are integers. The first algorithm runs in O(min {k2 n, n log3 n + kn}) time when all capacities are bounded by a constant, where n is the number of vertices in the graph, and k is the number of terminals. This algorithm is the first to solve the vertex-disjoint paths problem in linear time when k is fixed but larger than 2. The second algorithm runs in O(k5 Δ n polylog (nU)) time, where each arc capacity and finite vertex capacity is bounded by U, and Δ is the maximum degree of the graph. Finally, when k = 3, we present an algorithm that runs in O(n log n) time; this algorithm works even when the capacities are arbitrary reals. Our algorithms improve on the fastest previously known algorithms when k and Δ are fixed and U is bounded by a polynomial in n. Prior to this result, the fastest algorithms ran in O(n4/3+o(1)) time for unit capacities; in the smallest of O(n3/2log n log U), Õ(n10/7U1/7), O(n11/8+o(1)U1/4), and O(n4/3 + o(1)U1/3) time for integer capacities; and in O(n2/log n) time for real capacities, even when k = 3.