-
$2$-Fault-Tolerant Strong Connectivity Oracles
Authors:
Loukas Georgiadis,
Evangelos Kosinas,
Daniel Tsokaktsis
Abstract:
We study the problem of efficiently answering strong connectivity queries under two vertex failures. Given a directed graph $G$ with $n$ vertices, we provide a data structure with $O(nh)$ space and $O(h)$ query time, where $h$ is the height of a decomposition tree of $G$ into strongly connected subgraphs. This immediately implies data structures with $O(n \log{n})$ space and $O(\log{n})$ query tim…
▽ More
We study the problem of efficiently answering strong connectivity queries under two vertex failures. Given a directed graph $G$ with $n$ vertices, we provide a data structure with $O(nh)$ space and $O(h)$ query time, where $h$ is the height of a decomposition tree of $G$ into strongly connected subgraphs. This immediately implies data structures with $O(n \log{n})$ space and $O(\log{n})$ query time for graphs of constant treewidth, and $O(n^{3/2})$ space and $O(\sqrt{n})$ query time for planar graphs. For general directed graphs, we give a refined version of our data structure that achieves $O(n\sqrt{m})$ space and $O(\sqrt{m})$ query time, where $m$ is the number of edges of the graph. We also provide some simple BFS-based heuristics that seem to work remarkably well in practice. In the experimental part, we first evaluate various methods to construct a decomposition tree with small height $h$ in practice. Then we provide efficient implementations of our data structures, and evaluate their empirical performance by conducting an extensive experimental study on graphs taken from real-world applications.
△ Less
Submitted 2 December, 2023; v1 submitted 1 November, 2023;
originally announced November 2023.
-
On 2-strong connectivity orientations of mixed graphs and related problems
Authors:
Loukas Georgiadis,
Dionysios Kefallinos,
Evangelos Kosinas
Abstract:
A mixed graph $G$ is a graph that consists of both undirected and directed edges. An orientation of $G$ is formed by orienting all the undirected edges of $G$, i.e., converting each undirected edge $\{u,v\}$ into a directed edge that is either $(u,v)$ or $(v,u)$. The problem of finding an orientation of a mixed graph that makes it strongly connected is well understood and can be solved in linear t…
▽ More
A mixed graph $G$ is a graph that consists of both undirected and directed edges. An orientation of $G$ is formed by orienting all the undirected edges of $G$, i.e., converting each undirected edge $\{u,v\}$ into a directed edge that is either $(u,v)$ or $(v,u)$. The problem of finding an orientation of a mixed graph that makes it strongly connected is well understood and can be solved in linear time. Here we introduce the following orientation problem in mixed graphs. Given a mixed graph $G$, we wish to compute its maximal sets of vertices $C_1,C_2,\ldots,C_k$ with the property that by removing any edge $e$ from $G$ (directed or undirected), there is an orientation $R_i$ of $G\setminus{e}$ such that all vertices in $C_i$ are strongly connected in $R_i$. We discuss properties of those sets, and we show how to solve this problem in linear time by reducing it to the computation of the $2$-edge twinless strongly connected components of a directed graph. A directed graph $G=(V,E)$ is twinless strongly connected if it contains a strongly connected spanning subgraph without any pair of antiparallel (or twin) edges. The twinless strongly connected components (TSCCs) of a directed graph $G$ are its maximal twinless strongly connected subgraphs. A $2$-edge twinless strongly connected component (2eTSCC) of $G$ is a maximal subset of vertices $C$ such that any two vertices $u, v \in C$ are in the same twinless strongly connected component of $G \setminus e$, for any edge $e$. These concepts are motivated by several diverse applications, such as the design of road and telecommunication networks, and the structural stability of buildings.
△ Less
Submitted 12 April, 2024; v1 submitted 4 February, 2023;
originally announced February 2023.
-
On maximal k-edge-connected subgraphs of undirected graphs
Authors:
Loukas Georgiadis,
Giuseppe F. Italiano,
Evangelos Kosinas,
Debasish Pattanayak
Abstract:
We show how to find and efficiently maintain maximal k-edge-connected subgraphs in undirected graphs. In particular, we provide the following results. (1) A general framework for maintaining the maximal k-edge-connected subgraphs upon insertions of edges or vertices, by successively partitioning the graph into its k-edge-connected components. This defines a decomposition tree, which can be maintai…
▽ More
We show how to find and efficiently maintain maximal k-edge-connected subgraphs in undirected graphs. In particular, we provide the following results. (1) A general framework for maintaining the maximal k-edge-connected subgraphs upon insertions of edges or vertices, by successively partitioning the graph into its k-edge-connected components. This defines a decomposition tree, which can be maintained by using algorithms for the incremental maintenance of the k-edge-connected components as black boxes at every level of the tree. (2) As an application of this framework, we provide two algorithms for the incremental maintenance of the maximal $3$-edge-connected subgraphs. These algorithms allow for vertex and edge insertions, interspersed with queries asking whether two vertices belong to the same maximal $3$-edge-connected subgraph. The first algorithm has $O(mα(m,n) + n^2\log^2 n)$ total running time and uses $O(n)$ space, where $m$ is the number of edge insertions and queries, and $n$ is the total number of vertices inserted. The second algorithm performs the same operations in faster $O(mα(m,n) + n^2α(n,n))$ time in total, using $O(n^2)$ space. (3) We provide efficient constructions of sparse subgraphs that have the same maximal k-edge-connected subgraphs as the original graph. These are useful in speeding up computations involving the maximal k-edge-connected subgraphs in dense undirected graphs. (4) We give two deterministic algorithms for computing the maximal k-edge-connected subgraphs in undirected graphs, with running times $O(m+k^{O(1)}n\sqrt{n}\mathrm{polylog}(n))$ and $O(m+k^{O(k)}n\sqrt{n}\log{n})$, respectively. (5) A fully dynamic algorithm for maintaining information about the maximal k-edge-connected subgraphs for fixed k. Our update bounds are $O(n\sqrt{n}\log{n})$ worst-case time, and we achieve constant time for maximal k-edge-connected subgraph queries.
△ Less
Submitted 29 April, 2023; v1 submitted 11 November, 2022;
originally announced November 2022.
-
Improved Linear-Time Algorithm for Computing the $4$-Edge-Connected Components of a Graph
Authors:
Loukas Georgiadis,
Giuseppe F. Italiano,
Evangelos Kosinas
Abstract:
We present an improved algorithm for computing the $4$-edge-connected components of an undirected graph in linear time. The new algorithm uses only elementary data structures, and it is simple to describe and to implement in the pointer machine model of computation.
We present an improved algorithm for computing the $4$-edge-connected components of an undirected graph in linear time. The new algorithm uses only elementary data structures, and it is simple to describe and to implement in the pointer machine model of computation.
△ Less
Submitted 19 August, 2021;
originally announced August 2021.
-
Computing the $4$-Edge-Connected Components of a Graph in Linear Time
Authors:
Loukas Georgiadis,
Giuseppe F. Italiano,
Evangelos Kosinas
Abstract:
We present the first linear-time algorithm that computes the $4$-edge-connected components of an undirected graph. Hence, we also obtain the first linear-time algorithm for testing $4$-edge connectivity. Our results are based on a linear-time algorithm that computes the $3$-edge cuts of a $3$-edge-connected graph $G$, and a linear-time procedure that, given the collection of all $3$-edge cuts, par…
▽ More
We present the first linear-time algorithm that computes the $4$-edge-connected components of an undirected graph. Hence, we also obtain the first linear-time algorithm for testing $4$-edge connectivity. Our results are based on a linear-time algorithm that computes the $3$-edge cuts of a $3$-edge-connected graph $G$, and a linear-time procedure that, given the collection of all $3$-edge cuts, partitions the vertices of $G$ into the $4$-edge-connected components.
△ Less
Submitted 6 May, 2021;
originally announced May 2021.
-
Linear-Time Algorithms for Computing Twinless Strong Articulation Points and Related Problems
Authors:
Loukas Georgiadis,
Evangelos Kosinas
Abstract:
A directed graph $G=(V,E)$ is twinless strongly connected if it contains a strongly connected spanning subgraph without any pair of antiparallel (or twin) edges. The twinless strongly connected components (TSCCs) of a directed graph $G$ are its maximal twinless strongly connected subgraphs. These concepts have several diverse applications, such as the design of telecommunication networks and the s…
▽ More
A directed graph $G=(V,E)$ is twinless strongly connected if it contains a strongly connected spanning subgraph without any pair of antiparallel (or twin) edges. The twinless strongly connected components (TSCCs) of a directed graph $G$ are its maximal twinless strongly connected subgraphs. These concepts have several diverse applications, such as the design of telecommunication networks and the structural stability of buildings. A vertex $v \in V$ is a twinless strong articulation point of $G$ if the deletion of $v$ increases the number of TSCCs of $G$. Here, we present the first linear-time algorithm that finds all the twinless strong articulation points of a directed graph. We show that the computation of twinless strong articulation points reduces to the following problem in undirected graphs, which may be of independent interest: Given a $2$-vertex-connected (biconnected) undirected graph $H$, find all vertices $v$ that belong to a vertex-edge cut-pair, i.e., for which there exists an edge $e$ such that $H \setminus \{v,e\}$ is not connected. We develop a linear-time algorithm that not only finds all such vertices $v$, but also computes the number of edges $e$ such that $H \setminus \{v,e\}$ is not connected. This also implies that for each twinless strong articulation point $v$ which is not a strong articulation point in a strongly connected digraph $G$, we can compute the number of TSCCs in $G \setminus v$. We note that the problem of computing all vertices that belong to a vertex-edge cut-pair can be solved in linear-time by exploiting the structure of $3$-vertex-connected (triconnected) components of $H$, represented by an SPQR tree of $H$. Our approach, however, is conceptually simple, and thus likely to be more amenable to practical implementations.
△ Less
Submitted 21 September, 2020; v1 submitted 8 July, 2020;
originally announced July 2020.
-
Capacity and Algorithms for a Cognitive Network with Primary-Secondary User Cooperation
Authors:
Athanasios Papadopoulos,
Nestor D. Chatzidiamantis,
Leonidas Georgiadis
Abstract:
In this work, we examine cognitive radio networks, where secondary users may act as relays for messages sent by the primary user, hence offering performance improvement of primary transmissions, while at the same time obtaining more transmission opportunities for their own data. In particular, assuming the broadcast packet erasure model with feedback, we investigate the capacity of the fundamental…
▽ More
In this work, we examine cognitive radio networks, where secondary users may act as relays for messages sent by the primary user, hence offering performance improvement of primary transmissions, while at the same time obtaining more transmission opportunities for their own data. In particular, assuming the broadcast packet erasure model with feedback, we investigate the capacity of the fundamental cooperative cognitive radio network which consists of one primary and one secondary transmitter-receiver pairs. The primary transmitter is the owner of the channel and as such, we intend to keep its operations simple and to avoid increasing its storage requirements. Specifically, the primary transmitter does not receive data sent by the secondary transmitter and does not perform any coding operations. On the other hand, the secondary transmitter can overhear primary transmissions and is allowed to perform any coding operations. We develop an outer bound to the capacity of the fundamental cooperative cognitive radio network under consideration. Then, we propose a coding-scheduling algorithm suitable for this type of networks, which involves only XOR network coding operations. The complexity of the scheduling decisions of the proposed algorithm depends on the channel statistical parameters and three cases, depending on the relations between channel erasure probabilities, are distinguished. For the first two cases the rate region of the proposed algorithm coincides with the developed capacity outer bound, hence the algorithm is capacity achieving. For the third case, the rate region of the proposed algorithm is not identical to the outer bound; however, numerical results show that it is fairly close to the derived outer bound for a wide range of the statistical parameters of the system.
△ Less
Submitted 28 August, 2019; v1 submitted 8 July, 2019;
originally announced July 2019.
-
Faster Algorithms for All-Pairs Bounded Min-Cuts
Authors:
Amir Abboud,
Loukas Georgiadis,
Giuseppe F. Italiano,
Robert Krauthgamer,
Nikos Parotsidis,
Ohad Trabelsi,
Przemysław Uznański,
Daniel Wolleb-Graf
Abstract:
The All-Pairs Min-Cut problem (aka All-Pairs Max-Flow) asks to compute a minimum $s$-$t$ cut (or just its value) for all pairs of vertices $s,t$. We study this problem in directed graphs with unit edge/vertex capacities (corresponding to edge/vertex connectivity). Our focus is on the $k$-bounded case, where the algorithm has to find all pairs with min-cut value less than $k$, and report only those…
▽ More
The All-Pairs Min-Cut problem (aka All-Pairs Max-Flow) asks to compute a minimum $s$-$t$ cut (or just its value) for all pairs of vertices $s,t$. We study this problem in directed graphs with unit edge/vertex capacities (corresponding to edge/vertex connectivity). Our focus is on the $k$-bounded case, where the algorithm has to find all pairs with min-cut value less than $k$, and report only those. The most basic case $k=1$ is the Transitive Closure (TC) problem, which can be solved in graphs with $n$ vertices and $m$ edges in time $O(mn)$ combinatorially, and in time $O(n^ω)$ where $ω<2.38$ is the matrix-multiplication exponent. These time bounds are conjectured to be optimal.
We present new algorithms and conditional lower bounds that advance the frontier for larger $k$, as follows: (i) A randomized algorithm for vertex capacities that runs in time $O((nk)^ω)$. (ii) Two deterministic algorithms for edge capacities (which is more general) that work in DAGs and further reports a minimum cut for each pair. The first algorithm is combinatorial (does not involve matrix multiplication) and runs in time $O(2^{O(k^2)}\cdot mn)$. The second algorithm can be faster on dense DAGs and runs in time $O((k\log n)^{4^k+o(k)} n^ω)$. (iii) The first super-cubic lower bound of $n^{ω-1-o(1)} k^2$ time under the $4$-Clique conjecture, which holds even in the simplest case of DAGs with unit vertex capacities. It improves on the previous (SETH-based) lower bounds even in the unbounded setting $k=n$. For combinatorial algorithms, our reduction implies an $n^{2-o(1)} k^2$ conditional lower bound. Thus, we identify new settings where the complexity of the problem is (conditionally) higher than that of TC.
△ Less
Submitted 21 February, 2019; v1 submitted 16 July, 2018;
originally announced July 2018.
-
Incremental Strong Connectivity and 2-Connectivity in Directed Graphs
Authors:
Loukas Georgiadis,
Giuseppe F. Italiano,
Nikos Parotsidis
Abstract:
In this paper, we present new incremental algorithms for maintaining data structures that represent all connectivity cuts of size one in directed graphs (digraphs), and the strongly connected components that result by the removal of each of those cuts. We give a conditional lower bound that provides evidence that our algorithms may be tight up to sub-polynomial factors. As an additional result, wi…
▽ More
In this paper, we present new incremental algorithms for maintaining data structures that represent all connectivity cuts of size one in directed graphs (digraphs), and the strongly connected components that result by the removal of each of those cuts. We give a conditional lower bound that provides evidence that our algorithms may be tight up to sub-polynomial factors. As an additional result, with our approach we can also maintain dynamically the $2$-vertex-connected components of a digraph during any sequence of edge insertions in a total of $O(mn)$ time. This matches the bounds for the incremental maintenance of the $2$-edge-connected components of a digraph.
△ Less
Submitted 27 February, 2018;
originally announced February 2018.
-
Decremental Data Structures for Connectivity and Dominators in Directed Graphs
Authors:
Loukas Georgiadis,
Thomas Dueholm Hansen,
Giuseppe F. Italiano,
Sebastian Krinninger,
Nikos Parotsidis
Abstract:
We introduce a new dynamic data structure for maintaining the strongly connected components (SCCs) of a directed graph (digraph) under edge deletions, so as to answer a rich repertoire of connectivity queries. Our main technical contribution is a decremental data structure that supports sensitivity queries of the form "are $ u $ and $ v $ strongly connected in the graph $ G \setminus w $?", for an…
▽ More
We introduce a new dynamic data structure for maintaining the strongly connected components (SCCs) of a directed graph (digraph) under edge deletions, so as to answer a rich repertoire of connectivity queries. Our main technical contribution is a decremental data structure that supports sensitivity queries of the form "are $ u $ and $ v $ strongly connected in the graph $ G \setminus w $?", for any triple of vertices $ u, v, w $, while $ G $ undergoes deletions of edges. Our data structure processes a sequence of edge deletions in a digraph with $n$ vertices in $O(m n \log{n})$ total time and $O(n^2 \log{n})$ space, where $m$ is the number of edges before any deletion, and answers the above queries in constant time. We can leverage our data structure to obtain decremental data structures for many more types of queries within the same time and space complexity. For instance for edge-related queries, such as testing whether two query vertices $u$ and $v$ are strongly connected in $G \setminus e$, for some query edge $e$.
As another important application of our decremental data structure, we provide the first nontrivial algorithm for maintaining the dominator tree of a flow graph under edge deletions. We present an algorithm that processes a sequence of edge deletions in a flow graph in $O(m n \log{n})$ total time and $O(n^2 \log{n})$ space. For reducible flow graphs we provide an $O(mn)$-time and $O(m + n)$-space algorithm. We give a conditional lower bound that provides evidence that these running times may be tight up to subpolynomial factors.
△ Less
Submitted 26 April, 2017;
originally announced April 2017.
-
On the Efficiency of Sharing Economy Networks
Authors:
Leonidas Georgiadis,
George Iosifidis,
Leandros Tassiulas
Abstract:
We consider a sharing economy network where agents embedded in a graph share their resources. This is a fundamental model that abstracts numerous emerging applications of collaborative consumption systems. The agents generate a random amount of spare resource that they can exchange with their one-hop neighbours, seeking to maximize the amount of desirable resource items they receive in the long ru…
▽ More
We consider a sharing economy network where agents embedded in a graph share their resources. This is a fundamental model that abstracts numerous emerging applications of collaborative consumption systems. The agents generate a random amount of spare resource that they can exchange with their one-hop neighbours, seeking to maximize the amount of desirable resource items they receive in the long run. We study this system from three different perspectives: a) the central designer who seeks the resource allocation that achieves the most fair endowments after the exchange; b) the game theoretic where the nodes seek to form sharing coalitions within teams, attempting to maximize the benefit of their team only; c) the market where the nodes are engaged in trade with their neighbours trying to improve their own benefit. It is shown that there is a unique family of sharing allocations that are at the same time most fair, stable with respect to continuous coalition formation among the nodes and achieving equilibrium in the market perspective. A dynamic sharing policy is given then where each node observes the sharing rates of its neighbours and allocates its resource accordingly. That policy is shown to achieve long term sharing ratios that are within the family of equilibrium allocations of the static problem. The equilibrium allocations have interesting properties that highlight the dependence of the sharing ratios of each node to the structure of the topology graph and the effect of the isolation of a node on the benefit may extract from his neighbours.
△ Less
Submitted 28 March, 2017;
originally announced March 2017.
-
All-Pairs 2-Reachability in $\mathcal{O}(n^ω\log n)$ Time
Authors:
Loukas Georgiadis,
Daniel Graf,
Giuseppe F. Italiano,
Nikos Parotsidis,
Przemysław Uznański
Abstract:
In the $2$-reachability problem we are given a directed graph $G$ and we wish to determine if there are two (edge or vertex) disjoint paths from $u$ to $v$, for a given pair of vertices $u$ and $v$. In this paper, we present an algorithm that computes $2$-reachability information for all pairs of vertices in $\mathcal{O}(n^ω\log n)$ time, where $n$ is the number of vertices and $ω$ is the matrix m…
▽ More
In the $2$-reachability problem we are given a directed graph $G$ and we wish to determine if there are two (edge or vertex) disjoint paths from $u$ to $v$, for a given pair of vertices $u$ and $v$. In this paper, we present an algorithm that computes $2$-reachability information for all pairs of vertices in $\mathcal{O}(n^ω\log n)$ time, where $n$ is the number of vertices and $ω$ is the matrix multiplication exponent. Hence, we show that the running time of all-pairs $2$-reachability is only within a $\log$ factor of transitive closure.
Moreover, our algorithm produces a witness (i.e., a separating edge or a separating vertex) for all pair of vertices where $2$-reachability does not hold. By processing these witnesses, we can compute all the edge- and vertex-dominator trees of $G$ in $\mathcal{O}(n^2)$ additional time, which in turn enables us to answer various connectivity queries in $\mathcal{O}(1)$ time. For instance, we can test in constant time if there is a path from $u$ to $v$ avoiding an edge $e$, for any pair of query vertices $u$ and $v$, and any query edge $e$, or if there is a path from $u$ to $v$ avoiding a vertex $w$, for any query vertices $u$, $v$, and $w$.
△ Less
Submitted 26 July, 2017; v1 submitted 23 December, 2016;
originally announced December 2016.
-
On Low-High Orders of Directed Graphs: Incremental Algorithms and Applications
Authors:
Loukas Georgiadis,
Aikaterini Karanasiou,
Giannis Konstantinos,
Luigi Laura
Abstract:
A flow graph $G=(V,E,s)$ is a directed graph with a distinguished start vertex $s$. The dominator tree $D$ of $G$ is a tree rooted at $s$, such that a vertex $v$ is an ancestor of a vertex $w$ if and only if all paths from $s$ to $w$ include $v$. The dominator tree is a central tool in program optimization and code generation and has many applications in other diverse areas including constraint pr…
▽ More
A flow graph $G=(V,E,s)$ is a directed graph with a distinguished start vertex $s$. The dominator tree $D$ of $G$ is a tree rooted at $s$, such that a vertex $v$ is an ancestor of a vertex $w$ if and only if all paths from $s$ to $w$ include $v$. The dominator tree is a central tool in program optimization and code generation and has many applications in other diverse areas including constraint programming, circuit testing, biology, and in algorithms for graph connectivity problems. A low-high order of $G$ is a preorder $δ$ of $D$ that certifies the correctness of $D$ and has further applications in connectivity and path-determination problems. In this paper, we first consider how to maintain efficiently a low-high order of a flow graph incrementally under edge insertions. We present algorithms that run in $O(mn)$ total time for a sequence of $m$ edge insertions in an initially empty flow graph with $n$ vertices.These immediately provide the first incremental certifying algorithms for maintaining the dominator tree in $O(mn)$ total time, and also imply incremental algorithms for other problems. Hence, we provide a substantial improvement over the $O(m^2)$ simple-minded algorithms, which recompute the solution from scratch after each edge insertion. We also show how to apply low-high orders to obtain a linear-time $2$-approximation algorithm for the smallest $2$-vertex-connected spanning subgraph problem (2VCSS). Finally, we present efficient implementations of our new algorithms for the incremental low-high and 2VCSS problems and conduct an extensive experimental study on real-world graphs taken from a variety of application areas. The experimental results show that our algorithms perform very well in practice.
△ Less
Submitted 23 August, 2016;
originally announced August 2016.
-
Incremental $2$-Edge-Connectivity in Directed Graphs
Authors:
Loukas Georgiadis,
Giuseppe F. Italiano,
Nikos Parotsidis
Abstract:
In this paper, we initiate the study of the dynamic maintenance of $2$-edge-connectivity relationships in directed graphs. We present an algorithm that can update the $2$-edge-connected blocks of a directed graph with $n$ vertices through a sequence of $m$ edge insertions in a total of $O(mn)$ time. After each insertion, we can answer the following queries in asymptotically optimal time: (i) Test…
▽ More
In this paper, we initiate the study of the dynamic maintenance of $2$-edge-connectivity relationships in directed graphs. We present an algorithm that can update the $2$-edge-connected blocks of a directed graph with $n$ vertices through a sequence of $m$ edge insertions in a total of $O(mn)$ time. After each insertion, we can answer the following queries in asymptotically optimal time: (i) Test in constant time if two query vertices $v$ and $w$ are $2$-edge-connected. Moreover, if $v$ and $w$ are not $2$-edge-connected, we can produce in constant time a "witness" of this property, by exhibiting an edge that is contained in all paths from $v$ to $w$ or in all paths from $w$ to $v$. (ii) Report in $O(n)$ time all the $2$-edge-connected blocks of $G$. To the best of our knowledge, this is the first dynamic algorithm for $2$-connectivity problems on directed graphs, and it matches the best known bounds for simpler problems, such as incremental transitive closure.
△ Less
Submitted 24 July, 2016;
originally announced July 2016.
-
An Experimental Study of Dynamic Dominators
Authors:
Loukas Georgiadis,
Giuseppe F. Italiano,
Luigi Laura,
Federico Santaroni
Abstract:
Motivated by recent applications of dominator computations, we consider the problem of dynamically maintaining the dominators of flow graphs through a sequence of insertions and deletions of edges. Our main theoretical contribution is a simple incremental algorithm that maintains the dominator tree of a flow graph with $n$ vertices through a sequence of $k$ edge insertions in $O(m\min\{n,k\}+kn)$…
▽ More
Motivated by recent applications of dominator computations, we consider the problem of dynamically maintaining the dominators of flow graphs through a sequence of insertions and deletions of edges. Our main theoretical contribution is a simple incremental algorithm that maintains the dominator tree of a flow graph with $n$ vertices through a sequence of $k$ edge insertions in $O(m\min\{n,k\}+kn)$ time, where $m$ is the total number of edges after all insertions. Moreover, we can test in constant time if a vertex $u$ dominates a vertex $v$, for any pair of query vertices $u$ and $v$. Next, we present a new decremental algorithm to update a dominator tree through a sequence of edge deletions. Although our new decremental algorithm is not asymptotically faster than repeated applications of a static algorithm, i.e., it runs in $O(mk)$ time for $k$ edge deletions, it performs well in practice. By combining our new incremental and decremental algorithms we obtain a fully dynamic algorithm that maintains the dominator tree through intermixed sequence of insertions and deletions of edges. Finally, we present efficient implementations of our new algorithms as well as of existing algorithms, and conduct an extensive experimental study on real-world graphs taken from a variety of application areas.
△ Less
Submitted 10 April, 2016;
originally announced April 2016.
-
A Note on Fault Tolerant Reachability for Directed Graphs
Authors:
Loukas Georgiadis,
Robert E. Tarjan
Abstract:
In this note we describe an application of low-high orders in fault-tolerant network design. Baswana et al. [DISC 2015] study the following reachability problem. We are given a flow graph $G = (V, A)$ with start vertex $s$, and a spanning tree $T =(V, A_T)$ rooted at $s$. We call a set of arcs $A'$ valid if the subgraph $G' = (V, A_T \cup A')$ of $G$ has the same dominators as $G$. The goal is to…
▽ More
In this note we describe an application of low-high orders in fault-tolerant network design. Baswana et al. [DISC 2015] study the following reachability problem. We are given a flow graph $G = (V, A)$ with start vertex $s$, and a spanning tree $T =(V, A_T)$ rooted at $s$. We call a set of arcs $A'$ valid if the subgraph $G' = (V, A_T \cup A')$ of $G$ has the same dominators as $G$. The goal is to find a valid set of minimum size. Baswana et al. gave an $O(m \log{n})$-time algorithm to compute a minimum-size valid set in $O(m \log{n})$ time, where $n = |V|$ and $m = |A|$. Here we provide a simple $O(m)$-time algorithm that uses the dominator tree $D$ of $G$ and a low-high order of it.
△ Less
Submitted 24 November, 2015;
originally announced November 2015.
-
Strong Connectivity in Directed Graphs under Failures, with Application
Authors:
Loukas Georgiadis,
Giuseppe F. Italiano,
Nikos Parotsidis
Abstract:
In this paper, we investigate some basic connectivity problems in directed graphs (digraphs). Let $G$ be a digraph with $m$ edges and $n$ vertices, and let $G\setminus e$ be the digraph obtained after deleting edge $e$ from $G$. As a first result, we show how to compute in $O(m+n)$ worst-case time: $(i)$ The total number of strongly connected components in $G\setminus e$, for all edges $e$ in $G$.…
▽ More
In this paper, we investigate some basic connectivity problems in directed graphs (digraphs). Let $G$ be a digraph with $m$ edges and $n$ vertices, and let $G\setminus e$ be the digraph obtained after deleting edge $e$ from $G$. As a first result, we show how to compute in $O(m+n)$ worst-case time: $(i)$ The total number of strongly connected components in $G\setminus e$, for all edges $e$ in $G$. $(ii)$ The size of the largest and of the smallest strongly connected components in $G\setminus e$, for all edges $e$ in $G$.
Let $G$ be strongly connected. We say that edge $e$ separates two vertices $x$ and $y$, if $x$ and $y$ are no longer strongly connected in $G\setminus e$. As a second set of results, we show how to build in $O(m+n)$ time $O(n)$-space data structures that can answer in optimal time the following basic connectivity queries on digraphs: $(i)$ Report in $O(n)$ worst-case time all the strongly connected components of $G\setminus e$, for a query edge $e$. $(ii)$ Test whether an edge separates two query vertices in $O(1)$ worst-case time. $(iii)$ Report all edges that separate two query vertices in optimal worst-case time, i.e., in time $O(k)$, where $k$ is the number of separating edges. (For $k=0$, the time is $O(1)$).
All of the above results extend to vertex failures. All our bounds are tight and are obtained with a common algorithmic framework, based on a novel compact representation of the decompositions induced by the $1$-connectivity (i.e., $1$-edge and $1$-vertex) cuts in digraphs, which might be of independent interest. With the help of our data structures we can design efficient algorithms for several other connectivity problems on digraphs and we can also obtain in linear time a strongly connected spanning subgraph of $G$ with $O(n)$ edges that maintains the $1$-connectivity cuts of $G$ and the decompositions induced by those cuts.
△ Less
Submitted 6 May, 2019; v1 submitted 9 November, 2015;
originally announced November 2015.
-
Approximating the Smallest Spanning Subgraph for 2-Edge-Connectivity in Directed Graphs
Authors:
Loukas Georgiadis,
Giuseppe F. Italiano,
Charis Papadopoulos,
Nikos Parotsidis
Abstract:
Let $G$ be a strongly connected directed graph. We consider the following three problems, where we wish to compute the smallest strongly connected spanning subgraph of $G$ that maintains respectively: the $2$-edge-connected blocks of $G$ (\textsf{2EC-B}); the $2$-edge-connected components of $G$ (\textsf{2EC-C}); both the $2$-edge-connected blocks and the $2$-edge-connected components of $G$ (\tex…
▽ More
Let $G$ be a strongly connected directed graph. We consider the following three problems, where we wish to compute the smallest strongly connected spanning subgraph of $G$ that maintains respectively: the $2$-edge-connected blocks of $G$ (\textsf{2EC-B}); the $2$-edge-connected components of $G$ (\textsf{2EC-C}); both the $2$-edge-connected blocks and the $2$-edge-connected components of $G$ (\textsf{2EC-B-C}). All three problems are NP-hard, and thus we are interested in efficient approximation algorithms. For \textsf{2EC-C} we can obtain a $3/2$-approximation by combining previously known results. For \textsf{2EC-B} and \textsf{2EC-B-C}, we present new $4$-approximation algorithms that run in linear time. We also propose various heuristics to improve the size of the computed subgraphs in practice, and conduct a thorough experimental study to assess their merits in practical scenarios.
△ Less
Submitted 9 September, 2015;
originally announced September 2015.
-
Exchange of Services in Networks: Competition, Cooperation, and Fairness
Authors:
Leonidas Georgiadis,
George Iosifidis,
Leandros Tassiulas
Abstract:
Exchange of services and resources in, or over, networks is attracting nowadays renewed interest. However, despite the broad applicability and the extensive study of such models, e.g., in the context of P2P networks, many fundamental questions regarding their properties and efficiency remain unanswered. We consider such a service exchange model and analyze the users' interactions under three diffe…
▽ More
Exchange of services and resources in, or over, networks is attracting nowadays renewed interest. However, despite the broad applicability and the extensive study of such models, e.g., in the context of P2P networks, many fundamental questions regarding their properties and efficiency remain unanswered. We consider such a service exchange model and analyze the users' interactions under three different approaches. First, we study a centrally designed service allocation policy that yields the fair total service each user should receive based on the service it others to the others. Accordingly, we consider a competitive market where each user determines selfishly its allocation policy so as to maximize the service it receives in return, and a coalitional game model where users are allowed to coordinate their policies. We prove that there is a unique equilibrium exchange allocation for both game theoretic formulations, which also coincides with the central fair service allocation. Furthermore, we characterize its properties in terms of the coalitions that emerge and the equilibrium allocations, and analyze its dependency on the underlying network graph. That servicing policy is the natural reference point to the various mechanisms that are currently proposed to incentivize user participation and improve the efficiency of such networked service (or, resource) exchange markets.
△ Less
Submitted 8 April, 2015;
originally announced April 2015.
-
2-Vertex Connectivity in Directed Graphs
Authors:
Loukas Georgiadis,
Giuseppe F. Italiano,
Luigi Laura,
Nikos Parotsidis
Abstract:
We complement our study of 2-connectivity in directed graphs, by considering the computation of the following 2-vertex-connectivity relations: We say that two vertices v and w are 2-vertex-connected if there are two internally vertex-disjoint paths from v to w and two internally vertex-disjoint paths from w to v. We also say that v and w are vertex-resilient if the removal of any vertex different…
▽ More
We complement our study of 2-connectivity in directed graphs, by considering the computation of the following 2-vertex-connectivity relations: We say that two vertices v and w are 2-vertex-connected if there are two internally vertex-disjoint paths from v to w and two internally vertex-disjoint paths from w to v. We also say that v and w are vertex-resilient if the removal of any vertex different from v and w leaves v and w in the same strongly connected component. We show how to compute the above relations in linear time so that we can report in constant time if two vertices are 2-vertex-connected or if they are vertex-resilient. We also show how to compute in linear time a sparse certificate for these relations, i.e., a subgraph of the input graph that has O(n) edges and maintains the same 2-vertex-connectivity and vertex-resilience relations as the input graph, where n is the number of vertices.
△ Less
Submitted 19 February, 2015; v1 submitted 22 September, 2014;
originally announced September 2014.
-
2-Edge Connectivity in Directed Graphs
Authors:
Loukas Georgiadis,
Giuseppe F. Italiano,
Luigi Laura,
Nikos Parotsidis
Abstract:
Edge and vertex connectivity are fundamental concepts in graph theory. While they have been thoroughly studied in the case of undirected graphs, surprisingly not much has been investigated for directed graphs. In this paper we study $2$-edge connectivity problems in directed graphs and, in particular, we consider the computation of the following natural relation: We say that two vertices $v$ and…
▽ More
Edge and vertex connectivity are fundamental concepts in graph theory. While they have been thoroughly studied in the case of undirected graphs, surprisingly not much has been investigated for directed graphs. In this paper we study $2$-edge connectivity problems in directed graphs and, in particular, we consider the computation of the following natural relation: We say that two vertices $v$ and $w$ are $2$-edge-connected if there are two edge-disjoint paths from $v$ to $w$ and two edge-disjoint paths from $w$ to $v$. This relation partitions the vertices into blocks such that all vertices in the same block are $2$-edge-connected. Differently from the undirected case, those blocks do not correspond to the $2$-edge-connected components of the graph. We show how to compute this relation in linear time so that we can report in constant time if two vertices are $2$-edge-connected. We also show how to compute in linear time a sparse certificate for this relation, i.e., a subgraph of the input graph that has $O(n)$ edges and maintains the same $2$-edge-connected blocks as the input graph.
△ Less
Submitted 31 July, 2014; v1 submitted 11 July, 2014;
originally announced July 2014.
-
Multiuser Broadcast Erasure Channel with Feedback and Side Information, and Related Index Coding Results
Authors:
A. Papadopoulos,
L. Georgiadis
Abstract:
We consider the N-user broadcast erasure channel with public feedback and side information. Before the beginning of transmission, each receiver knows a function of the messages of some of the other receivers. This situation arises naturally in wireless and in particular cognitive networks where a node may overhear transmitted messages destined to other nodes before transmission over a given broadc…
▽ More
We consider the N-user broadcast erasure channel with public feedback and side information. Before the beginning of transmission, each receiver knows a function of the messages of some of the other receivers. This situation arises naturally in wireless and in particular cognitive networks where a node may overhear transmitted messages destined to other nodes before transmission over a given broadcast channel begins. We provide an upper bound to the capacity region of this system. Furthermore, when the side information is linear, we show that the bound is tight for the case of two-user broadcast channels. The special case where each user knows the whole or nothing of the message of each other node, constitutes a generalization of the index coding problem. For this instance, and when there are no channel errors, we show that the bound reduces to the known Maximum Weighted Acyclic Induced Subgraph bound. We also show how to convert the capacity upper bound to transmission completion rate (broadcast rate) lower bound and provide examples of codes for certain information graphs for which the bound is either achieved of closely approximated
△ Less
Submitted 13 June, 2014; v1 submitted 28 November, 2013;
originally announced November 2013.
-
Message-Passing Algorithms for Optimal Utilization of Cognitive Radio Networks
Authors:
Hamed Mahmoudi,
Georgios Rodolakis,
Leonidas Georgiadis,
David Saad
Abstract:
Cognitive Radio has been proposed as a key technology to significantly improve spectrum usage in wireless networks by enabling unlicensed users to access unused resource. We present new algorithms that are needed for the implementation of opportunistic scheduling policies that maximize the throughput utilization of resources by secondary users, under maximum interference constraints imposed by exi…
▽ More
Cognitive Radio has been proposed as a key technology to significantly improve spectrum usage in wireless networks by enabling unlicensed users to access unused resource. We present new algorithms that are needed for the implementation of opportunistic scheduling policies that maximize the throughput utilization of resources by secondary users, under maximum interference constraints imposed by existing primary users. Our approach is based on the Belief Propagation (BP) algorithm, which is advantageous due to its simplicity and potential for distributed implementation. We examine convergence properties and evaluate the performance of the proposed BP algorithms via simulations and demonstrate that the results compare favorably with a benchmark greedy strategy.
△ Less
Submitted 21 October, 2013;
originally announced October 2013.
-
Finding Dominators via Disjoint Set Union
Authors:
Wojciech Fraczak,
Loukas Georgiadis,
Andrew Miller,
Robert E. Tarjan
Abstract:
The problem of finding dominators in a directed graph has many important applications, notably in global optimization of computer code. Although linear and near-linear-time algorithms exist, they use sophisticated data structures. We develop an algorithm for finding dominators that uses only a "static tree" disjoint set data structure in addition to simple lists and maps. The algorithm runs in nea…
▽ More
The problem of finding dominators in a directed graph has many important applications, notably in global optimization of computer code. Although linear and near-linear-time algorithms exist, they use sophisticated data structures. We develop an algorithm for finding dominators that uses only a "static tree" disjoint set data structure in addition to simple lists and maps. The algorithm runs in near-linear or linear time, depending on the implementation of the disjoint set data structure. We give several versions of the algorithm, including one that computes loop nesting information (needed in many kinds of global code optimization) and that can be made self-certifying, so that the correctness of the computed dominators is very easy to verify.
△ Less
Submitted 8 October, 2013;
originally announced October 2013.
-
Optimal Primary-Secondary user Cooperation Policies in Cognitive Radio Networks
Authors:
Nestor Chatzidiamantis,
Evangelia Matskani,
Leonidas Georgiadis,
Iordanis Koutsopoulos,
Leandros Tassiulas
Abstract:
In cognitive radio networks, secondary users (SUs) may cooperate with the primary user (PU), so that the success probability of PU transmissions are improved, while SUs obtain more transmission opportunities. Thus, SUs have to take intelligent decisions on whether to cooperate or not and with what power level, in order to maximize their throughput subject to average power constraints. Cooperation…
▽ More
In cognitive radio networks, secondary users (SUs) may cooperate with the primary user (PU), so that the success probability of PU transmissions are improved, while SUs obtain more transmission opportunities. Thus, SUs have to take intelligent decisions on whether to cooperate or not and with what power level, in order to maximize their throughput subject to average power constraints. Cooperation policies in this framework require the solution of a constrained Markov decision problem with infinite state space. In our work, we restrict attention to the class of stationary policies that take randomized decisions in every time slot based only on spectrum sensing. The proposed class of policies is shown to achieve the same set of SU rates as the more general policies, and enlarge the stability region of PU queue. Moreover, algorithms for the distributed calculation of the set of probabilities used by the proposed class of policies are presented.
△ Less
Submitted 22 December, 2014; v1 submitted 22 July, 2013;
originally announced July 2013.
-
Stable XOR-based Policies for the Broadcast Erasure Channel with Feedback
Authors:
Sophia Athanasiadou,
Marios Gatzianas,
Leonidas Georgiadis,
Leandros Tassiulas
Abstract:
In this paper we describe a network coding scheme for the Broadcast Erasure Channel with multiple unicast stochastic flows, in the case of a single source transmitting packets to $N$ users, where per-slot feedback is fed back to the transmitter in the form of ACK/NACK messages. This scheme performs only binary (XOR) operations and involves a network of queues, along with special rules for coding a…
▽ More
In this paper we describe a network coding scheme for the Broadcast Erasure Channel with multiple unicast stochastic flows, in the case of a single source transmitting packets to $N$ users, where per-slot feedback is fed back to the transmitter in the form of ACK/NACK messages. This scheme performs only binary (XOR) operations and involves a network of queues, along with special rules for coding and moving packets among the queues, that ensure instantaneous decodability. The system under consideration belongs to a class of networks whose stability properties have been analyzed in earlier work, which is used to provide a stabilizing policy employing the currently proposed coding scheme. Finally, we show the optimality of the proposed policy for $N=4$ and i.i.d. erasure events, in the sense that the policy's stability region matches a derived outer bound (which coincides with the system's information-theoretic capacity region), even when a restricted set of coding rules is used.
△ Less
Submitted 30 August, 2014; v1 submitted 22 November, 2012;
originally announced November 2012.
-
Minimal Evacuation Times and Stability
Authors:
Leonidas Georgiadis,
Georgios S. Paschos,
Lavy Libman,
Leandros Tassiulas
Abstract:
We consider a system where packets (jobs) arrive for processing using one of the policies in a given class. We study the connection between the minimal evacuation times and the stability region of the system under the given class of policies. The result is used to establish the equality of information theoretic capacity region and system stability region for the multiuser broadcast erasure channel…
▽ More
We consider a system where packets (jobs) arrive for processing using one of the policies in a given class. We study the connection between the minimal evacuation times and the stability region of the system under the given class of policies. The result is used to establish the equality of information theoretic capacity region and system stability region for the multiuser broadcast erasure channel with feedback.
△ Less
Submitted 19 November, 2012;
originally announced November 2012.
-
Dominator Tree Certification and Independent Spanning Trees
Authors:
Loukas Georgiadis,
Robert E. Tarjan
Abstract:
How does one verify that the output of a complicated program is correct? One can formally prove that the program is correct, but this may be beyond the power of existing methods. Alternatively one can check that the output produced for a particular input satisfies the desired input-output relation, by running a checker on the input-output pair. Then one only needs to prove the correctness of the c…
▽ More
How does one verify that the output of a complicated program is correct? One can formally prove that the program is correct, but this may be beyond the power of existing methods. Alternatively one can check that the output produced for a particular input satisfies the desired input-output relation, by running a checker on the input-output pair. Then one only needs to prove the correctness of the checker. But for some problems even such a checker may be too complicated to formally verify. There is a third alternative: augment the original program to produce not only an output but also a correctness certificate, with the property that a very simple program (whose correctness is easy to prove) can use the certificate to verify that the input-output pair satisfies the desired input-output relation.
We consider the following important instance of this general question: How does one verify that the dominator tree of a flow graph is correct? Existing fast algorithms for finding dominators are complicated, and even verifying the correctness of a dominator tree in the absence of additional information seems complicated. We define a correctness certificate for a dominator tree, show how to use it to easily verify the correctness of the tree, and show how to augment fast dominator-finding algorithms so that they produce a correctness certificate. We also relate the dominator certificate problem to the problem of finding independent spanning trees in a flow graph, and we develop algorithms to find such trees. All our algorithms run in linear time. Previous algorithms apply just to the special case of only trivial dominators, and they take at least quadratic time.
△ Less
Submitted 7 March, 2013; v1 submitted 31 October, 2012;
originally announced October 2012.
-
NCRAWL: Network Coding for Rate Adaptive Wireless Links
Authors:
Ioannis Broustis,
Georgios Paschos,
Dimitris Syrivelis,
Leonidas Georgiadis,
Leandros Tassiulas
Abstract:
Intersession network coding (NC) can provide significant performance benefits via mixing packets at wireless routers; these benefits are especially pronounced when NC is applied in conjunction with intelligent link scheduling. NC however imposes certain processing operations, such as encoding, decoding, copying and storage. When not utilized carefully, all these operations can induce tremendous pr…
▽ More
Intersession network coding (NC) can provide significant performance benefits via mixing packets at wireless routers; these benefits are especially pronounced when NC is applied in conjunction with intelligent link scheduling. NC however imposes certain processing operations, such as encoding, decoding, copying and storage. When not utilized carefully, all these operations can induce tremendous processing overheads in practical, wireless, multi-rate settings. Our measurements with prior NC implementations suggest that such processing operations severely degrade the router throughput, especially at high bit rates. Motivated by this, we design {\bf NCRAWL}, a Network Coding framework for Rate Adaptive Wireless Links. The design of NCRAWL facilitates low overhead NC functionalities, thereby effectively approaching the theoretically expected capacity benefits of joint NC and scheduling. We implement and evaluate NCRAWL on a wireless testbed. Our experiments demonstrate that NCRAWL meets the theoretical predicted throughput gain while requiring much less CPU processing, compared to related frameworks.
△ Less
Submitted 4 April, 2011;
originally announced April 2011.
-
Join-Reachability Problems in Directed Graphs
Authors:
Loukas Georgiadis,
Stavros D. Nikolopoulos,
Leonidas Palios
Abstract:
For a given collection G of directed graphs we define the join-reachability graph of G, denoted by J(G), as the directed graph that, for any pair of vertices a and b, contains a path from a to b if and only if such a path exists in all graphs of G. Our goal is to compute an efficient representation of J(G). In particular, we consider two versions of this problem. In the explicit version we wish to…
▽ More
For a given collection G of directed graphs we define the join-reachability graph of G, denoted by J(G), as the directed graph that, for any pair of vertices a and b, contains a path from a to b if and only if such a path exists in all graphs of G. Our goal is to compute an efficient representation of J(G). In particular, we consider two versions of this problem. In the explicit version we wish to construct the smallest join-reachability graph for G. In the implicit version we wish to build an efficient data structure (in terms of space and query time) such that we can report fast the set of vertices that reach a query vertex in all graphs of G. This problem is related to the well-studied reachability problem and is motivated by emerging applications of graph-structured databases and graph algorithms. We consider the construction of join-reachability structures for two graphs and develop techniques that can be applied to both the explicit and the implicit problem. First we present optimal and near-optimal structures for paths and trees. Then, based on these results, we provide efficient structures for planar graphs and general directed graphs.
△ Less
Submitted 22 December, 2010;
originally announced December 2010.
-
Multiuser broadcast erasure channel with feedback - capacity and algorithms
Authors:
Marios Gatzianas,
Leonidas Georgiadis,
Leandros Tassiulas
Abstract:
We consider the $N$-user broadcast erasure channel with $N$ unicast sessions (one for each user) where receiver feedback is regularly sent to the transmitter in the form of ACK/NACK messages. We first provide a generic outer bound to the capacity of this system; we then propose a virtual-queue-based inter-session mixing coding algorithm, determine its rate region and show that it achieves capacity…
▽ More
We consider the $N$-user broadcast erasure channel with $N$ unicast sessions (one for each user) where receiver feedback is regularly sent to the transmitter in the form of ACK/NACK messages. We first provide a generic outer bound to the capacity of this system; we then propose a virtual-queue-based inter-session mixing coding algorithm, determine its rate region and show that it achieves capacity under certain conditions on channel statistics, assuming that instantaneous feedback is known to all users. Removing this assumption results in a rate region that asymptotically differs from the outer bound by 1 bit as $L\to \infty$, where $L$ is the number of bits per packet (packet length). For the case of arbitrary channel statistics, we present a modification of the previous algorithm whose rate region is identical to the outer bound for N=3, when instant feedback is known to all users, and differs from the bound by 1 bit as $L\to \infty$, when the 3 users know only their own ACK. The proposed algorithms do not require any prior knowledge of channel statistics.
△ Less
Submitted 28 August, 2012; v1 submitted 7 September, 2010;
originally announced September 2010.
-
Data Structures for Mergeable Trees
Authors:
Loukas Georgiadis,
Haim Kaplan,
Nira Shafrir,
Robert E. Tarjan,
Renato F. Werneck
Abstract:
Motivated by an application in computational topology, we consider a novel variant of the problem of efficiently maintaining dynamic rooted trees. This variant requires merging two paths in a single operation. In contrast to the standard problem, in which only one tree arc changes at a time, a single merge operation can change many arcs. In spite of this, we develop a data structure that support…
▽ More
Motivated by an application in computational topology, we consider a novel variant of the problem of efficiently maintaining dynamic rooted trees. This variant requires merging two paths in a single operation. In contrast to the standard problem, in which only one tree arc changes at a time, a single merge operation can change many arcs. In spite of this, we develop a data structure that supports merges on an n-node forest in O(log^2 n) amortized time and all other standard tree operations in O(log n) time (amortized, worst-case, or randomized depending on the underlying data structure). For the special case that occurs in the motivating application, in which arbitrary arc deletions (cuts) are not allowed, we give a data structure with an O(log n) time bound per operation. This is asymptotically optimal under certain assumptions. For the even-more special case in which both cuts and parent queries are disallowed, we give an alternative O(log n)-time solution that uses standard dynamic trees as a black box. This solution also applies to the motivating application. Our methods use previous work on dynamic trees in various ways, but the analysis of each algorithm requires novel ideas. We also investigate lower bounds for the problem under various assumptions.
△ Less
Submitted 11 November, 2007;
originally announced November 2007.
-
Linear-Time Pointer-Machine Algorithms for Path-Evaluation Problems on Trees and Graphs
Authors:
Adam L. Buchsbaum,
Loukas Georgiadis,
Haim Kaplan,
Anne Rogers,
Robert E. Tarjan,
Jeffery R. Westbrook
Abstract:
We present algorithms that run in linear time on pointer machines for a collection of problems, each of which either directly or indirectly requires the evaluation of a function defined on paths in a tree. These problems previously had linear-time algorithms but only for random-access machines (RAMs); the best pointer-machine algorithms were super-linear by an inverse-Ackermann-function factor.…
▽ More
We present algorithms that run in linear time on pointer machines for a collection of problems, each of which either directly or indirectly requires the evaluation of a function defined on paths in a tree. These problems previously had linear-time algorithms but only for random-access machines (RAMs); the best pointer-machine algorithms were super-linear by an inverse-Ackermann-function factor. Our algorithms are also simpler, in some cases substantially, than the previous linear-time RAM algorithms. Our improvements come primarily from three new ideas: a refined analysis of path compression that gives a linear bound if the compressions favor certain nodes, a pointer-based radix sort as a replacement for table-based methods, and a more careful partitioning of a tree into easily managed parts. Our algorithms compute nearest common ancestors off-line, verify and construct minimum spanning trees, do interval analysis on a flowgraph, find the dominators of a flowgraph, and build the component tree of a weighted tree.
△ Less
Submitted 14 November, 2006; v1 submitted 15 July, 2002;
originally announced July 2002.