# 1 Basic Definitions and Concepts in Graph Theory

Save this PDF as:

Size: px
Start display at page:

## Transcription

1 CME 305: Discrete Mathematics and Algorithms 1 Basic Definitions and Concepts in Graph Theory A graph G(V, E) is a set V of vertices and a set E of edges. In an undirected graph, an edge is an unordered pair of vertices. An ordered pair of vertices is called a directed edge. If we allow multi-sets of edges, i.e. multiple edges between two vertices, we obtain a multigraph. A self-loop or loop is an edge between a vertex and itself. An undirected graph without loops or multiple edges is known as a simple graph. In this class we will assume graphs to be simple unless otherwise stated. If vertices a and b are endpoints of an edge, we say that they are adjacent and write a b. If vertex a is one of edge e s endpoints, a is incident to e and we write a e. The degree of a vertex is the number of edges incident to it. A walk is a sequence of vertices v 1, v 2,..., v k such that i 1, 2,..., k 1, v i v i+1. A path is a walk where v i v j, i j. In other words, a path is a walk that visits each vertex at most once. A closed walk is a walk where v 1 = v k. A cycle is a closed path, i.e. a path combined with the edge (v k, v 1 ). A graph is connected if there exists a path between each pair of vertices. A tree is a connected graph with no cycles. A forest is a graph where each connected component is a tree. A node in a forest with degree 1 is called a leaf. The size of a graph is the number of vertices of that graph. We usually denote the number of vertices with n and the number edges with m. Claim 1 Every finite tree of size at least two has at least two leaves. Furthermore, the number of edges in a tree of size n is n 1. Proof: The first property can be seen by starting a path at an arbitrary node, walking to any neighbor that has not been visited before. Note that since the number of vertices is at least two, we can not have vertices of degree zero. After at most n steps, we must reach a vertex v with no unvisited neighbors. The degree of v can not be larger than one. Otherwise, the graph has a cycle and therefore it is not a tree. We can then traverse a path starting at v, and the vertex where the path stops must be a second leaf. We can show the second property by induction. The base case n = 1 is trivial. Any tree of size n > 1 has at least one leaf. Removing a leaf results in a tree with one less node and one less edge. Therefore, a tree with n vertices has one more edge than a tree with n 1 vertices. Proposition 1 If a graph G(V, E) has any two of the following three properties, it has all three. 1. G is connected. 2. G has no cycles. 3. E = V 1. Therefore, any graph with any two of these properties is a tree. Proof: (1), (2) (3): Already proved in Claim 1. (1), (3) (2): We prove this by contradiction; assume (1) and (3) hold, but (2) does not hold, i.e., graph G has a cycle. Consider cycle c in G: we remove one of the edges from cycle c. The graph remains connected.

2 2 CME 305: Discrete Mathematics and Algorithms - Lecture 2 We repeat this procedure until there is no cycle left. The resulting graph G (V, E ) is still connected. Moreover, since we removed at least one edge, E E and E < E. On the other hand, G is a connected graph with no cycle, hence by the first part of the proof, it has V 1 edges, which is a contradiction. (2), (3) (1): We prove this by contradiction; assume (2) and (3) hold, but (1) does not hold, i.e., graph G is not connected. Consider the connected components of G. In other words, partition V into k > 1 subsets V 1,..., V k such that (i) there is no edge between V i and V j for i j and (ii) the graph induced by V i, that is G(V i, E i ) where E i = {{u, v} : {u, v} E, u, v V i } is connected. Each G i is connected and has no cycles, therefore by the first part of the proof, E i = V i 1. Since there is no edge between V i and V j, i j, E = k i=1 E i = V k < V 1 = E, which is a contradiction. 2 Eulerian Circuits Definition: A closed walk (circuit) on graph G(V, E) is an Eulerian circuit if it traverses each edge in E exactly once. We call a graph Eulerian if it has an Eulerian circuit. The problem of finding Eulerian circuits is perhaps the oldest problem in graph theory. It was originated by Euler in the 18th century; the problem was whether one could take a walk in Konigsberg and cross each of the four bridges exactly once. Motivated by this, Euler was able to prove the following theorem: Theorem 1 (Euler, 1736) Graph G(V, E) is Eulerian iff G is connected (except for possible isolated vertices) and the degree of every vertex in G is even. Proof: : assume G has an Eulerian circuit. Clearly, G must be connected, otherwise we will be unable to traverse all the edges in a closed walk. Suppose that an Eulerian circuit starts at v 1 ; note that every time the walk enters vertex v v 1, it must leave it by traversing a new edge. Hence, every time that the walk visits v it traverses two edges of v. Thus d v is even. The same is true for v 1 except for the first step of the walk that leaves v 1 and the last step that it enters v 1. Again, we can pair the first and last edges in the circuit to conclude that d v1 is also even. : we prove this by strong induction on the number of nodes. For n = 1, the statement is trivial. Assume G has k + 1 vertices, it is connected, and all the nodes have even degrees. Pick any vertex v V and start walking through the edges of the graph, traversing each edge at most once. Given that all the degrees of the nodes in G are even, we can only get stuck at v. Remove the circuit of visited edges, c 1, from G; Call this new graph G. Node v is an isolated vertex in G therefore any connected component of G has at most k vertices. Moreover, it is easy to see that the degree of nodes in G are even (we removed an even number of edges from each vertex). Thus by the induction assumption, all the connected components of G are Eulerain. Now, we have a collection of circuits c 1,..., c l. We can merge them into one large circuit in the following way: Traverse c 1 until it enters a vertex v that is part of a not-yet traversed circuit c j. Then start traversing c j, following the same rule. We resume traversing c 1 once all the edges in c j has been visited. Note that since G was connected, we will be able to reach all circuits in this fashion. Euler s theorem gives necessary and sufficient condition for whether a graph is Eulerian which can be easily checked in linear time. Note that this is a constructive proof: we explicitly defined an algorithm to find an Eulerian circuit in the proof. In addition, the algorithm is close to optimal, given that its running time is at most 2 E and E is an obvious lower bound on the number of operations any algorithm can achieve.

3 CME 305: Discrete Mathematics and Algorithms - Lecture 2 3 We can extend the result to find a necessary and sufficient condition for Eulerian paths, which is a walk (not necessarily closed) that visits each edge exactly once: Claim 2 G has an Eulerian path iff it is connected and only two of its vertices have odd degrees. We can also define Eulerian circuits of a directed graph. Claim 3 Let G(V, E) be a directed graph. G has an Eulerian circuit iff G is connected v V, indegree(v) = outdegree(v) A seemingly similar structure was defined by Sir William Rowan Hamilton in the 19th century, but concerns visiting every vertex exactly once rather than every edge. Definition: A cycle C in G is Hamiltonian if it visits every vertex in V exactly once. This was originally invented and marketed by Hamilton as a board game, where the object was to find a Hamiltonian cycle around the edges of a dodecahedron. The puzzle failed financially, but the concept lives on. A famous example of a Hamiltonian cycle problem is the Knight s tour, which asks whether one can move a knight in a chessboard while visiting each vertex exactly once and returning to the starting vertex. The graph representation consists of 64 vertices corresponding to the squares of the board, with an edge between vertices if there is a legal knight move between the two squares. Is there a Hamiltonian path (cycle) in the chess board graph? The answer is yes. Gauss enumerated the number of different Hamiltonian cycles in such a graph. As opposed to the Eulerian circuits, Hamiltonian paths are remarkably difficult to find. We will show later in the class that there exists no polynomial running time algorithm to find a Hamiltonian cycle in a general graph unless P = NP. For this particular problem, the best known running time is super-polynomial (it is not bounded above by any polynomial). 3 Application: DNA Sequencing Recall that DNA consists of two complementary strands of nucleotides. There are 4 different nucleotides, namely A, G, C and T (for those wondering, U only appears in RNA, replacing T ). Our goal is to be able to read a DNA sequence. What s the best way to do it? One possible way (one that we will not study), due to Frederick Sanger, is called the Dideoxy termination method, or chain termination method. For this he was awarded the 1980 Nobel price in Chemistry. A simpler technique, invented by Professor Patrick Brown from Stanford University, is based on DNA arrays. Basically the original DNA sequence is cut into pieces of a given length, tagged with a fluorescent agent, and exposed to an array of known sequences of the same length, so that the DNA pieces will hybridize with complementary sequences in the array. We can detect the presence of particular sequences based on the strength of florescence in each square of the array. Here we treat the presence or absence as a binary variable, but in reality the florescence will be graded. Given a DNA sequence, s, of length n, DNA arrays detects all the length l subsequence of s, {σ 1, σ 2,..., σ n l+1 }, which is called the Spectrum of s, Spectrum(s, l). However, it does not provide any information about the position of a substring in s.

4 4 CME 305: Discrete Mathematics and Algorithms - Lecture 2 GT CG AT G T GG T GC GT G GGC GCA GCG CGT AT T G GC CA GG (a) (b) Figure 1: (a) Hamiltonian Based Reconstruction Graph (b) Eulerian Based Reconstruction Graph Question: Given Spectrum(s, l), can we reconstruct s? Answer: (Hamiltonian Based) An ordered pair of substrings (σ i, σ j ) overlap if the last l 1 letters of σ i overlap with the first l 1 letters of σ j. Given Spectrum(s,l), we construct a directed graph G H (s, l) in the following way: we introduce vertex v i for σ i, and put a directed edge from v i to v j if (σ i, σ j ) overlap. An example is illustrated in Fig.1(a). It is not hard to see that there is a one-to-one mapping from every Hamiltonian path of G H (s, l) and a sequence with Spectrum(s, l). Note that a graph can have more than one Hamiltonian paths; or equivalently there may exist s 1 s 2 such that Spectrum(s 1, l) = Spectrum(s 2, l). For example spectrum of Fig. 1(a) corresponds to two possible sequences; AT GCGT GGCA and AT GGCGT GCA. As we noted above finding a Hamiltonian path is an NP -Hard problem. Hence, we need to formulate the problem in a way that we can solve it more efficiently; we reduce the problem to an Eulerain path problem by constructing a graph whose edges correspond to σ i s. Thus by traversing all the edges exactly once - or equivalently finding an Eulerain circuit- we can reconstruct s; We define a directed graph G E (s, l) in the following way: we introduce a vertex v for each l 1 substring of s. We connect v to w if there exists σ i such that the fist l 1 letters of σ i coincide with v and its last l 1 letter coincide with w. As an example, G E (s, l) of Spectrum {AT G, T GG, T GC, GT G, GGC, GCA, GCG, CGT } is shown in Fig.1(b). It is easy to see that there is a one-to-one mapping from every Eulerian path of G H and a sequence with Spectrum(s, l). For example an Eulerain path of G E (s, l) in Fig.1(b) is AT GGCGT GCA. 4 Minimum Spanning Trees We are given a connected graph G(V, E), each edge e has a cost (wight) of c(e) > 0. Let the cost of G to be e E c(e). Question: What is cheapest connected subgraph of G? Clearly, the solution G is a tree. Otherwise, suppose G has at least one cycle. Pick an edge from that cycle and delete it. The resulting graph is still connected and has a lower cost, thus G could not be the cheapest connected subgraph. Definition: For a connected graph G(V, E), a spanning tree of G, T (G) is a subgraph of G that is a tree and has vertex set V. Given the cost function c( ), the minimum spanning tree of G, MST (G), is the cheapest spanning tree of G. To find the cheapest subgraph of G - or equivalently MST (G) - one way would be to enumerate all the spanning trees and find the cheapest one. However, the number of spanning trees can be exponentially large. We need to come up with a more efficient way to find MST (G). Joseph Kruskal proposed the following greedy algorithm to produce an M ST. For simplicity assume that the c( ) is a one-to-one function.

5 CME 305: Discrete Mathematics and Algorithms - Lecture 2 5 The Greedy Algorithm: Greedy-MST 1. Given graph G(V, E), initialize E(T ) = {} and V (T ) = V. 2. Re-index the edges e 1,..., e m so that c(e i1 ) < c(e i2 ) <... < c(e im ) 3. While E(T ) < V 1, add the cheapest unused e ik that does not create a cycle. Claim 4 Greedy-MST produces T = MST (G). Proof: Let T be the tree that Greedy-MST outputs. Clearly, e i1 E(T ). We prove that e i1 E(T ); assume e i1 / E(T ), adding e i1 to T results in creating a cycle in the new graph. Remove any edge from such cycle (except e i1 ); we have a new spanning tree whose weight is strictly smaller than that of T, which is contradicting with the assumption that T is MST (G). We prove the rest by induction on the steps of the progress of the algorithm. Let i p(1), i p(2),..., i p(k) be the indices of the first k edges that Greedy-MST picks. Assume they all belong to T. Suppose e ip(k+1) does not belong to T. Adding e ip(k+1) to T results in having a graph with a cycle, c. If we can show that c contains at leat one edge with index l > p(k + 1) - or equivalently c(e il ) > c(e ip(k+1) ) - then by removing e il, we have a new spanning tree whose weight is strictly smaller than the cost of T, which is contradicting with the assumption that T is MST (G). Now we prove that c contains at leat one edge with index l > p(k + 1); suppose c does not have such an edge, hence all the edges of c have indices smaller than or equal to p(k + 1). Looking back at Greedy-MST algorithm, c must have an edge with index x < p(k+1) where x p(j), 1 j k+1, otherwise e ip(k+1) would have created a cycle with the edges that have already been picked by the algorithm, however the algorithm does not select such an edge. For x p(j), 1 j k, assume p(j) < x < p(j + 1) the algorithm did not pick i x because adding e ix to {e ip(1), e ip(2),..., e ip(j) } would create a cycle. However, since {e ip(1), e ip(2),..., e ip(j) } and e ix belong to T, T contains a cycle which is contradicting with T being a tree. 5 Application: Clustering in Bio-informatics Biologists commonly use DNA arrays to analyze gene function. This technique allows the measurement of expression level (amounts of mrna produced) in genes. The result is a n m matrix recording in each row the expression levels of a gene. Clustering algorithms allow for genes with similar expression levels to be linked together in hope that genes placed in common clusters share common functions. To achieve this, an n n distance matrix d is constructed. d(i, j) records how close, or similar, genes i and j are based on their expression levels. Given n nodes (genes), a distance function, and l < n, the clustering problem aims to partition the nodes into l groups so that the nodes in the same group are close and the nodes in different groups are far apart. One way to formulate the problem and address these goals is as follows: Let V = {v 1, v 2, dots, v n } be the set of nodes, and d : V R + be the corresponding distance function that satisfies the following conditions: 1. d(v i, v i ) = d(v i, v j ) = d(v j, v i ).

6 6 CME 305: Discrete Mathematics and Algorithms - Lecture 2 Let C = {C 1, C 2,..., C l } be a partition of V where C i. We define D(C i, C j ) to be: and D (C) = min i,j D(C i, C j ). D(C i, C j ) = min d(v, w), v C i,w C j The problem of clusterings of maximum spacing is to find the partition that maximizes D (C). An efficient way to solve this problem is to consider the complete graph on V and for e = (i, j), let c(e) = d(i, j); ignore all the self loops and run Greedy-MST; delete the l 1 most expensive edges - or equivalently, the last l 1 edges added in the run of the algorithm - more formally, let {i p(1), i p(2),..., i p(n 1) } be the indices of edges of the tree selected by Greedy-MST, T. It is easy to see that by deleting one edge of T we will have two trees. Similarly, by deleting {i p(n l),..., i p(n 1), } we will have l connected components, C 1, C 2,..., C l. Claim 5 C = {C 1, C 2,..., C l } is the solution of the l-clusterings of maximum spacing problem. Proof: First note that D (C) is c(e ip(n l) ) or the (l 1)st most expensive edge of T. We prove the claim by contradiction, assume that C = {C 1, C 2,..., C l } is another partition in which all C i s are non-empty and D (C ) > D (C). Since C C, there exists a cluster C r with nodes v i C r and v j C r that are in two different clusters of C. Say v i C s and v j C t. Since v i and v j belong to the connected component C r there must be a path P between them in T. Moreover, since all the edges in {i p(1), i p(2),..., i p(n l 1) } have cost smaller than the cost of i p(n l), the cost of any edge in P is smaller than D (C). Consider path P in C, let u be the first node of P that does not belong to C s and w be the node comes just before u in P. Suppose u C q, clearly D (C ) D(C s, C q) c(w, u) < D (C) which is contradicting with the assumption that C is the l-clusterings of maximum spacing. We can also use MST to create a hierarchical clustering of a set. In biology, this tool is used to classify species, i.e. to build the tree of life or the phylogenetic tree. Solving this problem exactly is very hard but several approximations heuristics are used, one of which relies on minimum spanning trees. To build a maximum likelihood phylogenetic tree in this way, one can use the closeness of DNA sequences between different species as weights of a graph and build the MST of this graph. The phylogenetic tree can then be reconstructed by looking at where the nodes are located in the MST.

### 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

### 2.3 Scheduling jobs on identical parallel machines

2.3 Scheduling jobs on identical parallel machines There are jobs to be processed, and there are identical machines (running in parallel) to which each job may be assigned Each job = 1,,, must be processed

### Solutions to Exercises 8

Discrete Mathematics Lent 2009 MA210 Solutions to Exercises 8 (1) Suppose that G is a graph in which every vertex has degree at least k, where k 1, and in which every cycle contains at least 4 vertices.

### 582670 Algorithms for Bioinformatics

Adapted from slides by Veli Mäkinen / Algorithms for Bioinformatics 011 which are partly from http://bix.ucsd.edu/bioalgorithms/slides.php 58670 Algorithms for Bioinformatics Lecture 5: Graph Algorithms

### Chapter 4. Trees. 4.1 Basics

Chapter 4 Trees 4.1 Basics A tree is a connected graph with no cycles. A forest is a collection of trees. A vertex of degree one, particularly in a tree, is called a leaf. Trees arise in a variety of applications.

### 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

V. Adamchik 1 Graph Theory Victor Adamchik Fall of 2005 Plan 1. Basic Vocabulary 2. Regular graph 3. Connectivity 4. Representing Graphs Introduction A.Aho and J.Ulman acknowledge that Fundamentally, computer

### Graph definition Degree, in, out degree, oriented graph. Complete, regular, bipartite graph. Graph representation, connectivity, adjacency.

Mária Markošová Graph definition Degree, in, out degree, oriented graph. Complete, regular, bipartite graph. Graph representation, connectivity, adjacency. Isomorphism of graphs. Paths, cycles, trials.

### GRAPH THEORY and APPLICATIONS. Trees

GRAPH THEORY and APPLICATIONS Trees Properties Tree: a connected graph with no cycle (acyclic) Forest: a graph with no cycle Paths are trees. Star: A tree consisting of one vertex adjacent to all the others.

### Chapter 4: Trees. 2. Theorem: Let T be a graph with n vertices. Then the following statements are equivalent:

9 Properties of Trees. Definitions: Chapter 4: Trees forest - a graph that contains no cycles tree - a connected forest. Theorem: Let T be a graph with n vertices. Then the following statements are equivalent:

### Graph. Consider a graph, G in Fig Then the vertex V and edge E can be represented as:

Graph A graph G consist of 1. Set of vertices V (called nodes), (V = {v1, v2, v3, v4...}) and 2. Set of edges E (i.e., E {e1, e2, e3...cm} A graph can be represents as G = (V, E), where V is a finite and

### Outline. NP-completeness. When is a problem easy? When is a problem hard? Today. Euler Circuits

Outline NP-completeness Examples of Easy vs. Hard problems Euler circuit vs. Hamiltonian circuit Shortest Path vs. Longest Path 2-pairs sum vs. general Subset Sum Reducing one problem to another Clique

### 3. Eulerian and Hamiltonian Graphs

3. Eulerian and Hamiltonian Graphs There are many games and puzzles which can be analysed by graph theoretic concepts. In fact, the two early discoveries which led to the existence of graphs arose from

### Social Media Mining. Graph Essentials

Graph Essentials Graph Basics Measures Graph and Essentials Metrics 2 2 Nodes and Edges A network is a graph nodes, actors, or vertices (plural of vertex) Connections, edges or ties Edge Node Measures

### / Approximation Algorithms Lecturer: Michael Dinitz Topic: Steiner Tree and TSP Date: 01/29/15 Scribe: Katie Henry

600.469 / 600.669 Approximation Algorithms Lecturer: Michael Dinitz Topic: Steiner Tree and TSP Date: 01/29/15 Scribe: Katie Henry 2.1 Steiner Tree Definition 2.1.1 In the Steiner Tree problem the input

### COLORED GRAPHS AND THEIR PROPERTIES

COLORED GRAPHS AND THEIR PROPERTIES BEN STEVENS 1. Introduction This paper is concerned with the upper bound on the chromatic number for graphs of maximum vertex degree under three different sets of coloring

### Discrete Mathematics & Mathematical Reasoning Chapter 10: Graphs

Discrete Mathematics & Mathematical Reasoning Chapter 10: Graphs Kousha Etessami U. of Edinburgh, UK Kousha Etessami (U. of Edinburgh, UK) Discrete Mathematics (Chapter 6) 1 / 13 Overview Graphs and Graph

### CSE 20: Discrete Mathematics for Computer Science. Prof. Miles Jones. Today s Topics: Graphs. The Internet graph

Today s Topics: CSE 0: Discrete Mathematics for Computer Science Prof. Miles Jones. Graphs. Some theorems on graphs. Eulerian graphs Graphs! Model relations between pairs of objects The Internet graph!

### Graph Theory. Euler tours and Chinese postmen. John Quinn. Week 5

Graph Theory Euler tours and Chinese postmen John Quinn Week 5 Recap: connectivity Connectivity and edge-connectivity of a graph Blocks Kruskal s algorithm Königsberg, Prussia The Seven Bridges of Königsberg

### Homework MA 725 Spring, 2012 C. Huneke SELECTED ANSWERS

Homework MA 725 Spring, 2012 C. Huneke SELECTED ANSWERS 1.1.25 Prove that the Petersen graph has no cycle of length 7. Solution: There are 10 vertices in the Petersen graph G. Assume there is a cycle C

### Homework 15 Solutions

PROBLEM ONE (Trees) Homework 15 Solutions 1. Recall the definition of a tree: a tree is a connected, undirected graph which has no cycles. Which of the following definitions are equivalent to this definition

### IE 680 Special Topics in Production Systems: Networks, Routing and Logistics*

IE 680 Special Topics in Production Systems: Networks, Routing and Logistics* Rakesh Nagi Department of Industrial Engineering University at Buffalo (SUNY) *Lecture notes from Network Flows by Ahuja, Magnanti

### Combinatorics: The Fine Art of Counting

Combinatorics: The Fine Art of Counting Week 9 Lecture Notes Graph Theory For completeness I have included the definitions from last week s lecture which we will be using in today s lecture along with

### Planar Graph and Trees

Dr. Nahid Sultana December 16, 2012 Tree Spanning Trees Minimum Spanning Trees Maps and Regions Eulers Formula Nonplanar graph Dual Maps and the Four Color Theorem Tree Spanning Trees Minimum Spanning

### CMPSCI611: Approximating MAX-CUT Lecture 20

CMPSCI611: Approximating MAX-CUT Lecture 20 For the next two lectures we ll be seeing examples of approximation algorithms for interesting NP-hard problems. Today we consider MAX-CUT, which we proved to

### Graph Theory Problems and Solutions

raph Theory Problems and Solutions Tom Davis tomrdavis@earthlink.net http://www.geometer.org/mathcircles November, 005 Problems. Prove that the sum of the degrees of the vertices of any finite graph is

### Long questions answer Advanced Mathematics for Computer Application If P= , find BT. 19. If B = 1 0, find 2B and -3B.

Unit-1: Matrix Algebra Short questions answer 1. What is Matrix? 2. Define the following terms : a) Elements matrix b) Row matrix c) Column matrix d) Diagonal matrix e) Scalar matrix f) Unit matrix OR

### Discrete Mathematics, Chapter 5: Induction and Recursion

Discrete Mathematics, Chapter 5: Induction and Recursion Richard Mayr University of Edinburgh, UK Richard Mayr (University of Edinburgh, UK) Discrete Mathematics. Chapter 5 1 / 20 Outline 1 Well-founded

### Graphs and Network Flows IE411 Lecture 1

Graphs and Network Flows IE411 Lecture 1 Dr. Ted Ralphs IE411 Lecture 1 1 References for Today s Lecture Required reading Sections 17.1, 19.1 References AMO Chapter 1 and Section 2.1 and 2.2 IE411 Lecture

### Handout #Ch7 San Skulrattanakulchai Gustavus Adolphus College Dec 6, 2010. Chapter 7: Digraphs

MCS-236: Graph Theory Handout #Ch7 San Skulrattanakulchai Gustavus Adolphus College Dec 6, 2010 Chapter 7: Digraphs Strong Digraphs Definitions. A digraph is an ordered pair (V, E), where V is the set

### Graph Theory. Introduction. Distance in Graphs. Trees. Isabela Drămnesc UVT. Computer Science Department, West University of Timişoara, Romania

Graph Theory Introduction. Distance in Graphs. Trees Isabela Drămnesc UVT Computer Science Department, West University of Timişoara, Romania November 2016 Isabela Drămnesc UVT Graph Theory and Combinatorics

### 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

### Graph Theory Notes. Vadim Lozin. Institute of Mathematics University of Warwick

Graph Theory Notes Vadim Lozin Institute of Mathematics University of Warwick 1 Introduction A graph G = (V, E) consists of two sets V and E. The elements of V are called the vertices and the elements

### Two General Methods to Reduce Delay and Change of Enumeration Algorithms

ISSN 1346-5597 NII Technical Report Two General Methods to Reduce Delay and Change of Enumeration Algorithms Takeaki Uno NII-2003-004E Apr.2003 Two General Methods to Reduce Delay and Change of Enumeration

### Lecture 6: Approximation via LP Rounding

Lecture 6: Approximation via LP Rounding Let G = (V, E) be an (undirected) graph. A subset C V is called a vertex cover for G if for every edge (v i, v j ) E we have v i C or v j C (or both). In other

### Exponential time algorithms for graph coloring

Exponential time algorithms for graph coloring Uriel Feige Lecture notes, March 14, 2011 1 Introduction Let [n] denote the set {1,..., k}. A k-labeling of vertices of a graph G(V, E) is a function V [k].

### Notes on Matrix Multiplication and the Transitive Closure

ICS 6D Due: Wednesday, February 25, 2015 Instructor: Sandy Irani Notes on Matrix Multiplication and the Transitive Closure An n m matrix over a set S is an array of elements from S with n rows and m columns.

### Section Summary. Introduction to Graphs Graph Taxonomy Graph Models

Chapter 10 Chapter Summary Graphs and Graph Models Graph Terminology and Special Types of Graphs Representing Graphs and Graph Isomorphism Connectivity Euler and Hamiltonian Graphs Shortest-Path Problems

### The origins of graph theory are humble, even frivolous. Biggs, E. K. Lloyd, and R. J. Wilson)

Chapter 11 Graph Theory The origins of graph theory are humble, even frivolous. Biggs, E. K. Lloyd, and R. J. Wilson) (N. Let us start with a formal definition of what is a graph. Definition 72. A graph

### 10. Graph Matrices Incidence Matrix

10 Graph Matrices Since a graph is completely determined by specifying either its adjacency structure or its incidence structure, these specifications provide far more efficient ways of representing a

### Solutions to Homework 6

Solutions to Homework 6 Debasish Das EECS Department, Northwestern University ddas@northwestern.edu 1 Problem 5.24 We want to find light spanning trees with certain special properties. Given is one example

### Introduction to Graph Theory

Introduction to Graph Theory Allen Dickson October 2006 1 The Königsberg Bridge Problem The city of Königsberg was located on the Pregel river in Prussia. The river divided the city into four separate

### SHARP BOUNDS FOR THE SUM OF THE SQUARES OF THE DEGREES OF A GRAPH

31 Kragujevac J. Math. 25 (2003) 31 49. SHARP BOUNDS FOR THE SUM OF THE SQUARES OF THE DEGREES OF A GRAPH Kinkar Ch. Das Department of Mathematics, Indian Institute of Technology, Kharagpur 721302, W.B.,

### A simple existence criterion for normal spanning trees in infinite graphs

1 A simple existence criterion for normal spanning trees in infinite graphs Reinhard Diestel Halin proved in 1978 that there exists a normal spanning tree in every connected graph G that satisfies the

### CMSC 451: Graph Properties, DFS, BFS, etc.

CMSC 451: Graph Properties, DFS, BFS, etc. Slides By: Carl Kingsford Department of Computer Science University of Maryland, College Park Based on Chapter 3 of Algorithm Design by Kleinberg & Tardos. Graphs

### Basic Notions on Graphs. Planar Graphs and Vertex Colourings. Joe Ryan. Presented by

Basic Notions on Graphs Planar Graphs and Vertex Colourings Presented by Joe Ryan School of Electrical Engineering and Computer Science University of Newcastle, Australia Planar graphs Graphs may be drawn

### Planar Tree Transformation: Results and Counterexample

Planar Tree Transformation: Results and Counterexample Selim G Akl, Kamrul Islam, and Henk Meijer School of Computing, Queen s University Kingston, Ontario, Canada K7L 3N6 Abstract We consider the problem

### (Knight) 3 : A Graphical Perspective of the Knight's Tour on a Multi-Layered Chess Board

Bridgewater State University Virtual Commons - Bridgewater State University Honors Program Theses and Projects Undergraduate Honors Program 5-2-2016 (Knight) 3 : A Graphical Perspective of the Knight's

### Graph Algorithms. Ananth Grama, Anshul Gupta, George Karypis, and Vipin Kumar

Graph Algorithms Ananth Grama, Anshul Gupta, George Karypis, and Vipin Kumar To accompany the text Introduction to Parallel Computing, Addison Wesley, 3. Topic Overview Definitions and Representation Minimum

### 8.1 Min Degree Spanning Tree

CS880: Approximations Algorithms Scribe: Siddharth Barman Lecturer: Shuchi Chawla Topic: Min Degree Spanning Tree Date: 02/15/07 In this lecture we give a local search based algorithm for the Min Degree

### (a) (b) (c) Figure 1 : Graphs, multigraphs and digraphs. If the vertices of the leftmost figure are labelled {1, 2, 3, 4} in clockwise order from

4 Graph Theory Throughout these notes, a graph G is a pair (V, E) where V is a set and E is a set of unordered pairs of elements of V. The elements of V are called vertices and the elements of E are called

### COT5405 Analysis of Algorithms Homework 3 Solutions

COT0 Analysis of Algorithms Homework 3 Solutions. Prove or give a counter example: (a) In the textbook, we have two routines for graph traversal - DFS(G) and BFS(G,s) - where G is a graph and s is any

### Introduction to Algorithms Review information for Prelim 1 CS 4820, Spring 2010 Distributed Wednesday, February 24

Introduction to Algorithms Review information for Prelim 1 CS 4820, Spring 2010 Distributed Wednesday, February 24 The final exam will cover seven topics. 1. greedy algorithms 2. divide-and-conquer algorithms

### Minimum Spanning Trees

Minimum Spanning Trees Algorithms and 18.304 Presentation Outline 1 Graph Terminology Minimum Spanning Trees 2 3 Outline Graph Terminology Minimum Spanning Trees 1 Graph Terminology Minimum Spanning Trees

### Approximation Algorithms

Approximation Algorithms or: How I Learned to Stop Worrying and Deal with NP-Completeness Ong Jit Sheng, Jonathan (A0073924B) March, 2012 Overview Key Results (I) General techniques: Greedy algorithms

### Forests and Trees: A forest is a graph with no cycles, a tree is a connected forest.

2 Trees What is a tree? Forests and Trees: A forest is a graph with no cycles, a tree is a connected forest. Theorem 2.1 If G is a forest, then comp(g) = V (G) E(G). Proof: We proceed by induction on E(G).

### Relations Graphical View

Relations Slides by Christopher M. Bourke Instructor: Berthe Y. Choueiry Introduction Recall that a relation between elements of two sets is a subset of their Cartesian product (of ordered pairs). A binary

### Coloring Eulerian triangulations of the projective plane

Coloring Eulerian triangulations of the projective plane Bojan Mohar 1 Department of Mathematics, University of Ljubljana, 1111 Ljubljana, Slovenia bojan.mohar@uni-lj.si Abstract A simple characterization

### A CHARACTERIZATION OF TREE TYPE

A CHARACTERIZATION OF TREE TYPE LON H MITCHELL Abstract Let L(G) be the Laplacian matrix of a simple graph G The characteristic valuation associated with the algebraic connectivity a(g) is used in classifying

### Chapter 6 Planarity. Section 6.1 Euler s Formula

Chapter 6 Planarity Section 6.1 Euler s Formula In Chapter 1 we introduced the puzzle of the three houses and the three utilities. The problem was to determine if we could connect each of the three utilities

### princeton univ. F 13 cos 521: Advanced Algorithm Design Lecture 6: Provable Approximation via Linear Programming Lecturer: Sanjeev Arora

princeton univ. F 13 cos 521: Advanced Algorithm Design Lecture 6: Provable Approximation via Linear Programming Lecturer: Sanjeev Arora Scribe: One of the running themes in this course is the notion of

### CSE 373 Analysis of Algorithms Date: Nov. 1, Solution to HW3. Total Points: 100

CSE 373 Analysis of Algorithms Date: Nov. 1, 2016 Steven Skiena Problem 1 5-4 [5] Solution to HW3 Total Points: 100 Let T be the BFS-tree of the graph G. For any e in G and e T, we have to show that e

### 6.042/18.062J Mathematics for Computer Science October 3, 2006 Tom Leighton and Ronitt Rubinfeld. Graph Theory III

6.04/8.06J Mathematics for Computer Science October 3, 006 Tom Leighton and Ronitt Rubinfeld Lecture Notes Graph Theory III Draft: please check back in a couple of days for a modified version of these

### MGF 1107 CH 15 LECTURE NOTES Denson. Section 15.1

1 Section 15.1 Consider the house plan below. This graph represents the house. Consider the mail route below. This graph represents the mail route. 2 Definitions 1. Graph a structure that describes relationships.

### Midterm Practice Problems

6.042/8.062J Mathematics for Computer Science October 2, 200 Tom Leighton, Marten van Dijk, and Brooke Cowan Midterm Practice Problems Problem. [0 points] In problem set you showed that the nand operator

### Lecture Notes on Spanning Trees

Lecture Notes on Spanning Trees 15-122: Principles of Imperative Computation Frank Pfenning Lecture 26 April 26, 2011 1 Introduction In this lecture we introduce graphs. Graphs provide a uniform model

### Math 443/543 Graph Theory Notes 4: Connector Problems

Math 443/543 Graph Theory Notes 4: Connector Problems David Glickenstein September 19, 2012 1 Trees and the Minimal Connector Problem Here is the problem: Suppose we have a collection of cities which we

### Induction. Margaret M. Fleck. 10 October These notes cover mathematical induction and recursive definition

Induction Margaret M. Fleck 10 October 011 These notes cover mathematical induction and recursive definition 1 Introduction to induction At the start of the term, we saw the following formula for computing

### A tree can be defined in a variety of ways as is shown in the following theorem: 2. There exists a unique path between every two vertices of G.

7 Basic Properties 24 TREES 7 Basic Properties Definition 7.1: A connected graph G is called a tree if the removal of any of its edges makes G disconnected. A tree can be defined in a variety of ways as

### Analysis of Algorithms, I

Analysis of Algorithms, I CSOR W4231.002 Eleni Drinea Computer Science Department Columbia University Thursday, February 26, 2015 Outline 1 Recap 2 Representing graphs 3 Breadth-first search (BFS) 4 Applications

### Lecture notes from Foundations of Markov chain Monte Carlo methods University of Chicago, Spring 2002 Lecture 1, March 29, 2002

Lecture notes from Foundations of Markov chain Monte Carlo methods University of Chicago, Spring 2002 Lecture 1, March 29, 2002 Eric Vigoda Scribe: Varsha Dani & Tom Hayes 1.1 Introduction The aim of this

### GRAPH THEORY LECTURE 4: TREES

GRAPH THEORY LECTURE 4: TREES Abstract. 3.1 presents some standard characterizations and properties of trees. 3.2 presents several different types of trees. 3.7 develops a counting method based on a bijection

### Lesson 3. Algebraic graph theory. Sergio Barbarossa. Rome - February 2010

Lesson 3 Algebraic graph theory Sergio Barbarossa Basic notions Definition: A directed graph (or digraph) composed by a set of vertices and a set of edges We adopt the convention that the information flows

### Lecture 3: Linear Programming Relaxations and Rounding

Lecture 3: Linear Programming Relaxations and Rounding 1 Approximation Algorithms and Linear Relaxations For the time being, suppose we have a minimization problem. Many times, the problem at hand can

### The Geometric Structure of Spanning Trees and Applications to Multiobjective Optimization

The Geometric Structure of Spanning Trees and Applications to Multiobjective Optimization By ALLISON KELLY O HAIR SENIOR THESIS Submitted in partial satisfaction of the requirements for Highest Honors

### CS268: Geometric Algorithms Handout #5 Design and Analysis Original Handout #15 Stanford University Tuesday, 25 February 1992

CS268: Geometric Algorithms Handout #5 Design and Analysis Original Handout #15 Stanford University Tuesday, 25 February 1992 Original Lecture #6: 28 January 1991 Topics: Triangulating Simple Polygons

### 2. (a) Explain the strassen s matrix multiplication. (b) Write deletion algorithm, of Binary search tree. [8+8]

Code No: R05220502 Set No. 1 1. (a) Describe the performance analysis in detail. (b) Show that f 1 (n)+f 2 (n) = 0(max(g 1 (n), g 2 (n)) where f 1 (n) = 0(g 1 (n)) and f 2 (n) = 0(g 2 (n)). [8+8] 2. (a)

### Approximating the entropy of a 2-dimensional shift of finite type

Approximating the entropy of a -dimensional shift of finite type Tirasan Khandhawit c 4 July 006 Abstract. In this paper, we extend the method used to compute entropy of -dimensional subshift and the technique

### Graph Theory for Articulated Bodies

Graph Theory for Articulated Bodies Alba Perez-Gracia Department of Mechanical Engineering, Idaho State University Articulated Bodies A set of rigid bodies (links) joined by joints that allow relative

### CS 598CSC: Combinatorial Optimization Lecture date: 2/4/2010

CS 598CSC: Combinatorial Optimization Lecture date: /4/010 Instructor: Chandra Chekuri Scribe: David Morrison Gomory-Hu Trees (The work in this section closely follows [3]) Let G = (V, E) be an undirected

### Euler Paths and Euler Circuits

Euler Paths and Euler Circuits An Euler path is a path that uses every edge of a graph exactly once. An Euler circuit is a circuit that uses every edge of a graph exactly once. An Euler path starts and

### CS5314 Randomized Algorithms. Lecture 16: Balls, Bins, Random Graphs (Random Graphs, Hamiltonian Cycles)

CS5314 Randomized Algorithms Lecture 16: Balls, Bins, Random Graphs (Random Graphs, Hamiltonian Cycles) 1 Objectives Introduce Random Graph Model used to define a probability space for all graphs with

### A Fast Algorithm For Finding Hamilton Cycles

A Fast Algorithm For Finding Hamilton Cycles by Andrew Chalaturnyk A thesis presented to the University of Manitoba in partial fulfillment of the requirements for the degree of Masters of Science in Computer

### Fall 2015 Midterm 1 24/09/15 Time Limit: 80 Minutes

Math 340 Fall 2015 Midterm 1 24/09/15 Time Limit: 80 Minutes Name (Print): This exam contains 6 pages (including this cover page) and 5 problems. Enter all requested information on the top of this page,

### Spectral graph theory

Spectral graph theory Uri Feige January 2010 1 Background With every graph (or digraph) one can associate several different matrices. We have already seen the vertex-edge incidence matrix, the Laplacian

### Math 4707: Introduction to Combinatorics and Graph Theory

Math 4707: Introduction to Combinatorics and Graph Theory Lecture Addendum, November 3rd and 8th, 200 Counting Closed Walks and Spanning Trees in Graphs via Linear Algebra and Matrices Adjacency Matrices

### 10.1 Integer Programming and LP relaxation

CS787: Advanced Algorithms Lecture 10: LP Relaxation and Rounding In this lecture we will design approximation algorithms using linear programming. The key insight behind this approach is that the closely

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

CS 70 Discrete Mathematics and Probability Theory Fall 009 Satish Rao, David Tse Note 0 Infinity and Countability Consider a function (or mapping) f that maps elements of a set A (called the domain of

### Discrete Mathematics Problems

Discrete Mathematics Problems William F. Klostermeyer School of Computing University of North Florida Jacksonville, FL 32224 E-mail: wkloster@unf.edu Contents 0 Preface 3 1 Logic 5 1.1 Basics...............................

### Lecture 17 : Equivalence and Order Relations DRAFT

CS/Math 240: Introduction to Discrete Mathematics 3/31/2011 Lecture 17 : Equivalence and Order Relations Instructor: Dieter van Melkebeek Scribe: Dalibor Zelený DRAFT Last lecture we introduced the notion

### Unicyclic Graphs with Given Number of Cut Vertices and the Maximal Merrifield - Simmons Index

Filomat 28:3 (2014), 451 461 DOI 10.2298/FIL1403451H Published by Faculty of Sciences Mathematics, University of Niš, Serbia Available at: http://www.pmf.ni.ac.rs/filomat Unicyclic Graphs with Given Number

### Graphs without proper subgraphs of minimum degree 3 and short cycles

Graphs without proper subgraphs of minimum degree 3 and short cycles Lothar Narins, Alexey Pokrovskiy, Tibor Szabó Department of Mathematics, Freie Universität, Berlin, Germany. August 22, 2014 Abstract

### COMBINATORIAL PROPERTIES OF THE HIGMAN-SIMS GRAPH. 1. Introduction

COMBINATORIAL PROPERTIES OF THE HIGMAN-SIMS GRAPH ZACHARY ABEL 1. Introduction In this survey we discuss properties of the Higman-Sims graph, which has 100 vertices, 1100 edges, and is 22 regular. In fact

### 3. Markov property. Markov property for MRFs. Hammersley-Clifford theorem. Markov property for Bayesian networks. I-map, P-map, and chordal graphs

Markov property 3-3. Markov property Markov property for MRFs Hammersley-Clifford theorem Markov property for ayesian networks I-map, P-map, and chordal graphs Markov Chain X Y Z X = Z Y µ(x, Y, Z) = f(x,

### Connectivity and cuts

Math 104, Graph Theory February 19, 2013 Measure of connectivity How connected are each of these graphs? > increasing connectivity > I G 1 is a tree, so it is a connected graph w/minimum # of edges. Every

### SAMPLES OF HIGHER RATED WRITING: LAB 5

SAMPLES OF HIGHER RATED WRITING: LAB 5 1. Task Description Lab report 5. (April 14) Graph Coloring. Following the guidelines, and keeping in mind the assessment criteria, using where appropriate experimental

### Network (Tree) Topology Inference Based on Prüfer Sequence

Network (Tree) Topology Inference Based on Prüfer Sequence C. Vanniarajan and Kamala Krithivasan Department of Computer Science and Engineering Indian Institute of Technology Madras Chennai 600036 vanniarajanc@hcl.in,

### 1. Sorting (assuming sorting into ascending order) a) BUBBLE SORT

DECISION 1 Revision Notes 1. Sorting (assuming sorting into ascending order) a) BUBBLE SORT Make sure you show comparisons clearly and label each pass First Pass 8 4 3 6 1 4 8 3 6 1 4 3 8 6 1 4 3 6 8 1