We study the problem of computing the vitality of edges and vertices with respect to the $st$-max flow in undirected planar graphs, where the vitality of an edge/vertex is the $st$-max flow decrease when the edge/vertex is removed from the graph. This allows us to establish the vulnerability of the graph with respect to the $st$-max flow.
We give efficient algorithms to compute an additive guaranteed approximation of the vitality of edges and vertices in planar undirected graphs. We show that in the general case high vitality values are well approximated in time close to the time currently required to compute $st$-max flow $O(n\log\log n)$. We also give improved, and sometimes optimal, results in the case of integer capacities. All our algorithms work in $O(n)$ space.
We give the first O(m polylog(n)) time algorithms for approximating maximum flows in undirected graphs and constructing polylog(n) -quality cut-approximating hierarchical tree decompositions. Our algorithm invokes existing algorithms for these two problems recursively while gradually incorporating size reductions. These size reductions are in turn obtained via ultra-sparsifiers, which are key tools in solvers for symmetric diagonally dominant (SDD) linear systems.
We show a fast algorithm for determining the set of edges in a planar undirected unweighted graph, whose deletion reduces the maximum flow between two fixed vertices. This is a special case of the max flow vitality problem, that has been efficiently solved for general undirected graphs and st-planar graphs. The vitality of an edge of a graph with respect to the maximum flow between two fixed vertices s and t is defined as the reduction of the maximum flow caused by the removal of that edge. In this paper we show that the set of edges having vitality greater than zero in a planar undirected unw…
The vitality of an edge in a graph with respect to the maximum flow between two fixed vertices $s$ and $t$ is defined as the reduction of the maximum flow value caused by the removal of that edge. The max-flow vitality problem has already been efficiently solved for $st$-planar graphs but has remained open for general planar graphs. For the first time our result provides an optimal solution for general planar graphs although restricted to the case of unweighted planar graphs.
We present faster algorithms for approximate maximum flow in undirected graphs with good separator structures, such as bounded genus, minor free, and geometric graphs. Given such a graph with $n$ vertices, $m$ edges along with a recursive $\sqrt{n}$-vertex separator structure, our algorithm finds an $1-ε$ approximate maximum flow in time $\tilde{O}(m^{6/5} \poly{ε^{-1}})$, ignoring poly-logarithmic terms. Similar speedups are also achieved for separable graphs with larger size separators albeit with larger run times. These bounds also apply to image problems in two and three dimensions. Key to…
In this paper we study minimum cut and maximum flow problems on planar graphs, both in static and in dynamic settings. First, we present an algorithm that given an undirected planar graph computes the minimum cut between any two given vertices in O(n log log n) time. Second, we show how to achieve the same O(n log log n) bound for the problem of computing maximum flows in undirected planar graphs. To the best of our knowledge, these are the first algorithms for those two problems that break the O(n log n) barrier, which has been standing for more than 25 years. Third, we present a fully dynami…
Given an undirected graph G=(V,E), a collection (s_1,t_1),...,(s_k,t_k) of k source-sink pairs, and an integer c, the goal in the Edge Disjoint Paths with Congestion problem is to connect maximum possible number of the source-sink pairs by paths, so that the maximum load on any edge (called edge congestion) does not exceed c. We show an efficient randomized algorithm to route $Ω(OPT/\poly\log k)$ source-sink pairs with congestion at most 14, where OPT is the maximum number of pairs that can be simultaneously routed on edge-disjoint paths. The best previous algorithm that routed $Ω(OPT/\poly\lo…
Let G=(V,E) be a graph with f:V\to Z_+ a function assigning degree bounds to vertices. We present the first efficient algebraic algorithm to find an f-factor. The time is \tilde{O}(f(V)^ω). More generally for graphs with integral edge weights of maximum absolute value W we find a maximum weight f-factor in time \tilde{O}(Wf(V)^ω). (The algorithms are randomized, correct with high probability and Las Vegas; the time bound is worst-case.) We also present three specializations of these algorithms: For maximum weight perfect f-matching the algorithm is considerably simpler (and almost identical to…
We investigate the time-complexity of the All-Pairs Max-Flow problem: Given a graph with $n$ nodes and $m$ edges, compute for all pairs of nodes the maximum-flow value between them. If Max-Flow (the version with a given source-sink pair $s,t$) can be solved in time $T(m)$, then an $O(n^2) \cdot T(m)$ is a trivial upper bound. But can we do better? For directed graphs, recent results in fine-grained complexity suggest that this time bound is essentially optimal. In contrast, for undirected graphs with edge capacities, a seminal algorithm of Gomory and Hu (1961) runs in much faster time $O(n)\cd…
In this paper, we introduce a new framework for approximately solving flow problems in capacitated, undirected graphs and apply it to provide asymptotically faster algorithms for the maximum $s$-$t$ flow and maximum concurrent multicommodity flow problems. For graphs with $n$ vertices and $m$ edges, it allows us to find an $ε$-approximate maximum $s$-$t$ flow in time $O(m^{1+o(1)}ε^{-2})$, improving on the previous best bound of $\tilde{O}(mn^{1/3} poly(1/ε))$. Applying the same framework in the multicommodity setting solves a maximum concurrent multicommodity flow problem with $k$ commodities…
This paper focuses on finding a spanning tree of a graph to maximize the number of its internal vertices. We present an approximation algorithm for this problem which can achieve a performance ratio $\frac{4}{3}$ on undirected simple graphs. This improves upon the best known approximation algorithm with performance ratio $\frac{5}{3}$ before. Our algorithm benefits from a new observation for bounding the number of internal vertices of a spanning tree, which reveals that a spanning tree of an undirected simple graph has less internal vertices than the edges a maximum path-cycle cover of that gr…
We introduce a new approach to computing an approximately maximum s-t flow in a capacitated, undirected graph. This flow is computed by solving a sequence of electrical flow problems. Each electrical flow is given by the solution of a system of linear equations in a Laplacian matrix, and thus may be approximately computed in nearly-linear time. Using this approach, we develop the fastest known algorithm for computing approximately maximum s-t flows. For a graph having n vertices and m edges, our algorithm computes a (1-ε)-approximately maximum s-t flow in time \tilde{O}(mn^{1/3} ε^{-11/3}). A …
In graph theory, the longest path problem is the problem of finding a simple path of maximum length in a given graph. For some small classes of graphs, the problem can be solved in polynomial time [2, 4], but it remains NP-hard on general graphs, since it includes the Hamiltonian path problem as a special case [3]. Motivated by finding a simple, quick algorithm for finding long paths in large graphs, in this paper we show a greedy algorithm with a time complexity of O(n^2 (n+m)), where n is the number of the vertices and m is the number of edges.
The \emph{vitality} of an arc/node of a graph with respect to the maximum flow between two fixed nodes $s$ and $t$ is defined as the reduction of the maximum flow caused by the removal of that arc/node. In this paper we address the issue of determining the vitality of arcs and/or nodes for the maximum flow problem. We show how to compute the vitality of all arcs in a general undirected graph by solving only $2(n-1)$ max flow instances and, In $st$-planar graphs (directed or undirected) we show how to compute the vitality of all arcs and all nodes in $O(n)$ worst-case time. Moreover, after dete…
We initiate the study of $k$-edge-connected orientations of undirected graphs through edge flips for $k \geq 2$. We prove that in every orientation of an undirected $2k$-edge-connected graph, there exists a sequence of edges such that flipping their directions one by one does not decrease the edge-connectivity, and the final orientation is $k$-edge-connected. This yields an ``edge-flip based'' new proof of Nash-Williams' theorem: an undirected graph $G$ has a $k$-edge-connected orientation if and only if $G$ is $2k$-edge-connected. As another consequence of the theorem, we prove that the edge-…
An instance of the graph-constrained max-cut (GCMC) problem consists of (i) an undirected graph G and (ii) edge-weights on a complete undirected graph on the same vertex set. The objective is to find a subset of vertices satisfying some graph-based constraint in G that maximizes the total weight of edges in the cut. The types of graph constraints we can handle include independent set, vertex cover, dominating set and connectivity. Our main results are for the case when G is a graph with bounded treewidth, where we obtain a 0.5-approximation algorithm. Our algorithm uses an LP relaxation based …
We consider the influence maximization problem (selecting $k$ seeds in a network maximizing the expected total influence) on undirected graphs under the linear threshold model. On the one hand, we prove that the greedy algorithm always achieves a $(1 - (1 - 1/k)^k + Ω(1/k^3))$-approximation, showing that the greedy algorithm does slightly better on undirected graphs than the generic $(1- (1 - 1/k)^k)$ bound which also applies to directed graphs. On the other hand, we show that substantial improvement on this bound is impossible by presenting an example where the greedy algorithm can obtain at …
We give an algorithm for augmenting the edge connectivity of an undirected graph by using the isolating cuts framework (Li and Panigrahi, FOCS '20). Our algorithm uses poly-logarithmic calls to any max-flow algorithm, which yields a running time of $\tilde O(m + n^{3/2})$ and improves on the previous best time of $\tilde O(n^2)$ (Benczúr and Karger, SODA '98) for this problem. We also obtain an identical improvement in the running time of the closely related edge splitting off problem in undirected graphs.
A maximum priority matching is a matching in an undirected graph that maximizes a priority score defined with respect to given vertex priorities. An earlier paper showed how to find maximum priority matchings in unweighted graphs. This paper describes an algorithm for bipartite graphs that is faster when the number of distinct priority classes is limited. For graphs with $k$ distinct priority classes it runs in $O(kmn^{1/2})$ time, where $n$ is the number of vertices in the graph and $m$ is the number of edges.
The \emph{maximal $k$-edge-connected subgraphs} problem is a classical graph clustering problem studied since the 70's. Surprisingly, no non-trivial technique for this problem in weighted graphs is known: a very straightforward recursive-mincut algorithm with $Ω(mn)$ time has remained the fastest algorithm until now. All previous progress gives a speed-up only when the graph is unweighted, and $k$ is small enough (e.g.~Henzinger~et~al.~(ICALP'15), Chechik~et~al.~(SODA'17), and Forster~et~al.~(SODA'20)). We give the first algorithm that breaks through the long-standing $\tilde{O}(mn)$-time barr…
We introduce a general method for obtaining fixed-parameter algorithms for problems about finding paths in undirected graphs, where the length of the path could be unbounded in the parameter. The first application of our method is as follows. We give a randomized algorithm, that given a colored $n$-vertex undirected graph, vertices $s$ and $t$, and an integer $k$, finds an $(s,t)$-path containing at least $k$ different colors in time $2^k n^{O(1)}$. This is the first FPT algorithm for this problem, and it generalizes the algorithm of Björklund, Husfeldt, and Taslaman [SODA 2012] on finding a p…
The Gomory-Hu tree or cut tree (Gomory and Hu, 1961) is a classic data structure for reporting $(s,t)$ mincuts (and by duality, the values of $(s,t)$ maxflows) for all pairs of vertices $s$ and $t$ in an undirected graph. Gomory and Hu showed that it can be computed using $n-1$ exact maxflow computations. Surprisingly, this remains the best algorithm for Gomory-Hu trees more than 50 years later, *even for approximate mincuts*. In this paper, we break this longstanding barrier and give an algorithm for computing a $(1+ε)$-approximate Gomory-Hu tree using $\text{polylog}(n)$ maxflow computations…
An undirected graph is Eulerian if it is connected and all its vertices are of even degree. Similarly, a directed graph is Eulerian, if for each vertex its in-degree is equal to its out-degree. It is well known that Eulerian graphs can be recognized in polynomial time while the problems of finding a maximum Eulerian subgraph or a maximum induced Eulerian subgraph are NP-hard. In this paper, we study the parameterized complexity of the following Euler subgraph problems: - Large Euler Subgraph: For a given graph G and integer parameter k, does G contain an induced Eulerian subgraph with at least…
Incremental Approximate Maximum Flow via Residual Graph Sparsification
Faculty of Computer Science, University of Vienna(维也纳大学计算机学院);Institute of Science and Technology Austria (ISTA)(奥地利科学与技术研究所);Technical University Munich(慕尼黑工业大学);UniVie Doctoral School Computer Science DoCS(维也纳大学计算机科学博士学校)
Let $G=(V,E)$ be an undirected graph with $n$ vertices and $m$ edges, in which each vertex $u$ is assigned an integer priority in $[1,n]$, with 1 being the "highest" priority. Let $M$ be a matching of $G$. We define the priority score of $M$ to be an $n$-ary integer in which the $i$-th most-significant digit is the number of vertices with priority $i$ that are incident to an edge in $M$. We describe a variation of the augmenting path method (Edmonds' algorithm) that finds a matching with maximum priority score in $O(mn)$ time.
Finding maximum-cardinality matchings in undirected graphs is arguably one of the most central graph problems. For general m-edge and n-vertex graphs, it is well-known to be solvable in $O(m \sqrt{n})$ time. We develop a linear-time algorithm to find maximum-cardinality matchings on cocomparability graphs, a prominent subclass of perfect graphs that contains interval graphs as well as permutation graphs. Our algorithm is based on the recently discovered Lexicographic Depth First Search (LDFS).
For an undirected tree with $n$ edges labelled by single letters, we consider its substrings, which are labels of the simple paths between pairs of nodes. We prove that there are $O(n^{1.5})$ different palindromic substrings. This solves an open problem of Brlek, Lafrenière, and Provençal (DLT 2015), who gave a matching lower-bound construction. Hence, we settle the tight bound of $Θ(n^{1.5})$ for the maximum palindromic complexity of trees. For standard strings, i.e., for paths, the palindromic complexity is $n+1$. We also propose $O(n^{1.5} \log{n})$-time algorithm for reporting all distinct…
I extend the methods in "Electrical Flows, Laplacian Systems, and Faster Approximation of Maximum Flow in Undirected Graphs, with Paul Christiano, Jonathan Kelner, Daniel Spielman, and Shang-Hua Teng" to directed graphs with a variation of the framework in the paper, which lead to an algorithm that approximately solves the directed max flow problem in nearly-linear time.
J. Hopcroft and D. Sheldon originally introduced network reputation games to investigate the self-interested behavior of web authors who want to maximize their PageRank on a directed web graph by choosing their outlinks in a game theoretic manner. They give best response strategies for each player and characterize properties of web graphs which are Nash equilibria. In this paper we consider three different models for PageRank games on undirected graphs such as certain social networks. In undirected graphs players may delete links at will, but typically cannot add links without the other player…
We study the computational complexity of routing multiple objects through a network in such a way that only few collisions occur: Given a graph $G$ with two distinct terminal vertices and two positive integers $p$ and $k$, the question is whether one can connect the terminals by at least $p$ routes (e.g. paths) such that at most $k$ edges are time-wise shared among them. We study three types of routes: traverse each vertex at most once (paths), each edge at most once (trails), or no such restrictions (walks). We prove that for paths and trails the problem is NP-complete on undirected and direc…
We introduce a new approach to the maximum flow problem in undirected, capacitated graphs using $α$-\emph{congestion-approximators}: easy-to-compute functions that approximate the congestion required to route single-commodity demands in a graph to within a factor of $α$. Our algorithm maintains an arbitrary flow that may have some residual excess and deficits, while taking steps to minimize a potential function measuring the congestion of the current flow plus an over-estimate of the congestion required to route the residual demand. Since the residual term over-estimates, the descent process g…
An instance of the Connected Maximum Cut problem consists of an undirected graph G = (V, E) and the goal is to find a subset of vertices S $\subseteq$ V that maximizes the number of edges in the cut δ(S) such that the induced graph G[S] is connected. We present the first non-trivial Ω(1/log n) approximation algorithm for the connected maximum cut problem in general graphs using novel techniques. We then extend our algorithm to an edge weighted case and obtain a poly-logarithmic approximation algorithm. Interestingly, in stark contrast to the classical max-cut problem, we show that the connecte…
Given simple undirected graph G = (V, E), the Maximum Clique Problem(MCP) is that of finding a maximum-cardinality subset Q of V such that any two vertices in Q are adjacent. We present a modified local search algorithm for this problem. Our algorithm build some maximal solution and can determine in polynomial time if a maximal solution can be improved by replacing a single vertex with k, k > 1, others. We test our algorithms on DIMACS[5], Sloane[15], BHOSLIB[1], Iovanella[8] and our random instances.
We give an algorithm that computes exact maximum flows and minimum-cost flows on directed graphs with $m$ edges and polynomially bounded integral demands, costs, and capacities in $m^{1+o(1)}$ time. Our algorithm builds the flow through a sequence of $m^{1+o(1)}$ approximate undirected minimum-ratio cycles, each of which is computed and processed in amortized $m^{o(1)}$ time using a new dynamic graph data structure. Our framework extends to algorithms running in $m^{1+o(1)}$ time for computing flows that minimize general edge-separable convex functions to high accuracy. This gives almost-linea…
The maximum multicommodity flow problem is a natural generalization of the maximum flow problem to route multiple distinct flows. Obtaining a $1-ε$ approximation to the multicommodity flow problem on graphs is a well-studied problem. In this paper we present an adaptation of recent advances in single-commodity flow algorithms to this problem. As the underlying linear systems in the electrical problems of multicommodity flow problems are no longer Laplacians, our approach is tailored to generate specialized systems which can be preconditioned and solved efficiently using Laplacians. Given an un…
In this paper we introduce and study a new problem named \emph{min-max edge $q$-coloring} which is motivated by applications in wireless mesh networks. The input of the problem consists of an undirected graph and an integer $q$. The goal is to color the edges of the graph with as many colors as possible such that: (a) any vertex is incident to at most $q$ different colors, and (b) the maximum size of a color group (i.e. set of edges identically colored) is minimized. We show the following results: 1. Min-max edge $q$-coloring is NP-hard, for any $q \ge 2$. 2. A polynomial time exact algorithm …
We give a deterministic, nearly logarithmic-space algorithm for mild spectral sparsification of undirected graphs. Given a weighted, undirected graph $G$ on $n$ vertices described by a binary string of length $N$, an integer $k\leq \log n$, and an error parameter $ε> 0$, our algorithm runs in space $\tilde{O}(k\log (N\cdot w_{\mathrm{max}}/w_{\mathrm{min}}))$ where $w_{\mathrm{max}}$ and $w_{\mathrm{min}}$ are the maximum and minimum edge weights in $G$, and produces a weighted graph $H$ with $\tilde{O}(n^{1+2/k}/ε^2)$ edges that spectrally approximates $G$, in the sense of Spielmen and Teng […
We devise constant-factor approximation algorithms for finding as many disjoint cycles as possible from a certain family of cycles in a given planar or bounded-genus graph. Here disjoint can mean vertex-disjoint or edge-disjoint, and the graph can be undirected or directed. The family of cycles under consideration must satisfy two properties: it must be uncrossable and allow for an oracle access that finds a weight-minimal cycle in that family for given nonnegative edge weights or (in planar graphs) the union of all remaining cycles in that family after deleting a given subset of edges. Our se…
In the maximum traveling salesman problem (Max TSP) we are given a complete undirected graph with nonnegative weights on the edges and we wish to compute a traveling salesman tour of maximum weight. We present a fast combinatorial $\frac 45$ - approximation algorithm for Max TSP. The previous best approximation for this problem was $\frac 79$. The new algorithm is based on a novel technique of eliminating difficult subgraphs via half-edges, a new method of edge coloring and a technique of exchanging edges. A half-edge of edge $e=(u,v)$ is informally speaking "a half of $e$ containing either $u…
In observational studies, the true causal model is typically unknown and needs to be estimated from available observational and limited experimental data. In such cases, the learned causal model is commonly represented as a partially directed acyclic graph (PDAG), which contains both directed and undirected edges indicating uncertainty of causal relations between random variables. The main focus of this paper is on the maximal orientation task, which, for a given PDAG, aims to orient the undirected edges maximally such that the resulting graph represents the same Markov equivalent DAGs as the …
Zwick's $(1+\varepsilon)$-approximation algorithm for the All Pairs Shortest Path (APSP) problem runs in time $\widetilde{O}(\frac{n^ω}{\varepsilon} \log{W})$, where $ω\le 2.373$ is the exponent of matrix multiplication and $W$ denotes the largest weight. This can be used to approximate several graph characteristics including the diameter, radius, median, minimum-weight triangle, and minimum-weight cycle in the same time bound. Since Zwick's algorithm uses the scaling technique, it has a factor $\log W$ in the running time. In this paper, we study whether APSP and related problems admit approx…
Minimum cuts have been closely related to shortest paths in planar graphs via planar duality - so long as the graphs are undirected. Even maximum flows are closely related to shortest paths for the same reason - so long as the source and the sink are on a common face. In this paper, we give a correspondence between maximum flows and shortest paths via duality in directed planar graphs with no constraints on the source and sink. We believe this a promising avenue for developing algorithms that are more practical than the current asymptotically best algorithms for maximum st-flow.