Advanced Graph Theory and Combinatorics
By Michel Rigo
()
About this ebook
Related to Advanced Graph Theory and Combinatorics
Related ebooks
Computational Acoustics: Theory and Implementation Rating: 0 out of 5 stars0 ratingsChemometrics: Data Driven Extraction for Science Rating: 0 out of 5 stars0 ratingsFractional Graph Theory: A Rational Approach to the Theory of Graphs Rating: 0 out of 5 stars0 ratingsAdvanced Numerical Methods with Matlab 2: Resolution of Nonlinear, Differential and Partial Differential Equations Rating: 0 out of 5 stars0 ratingsThe Self-Taught Computer Scientist: The Beginner's Guide to Data Structures & Algorithms Rating: 0 out of 5 stars0 ratingsOptimization Techniques and Applications with Examples Rating: 0 out of 5 stars0 ratingsSolving Partial Differential Equation Applications with PDE2D Rating: 0 out of 5 stars0 ratingsFoundations of Image Science Rating: 0 out of 5 stars0 ratingsTopographical Tools for Filtering and Segmentation 2: Flooding and Marker-based Segmentation on Node- or Edge-weighted Graphs Rating: 0 out of 5 stars0 ratingsMathematics for Dyslexics and Dyscalculics: A Teaching Handbook Rating: 0 out of 5 stars0 ratingsDiscrete Fourier Analysis and Wavelets: Applications to Signal and Image Processing Rating: 0 out of 5 stars0 ratingsPractical Algebra: A Self-Teaching Guide Rating: 3 out of 5 stars3/5Turbulent Fluid Flow Rating: 0 out of 5 stars0 ratingsIntroduction to Differential Calculus: Systematic Studies with Engineering Applications for Beginners Rating: 2 out of 5 stars2/5Chirality in Supramolecular Assemblies: Causes and Consequences Rating: 0 out of 5 stars0 ratingsThe Scaled Boundary Finite Element Method: Introduction to Theory and Implementation Rating: 0 out of 5 stars0 ratingsGraph Coloring Problems Rating: 0 out of 5 stars0 ratingsFundamental Statistical Inference: A Computational Approach Rating: 0 out of 5 stars0 ratingsPython Machine Learning Rating: 5 out of 5 stars5/5Feynman Lectures Simplified 4A: Math for Physicists Rating: 5 out of 5 stars5/5Process Modeling and Simulation for Chemical Engineers: Theory and Practice Rating: 0 out of 5 stars0 ratingsFunctional Aesthetics for Data Visualization Rating: 0 out of 5 stars0 ratingsIntroduction to Mathematical Methods for Environmental Engineers and Scientists Rating: 0 out of 5 stars0 ratingsAdvances in Chemical Physics Rating: 0 out of 5 stars0 ratingsInfrared Spectroscopy of Triatomics for Space Observation Rating: 0 out of 5 stars0 ratingsMathematical Modelling: A Graduate Textbook Rating: 0 out of 5 stars0 ratingsPattern Recognition: A Quality of Data Perspective Rating: 0 out of 5 stars0 ratingsPractice Makes Perfect in Geometry: Three-Dimensional Figures Rating: 0 out of 5 stars0 ratingsPractice Makes Perfect in Geometry: Angles, Triangles and other Polygons with Answers Rating: 0 out of 5 stars0 ratingsSeismic Inversion: Theory and Applications Rating: 0 out of 5 stars0 ratings
Systems Architecture For You
CompTIA A+ CertMike: Prepare. Practice. Pass the Test! Get Certified!: Core 1 Exam 220-1101 Rating: 0 out of 5 stars0 ratingsBlockchain Basics: A Non-Technical Introduction in 25 Steps Rating: 5 out of 5 stars5/5AutoCAD 2023 : Beginners And Intermediate user Guide Rating: 0 out of 5 stars0 ratingsCompTIA Network+ CertMike: Prepare. Practice. Pass the Test! Get Certified!: Exam N10-008 Rating: 0 out of 5 stars0 ratingsLearn Git in a Month of Lunches Rating: 0 out of 5 stars0 ratingsCompTIA ITF+ CertMike: Prepare. Practice. Pass the Test! Get Certified!: Exam FC0-U61 Rating: 0 out of 5 stars0 ratingsArduino Projects For Dummies Rating: 3 out of 5 stars3/5Chatgpt | Generative AI - The Step-By-Step Guide For OpenAI & Azure OpenAI In 36 Hrs. Rating: 0 out of 5 stars0 ratingsDeveloping Solutions for Microsoft Azure AZ-204 Exam Guide: A comprehensive guide to passing the AZ-204 exam Rating: 0 out of 5 stars0 ratingsDistributed Facts Device for Flow Controls Rating: 0 out of 5 stars0 ratingsSolution Architecture Foundations Rating: 3 out of 5 stars3/5Wii Architecture: Architecture of Consoles: A Practical Analysis, #11 Rating: 0 out of 5 stars0 ratingsMastering Kubernetes Rating: 5 out of 5 stars5/5Raspberry Pi Projects For Dummies Rating: 5 out of 5 stars5/5JavaScript Application Design: A Build First Approach Rating: 0 out of 5 stars0 ratingsLearning Ansible 2 - Second Edition Rating: 5 out of 5 stars5/5Advanced API Security: OAuth 2.0 and Beyond Rating: 0 out of 5 stars0 ratingsPSP Architecture: Architecture of Consoles: A Practical Analysis, #18 Rating: 0 out of 5 stars0 ratingsSoftware Architecture with Python Rating: 0 out of 5 stars0 ratingsSpring Batch in Action Rating: 0 out of 5 stars0 ratingsThe Ultimate Guide To Auto Cad 2022 3D Modeling For 3d Drawing And Modeling Rating: 0 out of 5 stars0 ratingsThe Construction Technology Handbook Rating: 0 out of 5 stars0 ratingsSOA Patterns Rating: 0 out of 5 stars0 ratingsVMware vSphere 6.x Datacenter Design Cookbook - Second Edition Rating: 0 out of 5 stars0 ratingsXbox Architecture: Architecture of Consoles: A Practical Analysis, #13 Rating: 0 out of 5 stars0 ratings.NET Core in Action Rating: 0 out of 5 stars0 ratingsHaskell Design Patterns Rating: 0 out of 5 stars0 ratings
Reviews for Advanced Graph Theory and Combinatorics
0 ratings0 reviews
Book preview
Advanced Graph Theory and Combinatorics - Michel Rigo
Introduction
This book is a result of lecture notes from a graph theory course taught at the University of Liège since 2005. Through the years, this course evolved and lectures were given at different levels ranging from second-year undergraduates in mathematics to students in computer science entering master’s studies. It was therefore quite challenging to find a suitable title for this book.
Advanced or not so advanced material?
I hope that the reader will not feel cheated by the title (which is always tricky to choose). In some aspects, the material is rather elementary: we will start from scratch and present basic results on graphs such as connectedness or Eulerian graphs. In the second part of the book, we will analyze in great detail the strongly connected components of a digraph and make use of Perron–Frobenius theory and formal power series to estimate asymptotics on the number of walks of a given length between two vertices. Topics with an algebraic or a combinatorial flavor such as Ramsey numbers, introduction to Robertson–Seymour theorem or PageRank can be considered as more advanced.
In the history of mathematics, we often mention the seven bridges of Königsberg problem as the very first problem in graph theory. It was studied by the famous mathematician L. Euler in 1736. It took two centuries to develop and build a complete theory from a few scattered results. Probably the first book on graphs is Theorie der endlichen und unendlichen Graphen [KÖN 90] written by the Hungarian mathematician D. König in 1936, a student of J. Kürschák and H. Minkowski. In the middle of the 20th Century, graph theory matured into a well-defined branch of discrete mathematics and combinatorics. We observe many mathematicians turning their attention to graph theory with books by C. Berge, N. Biggs, P. Erdős, C. Kuratowski, W. T. Tutte, K. Wagner, etc. We have seen an important growth during the past decades in combinatorics because of the particular interactions existing with optimization, randomized algorithms, dynamical programming, ergodic or number theory, theoretical computer science, computational geometry, molecular biology, etc. On MathSciNet, if you look for research papers with a Primary Mathematics Subject Classification equal to 05C (which stands for graph theory and is divided into 38 subfields ranging from planar graphs to connectivity, random walks or hypergraphs), then we find for the period 2011–2015 between 3, 300 and 3, 700 papers published every single year.
In less than a century, many scientists and entrepreneurs have seen the importance of graph theory in real-life applications. In a recent issue of Wired magazine (March 2014), we can read an article entitled Is graph theory a key to understanding big data? by R. Marsten. Let us quote his conclusion: The data that we have today, and often the ways we look at data, are already steeped in the theory of graphs. In the future, our ability to understand data with graphs will take us beyond searching for an answer. Creating and analyzing graphs will bring us to answers automatically
. Later, in the same magazine (May 2014), E. Eifrem wrote: We’re all well aware of how Facebook and Twitter have used the social graph to dominate their markets, and how Facebook and Google are now using their Graph Search and Knowledge Graph, respectively, to gear up for the next wave of hyper-accurate and hyper-personal recommendations, but graphs are becoming very widely deployed in a host of other industries
.
This book reflects the tastes of the author but also includes some important applications such as Google’s PageRank. It is only assumed that the reader has a working knowledge of linear algebra. Nevertheless, all the definitions and important results are given for the sake of completeness. The aim of the book is to provide the reader with the necessary theoretical background to tackle new problems or to easily understand new concepts in graph theory. Algorithms and complexity theory occupy a very small portion of the book (mostly in the first chapters).
This book, others and inspiration
Many other books on graphs do exist and the reader should not limit himself or herself to a single source. The Internet is also a formidable resource. Even if we have to be cautious when looking for information on the Web, Wikipedia contains a wealth of relevant information (but keep a critical eye). The present book starts with some unavoidable general material, then moves on to some particular topics with a combinatorial flavor. Powers of the adjacency matrix and Perron theory have a predominant role. The reader could probably start with this book and then move to [BRU 11] as a good companion to get a deeper knowledge of the links between linear algebra and graphs. See also [BAP 14] or the classical [GOD 01] in algebraic graph theory. Similarly, a comprehensive presentation of PageRank techniques can be found in [LAN 06]. The authors of that book, A. Langville and C. D. Meyer, also specialized in ranking techniques (see [LAN 12]). Another general reference discussing partially the same topics as here – and I do hope, with the same philosophy – is by R. Diestel where much more material and a particular emphasis on infinite graphs may be found. The present book is smaller and is thus well suited for readers who do not want to spend too much time on a specialized topic.
Having given a graph theory course for more than 10 years, I’m probably unconsciously tempted to take ownership of the proofs that I found somewhere else. It is no easy task to cite and give credits to all the sources that inspired me in this process. Let me mention [BIG 93] for algebraic aspects and chromatic polynomial, [TUT 01] for its first chapters and [ORE 90] for planar graphs and his proof of the 5-color theorem. I should also mention [BOL 98] (with an impressive collection of exercises) and [BER 89]. Finally, I remember that projects available on the Web and run by D. Arnold (College of Redwoods) were inspiring.
Practical organization
For a one-semester course, here is the time I usually devote to selected topics with 15 lectures of 90 min. Moreover, sessions for exercises take the same amount of time. The book contains extra material and more than 115 exercises:
– digraphs, paths, connected components (sections 1.1 and 1.2);
– Eulerian graphs, distance and shortest path (sections 1.3 and 1.5);
– introduction to Hamiltonicity, applications (sections 1.4 and 1.6);
– trees (section 4.1);
– homomorphisms, group of automorphisms (sections 7.1 and 7.2);
– Hamiltonian graphs (sections 3.1–3.4);
– topological sort (Chapter 4);
– adjacency matrix, counting walks (sections 8.2 and 8.3);
– primitivity, Perron’s theorem and asymptotics (sections 9.1 and 9.4);
– irreducibility and asymptotics (sections 9.2 and 9.4);
– applications of Perron–Frobenius theory (section 9.3);
– Google’s PageRank (Chapter 10);
– planar graphs and Euler’s formula (sections 6.1–6.3);
– colorings, the five-color theorem (section 6.5);
– Ramsey numbers (section 7.4).
Definitions are emphasized and the most important ones are written in bold face, so that definitions of recurrent notions can be found more easily. Labels of bibliographic entries are based on the first three letters of the last name of the first author and then the year of publication. In the bibliography, entries are sorted in alphabetical order using these labels.
I address special thanks to Émilie Charlier, Aline Parreau and Manon Stipulanti for their great feedback leading to some major improvements in this book. Of course, Valérie Berthé always plays a special role. I am very pleased to blame her (indeed, this adventure produced some pressure from time to time) for what this project finally looks like. She is always supportive and enthusiastic. I also thanks several colleagues: Benoît Donnet, Eric Duchêne, Fabien Durand, Narad Rampersad, Eric Rowland and Élise Vandomme for the valuable time they spent reading drafts of parts of this book. I will not forget Laurent Waxweiler who gave and prepared the very first exercise classes for my course. I also thank my many students along the years. Their questions, queries and enthusiasm allowed me to improve, over the time, the overall presentation and sequencing of this book.
Michel RIGO
September, 2016
1
A First Encounter with Graphs
1.1. A few definitions
There is not much fun in listing basic definitions about graphs (this is quite a bad introduction to start with!) but if we seek a rigorous presentation of results and proofs, then we cannot avoid giving accurate definitions of the objects that we will manipulate, but hopefully nice examples will also come quickly. In this book, we assume that the reader has a basic (or, at least a naive) knowledge of sets and operations on them.
As usual in mathematics, a pair (u, v) made up of two elements is implicitly assumed to be ordered: it has a first component u and a second component v. It has to be compared with a set with two elements u and v denoted by {u, v}. A set does not carry any ordering information about its elements. In particular, if u ≠ v, then we can build two pairs but a single set: (u, v) ≠ (v, u) and {u, v} = {v, u}. If S is a finite set, we will write #S to denote the number of elements in S, i.e. the cardinality of S. We can also find the notation |S| but we will use it to denote lengths of paths.
1.1.1. Directed graphs
DEFINITION 1.1.– Let V be an arbitrary set. A directed graph, or digraph, is a pair G = (V, E) where E is a subset of the Cartesian product V × V, i.e. E is a set of pairs of elements in V. The elements of V are the vertices of G – some authors also use the term nodes – and the elements of E are the edges, also called oriented edges or arcs1, of G. An edge of the form (v, v) is a loop on v. Another way to express that E is a subset of V × V is to say that E is a binary relation over V. If either (u, v) or (v, u) belongs to E, the vertices u and v are adjacent. If neither (u, v) nor (v, u) belong to E, then u and v are independent. Given a digraph G, the set of vertices (respectively of edges) of G is denoted by V(G) (respectively E(G)).
The vast majority of the graphs that we will encounter are finite meaning that the set V of vertices is finite, and thus E contains at most (#V)² edges.
REMARK 1.2.– It is common to speak of the order of G for #(V(G)) and the size of G for #(E(G)).
There are a few examples of infinite graphs in this book; see examples 1.47 and 4.11 (in formal language theory) and section 7.2 about colorings. Infinite graphs usually require more sophisticated arguments such as the axiom of choice. Implementation of infinite graphs in a computer could be tricky or impossible. From a practical point of view, particular instances of infinite graphs with a countable number of vertices and edges can be implemented. Think about a periodic graph that permits one to store only a finite amount of information to be repeated or a relation among vertices that can be computed and implemented as a function (see exercise 6 and example 1.5).
A digraph G = (V, E) is said to be simple if E is a subset of (V × V) \ {(v, v) | v ∈ V}. In that case, the relation E is irreflexive. Otherwise stated, loops are not allowed.
The elements belonging to a set are pairwise distinct: there is no repeated element. What we need to define a directed multigraph, i.e. a digraph where multiple edges between two vertices are allowed, is to permit repetitions of an element belonging to a set. In set theory, we can introduce the notion of a multiset. First, we restrict ourselves to multisets with finite integer multiplicities. A multiset M is a pair (S, m) where S is a set, in the classical
sense, and m : S → ℕ≥1 is a multiplicity function that specifies the number m(s) of occurrences of s ∈ S in the multiset. As an example, the multiset denoted by {u, u, v, v, v, w} is built from S = {u, v, w} and m(u) = 2, m(v) = 3, m(w) = 1. If the occurrences of an element have to be distinguished2, we can index elements s ∈ S by s1,…, sm(s). To continue the example, {u1, u2, v1, v2, v3, w1} denotes the same multiset as above. If S is a finite set, then the cardinality of the multiset M = (S, m) with finite multiplicities is
Observe that a multiset (S, m) where m(s) = 1, for all s ∈ S, is simply a set. Equivalently, we could have defined the multiplicity function to map every element s of S to a finite subset of ℕ: the set of indices used for s.
Second, we could consider countable multiplicities3. In that case, an element of a multiset can be repeated infinitely many times and the multiplicity function maps every element to a subset of ℕ (which is the set of indices used for that element). As an example, a vertex u could be repeated infinitely many times with prime indices: {u2, u3, u5, u7, u11, …}. Thus, the multiplicity function maps u to the set of prime numbers.
We now introduce a directed multigraph as a pair G = (V, E) where V is a set of vertices and E is a multiset of edges built from a subset of V × V. For a directed multigraph G = (V, E), the fact that V is finite does not imply that E is also finite. Indeed, we could have infinitely many edges between two vertices. Thus, a directed multigraph is finite if both the set V and the multiset E are finite.
REMARK 1.3.– It is common (and quite visual) to represent the vertices of a digraph by points in the plane (but we can also draw graphs on other surfaces like on a torus). Edges of the form (u, v) are represented by arrows going from u to v. We say that u (resp. v) is the origin (respectively, destination) of the edge. Actually any oriented arc of a curve can be used to join two vertices, not only straight vectors. Since positions of the vertices and arcs of curves joining the vertices can be freely chosen, there are usually infinitely many ways to represent a given graph. There is no reason that two edges that are intersecting in one representation are also intersecting in another representation of the same graph. We will rediscuss these notions with great care in section 6.1.
In Figure 1.1, we have depicted representations of a simple digraph, digraph and directed multigraph.
Figure 1.1. From left to right: a simple digraph, a digraph and a directed multigraph
A digraph G can be stored as an adjacency list: with each vertex u is associated the list of vertices v such that (u, v) ∈ E(G). For the central digraph in Figure 1.1, the corresponding adjacency list is given in Table 1.1. A similar data structure can be used for directed multigraphs.
Table 1.1. An adjacency list
EXAMPLE 1.4 (Tournament).– A simple digraph G = (V, E) where, for all pairs of distinct vertices u and v, either (u, v) or (v, u) belongs to E (but exactly one of these two edges belongs to E) is said to be a tournament. Indeed, it corresponds to an all-play-all tournament: each player plays against every other player and there are no ties. If u wins the confrontation against v, then we take the edge (v, u). See Figure 1.2.
EXAMPLE 1.5.– For an example of infinite simple digraph, take ℕ>1 as set of vertices and a pair (m, n) of integers greater than 1 is an edge if and only if m divides n. The first few vertices and some edges of this digraph are depicted in Figure 1.3. Note that the relation E is transitive. If (m, n) and (n, p) belong to E, then (m, p) belongs to E.
Figure 1.2. A tournament among four players or teams
Figure 1.3. A divisibility relation (first few vertices only)
EXAMPLE 1.6.– We consider the digraph made up of Webpages and there is an edge from a page p to a page q if there is a link on p referencing q. This digraph is finite but contains several billions of vertices. Independently of the content of the pages, here we are interested in the links that one user can follow by browsing through pages. Based on Perron’s theorem (theorem 9.2), we will discuss the basis of the Google’s PageRank algorithm in Chapter 10.
Figure 1.4. Some links and Webpages
Similarly to pages referencing other pages, we can also think about scientific papers that are citing other papers. In that case, we get a digraph where it is meaningful to try to identify relevant or influential papers. Which are the papers that are cited by many other papers, which are the best
journals? The website http://www.eigenfactor.org/ uses a similar strategy to rank journals instead of Webpages [BER 07, WES 10].
EXAMPLE 1.7.– The digraph that we may associate with Twitter is another example about social networks. There is an edge from a user account u to a user account v, if u is following the tweets of v. Therefore, all the tweets posted by v are displayed in the follower’s timeline. Such a digraph captures who is following who. For instance, see [YAM 10] for an example of a User–Tweet digraph.
REMARK 1.8.– The reader may wonder about this triple definition of digraphs: simple digraphs, digraphs and directed multigraphs. Why should we take into account the case of simple or multiple digraphs? The answer is a pragmatic one. We choose the model that best fits the situation that we are considering. If we are interested in finding a shortest path between two vertices, it is meaningless to consider loops or multiple edges; going through a loop just makes the path longer. We just want to know if the two vertices are connected or not. In such a case, we will deal with simple digraphs. On the other hand, assume that we have to model the fact that between two cities, there is a road, a river but also a railway. Here multigraphs are useful to take this fact into account. Note that simple digraphs are special cases of digraphs that are themselves special cases of directed multigraphs. We reach same conclusions when we have to choose between digraphs and the unoriented graphs that we will soon introduce to model a particular situation.
DEFINITION 1.9.– In a directed graph G = (V, E), we may associate two sets with every vertex v, respectively, the sets of outgoing edges and incoming edges:
These definitions are extended to directed multigraphs and in that case, the corresponding sets are multisets. If, for all vertices v, the multisets ω+(v) and ω−(v) are finite, then we say that G is of finite degree. The successors (respectively, predecessors) of a vertex v are the vertices w (respectively, u) such that (v, w) (respectively, (u, v)) belongs to ω+(v) (respectively, ω−(v)). The set of successors (respectively, predecessors) of v is denoted by succ(v) (respectively, pred(v)). Note that there is a loop on v if and only if v ∈ succ(v) ∩ pred(v). The neighbors of v are the vertices in succ(v) ∪ pred(v), they are the vertices adjacent to v. If there is no loop on v, then v is not a neighbor of itself. The set of neighbors of v, N(v) := succ(v) ∪ pred(v), is sometimes called the (open) neighborhood of v. If v has to be included in the neighborhood, we speak of the closed neighborhood of v and is denoted by N[v].
In a directed multigraph of finite degree, the indegree of the vertex v is the number of incoming edges of v. It is denoted by deg−(v) := #ω−(v). The outdegree of the vertex v, denoted by deg+(v) := #ω+(v), is the number of outgoing edges of v. If deg−(v) = 0, v is a source. If deg+(v) = 0, v is a sink. If there exists k such that deg+(v) = k for all vertices v, then the directed multigraph is said to be k-regular.
EXAMPLE 1.10.– In theoretical computer science, a (complete) deterministic finite automaton is a k-regular directed multigraph where k is the size of the alphabet. Automata are, for instance, useful when working with regular expression and searching a word in a text. An example is given in Figure 1.5 where the alphabet is {R,B} and the directed multigraph is 2-regular. See, for instance, [SUD 06] for a general reference.
With infinite digraphs having infinitely many edges, indegrees or outdegrees may be infinite. For instance, the outdegree (respectively, indegree) of every vertex in the digraph of example 1.5 is infinite (respectively, finite). Indeed, every positive integer n is a divisor of all numbers of the form kn but every integer m has a finite number of divisors. Sources in this simple digraph are exactly the prime numbers.
The following observation is a direct consequence of the fact that every edge (in particular, loop) has exactly one origin and one destination.
LEMMA 1.11 (Handshaking Formula).– Let G = (V, E) be a finite directed multigraph. We have
DEFINITION 1.12 (Labeled Graphs).– We can add some relevant information on the edges or vertices of a digraph. Formally, edges can receive a label or a weight (the latter term usually refers to numerical assignments). If G = (V, E) is a directed multigraph, then we consider a map ℓ : E → S where S is a set. For instance, S can be a finite set if we need to distinguish several types of edges (e.g. colors) or S could be equal to ℕ or ℝ if we need to add numerical information (e.g. cost, capacity and distance). Similarly, we can define a map of domain V to add information about the vertices.
EXAMPLE 1.13.– Consider the 197 countries in the world and the flow of migrants moving from one country to another. So an edge from a country c to a country d will receive extra information to count the number of migrants from c to d during a given period. For instance, between 2005 and 2010, 1.8 million migrants moved from Mexico to the United States. Summing up the weights of the edges in-going to the United States give the total number of migrants entering the United States [ABE 14].
EXAMPLE 1.14.– On the Internet, Internet service providers represent their local network by a digraph where each edge is weighted by the capacity of the link.
EXAMPLE 1.15.– Consider the digraph depicted in Figure 1.5. Here, we have added labels B or R to edges corresponding to the two colors Blue
or