Enumerating Rooted Graphs with Reflectional Block Structures

Size: px
Start display at page:

Download "Enumerating Rooted Graphs with Reflectional Block Structures"

Transcription

1 Enumerating Rooted Graphs with Reflectional Block Structures Bingbing Zhuang Graduate School of Informatics Kyoto University Hiroshi Nagamochi Graduate School of Informatics Kyoto University Abstract In this paper, we consider an arbitrary class H of rooted graphs such that each biconnected component is given by a representation with reflectional symmetry, which allows a rooted graph to have several different representations, called embeddings. We give a general framework to design algorithms for enumerating embeddings of all graphs in H without repetition. The framework yields an efficient enumeration algorithm for a class H if the class B of biconnected graphs used in the graphs in H admits an efficient enumeration algorithm. For example, for the class B of rooted cycles, we can easily design an algorithm of enumerating rooted cycles so that delivers the difference between two consecutive cycles in constant time in a series of all outputs. Hence our framework implies that, for the class H of all rooted cacti, there is an algorithm that enumerates each cactus in constant time. 1 Introduction The problem of enumerating (i.e., listing) all graphs with bounded size is one of the most fundamental and important issues in graph theory. Many algorithms for particular classes of graphs have been studied [1, 9, 11, 12, 16, 20], and several excellent books on this subject have been published [3, 8, 19]. Enumeration of restricted graphs or graphs with configurations has many applications in various fields such as machine learning and chemoinformatics. For example, Horváth et al. [5] reported that 94.3% of chemical compounds in NCI chemical database have outerplanar structures. Enumeration of trees and outerplanar graphs can be used for many purposes including the inference of structures of chemical compounds [7], virtual exploration of chemical universe [10], and reconstruction of molecular structures from their signatures [4]. Stereoisomers of chemical graphs can be treated as graphs with three-dimensional configurations, and recently an efficient enumeration algorithm for tree structured chemical graphs has been proposed [6]. The common idea behind most of the recent efficient enumeration algorithms (e.g., [14, 13, 15]) is to define a unique object for each of all objects as its the parent, which induces a rooted tree of all objects, called the family tree F, each node in which corresponds to an object. Then all objects can be enumerated one by one according to the depth-first traversal of the family tree F. For example, Nakano [13] presented an efficient algorithm that enumerates all triconnected rooted plane graphs in constant time per each, where a plane graph is one of the representations of a planar graph based on embeddings in the plane. Note that a plane graph is an embedding of a planar graph, and possibly two different plane graphs may be isomorphic to the same planar graph, if we ignore their embeddings. Objects to be enumerated are often encoded into mathematically tractable representations. For example, a rooted unordered tree is represented by a rooted ordered tree by introducing a total order among the siblings of each vertex in the tree. Hence the representation of a rooted unordered tree has a symmetry around each vertex. In order to enumerate rooted unordered trees as rooted ordered trees without duplication, we choose one of all rooted ordered trees of a rooted unordered tree T as the canonical representation of T. Then all canonical Technical Report , December 12,

2 representations will be enumerated one by one according to the depth-first traversal of the family tree in such a way that a new one is generated by attaching a new leaf vertex to the immediately previous output and/or by deleting a few leaf vertices from the previous one (e.g. [9, 15]). The algorithms output only a constant-size difference between two consecutive trees in the series of all canonical representations, achieving a constant time enumeration per each output. Recently, based on the tree enumeration algorithm proposed by Nakano and Uno [14, 15], Fujiwara et al. [2] and Ishida et al. [7] presented an efficient branch-and-bound algorithm for enumerating treelike chemical graphs, whose implementation is available as a web server. Currently we aim to provide an efficient branch-and-bound algorithm for enumerating chemical graphs for a wider class of graphs than trees such as cacti and outerplanar graphs in our web server. However, for the case of cacti or outerplanar graphs, we also need to avoid isomorphic duplication due to possible reflectional symmetry along each rooted biconnected component. This makes to find a desired choice of embeddings inherently more difficult. In our preceding attempt [18], we examined an algorithm for enumerating colored and rooted outerplanar graphs by extending the tree embedding [15]. However, the algorithm constructs outerplanar graphs in a rather irregular way where the outer cycle of each biconnected component is first created and then only inner edges are inserted in the cycle. Afterward we found that some details of its implementation still need to be investigated. Recently the algorithm was modified so that it always generates new outerplanar graphs by attaching a new vertex to the current one, and is shown to run in constant time per output [17]. However, the algorithm may attach new biconnected components to a biconnected component before its augmentation is completed, indicating that the two types of symmetries of rooted outerplanar graphs are not well separated in its algorithm design. In this paper, we propose a new method that enables us to treat the reflectional symmetry of biconnected components separately from that of the symmetry that arises from the treelike combination of biconnected components in designing enumeration algorithms. For this, we consider an arbitrary class H of rooted graphs such that each biconnected component is given by a representation with reflectional symmetry, which allows a rooted graph to have several different representations, called embeddings. We give a general framework to design of algorithms for enumerating embeddings of all graphs in H. The framework yields an efficient enumeration algorithm for a class H as long as an efficient enumeration algorithm for the class B of biconnected graphs used in graphs in H is available. For example, for the class B of rooted cycles, we can easily design an algorithm of enumerating rooted cycles that delivers the difference between two consecutive cycles in constant time in a series of all outputs. Hence our framework implies that, for the class H of all rooted cacti, there is an algorithm that enumerates each cactus in constant time. Hence after installing the framework in our web server, we can devote ourselves to development of enumeration algorithms for each class B of biconnected graphs as the server s building blocks. In fact, combining our recent result on a class of rooted biconnected planar graphs with internally triangulated faces [21], the framework yields an algorithm that enumerates all rooted connected planar graphs with internally triangulated faces can be enumerated in O(1) time per output. 2 Preliminaries For two sequences A and B, let A > B mean that A is lexicographically larger then B, and let A B mean that A > B or A = B. Let A B mean that B is a prefix of A and A B, and let A B mean that A > B but B is not a prefix of A. Let A B mean that A B or ykato/chem/ 2

3 A = B, i.e., B is a prefix of A. Throughout the paper, a graph stands for a simple undirected graph, which is denoted by a pair H = (V, E) of a vertex set V and an edge set E. A graph is treated as a label graph in which all vertices receive distinct vertex names unless stated otherwise. The set of vertices and the set of edges of a given graph H are denoted by V (H) and E(H), respectively. See Appendix A for other basic graph terminology. Rooted Graphs A graph with a vertex r designated as the root is called a rooted graph or a graph rooted at r. For each biconnected component B of a graph rooted at a vertex r, the root r(b) of B is defined to be the unique vertex v V (B) closest to r, and treat B as a graph rooted at r(b). Let V (B) denote V (B) {r(b)}. For a vertex v, let B(v) denote the biconnected component with v V (B) if any. The depth d(b) of a biconnected component B is defined by the number of biconnected components which edge sets intersect with a simple path from a vertex in V (B) to the root r. Two rooted graphs H 1 and H 2 are rooted-isomorphic if they admits an isomorphic bijection by which the roots of H 1 and H 2 correspond each other. Such a bijection is called rootedisomorphic. Class B of Blocks In this paper, we define a block to be a rooted biconnected graph with a configuration such as an embedding into the plane. Two blocks are called equivalent if the biconnected graphs of these blocks admit a rooted-isomorphic bijection under the configuration, where these biconnected graphs may be a rooted-isomorphic bijection which does not obey the configuration. We assume that, for each block B, either (i) no other block B is equivalent to B under the configuration, where B is called asymmetric or (ii) there is exactly one distinct block B which is equivalent to B, and B and B admit a symmetry of order 2 which is given by an automorphism ψ such that V 1 (B) = {ψ(v) v V 2 (B)} and ψ(v) = v, v V 3 (B) for a partition V 1 (B), V 2 (B) and V 3 (B) of the vertex set V (B). A block B in (ii) is called symmetric. A level l of vertices in a block B is an assignment of a positive integer l(v) for each vertex in V (B) if it satisfies the following property: (1) For an asymmetric block B, it holds l(v) l(u) for every two distinct vertices u, v V (B); and (2) For a symmetric block B, there is a partition V 1 (B), V 2 (B) and V 3 (B) of V (B) such that the vertices in each V i receive distinct integers and l(v) = l(ψ(v)) for all v V 1 (B). Let B denote a set of such blocks. More formally, we assume that a parent-child graph relationship (P B, C B ) is defined over all blocks in B: A block B is called the seed block if it has no parent in B. For each non-seed block B, P B (B ) denotes a block B B that is defined as the parent of B, and C B (B ) denotes the set of children of B, i.e., blocks B with B = P B (B ). Also assume that there exists signature γ of all blocks in B such that (S1) every two blocks B and B are equivalent under the configuration of B if and only if γ(b) = γ(b ); (S2) there is a parent-child relationship among blocks in B such that no child of a block has less number of vertices than its parent has; and (S3) B contains exactly one seed block B. Moreover, γ is called monotone with respect to the number of vertices if the followings hold: (S4) for any two blocks B, B C B (B), B B, if V (B ) > V (B ) then γ(b ) > γ(b ); and (S5) for any block B B, γ(b ) > γ(b) holds for all children B C B (B), and V (B ) > V (B), for all B C B ( B). We assume that the set of vertices in V (B) of a block B B is stored in a linked list LIST (B) in the decreasing order with respect to their levels l, and that the following procedure NextVertex of reporting the current vertex in LIST (B) is available. Procedure NextVertex(B, κ) Input: A block B and a key value κ ({1, 2, 3} Z) {, }, where Z denotes the set of integers. 3

4 Output: The vertex name u and key(u) = (side(u), l(u)) of the vertex next to the vertex v V (B) with key(v) = κ in a list LIST (B) of vertices to which a block can be attached, where we choose such a vertex u from V 3 (B), V 2 (B), V 1 (B) in this order and the first such vertex is chosen when κ = ; return if no such a nonroot vertex v of B exists or κ =. We will see that NextVertex(B, κ) is invoked consecutively in our main algorithm, and we can maintain the cell in LIST (B) that was accessed last by a pointer so that the next cell can be accessed in constant time. We also assume that a procedure NextMinChild for returning a block B B with γ(b min ) < γ(b ) γ(b max ) for given blocks B min and B max is available. Procedure NextMinChild(B, B min, B max ) Input: Blocks B, B min and B max, where possibly B max =. Output: The child B C B (B) with the minimum γ(b ) such that γ(b min ) < γ(b ) γ(b max ) (if any) or B = if no such B exists, where we treat γ(b max ) with B max = as. Class H of Rooted Graphs over C We consider the set H of such rooted graphs in which each biconnected component is represented by a block B B. In a rooted graph H H, a block B with r(b) = v is called the child-block of v. For two blocks B and B with r(b ) V (B) in a rooted graph H H, we say that B is the parent-block of B and that B is a child-block of B. For two blocks B and B such that r(b ) appears in any path from r(b) to r G, we call B an ancestor-block of B and B an descendant-block of B, where B is an ancestor-block and a descendant-block of itself. Two blocks B and B are called incomparable if B is neither an ancestor-block of B nor a descendant-block of B. Given two incomparable blocks B 1 and B 2, we define the least common ancestor lca(b 1, B 2 ) of B 1 and B 2 to be either the common ancestorblock B 3 of B 1 and B 2 such that B 1 and B 2 are descendant-block of different child-blocks of B 3, or the common root r(b 1 ) = r(b 2 ) of ancestor-blocks B i of B i, i = 1, 2 with B 1 B 2. If B 1 = B 2, then define lca(b 1, B 2 ) to be block B 1. If B 1 B 2 and B 1 is an ancestor-block of B 2, then lca(b 1, B 2 ) is defined to be the root r(b 3 ) V (B 1 ) of the child-block B 3 of B 1 such that B 3 is an ancestor-block of B 2. r G r(b) r(b) t(b 1 ) 1 B V L (B) V R (B) V L (B) V R (B) V C (B) V C (B) 2 B V 2 (B) V 3 (B) V 1 (B) V 1 (B) V 3 (B) V 2 (B) t(b p-1 ) p-1 B (a) (b) tip-block p B (c) Figure 1: (a), (b) Two left/right-assignments of V R (B) and V L (B) to V 2 (B) and V 3 (B) of a symmetric block B; (c) Spine B 1, B 2,..., B p of an embedding G. 4

5 In this paper, we consider a class H of all embeddings over a class B of blocks; For each block B, we define left/right-assignments V C (B), V L (B) and V R (B) as follows. For the vertex set V 3 (B), we always set V C (B) = V 3 (B). For the vertex sets V 1 (B) and V 2 (B), there are two choices, either V L (B) = V 1 (B), V R (B) = V 2 (B) or V L (B) = V 2 (B), V R (B) = V 1 (B), as shown in Fig. 1(a) and (b). For an asymmetric block B B, let V C (B) = V (B) and V L (B) = V R (B) =. For each vertex v V (B), define the side side(v) of v in B to be the index i such that v V i (B). For convenience, we call a vertex in V L (B) (resp., V R (B) and V C (B)) left (resp., right and central). We assume that V C (B), V L (B) and V R (B) denote subsets of these vertices to which other blocks are allowed to append. We define the depth δ(v) of a vertex v in a rooted graph H H to be δ(v) = (d(b), l(v)) for the block B of H with v V (B) and the level l(v) of v in B. We say that two rooted graphs H 1, H 2 H are depth-isomorphic if and only if they admit a rooted-isomorphic bijection ϕ that maps each vertex v V (H 1 ) to a vertex ϕ(v) V (H 2 ) with δ(ϕ(v)) = δ(v). We define an embedding of a rooted graph H H as follows. For each vertex v, let BS[v] denote a sequence (B 1, B 2,..., B k ) of all child-blocks of v such that B 1, B 2,..., B k appear in this order, where we say that B 1, B 2,..., B k appear from left to right. For a symmetric block B in an embedding G, there are two left/right-assignments. An embedding of a rooted graph H H is specified by sequences BS[v] of cut-vertices in H and left/right-assignments of all symmetric blocks B. A rooted graph H H may have several different embeddings. Two embeddings G 1 and G 2 of H 1, H 2 H are equivalent if H 1 and H 2 are depth-isomorphic, i.e., G 1 can be obtained from G 2 by changing the orderings of blocks in BS[v] for some vertices v and exchanging the left/right-assignments of some symmetric blocks. In this paper, we first give a framework of an algorithm for enumerating all rooted graphs H by generating the canonical embeddings of them without duplication, using procedures NextVertex and NextMinChild. 3 Signature of Embeddings In this section, we define signature σ of embeddings of graphs in H. For an embedding G of a graph H H, let r G denote the root of H. For a block B, let V cut (B) denote the set of cut-vertices of v V (B). Let Vcut(B) L = V cut (B) V L (B). Similarly for Vcut(B) R and Vcut(B). C For a block B, a child-block B of B is called a left (resp., right and central) child-block if r(b ) V L (B) (resp., r(b ) V R (B) and r(b ) V C (B)), where V L (B) = V R (B) =. In particular, a left (resp., right and central) child-block B i of B is called the first left (resp., right and central) child-block if B has no other left (resp., right and central) child-block B j with j < i. We define the key key(v) of a vertex v V (B) of a block B in an embedding G to be key(v) = (side(v), l(v)) and define a total order among keys by the lexicographical order with the first entry side and the second entry l. We define the tip t(b) of a block B with V cut (B) in an embedding G to be the vertex v V cut (B) with the smallest key. In other words, tip t(b) is chosen as follows: (1) Vcut(B) R : Define t(b) to be the right vertex v Vcut(B) R with the smallest l(v); (2) Vcut(B) R = and Vcut(B) L : Define t(b) to be the left vertex v Vcut(B) L with the smallest l(v); and (3) Vcut(B) R = Vcut(B) L =, and Vcut(B) C : Define t(b) to be the central vertex v Vcut(B) C with the smallest l(v). For a block B such that V cut (B), the successor of B is defined to be the rightmost block in BS[t(B)]. The spine of G is defined to be the sequence of all successors starting from the rightmost block B 1 BS[r G ] by B 1, B 2,..., B p, where B 1 is the rightmost block in BS[r G ], and each B i (i 2) is the successor of B i 1. See Fig. 1(c). The last block B p is called the 5

6 tip-block of G. The parent-embedding P H (G) of an embedding G is defined as follows. 1. If the tip-block B of G is not a block equivalent to the seed block B then P H (G) is defined to be the embedding obtained by replacing B with its parent P B (B). 2. Otherwise, P H (G) is defined to be the embedding obtained by removing the vertices in V (B) from G. We introduce a total order π(g) among all blocks in an embedding G as follows. Let G have K blocks, let PH i (G), i = 0, 1,..., K 1 denote the embedding P H(PH i 1 (G)). Let π(g) = (B 1, B 2,..., B K ), where B i is the tip-block of PH K i (G), i.e., the tip-block of the embedding obtained after repeating removal of the tip-block K i times. The code γ (B) of a block B in G is defined to be γ (B) = (d(b), side(r(b)), l(r(b)), γ(b)), where side(r(b)) and l(r(b)) are the side and level of a vertex v in the block B(v) and we set side(r(b)) = l(r(b)) = 0 if r(b) = r G. The signature σ(g) of an embedding G is defined to be σ(g) = [γ (B 1 ), γ (B 2 ),..., γ (B K )] for the order π(g) = (B 1, B 2,..., B K ) of all blocks in G. Observe that σ(p H (G)) = { [γ (B 1 ), γ (B 2 ),..., γ (B K 1 )] if B K equivalent to B [γ (B 1 ), γ (B 2 ),..., γ (B K 1 ), γ (P B (B K ))] otherwise, where δ(r(p B (B K ))) = δ(r(b K )). For two indices i and j (i j), let σ i,j (G) denote the subsequence σ i,j (G) = [γ (B i ), γ (B i+1 ),..., γ (B j )] for the blocks B i, B i+1,..., B j which appear consecutively in π(g). Let G(B) denote the embedding induced from G by B and all descendant-blocks of B. For a block B, G(B) consists of some blocks B i, B i+1,..., B j that appear in this order in π(g). and let σ(g(b); G) denote σ i,j (G). Then signature σ has the following property. Lemma 1 Let G and G be two embeddings of a rooted graph H H. Then G and G are the same embedding if and only if σ(g) = σ(g ). Proof. Since σ(g) of an embedding G is uniquely determined by definition, we see that G and G are the same embedding only if σ(g) = σ(g ). We show that, for any embedding G, no other embedding G satisfies σ(g ) = σ(g). Let π(g) = (B 1, B 2,..., B K ), and let G i denote the embedding induced from G by the first i blocks in π(g), i.e., G i is obtained from G by removing blocks B i+1, B i+2,..., B K. Let σ i = [γ (B 1 ), γ (B 2 ),..., γ (B i )], i = 1, 2,..., K. For i = 1, we see that only G 1 = B 1 can satisfy σ(g 1 ) = σ 1. Assuming that, for i = j(< K), only embedding G j can satisfy σ(g j ) = σ j, we show that only G j+1 can admit signature with σ(g j+1 ) = σ j+1. For any embedding G such that σ(g ) = σ j+1, the last code γ (B j+1 ) = (d(b j+1 ), side(r(b j+1 )), l(r(b j+1 )), γ(b j+1 )) in σ j+1 specifies the tip-block of G, and the embedding G obtained from G by removing the tip-block B j+1 satisfies σ(g ) = σ j. By the induction hypothesis, G is G j. Note that G is obtained from G j by attaching B j+1. It is suffices to show that a way of attaching B j+1 to G j is uniquely determined by the information in γ (B j+1 ). Code γ (B j+1 ) specifies the depth of a block B in G j to which block B j+1 is attached. There may be more than such one block B, 6

7 but exactly one such block B is determined as the one in the spine of G j, since B j+1 cannot be the tip-block of the resulting embedding if B j+1 is attached to any other block than those in the spine of G j. The vertex to which B j+1 is allowed to attach is also uniquely determined by side(r(b j+1 )) and l(r(b j+1 )), since vertices in each of V 1 (B), V 2 (B) and V 3 (B) are assigned with distinct levels l. This shows that only G j+1 satisfies σ(g j+1 ) = σ j+1, as required. 4 Canonical Embeddings For each block B BS[v], G(B) consists of blocks B = B i, B i+1,..., B j which appear consecutively in π(g), and we denote by σ(g(b); G) the subsequence σ i,j (G) = [γ (B i ), γ (B i+1 ),..., γ (B j )]. An embedding G is called left-sibling-heavy at a block B BS[v] = (B 1, B 2,..., B p) if B = B 1 or σ(g) σ(g ) holds for the embedding G obtained from G by exchanging the order of B i 1 and B i = B in BS[v]. Lemma 2 An embedding G is left-sibling-heavy at a block B i BS[v] = (B 1, B 2,..., B p) with i 2 if and only if σ(g(b i 1 ); G) σ(g(b i ); G) holds. Proof. Let G be the embedding obtained from G by exchanging the order of B i 1 and B i in BS[v]. Signatures σ(g) and σ(g ) have a common subsequence before the subsequences [σ(g(b i 1 ); G), σ(g(b i ); G)] and [σ(g(b i ); G ), σ(g(b i 1 ); G )], respectively. Note that σ(g(b i ); G ) = σ(g(b i ); G) and σ(g(b i 1 ); G ) = σ(g(b i 1 ); G). Hence σ(g) σ(g ) holds if and only if [σ(g(b i 1); G), σ(g(b i); G)] [σ(g(b i); G), σ(g(b i 1); G)]. Since the lemma holds when σ(g(b i 1 ); G) = σ(g(b i ); G), it suffices to show that σ(g(b i 1 ); G) > σ(g(b i ); G) implies [σ(g(b i 1); G), σ(g(b i); G)] > [σ(g(b i); G), σ(g(b i 1); G)], (1) and that σ(g(b i ); G) > σ(g(b i 1 ); G) implies [σ(g(b i ); G), σ(g(b i 1 ); G)] > [σ(g(b i 1 ); G), σ(g(b i ); G)]. By symmetry, it is sufficient to show the former. Assume that σ(g(b i 1 ); G) > σ(g(b i ); G). If σ(g(b i 1 ); G) σ(g(b i ); G) or σ(g(b i 1 ); G) = σ(g(b i ); G) and σ(g(b i 1 ); G) σ(g(b i ); G) holds, then we have [σ(g(b i 1 ); G), σ(g(b i ); G)] > [σ(g(b i ); G ), σ(g(b i 1 ); G )]. Then we consider the case where σ(g(b i 1 ); G) σ(g(b i ); G) and σ(g(b i 1 ); G) > σ(g(b i ); G). In this case, the first code γ (B a ) in σ(g(b i 1 ); G) is compared with the ( σ(g(b i ); G) +1)st code γ (B b ) in σ(g(b i 1 ); G). Let B a (resp., B b ) be the block such that r(b a) V (B a) (resp., r(b b ) V (B b )). Then the first entry in δ(r(b a )) of γ (B a ) is d(b a) = d(b i 1 ) 1, whereas the first entry d(b b ) in δ(r(b b )) of γ (B b ) satisfies d(b b ) d(b i 1 ). Hence γ (B b ) > γ (B a ) holds, as required. For a symmetric block B in an embedding G, let G/B f denote the flipped embedding of G that is obtained by exchanging the vertex set V R (B) with V L (B); i.e., re-attach all child-blocks B at each vertex u V R (B) (resp., u V L (B)) to the vertex u V L (B) (resp., u V R (B)) with δ(u ) = δ(u). An embedding G is called left-side-heavy at a symmetric block B BS[v] if σ(g) σ(g ) holds for the embedding G = G/B f obtained from G by flipping B. For a block B, let B = B i, B i+1,..., B j be the blocks in G(B) that appear in this order in π(g). Sequence σ(g(b); G) consists of four subsequences: the first one is σ i,i (G) = 7

8 [δ(r(b)), γ(b)], the second σ i+1,ic (G), the second σ ic +1,i L (G), and the second σ il +1,j(G), B k with i + 1 k i C (resp., i C + 1 k i L and i L + 1 k j) is a descendantblock of a vertex u Vcut C (resp., u Vcut L and u Vcut). R We denote these subsequences by σ(b; G), σ C (G(B); G), σ L (G(B); G), and σ R (G(B); G), respectively. Hence σ(g(b); G) = [σ(b; G), σ C (G(B); G), σ L (G(B); G), σ R (G(B); G)]. We define the flipped code γ (B) of γ (B) to be the code obtained from γ (B) by replacing the value of the second entry side = 1 (resp., side = 0) with side = 0(resp., side = 1). Let σ L (G(B); G) (resp., σ R (G(B); G)) denote the sequence obtained from σ L (G(B); G) (resp., σ R (G(B); G)) by replacing γ (B ) with γ(b ) for all blocks B such that r(b ) V (B). Denote σ f (G(B); G) = [σ(b; G), σ C (G(B); G), σ R (G(B); G), σ L (G(B); G)]. Lemma 3 An embedding G is left-side-heavy at a symmetric block B BS[v] if and only if it holds σ L (G(B); G) σ R (G(B); G). Proof. Let G = G/B f. Signatures σ(g) and σ(g ) have a common subsequence before their subsequences [σ L (G(B); G), σ R (G(B); G)] and [σ R (G(B); G), σ L (G(B); G)] start, respectively. Note that σ(g ) is obtained from σ(g) by replacing σ(g(b); G) with σ f (G(B); G). Hence σ(g) σ(g ) [σ L (G(B); G), σ R (G(B); G)] [σ R (G(B); G), σ L (G(B); G)]. (2) For simplicity, let σ L denote σ L (G(B); G). Similarly for σ R. Since (2) holds when σ L = σ R, it suffices to show that σ L > σ R (resp., σ R > σ L ) implies [σ L, σ R ] > [σ R, σ L ] (resp., [σ R, σ L ] > [σ R, σ L ]). We prove the former (the latter can be treated symmetrically). Assume σ L > σ R. If σ L σ R, then we have [σ L, σ R ] > [σ R, σ L ]. We assume σ L σ R. If σ L = σ R, then we again obtain [σ L, σ R ] > [σ R, σ L ]. Assume that σ L > σ R holds. In this case, the first code γ (B a ) in σ L is compared with the ( σ L + 1)st code γ (B b ) in σ L, and it suffices to show that γ (B b ) > γ (B a ). Let B a (resp., B b ) be the block such that r(b a ) V (B a) (resp., r(b b ) V (B b )), and let γ (B a ) = (d(b a), side(r(b a )), l(r(b a )), γ(b a )) and γ (B b ) = (d(b b ), side(r(b b)), l(r(b b )), γ(b b )). It holds d(b b ) d(b) + 1 = d(b a). If d(b a) = d(b b ) = d(b) + 1 holds, then we have γ (B b ) > γ (B a ) by side(r(b b )) = 2 > 1 = side(r(b a )), as required. An embedding G is called canonical if it is left-sibling-heavy and left-side-heavy at all symmetric blocks in G. Lemma 4 Let G be an embedding of a rooted graph H H. Then G is canonical if and only if σ(g) is lexicographically maximum among all σ(g ) of embeddings G of H. Proof. (i) Only if part: Let G be an embedding of a rooted graph H H such that σ(g) is lexicographically maximum. To derive a contradiction, assume that G is not canonical. If G is not left-sibling-heavy at some block B i BS[v] = (B 1, B 2,..., B p), then σ(g(b i ); G) > σ(g(b i 1 ); G) holds by Lemma 2. Hence by the definition of left-sibling-heaviness, the embedding G obtained from G by exchanging the order of B i 1 and B i in BS[v] has signature σ(g ) which is lexicographically larger than G. If G is not left-side-heavy at some symmetric block B, then it holds σ R (G(B); G) > σ L (G(B); G) by Lemma 3. Hence by the definition of left-side-heaviness, the embedding G = G/B f obtained from G by flipping B has signature σ(g ) which is lexicographically larger than σ(g). (ii) If part: By (i), any embedding G is canonical if σ(g ) is lexicographically maximum. Hence it suffices to show that a canonical embedding is unique. Let v be a cut-vertex with 8

9 the largest depth in G. The ordering of blocks B 1, B 2,..., B q BS[v] in G lexicographically maximizes [γ (B 1 ), γ (B 2 ),..., γ (B q)], and is unique, since either γ (B i ) > γ (B j ) or γ (B j ) > γ (B i ) whenever blocks B i and B j are distinct. Also let B be a symmetric block with the largest depth. Then σ(g(b); G) takes the lexicographically maximum of σ(g(b); G) and σ f (G(B); G). By applying the argument in a bottom-up manner along G, we see that a canonical embedding is rooted-isomorphically unique. Lemma 5 For a canonical embedding G, its parent-embedding P H (G) (if any) is a canonical embedding. Proof. Let G be a canonical embedding of a graph H H. Hence G satisfies all the inequalities in Lemmas 2 and 3. Let B 1, B 2,..., B p be the spine of G, let G = P H (G), and H H be the graph represented by G. Then σ(g ) is obtained from σ(g) by deleting the last code γ (B p ) or replacing γ (B p ) = (d(b p ), side(r(b p )), l(r(b p )), γ(b p )) with (d(b p ), side(r(b p )), l(r(b p )), γ(p B (B p ))). In this case, all the inequalities in Lemmas 2 and 3 remain valid since such a change in the signature can make the right hand side of any of these inequalities smaller. Thus, G is also a canonical embedding of H. r G v=lca(b j,b i ) rblock(b j,b i ) r G Bh=lca(B j,b i ) V 2 (Bh) V 3 (Bh) V 1 (Bh) Bj Bi rblock(b j,b i ) Bj Bi Bj Bi (a) (b) Figure 2: Two possible cases where a block B j is pre-identical to a block B i, (a) lca(b i, B j ) is a vertex v; (b) lca(b i, B j ) is a block B h. Let G be an embedding with σ(g) = [γ (B 1 ), γ (B 2 ),..., γ (B K )], where B K is the tipblock of G. Let v be a vertex in G. For a block B i which has an ancestor-block B k of B i with v = r(b k ), we call each block B j with k j i a pre-block of B i to v, and define the pre-sequence ps(v, B i ) of B i to v to be σ k,i 1 (G) = [γ (B k ), γ (B k+1 ),..., γ (B i 1 )], where ps(b h, B i ) = if k = i. Let B h be a block in G. For a block B i which is a descendant-block of a left (resp., right/central) child-block of B h, we define the initial ancestor-block B i of B i to B h to be the first left (resp., right/central) child-block of B h, and call each block B j with i j i a pre-block of B i to B h. Define the pre-sequence ps(b h, B i ) of B i to B h to be σ i,i 1(G) = [γ (B i ), γ (B i +1),..., γ (B i 1 )]. A left (resp., right) child-block B a of a block B is called opposing with a right (resp., left) child-block B b of B. Let γ (B) γ (B ) mean γ (B) = γ (B ) if block B is opposing with B, 9

10 and γ (B) = γ (B ) otherwise. For two subsequence σ j,k (G) and σ j,k (G), let σ j,k(g) σ j,k (G) imply that k j = k j 0 and γ (B j+i ) γ (B j +i), i = 0, 1,..., k j. For a block B i, a block B j with j < i incomparable B i is called pre-identical to B i if one of the following conditions holds: (i) lca(b i, B j ) is a vertex v, ps(v, B j ) = ps(v, B i ), and the first pre-blocks of B i and B j to v are immediately adjacent siblings at v. See Fig. 2(a). (ii) lca(b i, B j ) is a block B h and ps(b h, B j ) ps(b h, B i ). See Fig. 2(b). Note that ps(b h, B j ) ps(b h, B i ) holds only when B h is symmetric and the initial ancestorblock B i of B i (resp., B j of B j ) to B h is a right (resp., left) child-block of B h. Hence conditions (i) and (ii) can be expressed by ps(lca(b i, B j ), B j ) ps(lca(b i, B j ), B i ). If B i has a left sibling B j at v = r(b i ), then B j is pre-identical to B i, where ps(v, B j ) = ps(v, B j ) =. In a canonical embedding G, the first right child-block B of a block B h has an opposing block such as the first left child-block B j, since otherwise G is not left-side-heavy. Hence B j is pre-identical to such block B i. Lemma 6 For a block B d in a canonical embedding G, let B c and B b (b < c < d) be two blocks pre-identical to B d. Then γ (B c ) γ (B b ) γ (B d ) holds. In particular, γ (B d ) γ (B c ) implies γ (B d ) γ (B b ). Proof. Since B b is pre-identical to B i, we have ps(lca(b d, B b ), B d ) ps(lca(b d, B b ), B b ). This implies that there is a block B a, a < b pre-identical to B c and γ (B a ) γ (B c ) holds. See Fig. 3. Since B c is pre-identical to B d, we have ps(lca(b d, B c ), B d ) ps(lca(b d, B c ), B c ). Hence B a is pre-identical to B b. Since G is canonical, it must hold γ (B a ) γ (B b ) and γ (B b ) γ (B d ). Hence it holds γ (B c ) = γ (B a ) γ (B b ) γ (B d ), as required. Hence, γ (B d ) γ (B c ) implies γ (B b ) γ (B d ). r G B a B b B c B d Figure 3: Illustration for two blocks B j and B k (k < j < i) pre-identical to a block B i. 5 Enumeration Algorithm for Class H An embedding G is called a child-embedding of an embedding G if G = P H (G ). Let C H (G) denote the set of all canonical child-embeddings of an canonical embedding G. We define a family tree F H in which each canonical embedding G is joined to its parent P H (G). 10

11 Given an integer n 2, we design an algorithm ENUMERATE(n) which enumerates all canonical embeddings of graphs in H containing at most n vertices. Algorithm ENUMERATE(n) Input: An integer n 2. Output: All canonical embeddings of graphs in H containing at most n vertices. begin Create an embedding G with exactly one block B 1 by setting B 1 to be the seed block B B; C(B 1 ) := ; /* C(B) denotes the competitor of B */ Output G; GEN(G) end. After creating a new block equivalent to the seed block B B as the first block B 1 in an canonical embedding G, we generate all canonical child-embeddings G of G by the following recursive procedure GEN(G). Procedure GEN(G) Input: A canonical embedding G with at most n vertices. Output: All descendent-embeddings of G containing at most n vertices. begin /* Let π(g) = [B 1, B 2,..., B K ], and let (B 1, B 2,..., B p ) be the spine of G, where B p = B K is the tip-block of G */ LowestBlock; /* Let B h be the lowest block in the spine to which a new block can be appended */ if V (G) + V ( B) n then for i = 1, 2,..., h do AppendSeed endfor endif; if h = p then ExpandTip endif end. Supposing that a canonical embedding G is obtained, we give an outline of GEN(G). We easily see that a child-embedding G of G is obtained by appending a new block B to a vertex in a block in the spine of G or by extending the tip-block B p of G to its child B C B (B p ). We first compute the lowest block B h in the spine of G that contains a vertex to which a new block can be appended to generate a canonical child-embedding of G. Hence GEN(G) consists of three tasks: LowestBlock: the task of finding the lowest block B h, AppendSeed: the task of appending new blocks to all blocks B i, i h in the spine, and ExpandTip: the task of extending the tip-block B p of G to each of all children B C B (B p ). Finding Lowest Blocks To facilitate finding the lowest block B h in LowestBlock, we introduce competitors of blocks in an embedding. We define the competitor of a block B i to be the block B j pre-identical to B i which has the smallest index j (< i) among all blocks pre-identical to B i. A block B i has no competitor if no block B j, j < i is pre-identical to B i. Let G be the embedding obtained from a canonical embedding G by appending a new block B which is equivalent to the seed block B B to a vertex v V (B i ) of a block B i in the spine of G. We consider when G remains canonical. Since G needs to be the parentembedding of G, the new block B in G needs to be the tip-block of G. To obtain a correct child-embedding G from G, the vertex v must satisfy key(v) < min{key(u) V cut (B i )}, where min{key(u) V cut (B p )} = for the tip-block B p of G. 11

12 Lemma 7 Let B j and B i (j < i) be blocks in the spine of a canonical embedding G. Assume that the child-embedding G i is obtained from G by appending a new seed block to a vertex u V (B i ). Then the child-embedding G j obtained from G by appending a seed block to any vertex v V (B j ) satisfying key(v) < min{key(u) V cut (B j )} is canonical. Proof. Since d(g j ) < d(g i ), we see that γ (B) of the new block B appended to v in G i is smaller than γ (B) of B appended to u in G i. Hence only the right hand side of each of the inequalities in Lemmas 2 and 3 for blocks in the spine of G j can decrease by replacing the position of the new block, indicating that G j remains canonical. Consider the block B h with the smallest h, called the lowest block, to which the seed block can be appended to obtain a canonical child-embedding G, and the maximum key endkey h of a vertex v V (B h ) with key(v) endkey h to which the seed block can be appended to obtain a canonical child-embedding G. For two incomparable blocks B i and B j (i < j), let rblock(b i, B j ) be the ancestor-block B h of B j with r(b h ) = lca(b i, B j ) if lca(b i, B j ) is a vertex; let rblock(b i, B j ) be the first right child-block of block lca(b i, B j ) otherwise. B j+1 r G B h =lca(b j,b K )=B*=B l h endkey r G h B lca(b j,b K )=B*=B l h endkey r G h B lca(b j,b K )=B*=B l h endkey B j B K B j B K (a) (b) B j+1 B j (c) B j+1 B K r G r G r G lca(b j,b K ) lca(b j,b K ) B l B j B j+1 (d) B K h endkey B h =B* B j B l B j+1 (e) rblock(b j,b K ) h endkey B K B h =B* lca(b j,b K ) B j (f) B h =B*=B l h endkey B j+1 B K =rblock(b j,b K ) Figure 4: Illustration for the six subcases of the case where the tip-block B K = B p has the competitor B j with γ (B j ) γ (B K ). Lemma 8 Let G be a canonical embedding, and denote π(g) = [B 1, B 2,..., B K ], and let (B 1, B 2,..., B p ) be the spine of G, where B p = B K is the tip-block of G. Assume that B p has the competitor B j with γ (B j ) γ (B K ). Let B l be the parent-block of B j+1 in G, and let B be the block in the spine with d(b ) = d(b l ). (i) If γ (B j ) = γ (B K ) and B j+1 is a left child-block of the symmetric block lca(b j, B K ), then the lowest block B h is given by B and endkey h = (1, l(r(b j+1 ))) (see Fig. 4(a)); 12

13 (ii) If γ (B j ) γ (B K ) and B j+1 is the first right child-block of the symmetric block lca(b j, B K ), then the lowest block B h is given by the parent-block of B and endkey h = key(r(b )) (see Fig. 4(b),(c)); and (iii) In the other case than (i)-(ii), B h is given by B and endkey h = key(r(b j+1 )) (see Fig. 4(d)-(f)). Proof. We can observe that the case where B p has the competitor B j with γ (B j ) γ (B K ) has the following six subcases: (a) B j+1 is a left child-block of symmetric block lca(b j, B K ) = B = B l (see Fig. 4(a)); (b) B j+1 is the first right child-block of symmetric block lca(b j, B K ) = B = B l, and B j and B K are right and left child-blocks of lca(b j, B K ) (see Fig. 4(b)); (c) B j+1 is the first right child-block of symmetric block lca(b j, B K ) = B = B l, and both B j and B K are not child-blocks of lca(b j, B K ) (see Fig. 4(c)); (d) B j+1 is a descendant-block of a left child-block of symmetric block lca(b j, B K ) (see Fig. 4(d)); (e) B j+1 is a descendant-block of a left child-block of vertex lca(b j, B K ) (see Fig. 4(e)); and (f) B j+1 is the child-block rblock(b j, B K ) of vertex lca(b j, B K ) (see Fig. 4(f)). Let B h and endkey h = key(r(b j+1 )) be the block and the key value determined by the lemma. Then we see that the block lca(b j, B K ) or rblock(b j, B K ) is no longer left-side-heavy or left-sibling-heavy if a new block B is appended at a vertex u such that u V (B h ) with key(u) > endkey h or u V (B i ) with i > h. We next show that the embedding G obtained from G by appending a new seed block B to the vertex u V (B h ) with key(v) = endkey h is canonical, which proves that B h is the lowest block and endkey h is the maximum key in V (B h ) by Lemma 7. We consider case (a) (the other cases can be treated analogously). Assume that G is not canonical. Then G has a block B a which is not left-sibling-heavy or is not left-side-heavy. Since we see that B l = B h = lca(b j, B K ) remains left-side-heavy in G, we have a < l. Then the new tip-block B has a pre-identical block B t in G. This means that block B t 1, t 1 < j, is pre-identical to B K, contradicting that B j with t 1 < j is the competitor of B K. Lemma 9 For a canonical embedding G, let π(g) = [B 1, B 2,..., B K ], and let (B 1, B 2,..., B p ) be the spine of G, where B p = B K is the tip-block of G. Assume that B p has no competitor B j with γ (B j ) γ (B K ). Then the lowest block B h is given by the tip-block B p and endkey h =. Proof. By Lemma 7, it suffices to show that the embedding G obtained from G by appending a new seed block B to the vertex u V (B h ) with the maximum key is canonical. Assume that G is not canonical. Then G has a block B a which is not left-sibling-heavy or is not left-side-heavy. Then the new tip-block B has a pre-identical block B t in G. This means that block B t 1 is pre-identical to B K, contradicting that B K has no competitor in G. Task LowestBlock is attained by computing the lowest block B h and the the maximum key endkey h according to Lemmas 8 and 9. LowestBlock if γ (C(B K )) γ (B K ) then /* B j = C(B K ) in π(g) */ Let B l be the parent-block of B j+1 in G; Let B be the block in the spine with d(b ) = d(b l ); if lca(b j, B K ) = B then if B j+1 is a left child-block of B = lca(b j, B K ) then B h := B ; endkey h := (1, l(r(b j+1 ))) else if B j+1 is the first right child-block of B = lca(b j, B K ) then 13

14 Let B h be the parent-block of B ; endkey h := key(r(b )) endif endif else B h := B ; endkey h := key(r(b j+1 )) endif endif; if γ (C(B K )) γ (B K ) then B h := B p ; endkey h := endif Extending Tip Blocks We are ready to examine when the embedding G obtained from G by extending the tip-block B p to one of its child B C B (B p ) remains canonical. Lemma 10 Let G be the embedding obtained from a canonical embedding G by expanding the tip-block B p to a child B C B (B p ). Then G is not canonical if and only if B p has the competitor B j in G and γ(b) > γ(b j ) holds. Proof. (i) If part: Assume that B p has the competitor B j and γ(b) > γ(b j ) holds. If lca(b j, B p ) is a block B l, then we see that B l is not left-side-heavy in G. Otherwise if lca(b j, B p ) is a vertex v, then there are two consecutive siblings B j, B j BS[v] such that B j and B j are ancestor-blocks of B j and B p, indicating that B j is not left-sibling-heavy in G. (ii) Only if part: Assume that G is not canonical. Since G is canonical, we see that all blocks B that are not left-sibling-heavy or left-side-heavy in G belong to the spine of G. Let B k be such a block B. First consider the case where B k is not left-sibling-heavy in G. Then the left sibling B k BS[v] of B k at the root v = r(b h ) has a descendant-block B c which is pre-identical to B p in G and satisfies γ(b) > γ(b c ) γ(b p ) and (d(b c ), key(r(b c ))) = (d(b p ), key(r(b p ))) holds. Hence by definition, B p has the competitor B b with b c. Since b = c implies the lemma, we derive a contradiction assuming b < c. Since b < c and B b is pre-identical to B p, we have (d(b b ), key(r(b b ))) = (d(b p ), key(r(b p ))) (note that B b and B p cannot share the same parent-block due to the block B c ). By Lemma 6, it holds γ (B c ) γ (B b ) γ (B p ). Hence, (d(b b ), key(r(b b ))) = (d(b c ), key(r(b c ))) = (d(b p ), key(r(b p ))) implies that γ(b c ) γ(b b ) γ(b p ). From this and γ(b) > γ(b c ) γ(b p ), we obtain γ(b) > γ(b c ) = γ(b b ) = γ(b p ), as required. We next consider the case where B k is a symmetric block which is not left-side-heavy in G. Then B p is a descendant-block of a right child-block of B k and there is descendant-block B c of a left child-block of B k which is pre-identical to B p in G and satisfies γ(b) > γ(b c ) γ(b p ) and (d(b c ), key(r(b c ))) = (d(b p ), key(r(b p )) (or side(r(b c )) = 2, side(r(b p )) = 1, and (d(b c ), l(b c )) = (d(b p ), l(b p )) if B c and B p are child-blocks of B k ). By definition, B p has the competitor B b with b c. Since b = c implies the lemma, we derive a contradiction assuming b < c. Since b < c and B b is pre-identical to B p, we have (d(b b ), key(r(b b ))) = (d(b p ), key(r(b p ))). By Lemma 6, it holds γ (B c ) γ (B b ) γ (B p ). Again this and γ(b) > γ(b c ) γ(b p ) imply γ(b) > γ(b c ) = γ(b b ) = γ(b p ), as required. By Lemma 10, if B p has the competitor B j with γ (B j ) γ (B p ), then the tip-block B p cannot be expanded to generate a canonical embedding. In this case, the lowest block B h is not equal to B p by Lemma 8. On the other hand, B p is the lowest block B h by Lemma 9. Hence we try to expand the tip-block B p only when B h = B p. Based on the above observation, a procedure for ExpandTip is described as follows. ExpandTip Let B min := B and B max := C(B K ) (let B max := if C(B K ) := ) ; while B :=NextMinChild(B K, B min, B max ) and V (G) + V (B) n do 14

15 B :=NextMinChild(B K, B min, B max ); Let G be the embedding obtained from G by replacing B K with B, and output G (or the difference between B K and B); GEN(G ); B min := B endwhile Appending New Blocks To append a new block to the current embedding G, we need to know all vertices to which a new block can be appended one by one. A procedure for AppendSeed can be described as follows. Let B 0 denote an imaginary block which is the parent-block of r G = r(b 1 ) such that V (B 0 ) = {r G } for notational convenience. AppendSeed if i < h then endkey i := key(r(b i+1 )) for the root r(b i+1 ) of block B i+1 endif; currentkey := ; while NextVertex(B i, currentkey) do (v, key(v)) :=NextVertex(B i, currentkey); Create a new block B which is equivalent to seed block B; Let G be the embedding obtained from G by appending block B to v; Compute the competitor C(B) of the new block B, lca(c(b), B) and rblock(c(b), B) according to Cases-C1 and C2; Output G (or B and v); GEN(G ); currentkey := key(v); if currentkey = endkey i then currentkey := /* This terminates the while-loop by NextVertex(B i, ) = */ endif endwhile /* no vertex in B i is left for appending a new block */ We can compute the competitor C(B) of the new block in AppendSeed in O(1) time if we also maintain data lca(c(b), B) and rblock(c(b), B) How to Compute Competitors For each block B i π(g), i = 1, 2,..., K in this order, we can set the competitor of a block B i to be the block B j which satisfies one of the next cases holds, where we also compute lca(b i, B j ) and rblock(b i, B j ): Case-C1. i 2 and the previous block B i 1 of B i has a competitor B j 1 and it holds lca(b i, B j ) = lca(b i 1, B j 1 ): (a) lca(b i, B j ) is a vertex and γ (B i 1 ) = γ (B j 1 ) holds: Then the competitor of B i is given by B j. (b) lca(b i 1, B j 1 ) is a symmetric block, B i 1 and B j 1 are not child-blocks of block lca(b i, B j ), and γ (B i 1 ) = γ (B j 1 ): Then the competitor of B i is given by B j. (c) lca(b i 1, B j 1 ) is a symmetric block, B i 1 and B j 1 are child-blocks of block lca(b i, B j ), and γ (B i 1 ) = γ (B j 1 ): Then the competitor of B i is given by B j. In each of (a)-(c), we set lca(b i, B j ) := lca(b i 1, B j 1 ) and rblock(b i, B j ) := rblock(b i 1, B j 1 ). Case-C2. B i has no such previous block B i 1 in Case-C1: 15

16 (a) B i has a left sibling B j BS[v] at v = r(b i ): Then the competitor of B i is given by B j. We set lca(b i, B j ) := v and rblock(b i, B j ) := B i. (b) B i has no left sibling B j BS[v] at v = r(b i ), B i has the parent-block B l which has a left child-block, and B i is the first right child-block of B l : Then the competitor of B i is given by the first left child-block B j of B l. We set lca(b i, B j ) := B l and rblock(b i, B j ) := B i. Lemma 11 In a canonical embedding G, the competitor of block B i is correctly obtained in Cases-C1 and C2, if any, if the competitors of all blocks B t, t < i have been obtained. Proof. If B i has a left sibling at v = r(b i ), then B i has a competitor. Note that a block B which has a right child-block must have a left child-block in a canonical embedding G, since otherwise B is not left-side-heavy. Hence if B i is the first right child-block of its parent-block B l, then B l has a left child-block and thereby B i has a competitor. (i) Assume that there is no block pre-identical to B i. We show that no competitor is given to B i in Case-C1 and C2. Since B j in Case-C2 is pre-identical to B i, we consider Case-C1(a), i.e., B i 1 has the competitor B j 1 such that lca(b i, B j ) = lca(b i 1, B j 1 ) is a vertex v and γ (B j 1 ) = γ (B i 1 ) holds (subcases (b) and (c) can be treated analogously). By definition of competitors, we have ps(v, B j 1 ) = ps(v, B i 1 ). Since γ (B j 1 ) = γ (B i 1 ) holds, it holds ps(v, B j ) = [ps(v, B j 1 ), γ (B j 1 )] = [ps(v, B i 1 ), γ (B i 1 )] = ps(v, B i ). This, however, implies that B j is pre-identical to B i, contradicting that there is no block pre-identical to B i. Therefore, no competitor is assigned to B i. (ii) Assume that there is a block B t, t < i pre-identical to B i. Let t be the minimum index for such block B t. We show that if B t is the left sibling in BS[v] at v = r(b i ), then no competitor is assigned to B i in Case-C1, which implies that B t is assigned to B i as the competitor of B i in Case-C2(a). If a block B j in Case-C1 is assigned to such B i in Case-C1, then we see that B j is pre-identical to B i, and j < t holds, contradicting the choice of B t. We can treat the case where B i and B t are the first left- and right-blocks of a block analogously. Assume that B i and B t do not satisfy each of conditions (a) and (b) in Case-C2. In this case, the preceding block B t 1 of B t is pre-identical to the preceding block B i 1 of B i. Hence if the competitor of B i 1 is B t 1, then B t is assigned to B i as its competitor in Case-C1, as required. We derive a contradiction by assuming that the competitor of B i 1 is a block B k 1 with k 1 < t 1. By Lemma 6 and γ (B t 1 ) γ (B i 1 ), we have γ (B k 1 ) γ (B i 1 ). This, however, means that B k is pre-identical to B i, contradicting the choice of B t. Whether lca(b i, B j ) = lca(b i 1, B j 1 ) or not can be tested using lca(b i 1, B j 1 ) and rblock(b i 1, B j 1 ) as follows: lca(b i, B j ) = lca(b i 1, B j 1 ) if and only if j < h and d(b h ) > d(b i ) for B h = rblock(b i 1, B j 1 ). Hence we can determine the competitor C(B) of a new block B according to Cases-C1 and C2 in O(1) time. Finally we consider the entire algorithm ENUMERATE. For the correctness of ENUMER- ATE, we only need to show that, when GEN(G) terminates a recursive call to avoid generating G with more than n vertices, all descendant-embeddings of G with at most n vertices have been enumerated. In GEN(G), task AppendSeed is executed only when V (G) + V ( B) n. We see that, if V (G) + V ( B) > n, then no child-embedding G of G obtained by appending the seed block can have an embedding with at most n vertices due to the monotonicity (S5) of γ. Similarly, ExpandTip terminates expansion of the tip-block once the new expanded block B satisfies V (G) + V (B) > n. In this case, no child-embedding G of G obtained by expanding the tip-block B p to any other unseen children B C B, because γ(b ) > γ(b) holds by the listing order of NextMinChild and thereby V (B ) V (B) > n holds by the monotonicity (S4) of γ. It is not difficult to implement ENUMERATE(n) so that each new embedding can be generated in O( ) time and O(n) without including the time and space complexity of procedures NextVertex and NextMinChild, where denotes the maximum size between two 16

Constant Time Generation of Trees with Degree Bounds

Constant Time Generation of Trees with Degree Bounds The Ninth International Symposium on Operations Research and Its Applications (ISORA 10) Chengdu-Jiuzhaigou, China, August 19 23, 2010 Copyright 2010 ORSC & APORC, pp. 183 194 Constant Time Generation

More information

On the Page Number of Upward Planar Directed Acyclic Graphs

On the Page Number of Upward Planar Directed Acyclic Graphs Journal of Graph Algorithms and Applications http://jgaa.info/ vol. 17, no. 3, pp. 221 244 (2013) DOI: 10.7155/jgaa.00292 On the Page Number of Upward Planar Directed Acyclic Graphs Fabrizio Frati 1 Radoslav

More information

Graph Algorithms Using Depth First Search

Graph Algorithms Using Depth First Search Graph Algorithms Using Depth First Search Analysis of Algorithms Week 8, Lecture 1 Prepared by John Reif, Ph.D. Distinguished Professor of Computer Science Duke University Graph Algorithms Using Depth

More information

On the Relationships between Zero Forcing Numbers and Certain Graph Coverings

On the Relationships between Zero Forcing Numbers and Certain Graph Coverings On the Relationships between Zero Forcing Numbers and Certain Graph Coverings Fatemeh Alinaghipour Taklimi, Shaun Fallat 1,, Karen Meagher 2 Department of Mathematics and Statistics, University of Regina,

More information

Monotone Paths in Geometric Triangulations

Monotone Paths in Geometric Triangulations Monotone Paths in Geometric Triangulations Adrian Dumitrescu Ritankar Mandal Csaba D. Tóth November 19, 2017 Abstract (I) We prove that the (maximum) number of monotone paths in a geometric triangulation

More information

Straight-line Drawability of Embedded Graphs

Straight-line Drawability of Embedded Graphs Straight-line Drawability of Embedded Graphs Hiroshi Nagamochi Department of Applied Mathematics and Physics, Kyoto University, Yoshida Honmachi, Sakyo, Kyoto 606-8501, Japan. nag@amp.i.kyoto-u.ac.jp Abstract:

More information

A New Approach to Graph Recognition and Applications to Distance-Hereditary Graphs

A New Approach to Graph Recognition and Applications to Distance-Hereditary Graphs Nakano S-i, Uehara R, Uno T. A new approach to graph recognition and applications to distance-hereditary graphs. JOUR- NAL OF COMPUTER SCIENCE AND TECHNOLOGY 24(3): 517 533 May 2009 A New Approach to Graph

More information

Interleaving Schemes on Circulant Graphs with Two Offsets

Interleaving Schemes on Circulant Graphs with Two Offsets Interleaving Schemes on Circulant raphs with Two Offsets Aleksandrs Slivkins Department of Computer Science Cornell University Ithaca, NY 14853 slivkins@cs.cornell.edu Jehoshua Bruck Department of Electrical

More information

Module 11. Directed Graphs. Contents

Module 11. Directed Graphs. Contents Module 11 Directed Graphs Contents 11.1 Basic concepts......................... 256 Underlying graph of a digraph................ 257 Out-degrees and in-degrees.................. 258 Isomorphism..........................

More information

A Fast Algorithm for Optimal Alignment between Similar Ordered Trees

A Fast Algorithm for Optimal Alignment between Similar Ordered Trees Fundamenta Informaticae 56 (2003) 105 120 105 IOS Press A Fast Algorithm for Optimal Alignment between Similar Ordered Trees Jesper Jansson Department of Computer Science Lund University, Box 118 SE-221

More information

Symmetric Product Graphs

Symmetric Product Graphs Rochester Institute of Technology RIT Scholar Works Theses Thesis/Dissertation Collections 5-20-2015 Symmetric Product Graphs Evan Witz Follow this and additional works at: http://scholarworks.rit.edu/theses

More information

Paths, Flowers and Vertex Cover

Paths, Flowers and Vertex Cover Paths, Flowers and Vertex Cover Venkatesh Raman M. S. Ramanujan Saket Saurabh Abstract It is well known that in a bipartite (and more generally in a König) graph, the size of the minimum vertex cover is

More information

Fixed-Parameter Algorithms, IA166

Fixed-Parameter Algorithms, IA166 Fixed-Parameter Algorithms, IA166 Sebastian Ordyniak Faculty of Informatics Masaryk University Brno Spring Semester 2013 Introduction Outline 1 Introduction Algorithms on Locally Bounded Treewidth Layer

More information

by conservation of flow, hence the cancelation. Similarly, we have

by conservation of flow, hence the cancelation. Similarly, we have Chapter 13: Network Flows and Applications Network: directed graph with source S and target T. Non-negative edge weights represent capacities. Assume no edges into S or out of T. (If necessary, we can

More information

The Graphs of Triangulations of Polygons

The Graphs of Triangulations of Polygons The Graphs of Triangulations of Polygons Matthew O Meara Research Experience for Undergraduates Summer 006 Basic Considerations Let Γ(n) be the graph with vertices being the labeled planar triangulation

More information

arxiv:submit/ [math.co] 9 May 2011

arxiv:submit/ [math.co] 9 May 2011 arxiv:submit/0243374 [math.co] 9 May 2011 Connectivity and tree structure in finite graphs J. Carmesin R. Diestel F. Hundertmark M. Stein 6 May, 2011 Abstract We prove that, for every integer k 0, every

More information

Lecture 2 - Graph Theory Fundamentals - Reachability and Exploration 1

Lecture 2 - Graph Theory Fundamentals - Reachability and Exploration 1 CME 305: Discrete Mathematics and Algorithms Instructor: Professor Aaron Sidford (sidford@stanford.edu) January 11, 2018 Lecture 2 - Graph Theory Fundamentals - Reachability and Exploration 1 In this lecture

More information

Faster parameterized algorithms for Minimum Fill-In

Faster parameterized algorithms for Minimum Fill-In Faster parameterized algorithms for Minimum Fill-In Hans L. Bodlaender Pinar Heggernes Yngve Villanger Technical Report UU-CS-2008-042 December 2008 Department of Information and Computing Sciences Utrecht

More information

Assignment 4 Solutions of graph problems

Assignment 4 Solutions of graph problems Assignment 4 Solutions of graph problems 1. Let us assume that G is not a cycle. Consider the maximal path in the graph. Let the end points of the path be denoted as v 1, v k respectively. If either of

More information

Graph and Digraph Glossary

Graph and Digraph Glossary 1 of 15 31.1.2004 14:45 Graph and Digraph Glossary A B C D E F G H I-J K L M N O P-Q R S T U V W-Z Acyclic Graph A graph is acyclic if it contains no cycles. Adjacency Matrix A 0-1 square matrix whose

More information

Foundations of Computer Science Spring Mathematical Preliminaries

Foundations of Computer Science Spring Mathematical Preliminaries Foundations of Computer Science Spring 2017 Equivalence Relation, Recursive Definition, and Mathematical Induction Mathematical Preliminaries Mohammad Ashiqur Rahman Department of Computer Science College

More information

3 No-Wait Job Shops with Variable Processing Times

3 No-Wait Job Shops with Variable Processing Times 3 No-Wait Job Shops with Variable Processing Times In this chapter we assume that, on top of the classical no-wait job shop setting, we are given a set of processing times for each operation. We may select

More information

Exercise set 2 Solutions

Exercise set 2 Solutions Exercise set 2 Solutions Let H and H be the two components of T e and let F E(T ) consist of the edges of T with one endpoint in V (H), the other in V (H ) Since T is connected, F Furthermore, since T

More information

Discrete mathematics

Discrete mathematics Discrete mathematics Petr Kovář petr.kovar@vsb.cz VŠB Technical University of Ostrava DiM 470-2301/02, Winter term 2018/2019 About this file This file is meant to be a guideline for the lecturer. Many

More information

FOUR EDGE-INDEPENDENT SPANNING TREES 1

FOUR EDGE-INDEPENDENT SPANNING TREES 1 FOUR EDGE-INDEPENDENT SPANNING TREES 1 Alexander Hoyer and Robin Thomas School of Mathematics Georgia Institute of Technology Atlanta, Georgia 30332-0160, USA ABSTRACT We prove an ear-decomposition theorem

More information

The Structure of Bull-Free Perfect Graphs

The Structure of Bull-Free Perfect Graphs The Structure of Bull-Free Perfect Graphs Maria Chudnovsky and Irena Penev Columbia University, New York, NY 10027 USA May 18, 2012 Abstract The bull is a graph consisting of a triangle and two vertex-disjoint

More information

Definition: A graph G = (V, E) is called a tree if G is connected and acyclic. The following theorem captures many important facts about trees.

Definition: A graph G = (V, E) is called a tree if G is connected and acyclic. The following theorem captures many important facts about trees. Tree 1. Trees and their Properties. Spanning trees 3. Minimum Spanning Trees 4. Applications of Minimum Spanning Trees 5. Minimum Spanning Tree Algorithms 1.1 Properties of Trees: Definition: A graph G

More information

arxiv: v1 [cs.ds] 19 Feb 2014

arxiv: v1 [cs.ds] 19 Feb 2014 Turing Kernelization for Finding Long Paths and Cycles in Restricted Graph Classes Bart M. P. Jansen 1 University of Bergen, Norway. Bart.Jansen@ii.uib.no arxiv:1402.4718v1 [cs.ds] 19 Feb 2014 Abstract.

More information

A Reduction of Conway s Thrackle Conjecture

A Reduction of Conway s Thrackle Conjecture A Reduction of Conway s Thrackle Conjecture Wei Li, Karen Daniels, and Konstantin Rybnikov Department of Computer Science and Department of Mathematical Sciences University of Massachusetts, Lowell 01854

More information

Trees. 3. (Minimally Connected) G is connected and deleting any of its edges gives rise to a disconnected graph.

Trees. 3. (Minimally Connected) G is connected and deleting any of its edges gives rise to a disconnected graph. Trees 1 Introduction Trees are very special kind of (undirected) graphs. Formally speaking, a tree is a connected graph that is acyclic. 1 This definition has some drawbacks: given a graph it is not trivial

More information

Simpler, Linear-time Transitive Orientation via Lexicographic Breadth-First Search

Simpler, Linear-time Transitive Orientation via Lexicographic Breadth-First Search Simpler, Linear-time Transitive Orientation via Lexicographic Breadth-First Search Marc Tedder University of Toronto arxiv:1503.02773v1 [cs.ds] 10 Mar 2015 Abstract Comparability graphs are the undirected

More information

4 Basics of Trees. Petr Hliněný, FI MU Brno 1 FI: MA010: Trees and Forests

4 Basics of Trees. Petr Hliněný, FI MU Brno 1 FI: MA010: Trees and Forests 4 Basics of Trees Trees, actually acyclic connected simple graphs, are among the simplest graph classes. Despite their simplicity, they still have rich structure and many useful application, such as in

More information

arxiv: v3 [cs.dm] 12 Jun 2014

arxiv: v3 [cs.dm] 12 Jun 2014 On Maximum Differential Coloring of Planar Graphs M. A. Bekos 1, M. Kaufmann 1, S. Kobourov, S. Veeramoni 1 Wilhelm-Schickard-Institut für Informatik - Universität Tübingen, Germany Department of Computer

More information

Rigidity, connectivity and graph decompositions

Rigidity, connectivity and graph decompositions First Prev Next Last Rigidity, connectivity and graph decompositions Brigitte Servatius Herman Servatius Worcester Polytechnic Institute Page 1 of 100 First Prev Next Last Page 2 of 100 We say that a framework

More information

Trees Rooted Trees Spanning trees and Shortest Paths. 12. Graphs and Trees 2. Aaron Tan November 2017

Trees Rooted Trees Spanning trees and Shortest Paths. 12. Graphs and Trees 2. Aaron Tan November 2017 12. Graphs and Trees 2 Aaron Tan 6 10 November 2017 1 10.5 Trees 2 Definition Definition Definition: Tree A graph is said to be circuit-free if, and only if, it has no circuits. A graph is called a tree

More information

Matching Algorithms. Proof. If a bipartite graph has a perfect matching, then it is easy to see that the right hand side is a necessary condition.

Matching Algorithms. Proof. If a bipartite graph has a perfect matching, then it is easy to see that the right hand side is a necessary condition. 18.433 Combinatorial Optimization Matching Algorithms September 9,14,16 Lecturer: Santosh Vempala Given a graph G = (V, E), a matching M is a set of edges with the property that no two of the edges have

More information

Pebble Sets in Convex Polygons

Pebble Sets in Convex Polygons 2 1 Pebble Sets in Convex Polygons Kevin Iga, Randall Maddox June 15, 2005 Abstract Lukács and András posed the problem of showing the existence of a set of n 2 points in the interior of a convex n-gon

More information

Slides for Faculty Oxford University Press All rights reserved.

Slides for Faculty Oxford University Press All rights reserved. Oxford University Press 2013 Slides for Faculty Assistance Preliminaries Author: Vivek Kulkarni vivek_kulkarni@yahoo.com Outline Following topics are covered in the slides: Basic concepts, namely, symbols,

More information

Faster parameterized algorithms for Minimum Fill-In

Faster parameterized algorithms for Minimum Fill-In Faster parameterized algorithms for Minimum Fill-In Hans L. Bodlaender Pinar Heggernes Yngve Villanger Abstract We present two parameterized algorithms for the Minimum Fill-In problem, also known as Chordal

More information

MAL 376: Graph Algorithms I Semester Lecture 1: July 24

MAL 376: Graph Algorithms I Semester Lecture 1: July 24 MAL 376: Graph Algorithms I Semester 2014-2015 Lecture 1: July 24 Course Coordinator: Prof. B. S. Panda Scribes: Raghuvansh, Himanshu, Mohit, Abhishek Disclaimer: These notes have not been subjected to

More information

Enumerating All Rooted Trees Including k Leaves

Enumerating All Rooted Trees Including k Leaves IEICE TRANS. INF. & SYST., VOL.E95 D, NO.3 MARCH 2012 763 PAPER Special Section on Foundations of Computer Science Enumerating All Rooted Trees Including k Leaves Masanobu ISHIKAWA a), Nonmember, Katsuhisa

More information

Treewidth and graph minors

Treewidth and graph minors Treewidth and graph minors Lectures 9 and 10, December 29, 2011, January 5, 2012 We shall touch upon the theory of Graph Minors by Robertson and Seymour. This theory gives a very general condition under

More information

8 Colouring Planar Graphs

8 Colouring Planar Graphs 8 Colouring Planar Graphs The Four Colour Theorem Lemma 8.1 If G is a simple planar graph, then (i) 12 v V (G)(6 deg(v)) with equality for triangulations. (ii) G has a vertex of degree 5. Proof: For (i),

More information

Definition of Graphs and Trees. Representation of Trees.

Definition of Graphs and Trees. Representation of Trees. Definition of Graphs and Trees. Representation of Trees. Chapter 6 Definition of graphs (I) A directed graph or digraph is a pair G = (V,E) s.t.: V is a finite set called the set of vertices of G. E V

More information

Fundamental Properties of Graphs

Fundamental Properties of Graphs Chapter three In many real-life situations we need to know how robust a graph that represents a certain network is, how edges or vertices can be removed without completely destroying the overall connectivity,

More information

4 Fractional Dimension of Posets from Trees

4 Fractional Dimension of Posets from Trees 57 4 Fractional Dimension of Posets from Trees In this last chapter, we switch gears a little bit, and fractionalize the dimension of posets We start with a few simple definitions to develop the language

More information

Discharging and reducible configurations

Discharging and reducible configurations Discharging and reducible configurations Zdeněk Dvořák March 24, 2018 Suppose we want to show that graphs from some hereditary class G are k- colorable. Clearly, we can restrict our attention to graphs

More information

On 2-Subcolourings of Chordal Graphs

On 2-Subcolourings of Chordal Graphs On 2-Subcolourings of Chordal Graphs Juraj Stacho School of Computing Science, Simon Fraser University 8888 University Drive, Burnaby, B.C., Canada V5A 1S6 jstacho@cs.sfu.ca Abstract. A 2-subcolouring

More information

List colorings of K 5 -minor-free graphs with special list assignments

List colorings of K 5 -minor-free graphs with special list assignments List colorings of K 5 -minor-free graphs with special list assignments Daniel W. Cranston, Anja Pruchnewski, Zsolt Tuza, Margit Voigt 22 March 2010 Abstract A list assignment L of a graph G is a function

More information

Revisiting the bijection between planar maps and well labeled trees

Revisiting the bijection between planar maps and well labeled trees Revisiting the bijection between planar maps and well labeled trees Daniel Cosmin Porumbel September 1, 2014 Abstract The bijection between planar graphs and well labeled trees was published by Cori and

More information

The 4/5 Upper Bound on the Game Total Domination Number

The 4/5 Upper Bound on the Game Total Domination Number The 4/ Upper Bound on the Game Total Domination Number Michael A. Henning a Sandi Klavžar b,c,d Douglas F. Rall e a Department of Mathematics, University of Johannesburg, South Africa mahenning@uj.ac.za

More information

2. CONNECTIVITY Connectivity

2. CONNECTIVITY Connectivity 2. CONNECTIVITY 70 2. Connectivity 2.1. Connectivity. Definition 2.1.1. (1) A path in a graph G = (V, E) is a sequence of vertices v 0, v 1, v 2,..., v n such that {v i 1, v i } is an edge of G for i =

More information

Theoretical Computer Science

Theoretical Computer Science Theoretical Computer Science 408 (2008) 129 142 Contents lists available at ScienceDirect Theoretical Computer Science journal homepage: www.elsevier.com/locate/tcs Drawing colored graphs on colored points

More information

MC 302 GRAPH THEORY 10/1/13 Solutions to HW #2 50 points + 6 XC points

MC 302 GRAPH THEORY 10/1/13 Solutions to HW #2 50 points + 6 XC points MC 0 GRAPH THEORY 0// Solutions to HW # 0 points + XC points ) [CH] p.,..7. This problem introduces an important class of graphs called the hypercubes or k-cubes, Q, Q, Q, etc. I suggest that before you

More information

Dominance Constraints and Dominance Graphs

Dominance Constraints and Dominance Graphs Dominance Constraints and Dominance Graphs David Steurer Saarland University Abstract. Dominance constraints logically describe trees in terms of their adjacency and dominance, i.e. reachability, relation.

More information

Trees. Arash Rafiey. 20 October, 2015

Trees. Arash Rafiey. 20 October, 2015 20 October, 2015 Definition Let G = (V, E) be a loop-free undirected graph. G is called a tree if G is connected and contains no cycle. Definition Let G = (V, E) be a loop-free undirected graph. G is called

More information

Bijective counting of tree-rooted maps and shuffles of parenthesis systems

Bijective counting of tree-rooted maps and shuffles of parenthesis systems Bijective counting of tree-rooted maps and shuffles of parenthesis systems Olivier Bernardi Submitted: Jan 24, 2006; Accepted: Nov 8, 2006; Published: Jan 3, 2006 Mathematics Subject Classifications: 05A15,

More information

Drawing Outer 1-planar Graphs with Few Slopes

Drawing Outer 1-planar Graphs with Few Slopes Journal of Graph Algorithms and Applications http://jgaa.info/ vol. 19, no. 2, pp. 707 741 (2015) DOI: 10.7155/jgaa.00376 Drawing Outer 1-planar Graphs with Few Slopes Emilio Di Giacomo Giuseppe Liotta

More information

Theorem 2.9: nearest addition algorithm

Theorem 2.9: nearest addition algorithm There are severe limits on our ability to compute near-optimal tours It is NP-complete to decide whether a given undirected =(,)has a Hamiltonian cycle An approximation algorithm for the TSP can be used

More information

Testing Maximal 1-planarity of Graphs with a Rotation System in Linear Time

Testing Maximal 1-planarity of Graphs with a Rotation System in Linear Time Testing Maximal 1-planarity of Graphs with a Rotation System in Linear Time Peter Eades 1, Seok-Hee Hong 1, Naoki Katoh 2, Giuseppe Liotta 3, Pascal Schweitzer 4, and Yusuke Suzuki 5 1 University of Sydney,

More information

Algorithmic Aspects of Communication Networks

Algorithmic Aspects of Communication Networks Algorithmic Aspects of Communication Networks Chapter 5 Network Resilience Algorithmic Aspects of ComNets (WS 16/17): 05 Network Resilience 1 Introduction and Motivation Network resilience denotes the

More information

A generalization of Mader s theorem

A generalization of Mader s theorem A generalization of Mader s theorem Ajit A. Diwan Department of Computer Science and Engineering Indian Institute of Technology, Bombay Mumbai, 4000076, India. email: aad@cse.iitb.ac.in 18 June 2007 Abstract

More information

Discrete Applied Mathematics. A revision and extension of results on 4-regular, 4-connected, claw-free graphs

Discrete Applied Mathematics. A revision and extension of results on 4-regular, 4-connected, claw-free graphs Discrete Applied Mathematics 159 (2011) 1225 1230 Contents lists available at ScienceDirect Discrete Applied Mathematics journal homepage: www.elsevier.com/locate/dam A revision and extension of results

More information

An O (mlogn)-time Algorithm for the Maximal Planar Subgraph Problem

An O (mlogn)-time Algorithm for the Maximal Planar Subgraph Problem An O (mlogn)-time Algorithm for the Maximal Planar Subgraph Problem Jiazhen Cai 1 Courant Institute, NYU New York, NY 10012 Xiaofeng Han Department of Computer Science Princeton University Princeton, NJ

More information

The Cover Pebbling Number of Graphs

The Cover Pebbling Number of Graphs The Cover Pebbling Number of Graphs Betsy Crull Tammy Cundiff Paul Feltman Glenn H. Hurlbert Lara Pudwell Zsuzsanna Szaniszlo and Zsolt Tuza February 11, 2004 Abstract A pebbling move on a graph consists

More information

Parameterized Complexity of Independence and Domination on Geometric Graphs

Parameterized Complexity of Independence and Domination on Geometric Graphs Parameterized Complexity of Independence and Domination on Geometric Graphs Dániel Marx Institut für Informatik, Humboldt-Universität zu Berlin, Unter den Linden 6, 10099 Berlin, Germany. dmarx@informatik.hu-berlin.de

More information

Line Graphs and Circulants

Line Graphs and Circulants Line Graphs and Circulants Jason Brown and Richard Hoshino Department of Mathematics and Statistics Dalhousie University Halifax, Nova Scotia, Canada B3H 3J5 Abstract The line graph of G, denoted L(G),

More information

Minimum sum multicoloring on the edges of trees

Minimum sum multicoloring on the edges of trees Minimum sum multicoloring on the edges of trees Dániel Marx a,1 a Department of Computer Science and Information Theory, Budapest University of Technology and Economics, H-1521 Budapest, Hungary. Abstract

More information

Paths, Flowers and Vertex Cover

Paths, Flowers and Vertex Cover Paths, Flowers and Vertex Cover Venkatesh Raman, M.S. Ramanujan, and Saket Saurabh Presenting: Hen Sender 1 Introduction 2 Abstract. It is well known that in a bipartite (and more generally in a Konig)

More information

Università degli Studi di Roma Tre Dipartimento di Informatica e Automazione Via della Vasca Navale, Roma, Italy

Università degli Studi di Roma Tre Dipartimento di Informatica e Automazione Via della Vasca Navale, Roma, Italy R O M A TRE DIA Università degli Studi di Roma Tre Dipartimento di Informatica e Automazione Via della Vasca Navale, 79 046 Roma, Italy Topological Morphing of Planar Graphs P. Angelini, P.F. Cortese,

More information

Lecture 5: Graphs. Rajat Mittal. IIT Kanpur

Lecture 5: Graphs. Rajat Mittal. IIT Kanpur Lecture : Graphs Rajat Mittal IIT Kanpur Combinatorial graphs provide a natural way to model connections between different objects. They are very useful in depicting communication networks, social networks

More information

MATH 363 Final Wednesday, April 28. Final exam. You may use lemmas and theorems that were proven in class and on assignments unless stated otherwise.

MATH 363 Final Wednesday, April 28. Final exam. You may use lemmas and theorems that were proven in class and on assignments unless stated otherwise. Final exam This is a closed book exam. No calculators are allowed. Unless stated otherwise, justify all your steps. You may use lemmas and theorems that were proven in class and on assignments unless stated

More information

Figure 4.1: The evolution of a rooted tree.

Figure 4.1: The evolution of a rooted tree. 106 CHAPTER 4. INDUCTION, RECURSION AND RECURRENCES 4.6 Rooted Trees 4.6.1 The idea of a rooted tree We talked about how a tree diagram helps us visualize merge sort or other divide and conquer algorithms.

More information

Solution for Homework set 3

Solution for Homework set 3 TTIC 300 and CMSC 37000 Algorithms Winter 07 Solution for Homework set 3 Question (0 points) We are given a directed graph G = (V, E), with two special vertices s and t, and non-negative integral capacities

More information

Space vs Time, Cache vs Main Memory

Space vs Time, Cache vs Main Memory Space vs Time, Cache vs Main Memory Marc Moreno Maza University of Western Ontario, London, Ontario (Canada) CS 4435 - CS 9624 (Moreno Maza) Space vs Time, Cache vs Main Memory CS 4435 - CS 9624 1 / 49

More information

Fully dynamic algorithm for recognition and modular decomposition of permutation graphs

Fully dynamic algorithm for recognition and modular decomposition of permutation graphs Fully dynamic algorithm for recognition and modular decomposition of permutation graphs Christophe Crespelle Christophe Paul CNRS - Département Informatique, LIRMM, Montpellier {crespell,paul}@lirmm.fr

More information

COL351: Analysis and Design of Algorithms (CSE, IITD, Semester-I ) Name: Entry number:

COL351: Analysis and Design of Algorithms (CSE, IITD, Semester-I ) Name: Entry number: Name: Entry number: There are 6 questions for a total of 75 points. 1. Consider functions f(n) = 10n2 n + 3 n and g(n) = n3 n. Answer the following: (a) ( 1 / 2 point) State true or false: f(n) is O(g(n)).

More information

arxiv: v2 [cs.ds] 18 May 2015

arxiv: v2 [cs.ds] 18 May 2015 Optimal Shuffle Code with Permutation Instructions Sebastian Buchwald, Manuel Mohr, and Ignaz Rutter Karlsruhe Institute of Technology {sebastian.buchwald, manuel.mohr, rutter}@kit.edu arxiv:1504.07073v2

More information

GENERALIZED CPR-GRAPHS AND APPLICATIONS

GENERALIZED CPR-GRAPHS AND APPLICATIONS Volume 5, Number 2, Pages 76 105 ISSN 1715-0868 GENERALIZED CPR-GRAPHS AND APPLICATIONS DANIEL PELLICER AND ASIA IVIĆ WEISS Abstract. We give conditions for oriented labeled graphs that must be satisfied

More information

The Encoding Complexity of Network Coding

The Encoding Complexity of Network Coding The Encoding Complexity of Network Coding Michael Langberg Alexander Sprintson Jehoshua Bruck California Institute of Technology Email: mikel,spalex,bruck @caltech.edu Abstract In the multicast network

More information

arxiv: v1 [math.co] 28 Sep 2010

arxiv: v1 [math.co] 28 Sep 2010 Densities of Minor-Closed Graph Families David Eppstein Computer Science Department University of California, Irvine Irvine, California, USA arxiv:1009.5633v1 [math.co] 28 Sep 2010 September 3, 2018 Abstract

More information

On Possible Counterexamples to Negami s Planar Cover Conjecture

On Possible Counterexamples to Negami s Planar Cover Conjecture On Possible Counterexamples to Negami s Planar Cover Conjecture Petr Hliněný and Robin Thomas School of Mathematics, Georgia Institute of Technology, Atlanta GA 0-00, U.S.A. hlineny@member.ams.org June,

More information

Solution to Problem 1 of HW 2. Finding the L1 and L2 edges of the graph used in the UD problem, using a suffix array instead of a suffix tree.

Solution to Problem 1 of HW 2. Finding the L1 and L2 edges of the graph used in the UD problem, using a suffix array instead of a suffix tree. Solution to Problem 1 of HW 2. Finding the L1 and L2 edges of the graph used in the UD problem, using a suffix array instead of a suffix tree. The basic approach is the same as when using a suffix tree,

More information

Λέων-Χαράλαμπος Σταματάρης

Λέων-Χαράλαμπος Σταματάρης Λέων-Χαράλαμπος Σταματάρης INTRODUCTION Two classical problems of information dissemination in computer networks: The broadcasting problem: Distributing a particular message from a distinguished source

More information

Weak Dynamic Coloring of Planar Graphs

Weak Dynamic Coloring of Planar Graphs Weak Dynamic Coloring of Planar Graphs Caroline Accurso 1,5, Vitaliy Chernyshov 2,5, Leaha Hand 3,5, Sogol Jahanbekam 2,4,5, and Paul Wenger 2 Abstract The k-weak-dynamic number of a graph G is the smallest

More information

hal , version 1-11 May 2006 ccsd , version 1-11 May 2006

hal , version 1-11 May 2006 ccsd , version 1-11 May 2006 Author manuscript, published in "Journal of Combinatorial Theory Series A 114, 5 (2007) 931-956" BIJECTIVE COUNTING OF KREWERAS WALKS AND LOOPLESS TRIANGULATIONS OLIVIER BERNARDI ccsd-00068433, version

More information

Section Summary. Introduction to Trees Rooted Trees Trees as Models Properties of Trees

Section Summary. Introduction to Trees Rooted Trees Trees as Models Properties of Trees Chapter 11 Copyright McGraw-Hill Education. All rights reserved. No reproduction or distribution without the prior written consent of McGraw-Hill Education. Chapter Summary Introduction to Trees Applications

More information

Graph Theory: Introduction

Graph Theory: Introduction Graph Theory: Introduction Pallab Dasgupta, Professor, Dept. of Computer Sc. and Engineering, IIT Kharagpur pallab@cse.iitkgp.ernet.in Resources Copies of slides available at: http://www.facweb.iitkgp.ernet.in/~pallab

More information

arxiv: v2 [cs.cg] 3 May 2015

arxiv: v2 [cs.cg] 3 May 2015 Contact Representations of Graphs in 3D Md. Jawaherul Alam, William Evans, Stephen G. Kobourov, Sergey Pupyrev, Jackson Toeniskoetter, and Torsten Ueckerdt 3 arxiv:50.00304v [cs.cg] 3 May 05 Department

More information

Lecture 3: Graphs and flows

Lecture 3: Graphs and flows Chapter 3 Lecture 3: Graphs and flows Graphs: a useful combinatorial structure. Definitions: graph, directed and undirected graph, edge as ordered pair, path, cycle, connected graph, strongly connected

More information

Chapter 8. Voronoi Diagrams. 8.1 Post Oce Problem

Chapter 8. Voronoi Diagrams. 8.1 Post Oce Problem Chapter 8 Voronoi Diagrams 8.1 Post Oce Problem Suppose there are n post oces p 1,... p n in a city. Someone who is located at a position q within the city would like to know which post oce is closest

More information

Bipartite Roots of Graphs

Bipartite Roots of Graphs Bipartite Roots of Graphs Lap Chi Lau Department of Computer Science University of Toronto Graph H is a root of graph G if there exists a positive integer k such that x and y are adjacent in G if and only

More information

ON VERTEX b-critical TREES. Mostafa Blidia, Noureddine Ikhlef Eschouf, and Frédéric Maffray

ON VERTEX b-critical TREES. Mostafa Blidia, Noureddine Ikhlef Eschouf, and Frédéric Maffray Opuscula Math. 33, no. 1 (2013), 19 28 http://dx.doi.org/10.7494/opmath.2013.33.1.19 Opuscula Mathematica ON VERTEX b-critical TREES Mostafa Blidia, Noureddine Ikhlef Eschouf, and Frédéric Maffray Communicated

More information

Computing NodeTrix Representations of Clustered Graphs

Computing NodeTrix Representations of Clustered Graphs Journal of Graph Algorithms and Applications http://jgaa.info/ vol. 22, no. 2, pp. 139 176 (2018) DOI: 10.7155/jgaa.00461 Computing NodeTrix Representations of Clustered Graphs Giordano Da Lozzo Giuseppe

More information

3 Fractional Ramsey Numbers

3 Fractional Ramsey Numbers 27 3 Fractional Ramsey Numbers Since the definition of Ramsey numbers makes use of the clique number of graphs, we may define fractional Ramsey numbers simply by substituting fractional clique number into

More information

This article was originally published in a journal published by Elsevier, and the attached copy is provided by Elsevier for the author s benefit and for the benefit of the author s institution, for non-commercial

More information

Chapter 3 Trees. Theorem A graph T is a tree if, and only if, every two distinct vertices of T are joined by a unique path.

Chapter 3 Trees. Theorem A graph T is a tree if, and only if, every two distinct vertices of T are joined by a unique path. Chapter 3 Trees Section 3. Fundamental Properties of Trees Suppose your city is planning to construct a rapid rail system. They want to construct the most economical system possible that will meet the

More information

Basics of Graph Theory

Basics of Graph Theory Basics of Graph Theory 1 Basic notions A simple graph G = (V, E) consists of V, a nonempty set of vertices, and E, a set of unordered pairs of distinct elements of V called edges. Simple graphs have their

More information

Math 443/543 Graph Theory Notes 11: Graph minors and Kuratowski s Theorem

Math 443/543 Graph Theory Notes 11: Graph minors and Kuratowski s Theorem Math 443/543 Graph Theory Notes 11: Graph minors and Kuratowski s Theorem David Glickenstein November 26, 2008 1 Graph minors Let s revisit some de nitions. Let G = (V; E) be a graph. De nition 1 Removing

More information

The self-minor conjecture for infinite trees

The self-minor conjecture for infinite trees The self-minor conjecture for infinite trees Julian Pott Abstract We prove Seymour s self-minor conjecture for infinite trees. 1. Introduction P. D. Seymour conjectured that every infinite graph is a proper

More information