A distributed algorithm for constructing an Eulerian tour

Size: px
Start display at page:

Download "A distributed algorithm for constructing an Eulerian tour"

Transcription

1 A distributed algorithm for constructing an Eulerian tour S. A. M. Makki School of Information Technology The University of Queensland Queensland 4072 A us t r ali a sam@cs.uq.edu.au Abstract We present an efficient distributed algorithm for constructing an Eulerian tour in a network. To construct an Eulerian circuit the algorithm requires (1 + r)(iei + IVl) messages and time units, where IEI is the number of the communication links, IVl is the number of the nodes in the underlying network graph, and 0 5 r < 1. The value of r depends on the network topology and on the chosen traversal path. In the best case, when r = 0 the algorithm only requires (IEI + IVl) messages and time units. A simple modification allows us to construct a (noncyclic) tour using (1 + r)(iei + 2lVl) messages and time units. Keywords: Distributed systems, Eulerian tour, Communication graph. 1 Introduction The problem of finding an Eulerian tour in a connected graph in a centralized environment has been studied by many researchers. However in a distributed environment the problem has different complexity measures. Descriptions of algorithms for constructing an Eulerian tour in a centralized environment can be found in the literature [2,6,7, 131. In these algorithms the processor which constructs the Eulerian tour stores the graph structure in one location, while in a distributed environment the graph structure is distributed among different processors which have to construct the Eulerian tour. The Eulerian tour (cyclic or noncyclic) has practical application in different areas such as scheduling and routing. Many routing problems involve finding a path or circuit that minimizes traversing a set of edges in a graph, such as the Chinese Postman Problem (in which a postman wishes to minimize his tour for delivering the daily mail) [4, 81; also, Eulerian tours can be used in designing telecommunications systems, decoding genetic information and computer graph plotting [14]. We recall some of the basic graph definitions [9]. A walk in a graph G is an alternating sequence of vertices and edges VO, 21, VI,..., vn-l, x,, v, beginning and ending with vertices, in which each edge is incident with the two vertices immediately preceding and following it; n is the length of the walk. A tour or path is a walk with no repeated edges. A walk is closed if the initial vertex is the same as the terminal vertex. A circuit is a closed walk in which each edge is used exactly once. Such a circuit (or tour which uses each edge) is known as Eulerian. Any graph that contains an Eulerian tour is called an Eulerian graph. For finite connected graphs an Eulerian circuit can be constructed if and only if every vertex of the graph has even degree. In fact an Eulerian circuit may regarded as a union of edge-disjoint circuits, as is shown by the algorithm at the end of this section. For finite connected graphs with two odd degree vertices only noncyclic Eulerian tours can be constructed, in which the odd degree vertices are the start and the end nodes of the tour. Euler was the first who established the condition for such a tour and investigated the existence of such a tour in finite connected graphs. He provides a proof of a necessary condition for a connected graph to be Eulerian and stated its sufficient condition (the existence of an Eulerian tour in a connected graph with no vertices of odd degree, or two such vertices). The proof of the sufficient condition was given independently by Hierholzer [I, pp 1-20]. These two results establish the basic characterization of Eulerian graphs. A complete survey of characterizations of Eulerian graphs is given by Lesniak and Oellermann [ll]. (For infinite connected graphs the existence of an Eulerian tour is harder to characterize. Some results on infinite Eulerian graphs can be found in the literature [5, 15, pp 77-80].) /97 $ leee 94

2 The rest of this paper is organized as follows. First we present a model and in the next section we describe two centralized algorithms for construction of an Eulerian tour. Then in section 4 our new distributed algorithm is presented with an example of its performance on a sample network topology. In section 5 we present a formal description of the algorithm. In section G we analyze the complexity of the algorithm and prove its correctness in section 7. The final section presents the concluding remarks, and high level pseudo-code for the algorithm is presented in an Appendix. 2 Themodel A distributed system can be modeled by an undirected communication graph G = (VI E), where V is the set of sites and E is the bidirectional links of the communication network. It is assumed that each site has a unique identity. Sites do not have information on the global network structure. They have only local information, such as the identities of their neighbors together with local variables for storing data. Message delivery is handled by the communication subsystem which delivers a message from sender to receiver in a finite time without any alteration or loss. A receiving site keeps messages in arbitrary order till they can be processed. Receiving and processing a message needs negligible time. We evaluate the complexity of our algorithm using standard complexity measures. The communication complexity is the total number of messages sent during the execution of the algorithm. The time complexity is the maximum time elapsed from the beginning to the termination of the algorithm, assuming that delivering a message over a link requires at most one unit of time. It is assumed that no link or process failure occurs during the execution of the algorithm. 3 Preliminary One of the earliest algorithms to construct an Eulerian tour in a graph G is presented by Fleury [lo, 3, 131. It has 0(lEl2) complexity. It is an easy and simple way of constructing an Eulerian tour. In this algorithm the graph is searched repeatedly. The algorithm as described by McHugh [13, p. 421 is as follows: 1- Start from a vertex s, erasing traversed edges and any resulting isolated vertices as the algorithm proceeds. 2- Never traverse an edge if at that particular moment the removal of this edge would disconnect the remaining graph into nontrivial components before all the edges are traversed. Thus, Fleury s algorithm repeatedly extends an incomplete Eulerian tour T from its terminal vertex v by appending to T any edge incident with v which is not a bridge of G - T and whose removal would not isolate the starting vertex before all the edges are traversed. Since it takes O(lE1) time to test whether an edge is a bridge, each edge only has to be tested once, and there are IEl edges in GI it follows that the algorithm has 0(lEl2) complexity Thereafter many researchers presented different algorithms which construct an Eulerian tour in O(lE1) time complexity. Below is an algorithm described by Evans and Minieka [6, p which is based on the Eulerian characterization theorem (i.e. a graph has an Eulerian circuit if and only if each vertex has even degree). This algorithm constructs an Eulerian circuit in an Eulerian graph G in O(lE1) and is as follows: 1- Select an arbitrary node as the start node s. From this node construct an arbitrary circuit CO by first traversing any edge (s, U) incident to node s. The edge (s, U) is marked as traversed, then from a traverse an edge which is not traversed before. Repeat the process until the traversal returns to s. The process will return to s because the nodes have even degree and each time a node is visited an even number of edges is used (to enter and to leave). Therefore, every time the traversal reaches a node except possibly the start node, there is an edge to exit from that node. 2- The algorithm stops if the constructed circuit CO contains all the edges of G. Otherwise the remaining subgraph G1 = G - E(C0) must be Eulerian, because each node of circuit CO contains an even number of edges. The subgraph GI and CO must have at least a common node, v say, since G is a connected graph. 3- Construct a circuit C1 in subgraph G1 from U. Then insert the constructed circuit C1 after U in circuit CO and return to step 2. A simple modification handles graphs with two odd degree vertices to give an Eulerian tour (which is not a circuit). The algorithm starts at either of the odd degree vertices and finishes at the other. 4 The algorithm To construct an Eulerian tour in a distributed environment, we modify the above centralized algorithm described by Evans and Minieka. This centralized 95

3 algorithm only considers graphs which contain an Eulerian tour and does not investigate the existence of such a characteristic. For a distributed environment we incorporate such an investigation explicitly into our algorithm, which makes the algorithm self-contained. Therefore the proposed Eulerian algorithm consist of two parts. The first part checks for the existence of an Eulerian tour in the graph G. Then, depending on the result, if such a tour exists the second part constructs an Eulerian tour. In order to investigate if an underlying network graph is Eulerian we use a modified variant of a graph traversal algorithm. We modify the depthfirst search algorithm described in [la] by adding to their messages a parameter which keeps track of odd degree vertices (the modification is trivial, therefore the implementation details are not provided here). This traversal algorithm is selected since it requires less than 2lVl messages in its worst case. As a result it does not adversely effect the complexity of the proposed Eulerian algorithm. For brevity the modified depth-first search algorithm and the algorithm for construction of the Eulerian tour are denoted Mddfs and det, respectively. The Mddfs algorithm is shown as the procedure Check-Graph-Is-Eulerian() in the pseudo-code of Figure 2. The variable Eulen an in this procedure returns the result of applying this procedure to the corresponding graph. This variable can return one of three values: no Eulerian tour; Eulerian tour with identified end nodes, (either one can be the start node with the other as the end node); or, Eulerian circuit (in which any node may be the start node). To construct the Eulerian tour we use two types of messages, forward and backtrack, in an analogy with forward and backtrack steps used in the centralized algorithms. The centralized Eulerian algorithm described by Evans and Minieka is an efficient algorithm for a centralized environment. However a straight forward modification does not yield an efficient algorithm for a distributed environment. Hence our aim is to enhance the performance of the modified centralized algorithm in a distributed environment. The basic idea is to reduce the number of backtruck messages by using dynamic backtracking (with the same philosophy as in [la]) and (in addition) to terminate the algorithm after all the edges are traversed, without any need to return to the start node. These techniques reduce the number of backtrack messages significantly. In order to achieve this efficiency we include in our messages the information which indicates the potential return node address (returnadd) and the total number of unused (not traversed) edges (Tunu~) of the nodes visited so far. Therefore the messages contain four types of parameters: messagetype (forward or backtrack); originator; Tunu~; and returnadd address. Returnadd is the address of the node to which a backtrack message can be directed. For each node this address is either the sender of the forward message or, if the sender does not have any unused edge, it is the sender s returnadd address. As a result the backtrack messages are able to by-pass intermediate nodes of a current circuit which do not have any unused edges (since a circuit may contain simple cycles). TunuE allows the algorithm to terminate when all the edges are traversed. Consider an underlying network graph G. Select a node as the stad node, which sends a forward message to one of its neighbors (randomly selected). The receiver subsequently selects an unused edge and repeats the same procedure. To traverse all the edges, each node has to send or receive forward messages to or from its neighbors at one time. In the process each edge is numbered from 1 to the node s degree. For this purpose each node keeps a local counter which is set to zero at the start of the algorithm and is incremented whenever the node sends or receives a forward message. A node that receives a forward message for the first time will number the incoming edge as number 1, increment the counter, select one of its edges as number 2 and send a forward message through this edge to the attached neighbor. Via each edge only one forward message can be sent or received until all the edges of the node have been numbered. Traversing a graph with random selection of edges may create a situation where some or part of a graph can be isolated from the rest of the graph. This means that traversal can reach a node from which it can not proceed further, since the corresponding node does not have any unused edges. However there may be some unvisited nodes remaining in another part of the graph. This could have been prevented, if another path had been selected. In order to select an alternative path the order in which the nodes send their forward messages must be changed. Recall that the edges are numbered when sending or receiving their forward messages. As mentioned earlier, all the communication edges and counters are set initially to zero. Thus when all the edges of the underlying graph are numbered the desired Eulerian tour has been established. However, if all the edges of the underlying graph have not been numbered, the traversal must have visited a 96

4 node, 20 say, where another edge could have been selected (because of connectivity). Then, in order to reach w, backtrack messages have to be sent along the traversed path until the traversal returns to w. At this node the number of the edge that has resulted in tliis terminating path must be changed. This edge s number is replaced with a number equal to the node degree, which implies that this is the last edge to select. The reason for this is so that next time when the traversal reaches w, it will not select the terminating path again, but select another unused edge at this node or backtrack to a node which has an unused edge. After termination of the algorithm each node has Figure 1: graph G numbered its edges in such a way that an Eulerian tour can be constructed by following - the edge - numbers at each node. The algorithm does not need to terminate of d). Then it selects another unused edge, marks it at the start node. The algorithm begins from an number 2. It continues the process until either all arbitrary node as the start node which sets the variable the edges of the graph are numbered or the traversal initial to True and gives to itself a forward message reaches a node which does not have any unused edges, containing itself as the originator and zero for Tunu~. where the traversal must backtrack again. The algorithm is sequential in a sense that at most one node is executing its version of the algorithm at any Say the algorithm arbitrarily constructs from d one time, which makes the contents of the message, in the circuit (d, f, k,j,p, q,j,d). At this time traversal effect, global. Pseudo-code is presented in Figure 2. can not continue any further, since d does not have The performance of the algorithm is illustrated with any unused edges. Therefore it must backtrack from a simple example. d to a node which has unused edges. The return 4.1 Example Consider the 16 node graph in Figure 1. Select s as the start node. The degree of all the vertices in this graph is even. Depending on the order of the traversed edges, an Eulerian tour can be constructed by traversing all the edges. (Note that a graph may have more than one Eulerian tour starting at a particular node.) The algorithm randomly selects an edge, (s, U) say, numbers this edge 1, assigns to Tunu~ the number of its unused incident edges. Then it sends a forward message to node a. Node a assigns edge (s,a) as number 1, since this is its first incoming edge. Then it selects randomly edge (a,d), numbers this edge 2, and sends a forward message to node d. The same procedure is repeated at d, so that a circuit, (s, a, d, s), is constructed. At this stage because s does not have any unused edges and the total number of unused edges Tunu~ is not zero, therefore the search must backtrack to a node with unused edges. So s sends a backtrack message to d. Node d receives the backtrack message and changes its future traverse order by replacing the edge (d,s) number from 2 to 4 (the highest available number, which is the degree address for d in this path is q, but q is not its neighbor so it has to backtrack via j (the sender of forward message to d). This backtrack message does not change the ordering number of the used edges at j, since j does not have any unused edges left. Then it backtracks from j to q as shown with dotted arrows in Figure 1. The backtrack message at q changes the ordering number of the last used edge, since q has some unused edges. Therefore it renumbers its last used edge. Then traversal continues from q to create the next arbitrarily chosen circuit (n, 2, m, g, b, c, h, n, Y, 2, n, m, h, Q >. At this stage traversal needs to backtrack to h which is the return address for q, as q and other nodes between h and q in the forward direction in this circuit do not have any unused edges. Therefore from q traversal backtracks to L, m and n. The intermediate node n has node h as its return address and its neighbor. Therefore the traversal can backtrack directly to h instead of backtracking via (n, E, y, n) which, as a result, saves three backtrack messages as shown in Figure 1. Because h has unused edges, it has to change the number of edge (h,n) from 2 to 4. Then it selects the edge (h, b) as its number 2 and sends aforward message to b. Traversal continues from b until it returns to h which constructs another circuit 97

5 (h,b,a, f,g,h). At this stage Tunu~ is zero, therefore all the edges of the graph have been numbered and the algorithm terminates. Now if the edges are traced in the number order in which they have been organized, (sadjk jpqxmgbchbafghnyxnmkqjds) an Eulerian tour is constructed. 5 Formal description of the algorithm Each node has a copy of the procedure EulerTour, for which pseudo-code is given in Figure 2. The algorithm starts from an arbitrary node as the start node which gives to itself a forward message. The start node initializes counterj, its forward counter, to -1 and sets Tunu~ to the total number of its incident edges, since this message is issued by the start node to itself. Then it executes the procedure Check-Graph- Is-Eulerian which is executed once only, by the start node. This procedure investigates the existence of an Eulerian tour in the underlying graph structure and at each node sets the variable initial to True. If the underlying graph has two odd degree vertices this procedure starts the construction of an Eulerian tour from either of these two odd degree nodes. The rest of the local variables for each node are initialized when a node receives its first forward message. Each node also keeps a counter for incoming forward messages and two sets (used, unused) for the traversed and not yet traversed edges. The variable TunuE, which is the total number of unused edges of the nodes visited so far, controls the progress of the algorithm. Two stack structures fsender and returnadd keep track of the incoming forward messages and their return addresses for each node. The return address for each node can be either the sender of its forward message, or the address of an earlier node which has some unused edges. 6 Complexity Analysis Theorem 1: To construct an Eulenan circuit, the proposed algorithm uses (1 +.)(!El + IVl) messages and time units, where IEI as the number of the communacatzon lanks, IVI is the number of the nodes m the underlyzng network graph, and 0 5 T < 1. Proof: The proposed algorithm contains two parts. The first part checks for the existence of an Eulerian tour by using the Mddfs algorithm which is a modified version of distributed depth-first search (ddfs). The best case and the worst case complexity of ddfs are IVI and (1 +.)[VI, respectively, as shown in [12]. The second part constructs the Eulerian circuit, where all the edges of the underlying network graph must be traversed. So each edge needs to send or receive a forward message. Each edge transfers only one forward message, as each edge is numbered only once and the edge renumbering steps in the algorithm prevent forward messages from traversing an edge more than once. Therefore the number of forward messages is the same as the number of edges. In the worst case, the algorithm needs to use backtrack messages, since the search may reach a node which must backtrack in order to traverse all the edges. In this case the Eulerian tour will be constructed by combining smaller circuits. At each step when a circuit is constructed the message variable Tutau~ is checked. If it is zero then all the edges of the graph are used and the algorithm terminates. Otherwise the algorithm must backtrack to a visited node which has unused edges, in order to construct the other circuits. The returnadd is capable of directing the search to such a node. As a result the backtrack messages do not traverse all the edges. Furthermore the algorithm does not require to terminate where it starts. So the number of backtrack messages is always less than the number of the edges. As a result the total number of required forward and backtrack messages is less than 21EI. Because the algorithm sequentially visits each edge, the time complexity of the algorithm is also less than 21EI units of time since transmitting a message requires at most one unit of time. Although the first part (Mddfs algorithm) and the second part (det algorithm) may not have the same best case for a given topology, the best case complexity of the complete algorithm occurs as the result of combination of the best cases of the two parts. In the best case, an optimal ddfs construction is followed by backtrack-free traversal of Eulerian circuit. This always happens for a ring topology, for example. In such cases the total number of messages and time units required is!vi+ IEl. Theorem 2: To construct a noncyclic Eulerian tour, the proposed algorithm uses (1 +.)([El + 2lVl) messages and tame units, where IEI is the number of the communication links,!vi is the number of the nodes in the underlying network graph, and 0 <_ r < 1. Proof: If the underlying graph has two odd degree nodes and the start node is not either of these two nodes an extra stage is needed between the Mddfs and det parts. A starting message needs to be sent to one of the odd degree vertices. This can be done 98

6 by another simple modification of the ddfs algorithm, requiring at most 21VI extra messages. 7 Correctness To prove the correctness of our algorithm, first we have to prove that the algorithm terminates and after termination all the edges of the graph are used. Finally we show that the obtained numbering provides an Eulerian tour for the underlying network graph. Theorem 3: The algorithm traverses all the edges and terminates after all the edges of the network graph are used. Proof: When all the edges incident to the start node s have sent or received their forward messages a circuit such as CO = (S, XI, X2,... Xj-1, Xj, Xj+l,..., Xk, S) is constructed. At this stage the last node of the circuit checks the message variable Tunu~, which is the number of unused edges of visited nodes so far. If it is zero, then all the edges are used and the algorithm terminates. Otherwise the traversal must backtrack to a node, say x,, which has unused edges. Then the node xj selects one of its unused edges and sends a forward message to its neighbor. As a result another circuit, say Cl = (xj, ul, u2,..., al, xj) will be constructed. Then the circuit C1 is inserted in CO by the renumbering step explained in the algorithm. The unsuccessful used edge changes its number and will be the last edge to be traversed from that node. As a result a bigger circuit has been constructed in which each edge appears in this circuit only once, CO = (s, XI, XZ,..., xj-1, zj, UI, a2,... j ar, zjt zj+l, - 1., xk, s). Now if the obtained tour contains all the edges, (through checking of the message variable Tunu~), the algorithm terminates, otherwise the same procedure is repeated until all the edges are used. Theorem 4: The obtained numbering provides an Eulerian tour. Proof: The edges of each node are numbered in a way that, starting from the start node, a tour is constructed which contains all the edges of the underlying graph exactly once. 8 Conclusion A distributed algorithm for constructing an Eulerian tour in a network has been presented. The algorithm requires less than 2( IEl+2lVl) messages and time units (which can be interpreted as (1 + r)(iei + 21V/) messages and time units), where 0 5 r < 1, IEI is the number of the communication links and IVl is the number of the nodes in the underlying network graph. The value of r depends on the network topology and on the routing chosen. In the best case, when r = 0, the algorithm only requires [El + [VI messages and time units to construct an Eulerian circuit. The algorithm is practical and easy to implement. A simple variant of this algorithm can be used to construct an Eulerian tour in a directed graph. Ideas in this algorithm are also applicable to other algorithms for centralized and distributed systems. References [l] N. Biggs, E. K. Lloyd, R. J. Wilson. Graph Theory Clarendon Press, [2] G. Chartrand, 0. R. Oellermann. Applied and Algorithmic Graph Theory. McGraw-Hill, Inc., [3] N. Christofides. Graph Theory, An Algorithmic Approach. Academic Press, [4] J. Edmonds, E. L. Johnson. Matching, Euler Tours and the Chinese Postman. Mathematical Programming, 5:88-124, [5] P. Erdijs. Graph Theory and Probability. Canadian Journal of Mathematics, 11:34-38, [6] J. Evans, E. Minieka. Optimization Algorithms for Networks and Graphs. Second Edition, Marcel Dekker, Inc , [7] S. Even. Graph Algorithms. Computer Science Press, [8] M. GrGtschel, L. Lovbz. Combinatorial Optimization: A survey, Technical Report 93-29, DIMACS Rutgers University, New Jersey, USA, May [9] F. Harary. Graph Theory. Addison-Wesley Publishing Company, [lo] A. Kaufmann. Gmph, Dynamic Programming and Finite Games. Academic Press, [ll] L. Lesniak, 0. R. Oellermann. An Eulerian Exposition. Journal of Graph Theory, 10(3): , [12] S. A. M. Makki, G. Havas, Distributed algorithms for a depth-first search. Information Processing Letters, to appear. [13] J. A. McHugh. Algorithmic Graph Theory. Prentice- Hall, [14] F. S. Roberts. Graph theory and Its applications to Problems of Society. Regional Conference Series in Applied Mathematics, 29:65-77,

7 [15] R. J. Wilson. Introduction to Graph Theory. Second Edition, Longman Group Limited, Appendix 1 procedure EulerTour; { executed on receipt of FORWARD or BACKTRACK messages } const 2, edgeset, neighbours, degree; var 3, k, n, edge, root, counterf, znitial:= True; var fsender, returnadd, used, unused; { local variables } var messagetype, orzgznator, Tunu~, Msg-returnadd, EuZerzan; { message variables } begin if NOT initial do { node is visited for the first time } TunuE := TunuE - 1; { update totd unused edges } initeal := FALSE; used := 0; initialize local variables } if i = root do { node is the start node } Check-Graph-Is-Eulerian( ); { Checks number of odd degree nodes to satisfy Eulerian condition (zero,or two)} if NOT Eulerian do STOP { terminates since it is not an Eulerian topology } if Eulerian Path do { only Eulerian path exist } Start the algorithm from either of the two identified odd degree vertices Tunu~ := ledgesetl; counterf := -1; { initialize local variable } counterf := 0; TunuE = TunuE + ledgeset1-1; { update the total unused edges so far } if messagetype = FORWARD do Subs-Forward( ); Subs-Backtrack( ); end Figure 2: Pseudo-code of the algorithm for node i Subs-Forward() begin edge[originator] := + + counterf; if ( i!= Msg-returnadd ) do if ( returnadd.val!= Msg-returnadd ) do push(returnadd,msg-returnadd); { save return } push(fsender,orkginator); { save originator } { originator does not have any unused edge } Msg-returnadd := returnadd.va1; used := used U {edgere]}; unused := edgeset - (used n edgeset) ; if (unused # 0) do { unused edge exist } j := Next(unused); { get next unused edge } TunuE := TunuE - 1; if (unused- {j} # 0) do Msg-returnadd:= i; { update message return address } issue FORWARD message to node j; used := used U {j}; unused := edgeset - (used n edgeset) ; edge[j] := + + counterf; { time to terminate or backtrack } if (Tunu~ = 0) do { no unused edge exist } STOP { Terminate, since all edges are used } { need to backtrack } if(returnactd.val E neighbors) do issue BACKTRACK message to returnadd.val; issue BACKTRACK message to fsender.uol; pop(returnadd, returnadd.vaz); pop(fsender, fsender.uai); end Subs-Backtrack() begin if (returpzadd.val == originator) do pop(returnadd, originator); pop(fsender, fsender.val); { remove traversed cycle } Msg-returnadd := returnadd.va1; if (unwed # 0) do { unused edge exist } Tunu~ := TunuE - 1; edge[counterj] := degree; j := Next(unused); edgeb] := counterf; if (unused- {j} # 0) do Msg-returnadd:= i; issue FORWARD message to node j; used := used U {j}; unused := edgeset - (used n edgeset) ; { need to backtrack } end if (returnadd.vat E neighbors) do issue BACKTRACK message to returnadd.va1; issue BACKTRACK message to fsender.val; pop(returnadd, returnadd.val); pop(fsender, fsender.vaz); 100

An Efficient Method for Constructing a Distributed Depth-First Search Tree

An Efficient Method for Constructing a Distributed Depth-First Search Tree An Efficient Method for Constructing a Distributed Depth-First Search Tree S. A. M. Makki and George Havas School of Information Technology The University of Queensland Queensland 4072 Australia sam@it.uq.oz.au

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

11.2 Eulerian Trails

11.2 Eulerian Trails 11.2 Eulerian Trails K.. onigsberg, 1736 Graph Representation A B C D Do You Remember... Definition A u v trail is a u v walk where no edge is repeated. Do You Remember... Definition A u v trail is a u

More information

8.2 Paths and Cycles

8.2 Paths and Cycles 8.2 Paths and Cycles Degree a b c d e f Definition The degree of a vertex is the number of edges incident to it. A loop contributes 2 to the degree of the vertex. (G) is the maximum degree of G. δ(g) is

More information

Chapter 3: Paths and Cycles

Chapter 3: Paths and Cycles Chapter 3: Paths and Cycles 5 Connectivity 1. Definitions: Walk: finite sequence of edges in which any two consecutive edges are adjacent or identical. (Initial vertex, Final vertex, length) Trail: walk

More information

Discrete Mathematics and Probability Theory Fall 2009 Satish Rao,David Tse Note 8

Discrete Mathematics and Probability Theory Fall 2009 Satish Rao,David Tse Note 8 CS 70 Discrete Mathematics and Probability Theory Fall 2009 Satish Rao,David Tse Note 8 An Introduction to Graphs Formulating a simple, precise specification of a computational problem is often a prerequisite

More information

Characterization of Graphs with Eulerian Circuits

Characterization of Graphs with Eulerian Circuits Eulerian Circuits 3. 73 Characterization of Graphs with Eulerian Circuits There is a simple way to determine if a graph has an Eulerian circuit. Theorems 3.. and 3..2: Let G be a pseudograph that is connected

More information

5.1 Min-Max Theorem for General Matching

5.1 Min-Max Theorem for General Matching CSC5160: Combinatorial Optimization and Approximation Algorithms Topic: General Matching Date: 4/01/008 Lecturer: Lap Chi Lau Scribe: Jennifer X.M. WU In this lecture, we discuss matchings in general graph.

More information

Graph Theory. 1 Introduction to Graphs. Martin Stynes Department of Mathematics, UCC January 26, 2011

Graph Theory. 1 Introduction to Graphs. Martin Stynes Department of Mathematics, UCC   January 26, 2011 Graph Theory Martin Stynes Department of Mathematics, UCC email: m.stynes@ucc.ie January 26, 2011 1 Introduction to Graphs 1 A graph G = (V, E) is a non-empty set of nodes or vertices V and a (possibly

More information

Eulerian Paths and Cycles

Eulerian Paths and Cycles Eulerian Paths and Cycles What is a Eulerian Path Given an graph. Find a path which uses every edge exactly once. This path is called an Eulerian Path. If the path begins and ends at the same vertex, it

More information

Discrete Mathematics for CS Spring 2008 David Wagner Note 13. An Introduction to Graphs

Discrete Mathematics for CS Spring 2008 David Wagner Note 13. An Introduction to Graphs CS 70 Discrete Mathematics for CS Spring 2008 David Wagner Note 13 An Introduction to Graphs Formulating a simple, precise specification of a computational problem is often a prerequisite to writing a

More information

Number Theory and Graph Theory

Number Theory and Graph Theory 1 Number Theory and Graph Theory Chapter 7 Graph properties By A. Satyanarayana Reddy Department of Mathematics Shiv Nadar University Uttar Pradesh, India E-mail: satya8118@gmail.com 2 Module-2: Eulerian

More information

Discrete Mathematics and Probability Theory Fall 2013 Vazirani Note 7

Discrete Mathematics and Probability Theory Fall 2013 Vazirani Note 7 CS 70 Discrete Mathematics and Probability Theory Fall 2013 Vazirani Note 7 An Introduction to Graphs A few centuries ago, residents of the city of Königsberg, Prussia were interested in a certain problem.

More information

Figure 2.1: A bipartite graph.

Figure 2.1: A bipartite graph. Matching problems The dance-class problem. A group of boys and girls, with just as many boys as girls, want to dance together; hence, they have to be matched in couples. Each boy prefers to dance with

More information

Ma/CS 6b Class 4: Matchings in General Graphs

Ma/CS 6b Class 4: Matchings in General Graphs Ma/CS 6b Class 4: Matchings in General Graphs By Adam Sheffer Reminder: Hall's Marriage Theorem Theorem. Let G = V 1 V 2, E be a bipartite graph. There exists a matching of size V 1 in G if and only if

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

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

Sarah Will Math 490 December 2, 2009

Sarah Will Math 490 December 2, 2009 Sarah Will Math 490 December 2, 2009 Euler Circuits INTRODUCTION Euler wrote the first paper on graph theory. It was a study and proof that it was impossible to cross the seven bridges of Königsberg once

More information

Crossing bridges. Crossing bridges Great Ideas in Theoretical Computer Science. Lecture 12: Graphs I: The Basics. Königsberg (Prussia)

Crossing bridges. Crossing bridges Great Ideas in Theoretical Computer Science. Lecture 12: Graphs I: The Basics. Königsberg (Prussia) 15-251 Great Ideas in Theoretical Computer Science Lecture 12: Graphs I: The Basics February 22nd, 2018 Crossing bridges Königsberg (Prussia) Now Kaliningrad (Russia) Is there a way to walk through the

More information

Embedded Subgraph Isomorphism and Related Problems

Embedded Subgraph Isomorphism and Related Problems Embedded Subgraph Isomorphism and Related Problems Graph isomorphism, subgraph isomorphism, and maximum common subgraph can be solved in polynomial time when constrained by geometrical information, in

More information

5.5 The Travelling Salesman Problem

5.5 The Travelling Salesman Problem 0 Matchings and Independent Sets 5.5 The Travelling Salesman Problem The Travelling Salesman Problem A travelling salesman, starting in his own town, has to visit each of towns where he should go to precisely

More information

Byzantine Consensus in Directed Graphs

Byzantine Consensus in Directed Graphs Byzantine Consensus in Directed Graphs Lewis Tseng 1,3, and Nitin Vaidya 2,3 1 Department of Computer Science, 2 Department of Electrical and Computer Engineering, and 3 Coordinated Science Laboratory

More information

Characterizing Graphs (3) Characterizing Graphs (1) Characterizing Graphs (2) Characterizing Graphs (4)

Characterizing Graphs (3) Characterizing Graphs (1) Characterizing Graphs (2) Characterizing Graphs (4) S-72.2420/T-79.5203 Basic Concepts 1 S-72.2420/T-79.5203 Basic Concepts 3 Characterizing Graphs (1) Characterizing Graphs (3) Characterizing a class G by a condition P means proving the equivalence G G

More information

Chapter 2 Graphs. 2.1 Definition of Graphs

Chapter 2 Graphs. 2.1 Definition of Graphs Chapter 2 Graphs Abstract Graphs are discrete structures that consist of vertices and edges connecting some of these vertices. Graphs have many applications in Mathematics, Computer Science, Engineering,

More information

Contents. Bibliography 19. List of Symbols and Abbreviations 21. Index 22

Contents. Bibliography 19. List of Symbols and Abbreviations 21. Index 22 Contents Contents v 1 Basics of Graph Theory 1 1.1 Introduction.................................... 1 1.2 Basic Definitions................................. 2 1.3 Paths and Cycles.................................

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

Intermediate Math Circles Wednesday, February 22, 2017 Graph Theory III

Intermediate Math Circles Wednesday, February 22, 2017 Graph Theory III 1 Eulerian Graphs Intermediate Math Circles Wednesday, February 22, 2017 Graph Theory III Let s begin this section with a problem that you may remember from lecture 1. Consider the layout of land and water

More information

Varying Applications (examples)

Varying Applications (examples) Graph Theory Varying Applications (examples) Computer networks Distinguish between two chemical compounds with the same molecular formula but different structures Solve shortest path problems between cities

More information

2 The Mixed Postman Problem with Restrictions on the Arcs

2 The Mixed Postman Problem with Restrictions on the Arcs Approximation Algorithms for the Mixed Postman Problem with Restrictions on the Arcs Francisco Javier Zaragoza Martínez Departamento de Sistemas, Universidad Autónoma Metropolitana Unidad Azcapotzalco

More information

SCHOOL OF ENGINEERING & BUILT ENVIRONMENT. Mathematics. An Introduction to Graph Theory

SCHOOL OF ENGINEERING & BUILT ENVIRONMENT. Mathematics. An Introduction to Graph Theory SCHOOL OF ENGINEERING & BUILT ENVIRONMENT Mathematics An Introduction to Graph Theory. Introduction. Definitions.. Vertices and Edges... The Handshaking Lemma.. Connected Graphs... Cut-Points and Bridges.

More information

GRAPHS, GRAPH MODELS, GRAPH TERMINOLOGY, AND SPECIAL TYPES OF GRAPHS

GRAPHS, GRAPH MODELS, GRAPH TERMINOLOGY, AND SPECIAL TYPES OF GRAPHS GRAPHS, GRAPH MODELS, GRAPH TERMINOLOGY, AND SPECIAL TYPES OF GRAPHS DR. ANDREW SCHWARTZ, PH.D. 10.1 Graphs and Graph Models (1) A graph G = (V, E) consists of V, a nonempty set of vertices (or nodes)

More information

Vertex Magic Total Labelings of Complete Graphs 1

Vertex Magic Total Labelings of Complete Graphs 1 Vertex Magic Total Labelings of Complete Graphs 1 Krishnappa. H. K. and Kishore Kothapalli and V. Ch. Venkaiah Centre for Security, Theory, and Algorithmic Research International Institute of Information

More information

Introduction to Graphs

Introduction to Graphs Introduction to Graphs Historical Motivation Seven Bridges of Königsberg Königsberg (now Kaliningrad, Russia) around 1735 Problem: Find a walk through the city that would cross each bridge once and only

More information

Lecture 8: The Traveling Salesman Problem

Lecture 8: The Traveling Salesman Problem Lecture 8: The Traveling Salesman Problem Let G = (V, E) be an undirected graph. A Hamiltonian cycle of G is a cycle that visits every vertex v V exactly once. Instead of Hamiltonian cycle, we sometimes

More information

The Join the Club Interpretation of Some. Graph Algorithms

The Join the Club Interpretation of Some. Graph Algorithms The Join the Club Interpretation of Some Graph Algorithms Harold Reiter Isaac Sonin June 8, 2000 Abstract Several important tree construction algorithms of graph theory are described and discussed using

More information

Elements of Graph Theory

Elements of Graph Theory Elements of Graph Theory Quick review of Chapters 9.1 9.5, 9.7 (studied in Mt1348/2008) = all basic concepts must be known New topics we will mostly skip shortest paths (Chapter 9.6), as that was covered

More information

Introduction III. Graphs. Motivations I. Introduction IV

Introduction III. Graphs. Motivations I. Introduction IV Introduction I Graphs Computer Science & Engineering 235: Discrete Mathematics Christopher M. Bourke cbourke@cse.unl.edu Graph theory was introduced in the 18th century by Leonhard Euler via the Königsberg

More information

(IVl -1) messages. In [3], both the time and com-

(IVl -1) messages. In [3], both the time and com- AN OPTIMAL DISTRIBUTED DEPTH-FIRST-SEARCH ALGORITHM Mohan B. Sharma 38, Sitharama S. Iyengar 38 $ Department of Computer Science Louisiana 6tate University Baton Rouge, LA 70803. Narasimha K. Mandyam t

More information

1 The Traveling Salesman Problem

1 The Traveling Salesman Problem Comp 260: Advanced Algorithms Tufts University, Spring 2018 Prof. Lenore Cowen Scribe: Duc Nguyen Lecture 3a: The Traveling Salesman Problem 1 The Traveling Salesman Problem The Traveling Salesman Problem

More information

On Universal Cycles of Labeled Graphs

On Universal Cycles of Labeled Graphs On Universal Cycles of Labeled Graphs Greg Brockman Harvard University Cambridge, MA 02138 United States brockman@hcs.harvard.edu Bill Kay University of South Carolina Columbia, SC 29208 United States

More information

3 Euler Tours, Hamilton Cycles, and Their Applications

3 Euler Tours, Hamilton Cycles, and Their Applications 3 Euler Tours, Hamilton Cycles, and Their Applications 3.1 Euler Tours and Applications 3.1.1 Euler tours Carefully review the definition of (closed) walks, trails, and paths from Section 1... Definition

More information

Dynamically Random Graphs

Dynamically Random Graphs Dynamically Random Graphs Alexis Byers, Wittenberg University Mallory Reed, Earlham College Laura Rucci, Cabrini College Elle VanTilburg, University of Texas-Austin SUMSRI 203 Miami University July 8,

More information

V1.0: Seth Gilbert, V1.1: Steven Halim August 30, Abstract. d(e), and we assume that the distance function is non-negative (i.e., d(x, y) 0).

V1.0: Seth Gilbert, V1.1: Steven Halim August 30, Abstract. d(e), and we assume that the distance function is non-negative (i.e., d(x, y) 0). CS4234: Optimisation Algorithms Lecture 4 TRAVELLING-SALESMAN-PROBLEM (4 variants) V1.0: Seth Gilbert, V1.1: Steven Halim August 30, 2016 Abstract The goal of the TRAVELLING-SALESMAN-PROBLEM is to find

More information

The University of Sydney MATH2969/2069. Graph Theory Tutorial 2 (Week 9) 2008

The University of Sydney MATH2969/2069. Graph Theory Tutorial 2 (Week 9) 2008 The University of Sydney MATH99/09 Graph Theory Tutorial (Week 9) 00. Show that the graph on the left is Hamiltonian, but that the other two are not. To show that the graph is Hamiltonian, simply find

More information

The Game Chromatic Number of Some Classes of Graphs

The Game Chromatic Number of Some Classes of Graphs The Game Chromatic Number of Some Classes of Graphs Casper Joseph Destacamento 1, Andre Dominic Rodriguez 1 and Leonor Aquino-Ruivivar 1,* 1 Mathematics Department, De La Salle University *leonorruivivar@dlsueduph

More information

Discrete Wiskunde II. Lecture 6: Planar Graphs

Discrete Wiskunde II. Lecture 6: Planar Graphs , 2009 Lecture 6: Planar Graphs University of Twente m.uetz@utwente.nl wwwhome.math.utwente.nl/~uetzm/dw/ Planar Graphs Given an undirected graph (or multigraph) G = (V, E). A planar embedding of G is

More information

Notes slides from before lecture. CSE 21, Winter 2017, Section A00. Lecture 9 Notes. Class URL:

Notes slides from before lecture. CSE 21, Winter 2017, Section A00. Lecture 9 Notes. Class URL: Notes slides from before lecture CSE 21, Winter 2017, Section A00 Lecture 9 Notes Class URL: http://vlsicad.ucsd.edu/courses/cse21-w17/ Notes slides from before lecture Notes February 8 (1) HW4 is due

More information

1 Digraphs. Definition 1

1 Digraphs. Definition 1 1 Digraphs Definition 1 Adigraphordirected graphgisatriplecomprisedofavertex set V(G), edge set E(G), and a function assigning each edge an ordered pair of vertices (tail, head); these vertices together

More information

Graph Theory Mini-course

Graph Theory Mini-course Graph Theory Mini-course Anthony Varilly PROMYS, Boston University, Boston, MA 02215 Abstract Intuitively speaking, a graph is a collection of dots and lines joining some of these dots. Many problems in

More information

Math 443/543 Graph Theory Notes 2: Transportation problems

Math 443/543 Graph Theory Notes 2: Transportation problems Math 443/543 Graph Theory Notes 2: Transportation problems David Glickenstein September 15, 2014 1 Readings This is based on Chartrand Chapter 3 and Bondy-Murty 18.1, 18.3 (part on Closure of a Graph).

More information

AN ALGORITHM WHICH GENERATES THE HAMILTONIAN CIRCUITS OF A CUBIC PLANAR MAP

AN ALGORITHM WHICH GENERATES THE HAMILTONIAN CIRCUITS OF A CUBIC PLANAR MAP AN ALGORITHM WHICH GENERATES THE HAMILTONIAN CIRCUITS OF A CUBIC PLANAR MAP W. L. PRICE ABSTRACT The paper describes an algorithm which generates those Hamiltonian circuits of a given cubic planar map

More information

Winning Positions in Simplicial Nim

Winning Positions in Simplicial Nim Winning Positions in Simplicial Nim David Horrocks Department of Mathematics and Statistics University of Prince Edward Island Charlottetown, Prince Edward Island, Canada, C1A 4P3 dhorrocks@upei.ca Submitted:

More information

CHAPTER 10 GRAPHS AND TREES. Alessandro Artale UniBZ - artale/z

CHAPTER 10 GRAPHS AND TREES. Alessandro Artale UniBZ -  artale/z CHAPTER 10 GRAPHS AND TREES Alessandro Artale UniBZ - http://www.inf.unibz.it/ artale/z SECTION 10.1 Graphs: Definitions and Basic Properties Copyright Cengage Learning. All rights reserved. Graphs: Definitions

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

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

Some Upper Bounds for Signed Star Domination Number of Graphs. S. Akbari, A. Norouzi-Fard, A. Rezaei, R. Rotabi, S. Sabour.

Some Upper Bounds for Signed Star Domination Number of Graphs. S. Akbari, A. Norouzi-Fard, A. Rezaei, R. Rotabi, S. Sabour. Some Upper Bounds for Signed Star Domination Number of Graphs S. Akbari, A. Norouzi-Fard, A. Rezaei, R. Rotabi, S. Sabour Abstract Let G be a graph with the vertex set V (G) and edge set E(G). A function

More information

WUCT121. Discrete Mathematics. Graphs

WUCT121. Discrete Mathematics. Graphs WUCT121 Discrete Mathematics Graphs WUCT121 Graphs 1 Section 1. Graphs 1.1. Introduction Graphs are used in many fields that require analysis of routes between locations. These areas include communications,

More information

IJIET, e-issn , p-issn , Vol. 2, No. 2, July 2018

IJIET, e-issn , p-issn , Vol. 2, No. 2, July 2018 IJIET, e-issn 2548-8430, p-issn 2548-8422, Vol. 2, No. 2, July 2018 International Journal of Indonesian Education and Teaching http://e-journal.usd.ac.id/index.php/ijiet Sanata Dharma University, Yogyakarta,

More information

Dissertation Title. Royal Holloway logo guidelines. Dissertation Subtitle. Stephen D. Wolthusen

Dissertation Title. Royal Holloway logo guidelines. Dissertation Subtitle. Stephen D. Wolthusen Dissertation Title Dissertation Subtitle Stephen D. Wolthusen Thesis submitted to the University of London for the degree of Doctor of Philosophy Royal Holloway logo guidelines 2012 Standard logo The logo

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

Vertex Magic Total Labelings of Complete Graphs

Vertex Magic Total Labelings of Complete Graphs AKCE J. Graphs. Combin., 6, No. 1 (2009), pp. 143-154 Vertex Magic Total Labelings of Complete Graphs H. K. Krishnappa, Kishore Kothapalli and V. Ch. Venkaiah Center for Security, Theory, and Algorithmic

More information

Structured System Theory

Structured System Theory Appendix C Structured System Theory Linear systems are often studied from an algebraic perspective, based on the rank of certain matrices. While such tests are easy to derive from the mathematical model,

More information

Outline. Graphs. Divide and Conquer.

Outline. Graphs. Divide and Conquer. GRAPHS COMP 321 McGill University These slides are mainly compiled from the following resources. - Professor Jaehyun Park slides CS 97SI - Top-coder tutorials. - Programming Challenges books. Outline Graphs.

More information

Part II. Graph Theory. Year

Part II. Graph Theory. Year Part II Year 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007 2006 2005 2017 53 Paper 3, Section II 15H Define the Ramsey numbers R(s, t) for integers s, t 2. Show that R(s, t) exists for all s,

More information

Restricted Delivery Problems on a Network. December 17, Abstract

Restricted Delivery Problems on a Network. December 17, Abstract Restricted Delivery Problems on a Network Esther M. Arkin y, Refael Hassin z and Limor Klein x December 17, 1996 Abstract We consider a delivery problem on a network one is given a network in which nodes

More information

Foundations of Discrete Mathematics

Foundations of Discrete Mathematics Foundations of Discrete Mathematics Chapter 12 By Dr. Dalia M. Gil, Ph.D. Trees Tree are useful in computer science, where they are employed in a wide range of algorithms. They are used to construct efficient

More information

Non-Hamiltonian 3 Regular Graphs with Arbitrary Girth

Non-Hamiltonian 3 Regular Graphs with Arbitrary Girth Universal Journal of Applied Mathematics 2(1): 72-78, 2014 DOI: 10.13189/ujam.2014.020111 http://www.hrpub.org Non-Hamiltonian 3 Regular Graphs with Arbitrary Girth M. Haythorpe School of Computer Science,

More information

A Vizing-like theorem for union vertex-distinguishing edge coloring

A Vizing-like theorem for union vertex-distinguishing edge coloring A Vizing-like theorem for union vertex-distinguishing edge coloring Nicolas Bousquet, Antoine Dailly, Éric Duchêne, Hamamache Kheddouci, Aline Parreau Abstract We introduce a variant of the vertex-distinguishing

More information

Vertex 3-colorability of claw-free graphs

Vertex 3-colorability of claw-free graphs Algorithmic Operations Research Vol.2 (27) 5 2 Vertex 3-colorability of claw-free graphs Marcin Kamiński a Vadim Lozin a a RUTCOR - Rutgers University Center for Operations Research, 64 Bartholomew Road,

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

Domination, Independence and Other Numbers Associated With the Intersection Graph of a Set of Half-planes

Domination, Independence and Other Numbers Associated With the Intersection Graph of a Set of Half-planes Domination, Independence and Other Numbers Associated With the Intersection Graph of a Set of Half-planes Leonor Aquino-Ruivivar Mathematics Department, De La Salle University Leonorruivivar@dlsueduph

More information

Adjacent: Two distinct vertices u, v are adjacent if there is an edge with ends u, v. In this case we let uv denote such an edge.

Adjacent: Two distinct vertices u, v are adjacent if there is an edge with ends u, v. In this case we let uv denote such an edge. 1 Graph Basics What is a graph? Graph: a graph G consists of a set of vertices, denoted V (G), a set of edges, denoted E(G), and a relation called incidence so that each edge is incident with either one

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

Universal Cycles for Permutations

Universal Cycles for Permutations arxiv:0710.5611v1 [math.co] 30 Oct 2007 Universal Cycles for Permutations J Robert Johnson School of Mathematical Sciences Queen Mary, University of London Mile End Road, London E1 4NS, UK Email: r.johnson@qmul.ac.uk

More information

Dartmouth Computer Science Technical Report TR Chain Match: An Algorithm for Finding a Perfect Matching of a Regular Bipartite Multigraph

Dartmouth Computer Science Technical Report TR Chain Match: An Algorithm for Finding a Perfect Matching of a Regular Bipartite Multigraph Dartmouth Computer Science Technical Report TR2014-753 Chain Match: An Algorithm for Finding a Perfect Matching of a Regular Bipartite Multigraph Stefanie Ostrowski May 28, 2014 Abstract We consider the

More information

Lecture 3: Recap. Administrivia. Graph theory: Historical Motivation. COMP9020 Lecture 4 Session 2, 2017 Graphs and Trees

Lecture 3: Recap. Administrivia. Graph theory: Historical Motivation. COMP9020 Lecture 4 Session 2, 2017 Graphs and Trees Administrivia Lecture 3: Recap Assignment 1 due 23:59 tomorrow. Quiz 4 up tonight, due 15:00 Thursday 31 August. Equivalence relations: (S), (R), (T) Total orders: (AS), (R), (T), (L) Partial orders: (AS),

More information

7.3 Spanning trees Spanning trees [ ] 61

7.3 Spanning trees Spanning trees [ ] 61 7.3. Spanning trees [161211-1348 ] 61 7.3 Spanning trees We know that trees are connected graphs with the minimal number of edges. Hence trees become very useful in applications where our goal is to connect

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

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

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

Chapter 11: Graphs and Trees. March 23, 2008

Chapter 11: Graphs and Trees. March 23, 2008 Chapter 11: Graphs and Trees March 23, 2008 Outline 1 11.1 Graphs: An Introduction 2 11.2 Paths and Circuits 3 11.3 Matrix Representations of Graphs 4 11.5 Trees Graphs: Basic Definitions Informally, a

More information

Artificial Intelligence

Artificial Intelligence Artificial Intelligence Graph theory G. Guérard Department of Nouvelles Energies Ecole Supérieur d Ingénieurs Léonard de Vinci Lecture 1 GG A.I. 1/37 Outline 1 Graph theory Undirected and directed graphs

More information

GRAPH THEORY: AN INTRODUCTION

GRAPH THEORY: AN INTRODUCTION GRAPH THEORY: AN INTRODUCTION BEGINNERS 3/4/2018 1. GRAPHS AND THEIR PROPERTIES A graph G consists of two sets: a set of vertices V, and a set of edges E. A vertex is simply a labeled point. An edge is

More information

Constructing arbitrarily large graphs with a specified number of Hamiltonian cycles

Constructing arbitrarily large graphs with a specified number of Hamiltonian cycles Electronic Journal of Graph Theory and Applications 4 (1) (2016), 18 25 Constructing arbitrarily large graphs with a specified number of Hamiltonian cycles Michael School of Computer Science, Engineering

More information

North Bank. West Island. East Island. South Bank

North Bank. West Island. East Island. South Bank Lecture 11 Eulerian Multigraphs This section of the notes revisits the Königsberg Bridge Problem and generalises it to explore Eulerian multigraphs: those that contain a closed walk that traverses every

More information

ON EXERCISING EVERY LINK OF A WEB-SITE WITH MINIMAL EFFORT VAIDYANATHAN SIVARAMAN SCHOOL OF COMPUTER SCIENCE AND ENGINEERING, ANNA UNIVERSITY

ON EXERCISING EVERY LINK OF A WEB-SITE WITH MINIMAL EFFORT VAIDYANATHAN SIVARAMAN SCHOOL OF COMPUTER SCIENCE AND ENGINEERING, ANNA UNIVERSITY TITLE: ON EXERCISING EVERY LINK OF A WEB-SITE WITH MINIMAL EFFORT AUTHOR: AFFILIATION: VAIDYANATHAN SIVARAMAN SCHOOL OF COMPUTER SCIENCE AND ENGINEERING, ANNA UNIVERSITY CONTACT ADDRESS: NO.49,VI BLOCK,CEG

More information

Logic: The Big Picture. Axiomatizing Arithmetic. Tautologies and Valid Arguments. Graphs and Trees

Logic: The Big Picture. Axiomatizing Arithmetic. Tautologies and Valid Arguments. Graphs and Trees Axiomatizing Arithmetic Logic: The Big Picture Suppose we restrict the domain to the natural numbers, and allow only the standard symbols of arithmetic (+,, =, >, 0, 1). Typical true formulas include:

More information

Lecture 8: PATHS, CYCLES AND CONNECTEDNESS

Lecture 8: PATHS, CYCLES AND CONNECTEDNESS Discrete Mathematics August 20, 2014 Lecture 8: PATHS, CYCLES AND CONNECTEDNESS Instructor: Sushmita Ruj Scribe: Ishan Sahu & Arnab Biswas 1 Paths, Cycles and Connectedness 1.1 Paths and Cycles 1. Paths

More information

Graph Theory Questions from Past Papers

Graph Theory Questions from Past Papers Graph Theory Questions from Past Papers Bilkent University, Laurence Barker, 19 October 2017 Do not forget to justify your answers in terms which could be understood by people who know the background theory

More information

PACKING DIGRAPHS WITH DIRECTED CLOSED TRAILS

PACKING DIGRAPHS WITH DIRECTED CLOSED TRAILS PACKING DIGRAPHS WITH DIRECTED CLOSED TRAILS PAUL BALISTER Abstract It has been shown [Balister, 2001] that if n is odd and m 1,, m t are integers with m i 3 and t i=1 m i = E(K n) then K n can be decomposed

More information

Outline. 1 The matching problem. 2 The Chinese Postman Problem

Outline. 1 The matching problem. 2 The Chinese Postman Problem Outline The matching problem Maximum-cardinality matchings in bipartite graphs Maximum-cardinality matchings in bipartite graphs: The augmenting path algorithm 2 Let G = (V, E) be an undirected graph.

More information

Hypercube orientations with only two in-degrees

Hypercube orientations with only two in-degrees Hypercube orientations with only two in-degrees Joe Buhler Steve Butler Ron Graham Eric Tressler Abstract We consider the problem of orienting the edges of the n-dimensional hypercube so only two different

More information

Chain Packings and Odd Subtree Packings. Garth Isaak Department of Mathematics and Computer Science Dartmouth College, Hanover, NH

Chain Packings and Odd Subtree Packings. Garth Isaak Department of Mathematics and Computer Science Dartmouth College, Hanover, NH Chain Packings and Odd Subtree Packings Garth Isaak Department of Mathematics and Computer Science Dartmouth College, Hanover, NH 1992 Abstract A chain packing H in a graph is a subgraph satisfying given

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

Prime Labeling for Some Cycle Related Graphs

Prime Labeling for Some Cycle Related Graphs Journal of Mathematics Research ISSN: 1916-9795 Prime Labeling for Some Cycle Related Graphs S K Vaidya (Corresponding author) Department of Mathematics, Saurashtra University Rajkot 360 005, Gujarat,

More information

Chapter 4. square sum graphs. 4.1 Introduction

Chapter 4. square sum graphs. 4.1 Introduction Chapter 4 square sum graphs In this Chapter we introduce a new type of labeling of graphs which is closely related to the Diophantine Equation x 2 + y 2 = n and report results of our preliminary investigations

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

Eulerian Tours and Fleury s Algorithm

Eulerian Tours and Fleury s Algorithm Eulerian Tours and Fleury s Algorithm CSE21 Winter 2017, Day 12 (B00), Day 8 (A00) February 8, 2017 http://vlsicad.ucsd.edu/courses/cse21-w17 Vocabulary Path (or walk): describes a route from one vertex

More information

Math 170- Graph Theory Notes

Math 170- Graph Theory Notes 1 Math 170- Graph Theory Notes Michael Levet December 3, 2018 Notation: Let n be a positive integer. Denote [n] to be the set {1, 2,..., n}. So for example, [3] = {1, 2, 3}. To quote Bud Brown, Graph theory

More information

Search for an Immobile Entity on a Unit Graph: A Mathematical Programming Approach

Search for an Immobile Entity on a Unit Graph: A Mathematical Programming Approach Search for an Immobile Entity on a Unit Graph: A Mathematical Programming Approach by Wanyan Yu and Rajan Batta Department of Industrial and Systems Engineering, 438 Bell Hall University at Buffalo (SUNY),

More information