670 likes | 776 Views
Rooted Routing Using Structural Decompositions . Jiao Tong University Shanghai, China June 17, 2013 . The Bridges of Konigsberg Euler, 1736. A Prescient Observation by Euler.
E N D
Rooted Routing Using Structural Decompositions Jiao Tong University Shanghai, China June 17, 2013
The Bridges of Konigsberg Euler, 1736
A Prescient Observation by Euler Euler said: “the problem… can be solved by making an exhaustive list of all possible routes … because of the number of possibilities this method would be too difficult and laborious and in problems with more bridges it would be impossible. Much of the development in modern graph theory is tied to efficient computer algorithms which solves routing problems modeled using graphs
A Prescient Observation by Euler Euler said: “the problem… can be solved by making an exhaustive list of all possible routes … because of the number of possibilities this method would be too difficult and laborious and in problems with more bridges it would be impossible. Much of the development in modern graph theory is tied to efficient computer algorithms which solves routing problems modeled using graphs
GRAPHS A Graph is a set of vertices V and a set E of edges, each of which is an unordered pair of vertices K5 K3,3
Paths and Connectivity • A path is a (finite) sequence of distinct vertices, consecutive elements of which are joined by an edge.
Paths and Connectivity • A path is a (finite) sequence of distinct vertices, consecutive elements of which are joined by an edge. • The first and last vertices of a path are its endpoints.
Paths and Connectivity • A path is a (finite) sequence of distinct vertices, consecutive elements of which are joined by an edge. • The first and last vertices of a path are its endpoints. • A graph is connected if every pair of vertices are joined by a path.
Degrees of Connectivity & Cutsets A cutset is a set of vertices whose deletion leaves a disconnected graph.
Determining Point to Point Connectivity • Given a graph G and vertices x,y V, determine if there are k paths from x to y pairwise disjoint except at their endpoints.
Determining Point to Point Connectivity • Given a graph G and vertices x,y V, determine if there are k paths from x to y pairwise disjoint except at their endpoints. • Given a graph G and sets S and T determine if there are k pairwise disjoint paths from S to T.
Menger’s Theorem There exists exactly one of k vertex disjoint S - T paths a subset X of G with|X| < k, that hits all S - T paths.
An Algorithm and Some Applications • There is an efficient (O(k|E(G)|)-time) algorithm to find eitherk vertex disjoint S-T paths in G or a set of fewer than k vertices hitting all S-T paths of G.
An Algorithm and Some Applications • There is an efficient (O(k|E(G)|)-time) algorithm to find either k vertex disjoint S-T paths in G or a set of fewer than k vertices hitting all S-T paths of G. • This algorithm has a myriad of applications in routing
An Algorithm and Some Applications • There is an efficient (O(k|E(G)|)-time) algorithm to find either k vertex disjoint S-T paths in G or a set of fewer than k vertices hitting all S-T paths of G. • This algorithm has a myriad of applications in routing,scheduling, resource allocation, game theory, algebra,…..
k Disjoint Rooted Paths • Given subsets S={s1,...,sk} and T={t1,…,tk} of V determine if there are k vertex disjoint paths P1,…,Pk such that Pi contains siand ti
k Disjoint Rooted Paths • Given subsets S={s1,...,sk} and T={t1,…,tk} of V determine if there are k vertex disjoint paths P1,…,Pk such that Pi contains siand ti • Robertson and Seymour developed an efficient algorithm to solve this problem, and in so doing produced some of the depest and most important results in graph theory.
An Instructive Example s1 t2 s2 t1
A Second Instructive Example Clique C and 2k vertex-disjoint S∪T to C paths => P1,... , Pkexist.
An Illuminating Observation • If G contains a clique C with 2k+1 vertices and Q is a maximal set of vertex disjoint paths from S T to V(C) then any vertex of C not on any of the elements of Q is irrelevant (i.e. the desired P1,…,Pk exist in G precisely if they exist in G-v).
An Illuminating Observation • If G contains a clique C with 2k+1 vertices and Q is a maximal set of vertex disjoint paths from S T to V(C) then any vertex of C not on any of the elements of Q is irrelevant (i.e. the desired P1,…,Pk exist in G precisely if they exist in G-v).
Clique Models • A Klmodelin G consists of l vertex disjoint connected subgraphs of G every two of which are joined by an edge
Using Clique Models for k-DRP • If G contains a K8k+5 model then we can quickly find an irrelevant vertex of G.
Our Algorithm for k-DRP • If G contains a K8k+5 model then we can quickly find an irrelevant vertex v of G and recurse on G-v. • Otherwise we solve the problem by exploiting the structure that the exclusion of a clique model yields.
Graphs Without Clique Minors I: Forests • A connected graph G has no K3 model precisely if it has no cycle. I.e. if each of its connected components is a tree. • Thus if a graph with no K3 model does not have a cutvertex it is an edge.
Graphs Without Clique Minors II: Forbidding K5 • If a graph with no K5model does not have a cutset of size 3 then it is planar or a special 8 vertex graph L. Wagner, 1946.
Tree Decompositions A tree decomposition decomposes G into pieces corresponding to the nodes of a tree using cutsets corresponding to its arc.
Tree Decompositions • A tree decomposition for G consists of a tree T and a subtreeSv for each vertex v of G s.t. if uv is an edge of G then Su intersects Sv. • We set Wt ={v| tSv} and Ht to be the graph with vertex set Wts.t.uvεE(Ht) iff. uvεE(G) or u,vεWsWtfor some stεE(T). • Every G has a one node tree decomposition. • If uv is a nonedge of G then G has a tree decomposition using tree st where st corresponds to the cutset V-u-v. • The k by k grid has a tree decomposition where T is a path on k^2 nodes each internal node of which corresponds to a cutset of the grid of size k
Tree Decompositions • A tree decomposition for G consists of a tree T and a subtreeSv for each vertex v of G s.t. if uv is an edge of G then Su intersects Sv. • We set Wt ={v| tSv} and Ht to be the graph with vertex set Wts.t.uvεE(Ht) iff. uvεE(G) or u,vεWsWtfor some stεE(T). • Every G has a one node tree decomposition. • If uv is a nonedge of G then G has a tree decomposition using tree st where st corresponds to the cutset V-u-v. • The k by k grid has a tree decomposition where T is a path on k^2 nodes each internal node of which corresponds to a cutset of the grid of size k
Tree Decompositions • A tree decomposition for G consists of a tree T and a subtreeSv for each vertex v of G s.t. if uv is an edge of G then Su intersects Sv. • We set Wt ={v| tSv} and Ht to be the graph with vertex set Wts.t.uvεE(Ht) iff. uvεE(G) or u,vεWsWtfor some stεE(T). • Every G has a one node tree decomposition. • If uv is a nonedge of G then G has a tree decomposition using tree st where st corresponds to the cutset V-u-v. • The k by k grid has a tree decomposition where T is a path on k^2 nodes each internal node of which corresponds to a cutset of the grid of size k
Tree Decompositions • A tree decomposition for G consists of a tree T and a subtreeSv for each vertex v of G s.t. if uv is an edge of G then Su intersects Sv. • We set Wt ={v| tSv} and Ht to be the graph with vertex set Wts.t.uvεE(Ht) iff. uvεE(G) or u,vεWsWtfor some stεE(T). • Every G has a one node tree decomposition. • If uv is a nonedge of G then G has a tree decomposition using tree st where st corresponds to the cutset V-u-v. • The k by k grid has a tree decomposition where T is a path on k2+k nodes each arc of which corresponds to a cutset of the grid of size k
Tree Decompositions • A tree decomposition for G consists of a tree T and a subtreeSv for each vertex v of G s.t. if uv is an edge of G then Su intersects Sv. • We set Wt ={v| tSv} and Ht to be the graph with vertex set Wts.t.uvεE(Ht) iff. uvεE(G) or u,vεWsWtfor some stεE(T). • Every G has a one node tree decomposition. • If uv is a nonedge of G then G has a tree decomposition using tree st where st corresponds to the cutset V-u-v. • The k by k grid has a tree decomposition where T is a path on k2+k nodes each arc of which corresponds to a cutset of the grid of size k
Adhesion and Width • The Adhesion of a tree decomposition is the maximum over all of its arcs st of |Ws∩ Wt|. • The width of a tree decomposition is the maximum over all of its nodes s of |Ws|.
Adhesion and Width • The Adhesion of a tree decomposition is the maximum over all of its arcs st of |Ws∩ Wt|. • The width of a tree decomposition is the maximum over all of its nodes s of |Ws|.
Graphs Without Clique Minors III: Forbidding K5 Revisited • A graph has no K5model precisely if it has a tree decomposition of adhesion at most 3 such that each Ht is planar or a special 8 vertex graph L. Wagner, 1946.
Graphs Without Clique Minors IV: Forbidding Kl • If G contains no Klmodel then it has a tree decomposition of bounded adhesion such that each Ht is a graph which can be “almost embedded” in a surface in which Kl cannot be embedded. Robertson and Seymour, 1990.
The k-DRP Algorithm • There is a linear time algorithm which finds either (i) a Kl model in G, or (ii) a tree decomposition of G of bounded adhesion such that each Ht is almost embeddable in a surface in which Kl cannot be embedded. (Li, Kawarabayashi, R., 2009). • We can solve k-DRP in G given such a tree decomposition in linear time.
Bounded Extension: An “Almost Embeddability” Ingredient • If G-v is planar for some v, then G contains no K6 model • If G is obtained from a graph H embeddable in a surface Σ by adding a bounded number of vertices then G is almost embeddable in Σ. • For a tree decomposition of bounded width, every Ht is almost embeddable in the plane.
Bounded Extension: An “Almost Embeddability” Ingredient • If G-v is planar for some v, then G contains no K6 model • If G is obtained from a graph H embeddable in a surface Σ by adding a bounded number of vertices then G is almost embeddable in Σ. • For a tree decomposition of bounded width, every Ht is almost embeddable in the plane.
Bounded Extension: An “Almost Embeddability” Ingredient • If G-v is planar for some v, then G contains no K6 model • If G is obtained from a graph H embeddable in a surface Σ by adding a bounded number of vertices then G is almost embeddable in Σ. • For a tree decomposition of bounded width, every Ht is almost embeddable in the plane.
Brambles • A bramble is a set of connected subgraphs every two of which intersect or are joined by an edge. • The order of a bramble is the minimun size of a set of vertices which intersects all its elements. • The trees of a clique model. • For any set S of vertices, βS is the set of connected subgraphs containing more than half the vertices of S. • The set of subgraphs of a grid formed by the union of a row and a column.
Brambles • A bramble is a set of connected subgraphs every two of which intersect or are joined by an edge. • The order of a bramble is the minimun size of a set of vertices which intersects all its elements. • The trees of a clique model. • For any set S of vertices, βS is the set of connected subgraphs containing more than half the vertices of S. • The set of subgraphs of a grid formed by the union of a row and a column.
Brambles • A bramble is a set of connected subgraphs every two of which intersect or are joined by an edge. • The order of a bramble is the minimun size of a set of vertices which intersects all its elements. • The trees of a clique model. • For any set S of vertices, βS is the set of connected subgraphs containing more than half the vertices of S. • The set of subgraphs of a grid formed by the union of a row and a column.
Brambles • A bramble is a set of connected subgraphs every two of which intersect or are joined by an edge. • The order of a bramble is the minimun size of a set of vertices which intersects all its elements. • The trees of a clique model. • For any set S of vertices, βS is the set of connected subgraphs containing more than half the vertices of S. • The set of subgraphs of a grid formed by the union of a row and a column.
Brambles • A bramble is a set of connected subgraphs every two of which intersect or are joined by an edge. • The order of a bramble β denoted ord(β) is the minimun size of a set of vertices which intersects all its elements. • The trees of a clique model. • For any set S of vertices, βS is the set of connected subgraphs containing more than half the vertices of S. • The set of subgraphs of a grid formed by the union of a row and a column.