Graph theory

It's just dots and lines

An example

Consider the following graph:

The vertex set is {A,B,C,D,E}\{A,B,C,D,E\}

The edge set is {AB,AE,BC,CE,ED}\{AB, AE, BC, CE, ED\}

Yes! A graph is connected if for any two vertices uu and ww, there is a list of vertices u,v1,v2,,vk,wu,v_{1},v_{2},\ldots,v_{k},w such that each consecutive pair in the list is adjacent in the graph.

What does connected mean? Is this graph connected?

An example

An extremely useful way to represent a graph is called the adjacency matrix. This is the matrix with rows and columns labeled by the vertices (in the same order). The matrix has a 11 if the row and column indices are adjacent, and zero otherwise.

An example

\leadsto

An example

\leadsto

An example

A Disconnected example

x0=[10000]x_{0} = \begin{bmatrix}1\\0\\0\\0\\0\end{bmatrix}     or    x0=[00010]x_{0} = \begin{bmatrix}0\\0\\0\\1\\0\end{bmatrix}

Consider the previous algorithm starting with:

Is it Connected?

The graph is connected!

How many edges do we need to delete to make it disconnected?

The graph has 16 edges, so we could delete each edge, then test again...

There are 120 pairs of edges, so we could delete each pair and test again...

What if that fails?

Is it Connected?

The Graph Laplacian

For a graph with vertices v1,v2,v3,,vnv_{1},v_{2},v_{3},\ldots,v_{n} the adjacency matrix AA is given by

Ai,j={1vi is adjacent to vj,0otherwise.A_{i,j} = \begin{cases} 1 & v_i\text{ is adjacent to }v_{j},\\ 0 & \text{otherwise}.\end{cases}

 

The degree of vertex viv_{i}, denoted d(vi)d(v_{i}) is the number of edges incident with viv_{i}, that is d(vj)=i=1nAi,j.d(v_{j}) = \sum_{i=1}^{n}A_{i,j}.

 

The Laplacian is the n×nn\times n matrix LL given by

Li,j={d(vi)i=j,Ai,jij.L_{i,j} = \begin{cases} d(v_{i}) & i=j,\\ -A_{i,j} & i\neq j.\end{cases}

Consider the previous example:

For any vector xRnx\in\mathbb{R}^{n} we have

xLx=[x1  x2  x3     xn][L1,1L1,2L1,3L1,nL2,1L2,2L2,3L2,nL3,1L3,2L3,3Ln,1Ln,2Ln,n][x1x2x3xn]x^{\top}Lx = [x_{1}\ \ x_{2}\ \ x_{3}\ \ \cdots\ \  x_{n}]\left[\begin{array}{ccccc}L_{1,1} & L_{1,2} & L_{1,3} & \cdots & L_{1,n}\\ L_{2,1} & L_{2,2} & L_{2,3} & \cdots & L_{2,n}\\[-1ex] L_{3,1} & L_{3,2} & L_{3,3} & & \vdots\\ \vdots & \vdots & & \ddots & \vdots\\ L_{n,1} & L_{n,2} & \cdots & \cdots & L_{n,n}\end{array}\right]\left[\begin{array}{c}x_{1}\\ x_{2}\\ x_{3}\\ \vdots \\ x_{n}\end{array}\right]

=i=1nj=1nxixjLi,j=i=1nxi2Li,ii=1nj=1nxixjAi,j= \sum_{i=1}^{n}\sum_{j=1}^{n}x_{i}x_{j}L_{i,j} = \sum_{i=1}^{n}x_{i}^{2}L_{i,i} - \sum_{i=1}^{n}\sum_{j=1}^{n}x_{i}x_{j}A_{i,j}

[d(v1)A1,2A1,3A1,nA2,1d(v2)A2,3A2,nA3,1A3,2d(v3)An,1An,2d(vn)]\left[\begin{array}{ccccc}d(v_{1}) & -A_{1,2} & -A_{1,3} & \cdots & -A_{1,n}\\ -A_{2,1} & d(v_{2}) & -A_{2,3} & \cdots & -A_{2,n}\\ -A_{3,1} & -A_{3,2} & d(v_{3}) & & \vdots\\ \vdots & \vdots & & \ddots & \vdots\\ -A_{n,1} & -A_{n,2} & \cdots & \cdots & d(v_{n})\end{array}\right]

=i=1nxi2j=1nAi,ji=1ni=1nxixjAi,j=i=1nj=1n(xi2xixj)Ai,j= \sum_{i=1}^{n}x_{i}^{2}\sum_{j=1}^{n}A_{i,j} - \sum_{i=1}^{n}\sum_{i=1}^{n}x_{i}x_{j}A_{i,j} = \sum_{i=1}^{n}\sum_{j=1}^{n}(x_{i}^{2}-x_{i}x_{j})A_{i,j}

Thus, since Ai,j=Aj,iA_{i,j} = A_{j,i} we have

xLx=i=1nj=1n(xi2xixj)Ai,j=i=1nj=1n(xj2xixj)Ai,jx^{\top}Lx = \sum_{i=1}^{n}\sum_{j=1}^{n}(x_{i}^{2}-x_{i}x_{j})A_{i,j} = \sum_{i=1}^{n}\sum_{j=1}^{n}(x_{j}^{2}-x_{i}x_{j})A_{i,j}

Hence

xLx=12i=1nj=1n(xi22xixj+xj2)Ai,j=12i=1nj=1n(xixj)2Ai,j.x^{\top}Lx = \frac{1}{2}\sum_{i=1}^{n}\sum_{j=1}^{n}(x_{i}^{2}-2x_{i}x_{j}+x_{j}^{2})A_{i,j} = \frac{1}{2}\sum_{i=1}^{n}\sum_{j=1}^{n}(x_{i}-x_{j})^{2}A_{i,j}.

For which vectors xx is it the case that

xLx=12i=1nj=1n(xixj)2Ai,j=0?x^{\top}Lx = \frac{1}{2}\sum_{i=1}^{n}\sum_{j=1}^{n}(x_{i}-x_{j})^{2}A_{i,j} = 0?

This occurs if and only if xi=xjx_{i}=x_{j} for all ii and jj such that Ai,j=1A_{i,j} = 1.

Thus, xLx=0x^{\top}Lx=0 if and only if xx is "constant on connected components".

In particular,

Lx=0Lx=0     \Rightarrow     xLx=0x^{\top}Lx = 0     \Rightarrow     xx is constant on connected components.

Example

For this vector Lx=0Lx = 0:

For a connected graph:

Instead of Lx=0Lx=0, we look for x0x\neq 0 such that Lx=λxLx=\lambda x for the smallest λ\lambda.

w/ λ=0.3033351\lambda = 0.3033351

A=A=

Part 1:

Fundamental Concepts

Graphs

Definition 1.1.2. A graph GG is a triple consisting of a vertex set V(G)V(G), an edge set E(G)E(G), and a relation that associates with each edge two vertices (not necessarily distinct) called its endpoints.

Example. Note that the vertex set is {v1,v2,v3,v4,v5}\{v_{1},v_{2},v_{3},v_{4},v_{5}\} and the edge set is {e1,e2,e3,e4,e5}\{e_{1},e_{2},e_{3},e_{4},e_{5}\}.

The endpoints of e4e_{4} are v3v_{3} and v4v_{4}.

Example. The vertex set is {v1,v2,v3,v4,v5}\{v_{1},v_{2},v_{3},v_{4},v_{5}\} and the edge set is {e1,e2,e3,e4,e5,e6}\{e_{1},e_{2},e_{3},e_{4},e_{5},e_{6}\}.

Both e1e_{1} and e6e_{6} have endpoints v1v_{1} and v2v_{2}, thus they are multiple edges.

Example. Note that the vertex set is {v1,v2,v3,v4,v5}\{v_{1},v_{2},v_{3},v_{4},v_{5}\} and the edge set is {e1,e2,e3,e4,e5,e6,e7}\{e_{1},e_{2},e_{3},e_{4},e_{5},e_{6},e_{7}\}.

The edge e7e_{7} has only one endpoint, this type of edge is called a loop.

If uu and vv are endpoints of an edge, they are adjacent and are neighbors, and we write uvu\leftrightarrow v

Simple Graphs

A graph without multiple edges and without loops is called a simple graph.

In a simple graph we can name the edges by their endpoints:

 

In the following graph, the edge set is {v1v2,v1v3,v2v4,v3v4,v4v5}\{v_{1}v_{2},v_{1}v_{3},v_{2}v_{4}, v_{3}v_{4}, v_{4}v_{5}\}

Definition 1.1.8. 

  • The complement G\overline{G} of a simple graph GG is the simple graph with vertex set V(G)V(G) defined by uvE(G)uv\in E(\overline{G}) if and only if uvE(G)uv\notin E(G).
  • A clique in a graph is a set of pairwise adjacent vertices.
  • An independent set (or stable set) in a graph is a set of pairwise nonadjacent vertices.

Example. 

GG

G\overline{G}

{v2,v3,v5}\{v_{2},v_{3},v_{5}\} is a clique in G\overline{G}

{v2,v3,v5}\{v_{2},v_{3},v_{5}\} is an independent set in GG

Example 1.1.7. Consider a group of 5 people. Is there always a group of three who are all mutual acquaintances or mutual strangers? In other words, for every simple graph on 5 vertices GG, does either GG or G\overline{G} contain a clique of size 3?

GG

G\overline{G}

What about in a group of 6 people?

Definition 1.1.10. A graph GG is bipartite if V(G)V(G) is the union of two disjoint (possibly empty) independent sets called partite sets of GG.

Example. 

Definition 1.1.15.

  • A path is a simple graph whose vertices can be ordered so that two vertices are adjacent if and only if  they are consecutive in the list.
  • A cycle is a graph with an equal number of vertices and edges whose vertices can be placed around a circle so that two vertices are adjacent if and only if they appear consecutively along a circle.

Path

Path

Cycle

Cycle

Neither

Definition 1.1.16.

  • A subgraph of a graph GG is a graph HH such that V(H)V(G)V(H)\subseteq V(G) and E(H)E(G)E(H)\subseteq E(G) and the assignment of endpoints in HH is the same as in GG. We write HGH\subseteq G and say "GG contains HH".
  • A graph GG is connected if each pair of vertices in GG belongs to a path contained in GG.

Example. The red vertices and edges are a subgraph. This subgraph is a path.

Example. 

Matrices and IsoMorphism

Consider the simple graph with

V(G)={a,b,c,d,e}andE(G)={ab,bc,cd,ac,ae}V(G) = \{a,b,c,d,e\}\quad\text{and}\quad E(G) = \{ab,bc,cd,ac,ae\}

Consider the graph HH where V(H)={a,b,c,d,e}andE(H)={bc,cd,de,bd,ba}.V(H) = \{a,b,c,d,e\}\quad\text{and}\quad E(H) = \{bc,cd,de,bd,ba\}.

Definition 1.1.17. Let GG be a loopless graph with vertex set V(G)={v1,,vn}V(G) = \{v_{1},\ldots,v_{n}\} and edge set E(G)={e1,,em}E(G) = \{e_{1},\ldots,e_{m}\}. The adjacency matrix of GG, written A(G)A(G) is the n×nn\times n matrix with entry in row ii, column jj is the number of edges in GG with endpoints {vi,vj}\{v_{i},v_{j}\}. The incidence matrix M(G)M(G) is the n×mn\times m matrix in which the entry in row ii, column jj is 11 if viv_{i} is an endpoint of edge eje_{j}, and zero otherwise.

If vertex vv is an endpoint of edge ee, then vv and ee are incident. The degree of a vertex (in a loopless graph) is the number of incident edges.

Example. Consider the simple graph with

V(G)={a,b,c,d,e}andE(G)={ab,bc,cd,ac,ae}V(G) = \{a,b,c,d,e\}\quad\text{and}\quad E(G) = \{ab,bc,cd,ac,ae\}

A(G)=[0110110100110100010010000]A(G) = \left[\begin{array}{ccccc} 0 & 1 & 1 & 0 & 1 \\ 1 & 0 & 1 & 0 & 0 \\ 1 & 1 & 0 & 1 & 0 \\ 0 & 0 & 1 & 0 & 0 \\ 1 & 0 & 0 & 0 & 0\end{array}\right]

M(G)=[1001111000011100010000001]M(G) = \left[\begin{array}{ccccc} 1 & 0 & 0 & 1 & 1\\ 1 & 1 & 0 & 0 & 0\\ 0 & 1 & 1 & 1 & 0\\ 0 & 0 & 1 & 0 & 0\\ 0 & 0 & 0 & 0 & 1\end{array}\right]

A(G1)=[011000100100100011010000001000001000]A(G_{1}) = \left[ \begin{array}{cccccc} 0 & 1 & 1 & 0 & 0 & 0 \\ 1 & 0 & 0 & 1 & 0 & 0 \\ 1 & 0 & 0 & 0 & 1 & 1 \\ 0 & 1 & 0 & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 & 0 & 0 \end{array} \right]

A(G2)=[011100100000100010100001001000000100]A(G_{2}) = \left[ \begin{array}{cccccc} 0 & 1 & 1 & 1 & 0 & 0 \\ 1 & 0 & 0 & 0 & 0 & 0 \\ 1 & 0 & 0 & 0 & 1 & 0 \\ 1 & 0 & 0 & 0 & 0 & 1 \\ 0 & 0 & 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 1 & 0 & 0 \end{array} \right]

Are these graphs "the same"?

Graph isomorphism

Definition 1.1.20. An isomorphism from a simple graph GG to a simple graph HH is a bijection f:V(G)V(H)f:V(G)\to V(H) such that uvE(G)uv\in E(G) if and only if f(u)f(v)E(H)f(u)f(v)\in E(H). We say that "GG is isomorphic to HH", written GHG\cong H, if there is an isomorphism from GG to HH.

Consider the simple graph GG with V(G)={a,b,c,d,e}V(G) = \{a,b,c,d,e\} and E(G)={ab,bc,cd,ac,ae}E(G) = \{ab,bc,cd,ac,ae\}

Consider the simple graph HH with V(H)={a,b,c,d,e}V(H) = \{a,b,c,d,e\} and E(H)={bc,cd,de,bd,ba}.E(H) = \{bc,cd,de,bd,ba\}.

The function f:V(G)V(H)f:V(G)\to V(H) such that

f(a)=bf(a)=b

f(b)=cf(b)=c

f(c)=df(c)=d

f(d)=ef(d)=e

f(e)=af(e)=a

is an isomorphism from GG to HH.

Proposition. If ff is an isomorphism from GG and HH, then for any vV(G)v\in V(G) the degrees of vv and f(v)f(v) are the same. Moreover, if

d1,d2,,dnandd1,d2,,dnd_{1},d_{2},\ldots,d_{n}\quad\text{and}\quad d_{1}',d_{2}',\ldots,d_{n}'

are the lists of the degrees of their vertices of GG and HH, respectively, listed in nonincreasing order, then these lists are identical.

Proof. Consider a vertex vV(G)v\in V(G) with degree dd. This means that there are dd other vertices v1,v2,,vdv_{1},v_{2},\ldots, v_{d} that are adjacent to vv, that is vviE(G)vv_{i}\in E(G) for each i{1,2,,d}i\in\{1,2,\ldots,d\}. By the definition of an isomorphism, the vertices adjacent to f(v)f(v) are exactly f(v1),,f(vd)f(v_{1}),\ldots,f(v_{d}). Thus f(v)f(v) has degree dd. \Box

Example. None of the following graphs are isomorphic:

Definition. A permutation matrix is a square matrix with entries in {0,1}\{0,1\} and exactly one 11 in each row and each column.

Example. Some permutation matrices:

[1001]\begin{bmatrix} 1 & 0\\ 0 & 1\end{bmatrix}

[100010001]\begin{bmatrix} 1 & 0 & 0\\ 0 & 1 & 0\\ 0 & 0 & 1\end{bmatrix}

[010100001]\begin{bmatrix} 0 & 1 & 0\\ 1 & 0 & 0\\ 0 & 0 & 1\end{bmatrix}

[01001000000100 10]\begin{bmatrix} 0 & 1 & 0 & 0\\ 1 & 0 & 0 & 0\\ 0 & 0 & 0 & 1\\ 0 & 0 &  1 & 0\end{bmatrix}

Multiplying a matrix by a permutation on the left permutes the rows:

[010001100][abcdefghi]=[ defghiabc]\begin{bmatrix} 0 & 1 & 0\\ 0 & 0 & 1\\ 1 & 0 & 0\end{bmatrix}\begin{bmatrix} a & b & c\\ d & e & f\\ g & h & i\end{bmatrix} = \begin{bmatrix}  d & e & f\\ g & h & i\\ a & b & c\end{bmatrix}

Multiplying a matrix by a permutation on the right permutes the columns:

[abcdefghi][010001100]=[ cab fdeigh]\begin{bmatrix} a & b & c\\ d & e & f\\ g & h & i\end{bmatrix}\begin{bmatrix} 0 & 1 & 0\\ 0 & 0 & 1\\ 1 & 0 & 0\end{bmatrix} = \begin{bmatrix}  c & a & b\\  f & d & e\\ i & g & h\end{bmatrix}

Permutation matrices

Rows: (1,2,3)(3,1,2)(1,2,3)\mapsto (3,1,2)

Columns: (1,2,3)(2,3,1)(1,2,3)\mapsto (2,3,1)

[001100010][abcdefghi][010001100]=[ighcab fde]\begin{bmatrix} 0 & 0 & 1\\ 1 & 0 & 0\\ 0 & 1 & 0\end{bmatrix}\begin{bmatrix} a & b & c\\ d & e & f\\ g & h & i\end{bmatrix} \begin{bmatrix} 0 & 1 & 0\\ 0 & 0 & 1\\ 1 & 0 & 0\end{bmatrix}= \begin{bmatrix} i & g & h\\ c & a & b\\  f & d & e\end{bmatrix}

11

22

33

11

22

33

If we multiply by PP on the right and PP^{\top} on the left, then we permute the rows and columns in the same way:

Isomorphism: (1,2,3)(2,3,1)(1,2,3)\mapsto (2,3,1)

[001100010][011100100][010001100]=[010101010]\begin{bmatrix} 0 & 0 & 1\\ 1 & 0 & 0\\ 0 & 1 & 0\end{bmatrix}\begin{bmatrix} 0 & 1 & 1\\ 1 & 0 & 0\\ 1 & 0 & 0\end{bmatrix} \begin{bmatrix} 0 & 1 & 0\\ 0 & 0 & 1\\ 1 & 0 & 0\end{bmatrix}= \begin{bmatrix} 0 & 1 & 0\\ 1 & 0 & 1\\ 0 & 1 & 0\end{bmatrix}

Consider permuting the rows and columns of an adjacency matrix:

Theorem. Two simple graphs GG and HH are isomorphic if and only if there is a permutation matrix PP such that

A(H)=PA(G)P.A(H) = P^{\top}A(G)P.

Thus, if we can find a permutation matrix such that A(H)=PA(G)PA(H) = P^{\top}A(G)P, we can conclude GG and HH are isomorphic. If GG and HH are not isomorphic, it is harder to prove.

Definition 1.1.25. An isomorphism class of graphs is an equivalence class of graphs under the isomorphism relation.

Example. Every simple graph on 22 vertices is isomorphic to one of the following:

So, there are two isomorphism classes of graphs on 22 vertices.

Example. How many isomorphism classes are there on 33 vertices?

The "structural" properties of a graph are the same for all isomorphic graphs. For example, number of edges, number of vertices, degree of vertices (already proven), sizes of cliques, sizes of independent sets, etc.

independent set of size 44

NO independent set of size 44

≇\not\cong

Connection

in

Graphs

Definition 1.2.2.

  • A walk is a list v0,e1,v1,,ek,vkv_{0},e_{1},v_{1},\ldots,e_{k},v_{k} of vertices and edges such that, for      i{1,2,,k}i\in\{1,2,\ldots,k\}, the edge eie_{i} has endpoints vi1v_{i-1} and viv_{i}.
  • A trail is a walk with no repeated edge.
  • A u,vu,v-walk or u,vu,v-trail has first vertex uu and last vertex vv; the vertices uu and vv are called its endpoints.
  • A u,vu,v-path is a path whose endpoints are uu and vv; the other vertices are called internal vertices.
  • The length of a walk, trail, path, or cycle is its number of edges. A walk or trail is closed if its endpoints are the same.

Lemma 1.2.5. Every u,vu,v-walk contains a u,vu,v-path.

Proof. (On the board)

Example. A walk with a repeated vertex:

Definition 1.2.6. A graph is connected if for every pair of vertices uu and vv, there is a u,vu,v-path contained in the graph. Otherwise, we say that the graph is disconnected.

If GG has a u,vu,v-path, then we say that uu is connected to vv in GG

Definition 1.2.8. The components of a graph GG are its maximal connected subgraphs. A component is trivial if it has no edges otherwise it is nontrivial. An isolated vertex is a vertex of degree 00.

Proposition 1.2.11. Every graph with nn vertices and kk edges has at least nkn-k components.

Note, if a graph GG contains a u,vu,v-path and a v,wv,w-path, it is not clear that GG contains a u,wu,w-path. However, if we concatenate these paths, then we get a u,wu,w-walk which contains a u,wu,w-path by Lemma 1.2.5. Thus, the connection relation on vertices is transitive. It is also reflexive (vertices are connected to themselves), and symmetric (since paths are reversible).

Proof. Adding an edge to a graph decreases the number of connected components by at most 11. \Box

Definition 1.2.12.

  • A cut-edge or cut-vertex of a graph is an edge or vertex, respectively, whose deletion increases the number of components.
  • We write GeG-e or GMG-M for the subgraph of GG obtained by deleting an edge ee or a set of edges MM.
  • We write GvG-v or GSG-S for the subgraph obtained by deleting a vertex vv or a set of vertices SS.
  • An induced subgraph is a subgraph obtained by deleting a set of vertices. 
  • We write G[T]G[T] for GTG-\overline{T}, where T=V(G)T\overline{T} = V(G)-T; this is called the subgraph of GG induced by TT.

Cut-edges: abab

Cut-vertices: b,db, d

If T={a,b,c,e,f}T = \{a,b,c,e,f\} then G[T]G[T] is shown in red.

Theorem 1.2.14. An edge is a cut-edge if and only if it belongs to no cycle.

Proof. (On the board)

Note that this theorem is the statemet that the following two implications about an edge ee in a graph GG both hold:

ee is a cut-edge \Rightarrow ee belongs to no cycle

and

ee belongs to no cycle \Rightarrow ee is a cut-edge

Given an implication ABA\Rightarrow B, it is often useful to consider the equivalent statement BA\sim B\Rightarrow \sim A, which is called the contrapositive. (Here A\sim A is the statement "AA does not hold".)

Thus, we could instead prove the contrapositives of the above implications

ee belongs to a cycle \Rightarrow ee is not a cut-edge

and

ee is a not a cut-edge \Rightarrow ee belongs to a cycle

Eulerian Circuits

Seven Bridges of Konigsberg

Is there a path that crosses all 7 bridges exactly once?

Seven Bridges of Konigsberg

Is there a path that crosses all 7 bridges exactly once?

Seven Bridges of Konigsberg

Is there a path that crosses all 7 bridges exactly once?

Definition 1.2.24.

  • A graph is Eulerian if it has a closed trail containing all its edges.
  • A circuit is a closed trail with vertices listed in cyclic order.
  • An Eulerian circuit or Eulerian trail is a circuit or a trail (resp.) containing all the edges.
  • An even graph is a graph with vertex degrees all even. We call a vertex odd or even when it has odd or even degree, respectively.

Lemma 1.2.25. If every vertex of a graph GG has degree at least 2, then GG contains a cycle.

Theorem 1.2.26. A graph GG is Eulerian if and only if it has at most one nontrivial component, and all its vertices have even degree.

Proof idea. By Lemma 1.2.25 the graph GG contains a cycle. If we delete all the edges in that cycle, then new graph has fewer edges, but each vertex still has even degree. Thus, we can use induction on the number of edges. (Details are on the board and in the text.)

Proof. (On the board and in the text.)

Consider a path PP in a graph GG. If there is another path QPQ\neq P such that PQG,P\subseteq Q\subseteq G, then we call QQ an extension of PP. Since GG only has finitely many vertices, we cannot extend a path forever. If a path PGP\subseteq G has no extension, then we call PP a maximal path.

Proposition 1.2.27. Every even graph decomposes into cycles.

Proposition 1.2.28. If GG is a simple graph in which every vertex has degree at least kk, then GG contains a path of length at least kk. If k2k\geq 2, then GG contains a cycle of length at least k+1k+1.

Proposition 1.2.29. Every graph with at least one nonloop edge has at least two vertices that are not cut vertices.

Theorem 1.2.33. For a connected nontrivial graph with exactly 2k2k odd vertices, the minimum number of trails that decompose it is max{k,1}\max\{k,1\}.

Note: This "decomposition" is a partition of the edges. The cycles may share vertices. Indeed, every vertex of degree 2\geq 2 must be in more than one cycle.

Vertex Degrees  and counting

Definition 1.3.1.

  • The degree  of a vertex vv in a graph GG, written dG(v)d_{G}(v) or d(v)d(v), is the number of edges incident to vv, except that each loop at vv counts twice.
  • The maximum degree is denoted Δ(G)\Delta(G), the minimum degree is denoted δ(G)\delta(G), and GG is regular if Δ(G)=δ(G)\Delta(G) = \delta(G).
  • The graph GG is kk-regular if Δ(G)=δ(G)=k\Delta(G) = \delta(G) = k.
  • The neighborhood of vv, denoted NG(v)N_{G}(v) or N(v)N(v), is the set of vertices adjacent to vv.

Regular graphs and Degree

11

11

22

22

22

44

Δ(G)=4\Delta(G) = 4 and δ(G)=1\delta(G) = 1

Example.

The Petersen Graph

Definition 1.1.36. The Petersen graph is the simple graph with vertices consisting of all 22-element subsets of {1,2,3,4,5}\{1,2,3,4,5\}, that is,  

V(G)={{1,2},{1,3},{1,4},{1,5},{2,3},{2,4},{2,5},{3,4},{3,5},{4,5}},V(G) = \big\{\{1,2\},\{1,3\},\{1,4\},\{1,5\}, \{2,3\}, \{2,4\}, \{2,5\}, \{3,4\},\{3,5\},\{4,5\}\big\},

and two vertices are adjacent if the sets are disjoint.

Note that

Δ(G)=δ(G)=3\Delta(G) = \delta(G) = 3

Thus, the Petersen graph is 33-regular.

Definition 1.1.27.

  • The path and cycle with nn vertices are denoted PnP_{n} and CnC_{n}, respectively. An nn-cycle is a cycle with nn vertices.
  • A complete graph is a simple graph whose vertices are pairwise adjacent. The complete graph on nn vertices is denoted KnK_{n}
  • A complete bipartite graph or biclique is a simple bipartite graph such that two vertices are adjacent if and only if they are in different partite sets. When the partite sets have sizes rr and ss, the graph is denoted Kr,sK_{r,s}

Some important graphs

Definition 1.3.2.

  • The order of a graph GG, written n(G)n(G), is the number of vertices in GG
  • An nn-vertex graph is a graph of order nn.
  • The size of a graph GG, written e(G)e(G), is the number of edges in GG
  • For nNn\in\mathbb{N}, we define [n]:={1,2,3,,n}[n]: = \{1,2,3,\ldots,n\}.

Proposition 1.3.3. (Degree-Sum Formula) If GG is a graph, then

vV(G)d(v)=2e(G).\sum_{v\in V(G)}d(v) = 2e(G).

Proof. Recall that d(v)d(v) is the number of edges with endpoint vv. Since each edge has two endpoints, adding up all the degrees we count each edge twice. \Box

Corollary 1.3.4. In a graph GG, the average vertex degree is 2e(G)n(G)\frac{2e(G)}{n(G)}, and hence

δ(G)2e(G)n(G)Δ(G)\delta(G)\leq \frac{2e(G)}{n(G)}\leq \Delta(G)

Corollary 1.3.5. Every graph has an even number of vertices of odd degree. No graph of odd order is regular with odd degree.

Corollary 1.3.6. A kk-regular graph with nn vertices has nk/2nk/2 edges.

Proposition 1.3.9. If k>0k>0, then a  kk-regular bipartite graph has the same number of vertices in each partite set.

regular bipartite graphs

XX

YY

Example. Consider the 22-regular bipartite graph below

  • 4 vertices in XX
  • Each is incident with 22 edges
  • This is all the edges!
  • Same is true for YY

Proof. Let XX and YY be the partite sets, then e(G)=kX=kY.e(G) = k|X| = k|Y|. Thus X=Y|X| = |Y|. \Box

6-cycles in the petersen graph

6-cycles in the petersen graph

Delete vertex {i,j}\{i,j\} and the vertices adjacent to it.

The remaining vertices are the two element sets that contain either ii or jj.

{i,k1},{i,k2},{i,k3}\{i,k_{1}\},\{i,k_{2}\},\{i,k_{3}\}

and

{j,k1},{j,k2},{j,k3}\{j,k_{1}\},\{j,k_{2}\},\{j,k_{3}\}

Cycle:

{i,k1},{j,k3},{i,k2},{j,k1}{i,k3},{j,k2}\{i,k_{1}\},\{j,k_{3}\},\{i,k_{2}\},\{j,k_{1}\}\{i,k_{3}\},\{j,k_{2}\}

#\# cycles #\geq \# vertices:

6-cycles in the petersen graph

Consider a 6-cycle FF in the graph.

 

Cycle:

{a1,b1},{a2,b2},{a3,b3},\{a_{1},b_{1}\},\{a_{2},b_{2}\},\{a_{3},b_{3}\},

{a4,b4},{a5,b5},{a6,b6}\{a_{4},b_{4}\},\{a_{5},b_{5}\},\{a_{6},b_{6}\}

#\# cycles #\leq \# vertices:

Two numbers ii and jj show up three times on this list.

Hence, this cycle is the one we obtained by deleting vertex {i,j}\{i,j\} and its neighbors.

Proposition 1.3.11 For a simple graph GG with vertices v1,,vnv_{1},\ldots,v_{n} and n3n\geq 3,

e(G)=1n2i=1ne(Gvi)anddG(vj)=1n2i=1ne(Gvi)e(Gvj)e(G) = \frac{1}{n-2}\sum_{i=1}^{n}e(G-v_{i})\quad\text{and}\quad d_{G}(v_{j}) = \frac{1}{n-2}\sum_{i=1}^{n} e(G-v_{i}) - e(G-v_{j})

Conjecture 1.3.12. (Reconstruction Conjecture) If GG is a simple graph with at least three vertices, then GG is uniquely determined by it's list of vertex-deleted subgraphs.

A subgraph obtained by deleting a single vertex is called a vertex-deleted subgraph.

Vertex-deleted subgraphs

Examples.

  • The vertex-deleted subgraphs of the cycle of length nn, CnC_{n}, are all Pn1P_{n-1}.
  • The vertex-deleted subgraphs of the path of length, PnP_{n}, are Pn1,P1+Pn2,P2+Pn3,,Pn2+P1,Pn1.P_{n-1},P_{1}+P_{n-2},P_{2}+P_{n-3},\ldots,P_{n-2}+P_{1},P_{n-1}.

Example. Consider the following vertex-deleted subgraphs:

What order 5 graph?

Example. Consider the graph GG and its vertex-deleted subgraphs:

Extremal Problems

Proposition 1.3.13. The minimum number of edges in a connected graph with nn vertices is n1n-1.

Proposition 1.3.15. If GG is a simple graph with nn vertices and δ(G)(n1)/2,\delta(G)\geq (n-1)/2, then GG is connected.

Example 1.3.16. We wish to show that the inequality in Proposition 1.3.15 is sharp, that is, for any nn there exists an nn-vertex graph GG such that δ(G)<(n1)/2\delta(G)<(n-1)/2 and GG is disconnected.

For even nn consider Kn/2+Kn/2K_{n/2}+K_{n/2}, for odd nn consider Kn12+Kn+12K_{\frac{n-1}{2}} +K_{\frac{n+1}{2}}.

Definition 1.3.17. The union of two graphs GG and HH with disjoint vertex sets, is called their disjoint union or sum, and it is denoted G+HG+H. The disjoint union of mm copies of GG is denoted mGmG.

degree sequences

Definition 1.3.27. The degree sequence of a graph is the list of vertex degrees, usually written in nonincreasing order d1dnd_{1}\geq \cdots\geq d_{n}

If d1,,dnd_{1},\cdots, d_{n} is the degree sequence of a graph GG, then the vertex-sum formula implies i=1ndi\sum_{i=1}^{n}d_{i} is even. 

To be a degree sequence of a graph, it is necessary that i=1ndi\sum_{i=1}^{n}d_{i} is even. Is this condition also sufficient?

w/o loops, but w/ multiple edges, things are more complicated:

Exercise 1.3.63. The nonnegative integers d1dnd_{1}\geq\ldots\geq d_{n} are the vertex degrees of some loopless graph if and only if i=1ndi\sum_{i=1}^{n}d_{i} is even and d1d2++dn.d_{1}\leq d_{2}+\ldots+d_{n}.

With loops in our graphs, yes!

Proposition 1.3.28. The nonnegative integers d1,,dnd_{1},\ldots,d_{n} are the vertex degrees of some graph if and only if i=1ndi\sum_{i=1}^{n}d_{i} is even.

Theorem 1.3.31. For n>1n>1, an integer list dd of size nn is graphic if and only if dd' is graphic, where dd' is obtained from dd by deleting the largest element Δ\Delta of dd and subtracting 11 from each of its Δ\Delta next largest elements. The only 11-element graphic sequence is d1=0d_{1}=0.

Definition 1.3.29. A graphic sequence is a list of nonnegative numbers that is the degree sequence of some simple graph.

Graphic sequences

What about degree sequences of simple graphs?

Example. The degree sequences of both graphs are 3,2,2,1,1,13,2,2,1,1,1

But these are not isomorphic graphs!

i123Δ+1Δ+2ndΔ=d1d2d3 dΔ+1dΔ+2,dndd21d31 dΔ+11dΔ+2dn\begin{array}{r|r|r|r|r|r|r|r|r}i & 1 & 2 & 3 & & \Delta+1 & \Delta+2 & & n\\\hline\\ d & \Delta = d_{1} & d_{2} & d_{3} & \ldots &  d_{\Delta+1} & d_{\Delta+2} & \ldots, & d_{n}\\\\\hline\\d' & & d_{2}-1 & d_{3}-1 & \ldots &  d_{\Delta+1}-1 & d_{\Delta+2} & \ldots & d_{n} \end{array}

i123Δ+1Δ+2ndΔ=d1d2d3 dΔ+1dΔ+2,dndd21d31 dΔ+11dΔ+2dn\begin{array}{r|r|r|r|r|r|r|r|r}i & 1 & 2 & 3 & & \Delta+1 & \Delta+2 & & n\\\hline\\ d & \phantom{\Delta = }d_{1} & d_{2} & d_{3} & \ldots &  d_{\Delta+1} & d_{\Delta+2} & \ldots, & d_{n}\\\\\hline \\ d' & & \phantom{d_{2}-1} & \phantom{d_{3}-1} & \phantom{\ldots} &  \phantom{d_{\Delta+1}-1} & \phantom{d_{\Delta+2}} & \phantom{\ldots} & \phantom{d_{n}} \end{array}

Example. Consider the sequence d=(3,3,2,1,1)d = (3,3,2,1,1).

d=(3,3,2,1,1)  d=(2,1,0,1)d = (3,3,2,1,1)\ \leadsto\ d' = (2,1,0,1)

d=(2,1,1,0)  d=(0,0,0)d' = (2,1,1,0)\ \leadsto\ d'' = (0,0,0)

\leadsto

Reorder

d=(2,1,1,0)  d=(0,0,0)d' = (2,1,1,0)\ \phantom{\leadsto\ d'' = (0,0,0)}

How to build dd' from dd: Suppose d1dnd_{1}\geq \cdots\geq d_{n}

The sequence d=(3,2,2,2,1)d = (3,2,2,2,1) is graphic since:

Deleting degree 3 vertex \rightarrow

So (2,1,1,0)(2,1,1,0) is graphic, but why is d=(1,1,1,1)d' = (1,1,1,1) graphic?

We want a graph with degree sequence (3,2,2,2,1)(3,\underbrace{2,2,2},1) AND...

these vertices

this one's neighbors are...

Why does dd graphic \Rightarrow dd' graphic?

verticesv1v2v3v4v5 degrees32221\begin{array}{c|ccccc} \text{vertices} & v_{1} & v_{2} & v_{3} & v_{4} & v_{5}\\\hline  \text{degrees} & 3 & 2 & 2 & 2 & 1\end{array}

N(v1)={v2,v4,v5}N(v_{1}) = \{v_{2},v_{4},v_{5}\}

Modify the graph so that v3v1v_{3}\leftrightarrow v_{1} and v5↮v1v_{5}\not\leftrightarrow v_{1}

BUT, keep degrees the same

v1v_{1}

v2v_{2}

v3v_{3}

v4v_{4}

v5v_{5}

Add: v1v3v_{1}v_{3}

Delete: v1v5v_{1}v_{5}

Pick a vertex y: 

yv3y\leftrightarrow v_{3} and y↮v5y\not\leftrightarrow v_{5}

Delete: yv3yv_{3}

Add: yv5yv_{5}

v1v_{1}

v2v_{2}

v3v_{3}

v4v_{4}

v5v_{5}

v1v_{1}

v2v_{2}

v3v_{3}

v4v_{4}

v5v_{5}

Directed graphs

Definition 1.4.2. 

A directed graph or digraph GG is a triple consisting of a vertex set V(G)V(G), an edge set E(G)E(G), and  function assigning each edge an ordered pair of vertices. The first vertex in the ordered pair is the tail of the edge, and the second is the head; together, they are the endpoints. We say that an edge is from its tail to its head.

What is a Directed graph

Example. Let V(G)={v1,v2,v3,v4,v5}V(G) = \{v_{1},v_{2},v_{3},v_{4},v_{5}\} and E(G)={e1,e2,e3,e4,e5,e6}E(G) = \{e_{1},e_{2},e_{3},e_{4},e_{5},e_{6}\}

and the function that assigns edges to points is given by

f(e1)=(v1,v2),f(e2)=(v2,v3),f(e3)=(v3,v5)f(e_{1}) = (v_{1},v_{2}),\quad f(e_{2}) = (v_{2},v_{3}),\quad f(e_{3}) = (v_{3},v_{5})

f(e4)=(v4,v4),f(e5)=(v2,v1),f(e6)=(v3,v5)f(e_{4}) = (v_{4},v_{4}),\quad f(e_{5}) = (v_{2},v_{1}),\quad f(e_{6}) = (v_{3},v_{5})

Definition 1.4.3. In a digraph:

  • A loop is an edge whose endpoints are equal.
  • Multiple edges are edges having the same ordered pair of endpoints.
  • The digraph is simple if each ordered pair is the head and tail of at most one edge (Note: loops are allowed!)

In a simple digraph:

  • We write uvuv for an edge with tail uu and head vv.
  • If uvu\neq v, then the edges uvuv and vuvu are different.
  • If there is an edge from uu to vv, then uu is a predecessor of vv, and vv is a successor of uu.
  • We use uvu\to v to denote "there is an edge from uu to vv."

 

Not simple!

Definition 1.4.6. A digraph GG is a path if it is simple, and all of the vertices can be listed (without repetition) v1,v2,,vnv_{1},v_{2},\ldots,v_{n} such that E(G)={v1v2 , v2v3 , v3v4 ,  , vn1vn}E(G) = \{v_{1}v_{2}\ ,\ v_{2}v_{3}\ ,\ v_{3}v_{4}\ ,\ \ldots\ ,\ v_{n-1}v_{n}\}

A digraph is a cycle if it is simple, and all of the vertices can be listed (without repetition) v1,v2,,vnv_{1},v_{2},\ldots,v_{n} such that E(G)={v1v2 , v2v3 , v3v4 ,  , vn1vn , vnv1}E(G) = \{v_{1}v_{2}\ ,\ v_{2}v_{3}\ ,\ v_{3}v_{4}\ ,\ \ldots\ ,\ v_{n-1}v_{n}\ ,\ v_{n}v_{1}\}

Cycle

Path

Neither

Example: Markov Chain

P=[00.90.11000.10.10.8]P=\left[\begin{array}{rrr}0 & 0.9 & 0.1\\ 1 & 0 & 0\\ 0.1 & 0.1 & 0.8 \end{array}\right]

Given a vector of nonnegative entries x=[xA  xB  xC] such that xA+xB+xC=1,\mathbf{x} = [x_{A}\ \ x_{B}\ \ x_{C}]\quad\text{ such that }\quad x_{A}+x_{B}+x_{C}=1, we interpret xix_{i} as the probability that we're in state ii

 

Then xP\mathbf{x}P gives the probabilities that we're in each state after another step.

Example: Markov Chain

P=[00.90.11000.10.10.8]P=\left[\begin{array}{rrr}0 & 0.9 & 0.1\\ 1 & 0 & 0\\ 0.1 & 0.1 & 0.8 \end{array}\right]

Let xn\mathbf{x}_{n} be the vector of probabilities after nn steps.

 

If we start at AA, then x0=[1  0  0]\mathbf{x}_{0} = [1\ \ 0\ \ 0], and

x1=x0P=[0  0.9  0.1]\mathbf{x}_{1} = \mathbf{x}_{0}P = [0\ \ 0.9\ \ 0.1]

x2=x1P=x0P2=[0.91  0.01  0.08]\mathbf{x}_{2} =\mathbf{x}_{1}P = \mathbf{x}_{0}P^2 = [0.91\ \ 0.01\ \ 0.08]

x3=x2P=x0P3=[0.018  0.827  0.155]\mathbf{x}_{3} =\mathbf{x}_{2}P = \mathbf{x}_{0}P^3 = [0.018\ \ 0.827\ \ 0.155]

x100=x0P100[0.410706  0.385357  0.203936]\mathbf{x}_{100} = \mathbf{x}_{0}P^{100} \approx [0.410706\ \ 0.385357\ \ 0.203936]

\vdots

Digraph degrees

Definition 1.4.17. Let vv be a vertex in a digraph.

  • The outdegree d+(v)d^{+}(v) is the number of edges with tail vv.
  • The indegree is the number of edges with head vv
  • The out-neighborhood or successor set N+(v)N^{+}(v) is the set {xV(G):vx}.\{x\in V(G) : v\to x\}.
  • The in-neighborhood or predecessor set N(v)N^{-}(v) is the set {xV(G):xv}.\{x\in V(G) : x\to v\}.
  • The minimum and maximum indegree are δ(G)\delta^{-}(G) and Δ(G)\Delta^{-}(G); for outdegree we use δ+(G)\delta^{+}(G) and Δ+(G)\Delta^{+}(G).

Proposition 1.4.18. In a digraph GG, vV(G)d+(v)=e(G)=vV(G)d(v).\sum_{v\in V(G)}d^{+}(v) = e(G) = \sum_{v\in V(G)}d^{-}(v).

Proposition 1.4.19. A list of ordered pairs of nonnegative integers is realizable as the degree pairs of a digraph if and only if the sum of the first coordinates equals the sum of the second coordinates.

Eulerian Digraphs

Definition 1.4.22.

  • An Eulerian trail in a digraph is a trail containing all edges.
  • An Eulerian circuit is a closed trial containing all edges.
  • A digraph is Eulerian if it has an Eulerian circuit.

Lemma 1.4.23. If GG is a digraph with δ+(G)1\delta^{+}(G)\geq 1 or δ(G)1\delta^{-}(G)\geq 1, then GG contains a cycle. 

Theorem 1.4.24. A digraph is Eulerian if and only if d+(v)=d(v)d^{+}(v) = d^{-}(v) for each vertex vv and the underlying graph has at most one nontrivial component.

Definition 1.4.9. The underlying graph of a digraph DD is the graph GG obtained by treating the edges of DD as unordered pairs.

We have already seen that graphs are Eulerian if and only if they are even. What about digraphs?

Trees

Definition 2.1.1.

  • A graph with no cycle is acyclic.
  • A forest is an acyclic graph.
  • A tree is a connected acyclic graph.
  • A leaf is a vertex of degree 11.
  • A spanning subgraph of GG is a subgraph with vertex set V(G)V(G).
  • A spanning tree is a spanning subgraph that is also a tree.

Some floral definitions

\underbrace{\hspace*{1.6in}}

\underbrace{\hspace*{1.6in}}

\underbrace{\hspace*{1.2in}}

Forest

Tree

Tree

Each of these vertices is a leaf.

Lemma 2.1.3. Every tree with at least two vertices has at least two leaves. Deleting a leaf from an nn-vertex tree produces a tree with n1n-1 vertices.

Theorem 2.1.4. For an nn-vertex graph GG (with n1n\geq 1), the following are equivalent:

A) GG is connected and has no cycles, that is, GG is a tree.

B) GG is connected and has n1n-1 edges.

C) GG has n1n-1 edges and no cycles.

D) For u,vV(G)u,v\in V(G), GG has exactly one u,vu,v-path.

The next theorem give several alternate characterizations of graphs that are trees. Note that each of A, B, and C is the statement that two of the following hold: 1) GG is acyclic, 2) GG is connected, 3) GG has n1n-1 edges.

Some other characterizations of trees

Corollary 2.1.5.

     a) Every edge of a tree is a cut edge.

     b) Adding one edge to a tree forms exactly one cycle.

     c) Every connected graph contains a spanning tree.

Proposition 2.1.6. If TT and TT' are spanning trees of a connected graph GG, and eE(T)E(T)e\in E(T)-E(T'), then there is an edge eE(T)E(T)e'\in E(T')-E(T) such that Te+eT-e+e' is a spanning tree of GG.

Proposition 2.1.7. If TT and TT' are spanning trees of a connected graph GG, and eE(T)E(T)e\in E(T)-E(T'), then there is an edge eE(T)E(T)e'\in E(T')-E(T) such that T+eeT'+e-e' is a spanning tree of GG.

Spanning Trees

Suppose TT is a tree and GG is a simple graph. What must be true about TT and GG to ensure that TT is a subgraph of GG.

If TT has one vertex adjacent to all of the others, then TT is called a star.

Clearly, TT is a subgraph of GG if and only if GG has a vertex of degree e(T)e(T), that is, Δ(G)e(T)\Delta(G)\geq e(T).

Is is sufficient? No! P4P_{4} is not a subgraph of the star with 44 vertices.

What about δ(G)e(T)\delta(G)\geq e(T)?

GG

Not a subgraph of GG

 Subgraph of GG

GG

What about the other trees with 4 edges?

Proposition 2.1.8. If TT is a tree with kk edges, and GG is a simple graph with δ(G)k\delta(G)\geq k, then TT is a subgraph of GG

TT

TT'

Call its neighbor uu

uu

uu

Pick a leaf vv

uu

Delete vv

Find TT' in GG

Since dG(u)4d_{G}(u)\geq 4

and dT(u)3d_{T'}(u)\leq 3

v\exists\,v adj. to uu, but not in TT'

vv

Proposition 2.1.8. If TT is a tree with kk edges, and GG is a simple graph with δ(G)k\delta(G)\geq k, then TT is a subgraph of GG

Proof outline. Use induction on kk:

  • For k=0k=0 we have a tree TT with no edges, that is, an isolated vertex.
  • Clearly an isolated vertex is a subgraph of any graph.

Suppose that for some k1k\geq 1 the claim holds for trees with <k<k edges. Let GG be a graph with δ(G)k\delta(G)\geq k, and let TT be a tree with kk edges. 

  • Let vv be any leaf in TT and let T=TvT'=T-v.
  • Let uu be the neighbor of vv in TT
  • TT' is a tree with k1k-1 edges.
  • δ(G)k>k1\delta(G)\geq k>k-1
  • By the inductive hypothesis TT' is a subgraph of GG.
  • Since dG(u)kd_{G}(u)\geq k, the vertex uu has at least kk neighbors in GG.
  • Since TT' has k1k-1 edges, uu has at most k1k-1 neighbors in TT'.
  • There exists a vertex v~GT\tilde{v}\in G-T' such that v~u\tilde{v}\leftrightarrow u
  • Make TT by adding the edge between uu and v~\tilde{v} to TT'.

Distance in Graphs

Definition 2.1.9.

  • If GG has a u,vu,v-path, then the distance from uu to vv, written dG(u,v)d_{G}(u,v) or simply d(u,v)d(u,v), is the length of the shortest u,vu,v-path.
  • If there is no u,vu,v-path in GG, then d(u,v)=d(u,v) = \infty.
  • The diameter of GG is given by diamG=max{d(u,v):u,vV(G)}.\operatorname{diam}G = \max\{d(u,v) : u,v\in V(G)\}.
  • The eccentricity of a vertex uu is given by ϵ(u)=max{d(u,v):vV(G)}.\epsilon(u) = \max\{d(u,v) : v\in V(G)\}.
  • The radius of a graph GG is given by radG=min{ϵ(u):uV(G)}.\operatorname{rad}G = \min\{\epsilon(u) : u\in V(G)\}.

bb

aa

cc

ee

ff

gg

d(a,b)=1d(a,b)=1

d(a,c)=2d(a,c)=2

d(a,e)=3d(a,e)=3

d(a,f)=2d(a,f)=2

d(a,g)=1d(a,g)=1

d(a,a)=0d(a,a)=0

diamG=3\operatorname{diam}G = 3

ϵ(a)=3\epsilon(a) = 3

radG=3\operatorname{rad}G = 3

Example.

Theorem 2.1.11. Suppose GG is a simple graph. If diamG3\operatorname{diam}G\geq 3, then diamG3\operatorname{diam}\overline{G}\leq 3.

Proof.  Since diamG>2\operatorname{diam}G>2, there are two nonadjacent vertices uu and vv with no common neighbor.

 

Hence, for xV(G){u,v}x\in V(G)-\{u,v\} either x↮ux\not\leftrightarrow u or x↮vx\not\leftrightarrow v.

 

Note that uu and vv are adjacent in G\overline{G}. And any other vertex xx is adjacent to either uu or vv in G\overline{G}

 

Therefore, for any two vertices, there is a path of lenghth at most 33 in G\overline{G}. \Box

Definition 2.1.12. The center of a graph GG is the subgraph induced by the vertices of minimum eccentricity.

Theorem 2.1.13. The center of a tree is either a vertex (K1K_{1}) or an edge (K2K_{2}).

the center

Proof. We use induction on the number of vertices in a tree TT.

 

Inductive step:

  • Suppose n(T)>2n(T)>2 and the theorem is true for trees with <n(T)<n(T) vertices.
  • Let TT' be the graph obtained by deleting every leaf of TT.
  • For uV(T)u\in V(T) the farthest vertex was a leaf, thus ϵT(u)=ϵT(u)1\epsilon_{T'}(u)=\epsilon_{T}(u)-1.
  • Leaves of TT are not in the center of TT.
  • The center of TT' is the same as the center of TT.
  • By the inductive hypothesis the center of TT' is a vertex or an edge. \Box

Basis step: n(T)2n(T) \leq 2, then T=K1T=K_{1} or K2K_{2} and the center is TT.

If we want a graph with all vertices close together, then we want a small diameter.

On the other hand, if we want a graph where most vertices are close together, then we might want the average distsnce between points to be small. That is, if GG is a graph with nn vertices, then we want

2n(n+1)v,uV(G)dG(v,u)\frac{2}{n(n+1)}\sum_{v,u\in V(G)}d_{G}(v,u)

to be small. Equivalently, we want the Wiener index:

D(G):=v,uV(G)dG(v,u)D(G): = \sum_{v,u\in V(G)}d_{G}(v,u)

to be small.

The next theorem gives us the extremes of this index among all trees.

Theorem 2.1.14. For trees with nn vertices, the Wiener index is minimized by stars and maximized by paths, both uniquely. That is, if TT is a tree with nn vertices, then

(n1)2D(T)(n+13), (n-1)^2\leq D(T)\leq {n+1\choose 3},

moreover, if D(T)=(n1)2D(T) = (n-1)^2 then TK1,n1T\cong K_{1,n-1} and if D(T)=(n+13)D(T) = {n+1\choose 3} then TPnT\cong P_{n}.

Optimization and Trees

Weighted graphs

A weighted graph is a graph GG together with a nonnegative number for each edge.

Our goals:

Find a minimum spanning tree: a spanning tree such that  the sum of the edge weights is minimal

Find shortest path from uu to vv:

The path from uu to vv such that the sum of the edge weights is minimal.

Kruskal's Algorithm

Define the subgraph HH with V(H)=V(G)V(H)=V(G) and E(H)=E(H) = \varnothing.

While it's possible

Add an edge to HH from E(G)E(G) that does not create a cycle in HH, and has minimal weight among these.

Suppose GG is a connected, weighted graph with nn vertices:

End when no such edge exists

Theorem 2.3.3. In a connected weighted graph GG, Kruskal's Algorithm constructs a minimum-weight spanning tree.

  • By construction, the graph HH is acyclic at each step, and thus the final graph TT is acyclic.
  • If TT has >1>1 component, then a path in GG between two components of TT includes an edge with endpoints in different components.
  • The algorithm terminated, so such an edge does not exist.

Suppose TT^{\ast} is a spanning tree of minimum weight. If T=TT=T^{\ast} then we're done.

  • Let eE(T)e\in E(T) denote the first edge that we added to TT that is not in TT^{\ast}
  • (Proposition 2.1.7)There exists eE(T)E(T)e'\in E(T^{\ast})-E(T) such that T+eeT^{\ast}+e-e' is a spanning tree.
  • Since (when performing the algorithm) we chose ee and not ee' we know that the weight of ee is at most the weight of ee'
  • Thus the weight of T+eeT^{\ast}+e-e' is at most the weight of TT^{\ast}.
  • T+eeT^{\ast}+e-e' is minimum-weight, and agrees with TT for one more step in the algorithm.
  • Repeat to find a minimum-weight tree that agrees with TT. \Box

Proof. First, we see that the output, which we call TT, is a spanning tree

Dijkstra's Algorithm

vv

uu

What is the shortest path from vertex vv to vertex uu?

Start with a list of distances 00 for vv and \infty for the rest. 

  1. Pick unvisited vertex w/ smallest distance (currently)
  2. For all neighbors update distance to neighbors, if shorter

Dijkstra's Algorithm

More generally, take the distance between vertices d(u,v)d(u,v) to be the smallest sum of weights among all u,vu,v-paths.

What is d(u,v)d(u,v)?

vv

uu

Start with a list of distances 00 for vv and \infty for the rest. 

  1. Pick unvisited vertex w/ smallest distance (currently)
  2. For all neighbors update distance to neighbors, if shorter

Step 1:  Update tentative distances: t1(z)={0z=vzvt_{1}(z) = \begin{cases} 0 & z=v\\ \infty & z\neq v\end{cases}

Pick next vertex to visit: z1=vz_{1}=v.

Step k>1:  Update tentative distances: tk(z)=min{tk1(zk1)+w(zk1z),tk1(z)}.t_{k}(z) = \min\{t_{k-1}(z_{k-1})+w(z_{k-1}z),t_{k-1}(z)\}.

Pick next vertex to visit: zkz_{k}.

For each edge yzyz, let w(yz)w(yz) denote the weight of the edge.

Step 1:  Update tentative distances: t1(z)={0z=vzvt_{1}(z) = \begin{cases} 0 & z=v\\ \infty & z\neq v\end{cases}

Pick next vertex to visit: z1=vz_{1}=v.

Given vertices vvv and uuu, define d(v,u)d(v,u)d(v,u) to be the minimum, over all v,uv,uv,u-paths, of the sum of the edge weights along the path.

Theorem 2.3.7. Given a graph GG and a vertex vV(G)v\in V(G), Dijkstra's Algorithm computes d(v,z)d(v,z) for each vertex zV(G)z\in V(G).

Dijkstra's Algorithm (It works!)

Breadth-first search

vv

uu

For an unweighted graph, Dijkstra's algorithm is called a Breadth-First search.

 

However, we just take the next unvisited vertex that we've "seen" instead of the vertex with smallest tentative weight.

Matchings and Covers

Definition 3.1.1.

  • A matching in a graph GG is a set of non-loop edges with no shared endpoints.
  • The vertices incident to the edges of a matching MM are saturated by MM; the others are unsaturated.
  • A perfect matching in a graph is a matching that saturates every vertex.

Example. 

The blue edges are a perfect matching

Are there other perfect matchings?

Example. If a graph has a vertex with degree 00, then it contains no perfect matching.

Give an example of a graph GG such that δ(G)1\delta(G)\geq 1, but no perfect matching?

The only star that contains a perfect matching is K2K_{2}.

Stars!

Example 3.1.2. A perfect matching in Kn,nK_{n,n} corresponds to a bijection of the partite sets.

If X={x1,x2,,xn}X = \{x_{1},x_{2},\ldots,x_{n}\} and Y={y1,y2,,yn}Y=\{y_{1},y_{2},\ldots,y_{n}\} are the partite sets of vertices, then a bijection f:XYf:X\to Y gives a perfect matching, namely, the edges xf(x)xf(x) for each xXx\in X.

Conversely, given a perfect matching of edges, each edge has one endpoint in XX and one in YY, thus, for each edge xyxy in the perfect matching, we can define a bijection g:XYg:X\to Y by g(x)=yg(x) = y if and only if xyxy is in the perfect matching.

The number of bijections f:XYf:X\to Y is n!n!, and thus there are n!n! perfect matchings in Kn,nK_{n,n}.

Corresponding bijection:

f(x1)=y2f(x_{1})=y_{2}

f(x2)=y1f(x_{2})=y_{1}

f(x3)=y4f(x_{3})=y_{4}

f(x4)=y5f(x_{4})=y_{5}

f(x5)=y3f(x_{5})=y_{3}

Example 3.1.3. Why is there no perfect matching in K3K_{3}, K5K_{5}, K7,K_{7},\ldots?

If GG has a perfect matching, then the order of GG must be even!

Does K2nK_{2n} have a perfect matching for each nNn\in\mathbb{N}?

YES! The set of perfect matchings of K2nK_{2n} is in one-to-one correspondence with the partitions of {1,2,3,,2n}\{1,2,3,\ldots,2n\} into nn subsets of size 22. How many such partitions are there?

(2n)!2nn!\frac{(2n)!}{2^{n}n!}

Partition: {1,3}, {2,4}, {5,6}\{1,3\},\ \{2,4\},\ \{5,6\}

Definition 3.1.4. A maximal matching in a graph is a matching that cannot be enlarged by adding an edge. A maximum matching is a matching of maximum size among all matchings in the graph.

Maximal matching

(not maximum):

Maximum matching:

Definition 3.1.6. Given a matching MM, an MM-alternating path is a path that alternates between edges in MM and edges not in MM. An MM-alternating path whose endpoints are unsaturated by MM is an MM-augmenting path.

Definition 3.1.7. If GG and HH are graphs with a common vertex set VV, then the symmetric difference GHG\triangle H is the graph with vertex set VV whose edges are all those appearing in exactly one of GG and HH. We similarly define the notion of symmetric difference for sets of edges.

Lemma 3.1.9. Every component of the symmetric difference of two matchings is a path or an even cycle.

\triangle

\triangle

==

==

Theorem 3.1.10. A matching MM in a graph GG is a maximum matching in GG if and only if GG has no MM-augmenting path.

Consider the matching MM in blue

 the MM-augmenting path PP in red

and...

Replacing MM with every other edge in PP we obtain a matching with more edges:

Thus, if MM is a maximum matching, then there is no MM-augmenting path.

Saturating partite sets

Given a bipartite graph GG, and one of the partite sets XX, one might ask whether there is a matching that saturates XX.

 

Consider the following graph:

The blue edges are a matching that saturates X:={x1,x2,x3,x4,x5}X:=\{x_{1},x_{2},x_{3},x_{4},x_{5}\}.

 

If SXS\subset X, then clearly the number of vertices adjacent to SS must be \geq the number of vertices in SS.

Theorem 3.1.11. (Hall's Theorem) An X,YX,Y-bigraph GG has a matching that saturates XX if and only if N(S)S|N(S)|\geq |S| for all SXS\subseteq X.

Recall:

  • A bipartite graph GG with partite sets XX and YY is called an X,YX,Y-bigraph.
  • Given a set of vertices SS, the set neighborhood of SS is the set N(S)={vV(G):vw for some wS}.N(S) = \{v\in V(G) : v\leftrightarrow w\text{ for some }w\in S\}.
  • Given a finite set XX, the cardinality of XX is the number of elements in XX, denoted X|X|.

Hall's Matching condition

Corollary (the Marriage Theorem). An X,YX,Y-bigraph GG contains a perfect matching if and only if both of the following hold:

  • X=Y|X|=|Y|
  • For every SXS\subseteq X, N(S)S|N(S)|\geq |S|.

Does the following bigraph have a perfect matching?

\underbrace{\hspace{1.8in}}

\overbrace{\hspace{1in}}

SS

N(S)N(S)

Thus, the graph contains no perfect matching.

Corollary 3.1.13. For k>0k>0, every kk-regular bipartite graph has a perfect matching.

Does the following bigraph have a perfect matching?

Since it is 33-regular, by Corollary 3.1.13...YES!

Example. A group of 50 pets and 50 people meet one day and they decide whether they are compatible. Each pair decide whether they are mutually compatible.

At the end, each person is compatible with 10 of the pets, and each pet is compatible with 10 of the people.

Is there a way to match all 50 people compatible pets?

Min-max Theorems

Definition 3.1.14. A vertex cover of a graph GG is a set QV(G)Q\subseteq V(G) that contains at least one endpoint of every edge. We say that the vertices in QQ cover E(G)E(G).

Example. In each of the following graphs, the blue vertices comprise a vertex cover:

blue

Theorem 3.1.16. If GG is a bipartite graph, then the maximum size of a matching in GG equals the minimum size of a vertex cover of GG.

This is an example of a min-max relation since it establishes the equivalence between a maximization problem and a minimization problem.

Theorem 3.1.16. If GG is a bipartite graph, then the maximum size of a matching in GG equals the minimum size of a vertex cover of GG.

  1. The blue edges form a maximum matching MM.
  2. A vertex cover QQ must include one endpoint of each of these edges.
  3. There might be more vertices, not incident with any edge in MM.

Extra vertex

\underbrace{\hspace{3in}}

One vertex in QQ for each edge in MM.

Proof. First, we show that if QQ is any vertex cover, and MM is a maximum matching, then QM|Q|\geq |M|. Therefore, a vertex cover of minimum size has at least as many vertices as the number of edges in a maximum matching.

Proof. Suppose XX and YY are the partite sets in GG. Let QQ be a vertex cover of minimum size.

  • Set R=QXandT=QYR = Q\cap X\quad\text{and}\quad T = Q\cap Y.
  • Let HH and HH' be the subgraphs induced by R(YT)R \cup (Y-T) and T(XR)T\cup (X-R), respectively.

Theorem 3.1.16. If GG is a bipartite graph, then the maximum size of a matching in GG equals the minimum size of a vertex cover of GG.

We'll use Hall's theorem to find a matching in HH that saturates RR and a matching in HH' that saturates TT.

Since Q=TRQ=T\cup R, together these matchings give a matching in GG of size Q|Q|.

Proof. For each SRS\subseteq R we consider NH(S)N_{H}(S).

Theorem 3.1.16. If GG is a bipartite graph, then the maximum size of a matching in GG equals the minimum size of a vertex cover of GG.

If NH(S)<S|N_{H}(S)|<|S|, then we could replace SS with NH(S)N_{H}(S) in QQ to obtain a smaller vertex cover.

The union of the matchings in HH and HH' is a matching with Q|Q| edges in it. \Box

Since QQ is minimum size, we see NH(S)S|N_{H}(S)|\geq |S|.

The same argument shows Hall's condition holds in HH'.

Independent Sets and Covers

Definition. The independence number of a graph is the maximum size of an independent set of vertices.

Is the independence number of a tree equal to the number of leaves?

Is the independence number of a tree \geq the number of leaves?

No!

No! Consider P2P_{2}

Is the independence number of a bipartite graph equal to the size of one of the partite sets?

No!

Definition 3.1.19. An edge cover of a graph GG is a set of edges such that every vertex of GG is incident to some edge of LL.

How many edges are in the smallest edge cover of the following graph?

5 edges!

Lemma 3.1.21. In a graph GG, a subset SV(G)S\subseteq V(G) is an independent set if and only if S\overline{S} is a vertex cover, and hence α(G)+β(G)=n(G)\alpha(G)+\beta(G) = n(G).

Theorem 3.1.22. If GG is a graph without isolated vertices, then α(G)+β(G)=n(G).\alpha'(G) + \beta'(G) = n(G).

Definition 3.1.20. 

  • α(G)\alpha(G) is the maximum size of an independent set in GG
  • α(G)\alpha'(G) is the maximum size of an matching in GG
  • β(G)\beta(G) is the minimum size of an vertex cover in GG
  • β(G)\beta'(G) is the minimum size of an edge cover in GG

Theorem 3.1.24. If GG is a bipartite graph without isolated vertices, then α(G)=β(G).\alpha(G) = \beta'(G).

Proof. We have the following equivalent statements:

  • SS is independent
  • every edge has at most one endpoint in SS
  • every edge has at least one endpoint in S\overline{S}.   \Box

Theorem 3.1.22. If GG is a graph without isolated vertices, then α(G)+β(G)=n(G).\alpha'(G) + \beta'(G) = n(G).

Definition 3.1.20. 

  • α(G)\alpha'(G) is the maximum size of an matching in GG
  • β(G)\beta'(G) is the minimum size of an edge cover in GG

Proof that α(G)+β(G)n(G)\alpha'(G)+\beta'(G)\leq n(G).

  • Let MM be a maximum matching in GG. We will construct an edge cover of size n(G)Mn(G)-|M|
  • For each vertex vv not saturated by MM, add to MM an edge incident with vv. This produces an edge cover, call it M~\tilde{M}
  • Each edge in MM covers two vertices, the rest cover exactly one, thus M~=M+(n(G)2M)=n(G)M.|\tilde{M}| = |M|+(n(G)-2|M|) = n(G) - |M|.
  • Thus β(G)M~=n(G)M=n(G)α(G).\beta'(G)\leq |\tilde{M}|=n(G)-|M| =n(G)-\alpha'(G).

Theorem 3.1.22. If GG is a graph without isolated vertices, then α(G)+β(G)=n(G).\alpha'(G) + \beta'(G) = n(G).

Definition 3.1.20. 

  • α(G)\alpha'(G) is the maximum size of an matching in GG
  • β(G)\beta'(G) is the minimum size of an edge cover in GG

Proof that α(G)+β(G)n(G)\alpha'(G)+\beta'(G)\geq n(G).

  • Suppose LL is a minimum edge cover in GG.
  • For an edge ee, if both of its endpoints are covered by edges in LL, then      eLe\notin L, since otherwise L{e}L-\{e\} would be a smaller edge cover.
  • Thus, the graph formed by the edges in LL contains no paths of length >2>2. It's a forest and each component is a star!
  • For each component, take one edge, this forms a matching L~\tilde{L}.
  • If kk is the number of components, then n(G)=L+kn(G) = |L|+k (each edge counts one leaf, but we also must count the central vertex in each star).
  • Thus, α(G)L~=k=n(G)L=n(G)β(G). \alpha'(G)\geq |\tilde{L}| = k = n(G)-|L| = n(G)-\beta'(G).\ \Box

Maximum Bipartite Matching

Augmenting Path Algorithm

{G - an X,Y-bigraphM - a matching in GU= verts in X unsat. by M\left\{\begin{array}{l}\text{\(G\) - an \(X,Y\)-bigraph}\\ \text{\(M\) - a matching in \(G\)}\\ \text{\(U=\) verts in \(X\) unsat. by \(M\)}\end{array}\right.

Inputs: 

Initialize: 

{S=UT=K=\left\{\begin{array}{l}S=U\\ \text{\(T=\varnothing\)}\\ K = \varnothing\end{array}\right.

Iteration: If K=SK = S then by the next theorem T(XS)T\cup (X-S) is a minimum cover, and MM is a maximum matching.

If KSK\subsetneq S, the select xSKx\in S-K. Go through each yN(x)y\in N(x) such that xyMxy\notin M.

  1.  If yy is unsaturated by MM: there's an MM-alt. path to from UU to xx, adding the edge xyxy gives an MM-augmenting path.
  2. If yy is sat. by MM, then wX\exists w\in X an MM-alternating path from UU to ww. Add ww to SS and yy to TT.

Note: SXS\subseteq X, TYT\subseteq Y and KSK\subseteq S is the "marked vertices".

After all yy's have been explored, add xx to KK.

Example.

We see x6y5Mx_{6}y_{5}\notin M but y5y_{5} is unsat. Since x6x_{6} is in SS, there is an MM-alternating path from UU to x6x_{6}, extend this path to y5y_{5} for an MM-augmenting path!

S={x1,x2,x3,x4,x5,x6}S=\{x_{1},x_{2},x_{3},x_{4},x_{5},x_{6}\}

T={y1,y2,y3}T=\{y_{1},y_{2},y_{3}\}

K={x1,x2,x3,x4,x5}K=\{x_{1},x_{2},x_{3},x_{4},x_{5}\}

S={x1,x2,x3,x4,x5}S=\{x_{1},x_{2},x_{3},x_{4},x_{5}\}

T={y1,y2}T=\{y_{1},y_{2}\}

K={x1,x2,x3,x4}K=\{x_{1},x_{2},x_{3},x_{4}\}

S={x1,x2,x3,x4,x5}S=\{x_{1},x_{2},x_{3},x_{4},x_{5}\}

T={y1,y2}T=\{y_{1},y_{2}\}

K={x1,x2,x3}K=\{x_{1},x_{2},x_{3}\}

S={x1,x2,x3,x4}S=\{x_{1},x_{2},x_{3},x_{4}\}

T={y1}T=\{y_{1}\}

K={x1,x2}K=\{x_{1},x_{2}\}

S={x1,x2,x3,x4}S=\{x_{1},x_{2},x_{3},x_{4}\}

T={y1}T=\{y_{1}\}

K={x1}K=\{x_{1}\}

S=U={x1,x2,x3}S=U=\{x_{1},x_{2},x_{3}\}

T=T=\varnothing

K=K=\varnothing

Example.

A bigger matching!

Theorem 3.2.2. Repeatedly applying the Augmenting Path Algorithm to a bipartite graph produces a matching and a vertex cover of equal size.

Theorem 3.1.16. If GG is a bipartite graph, then the maximum size of a matching in GG equals the minimum size of a vertex cover of GG.

Recall the König-Egerváry Theorem:

Hence, the Augmenting Path Algorithm gives a maximum matching and a minimum vertex cover in a bipartite graph.

Connectivity

Definition 4.1.1. 

  • A separating set or vertex cut of a graph GG is a set SV(G)S\subseteq V(G) such that GSG-S has more than one component.
  • The connectivity of GG, written κ(G)\kappa(G), is the minimum size of a separating set, or n(G)1n(G)-1 if no separating set exists.
  • A graph is kk-connected if its connectivity is at least kk.

Example. Consider the complete graph KnK_{n}. Deleting a vertex results in Kn1K_{n-1}, which is also connected. So KnK_{n} has no separating set.

Thus, we say κ(Kn)=n1\kappa(K_{n}) = n-1.

Example. What about Km,nK_{m,n}?

If XX and YY are a bipartition of the graph, then any separating set must contain either XX or YY, thus, κ(Km,n)=min{m,n}\kappa(K_{m,n}) = \min\{m,n\}.

In this section all graphs have no loops.

Lemma. κ(G)δ(G)\kappa(G)\leq \delta(G)

Proof. Let vV(G)v\in V(G) be a vertex with degree δ(G)\delta(G). Clearly NG(v)N_{G}(v) is a separating set or GNG(V)G-N_{G}(V) is a single vertex. Thus κ(G)NG(v)=δ(G)\kappa(G)\leq |N_{G}(v)|=\delta(G). \Box

Given a graph GG on nn vertices which is kk-connected, how many edges must GG have?

Clearly, we must have δ(G)k\delta(G)\geq k, and hence every vertex of GG must have degree k\geq k.

By the degree-sum formula:

e(G)=12vV(G)d(v)12nk.e(G) = \frac{1}{2}\sum_{v\in V(G)}d(v)\geq \frac{1}{2}nk.

Since e(G)e(G) is an integer, we have the following:

Proposition. If GG is a kk-connected graph on nn vertices, then GG has at least nk/2\lceil nk/2\rceil edges.

Harary graphs

Definition (see Example 4.1.4.). Given 1<k<n1<k<n the graph Hk,nH_{k,n} has nn vertices placed equidistant around a circle, each vertex is connected to the k/2\lfloor k/2\rfloor vertices closest to it in each direction around the circle.

If kk is odd and nn is even, add an edge between antipodal vertices as well.

If kk is odd and nn is odd, label the vertices {0,1,2,,n}\{0,1,2,\ldots,n\}, and add an edge between vertices ii and i+(n1)/2i+(n-1)/2 for i=0,1,,(n1)/2i=0,1,\ldots,(n-1)/2.

The graphs H4,8H_{4,8}, H5,8H_{5,8}, and H5,9H_{5,9} are shown here:

Theorem 4.1.5. κ(Hk,n)=k\kappa(H_{k,n}) = k, and hence the minimum number of edges in a kk-connected graph on nn vertices is kn/2\lceil kn/2\rceil.

Harary graphs

Theorem 4.1.5. κ(Hk,n)=k\kappa(H_{k,n}) = k, and hence the minimum number of edges in a kk-connected graph on nn vertices is kn/2\lceil kn/2\rceil.

  • Suppose SV(G)S\subseteq V(G) with S<k|S|<k
  • We'll find a path from between any two vertices in GSG-S
  • Consider the two paths around the circle
  • One path contains >k/2>k/2 internal vertices not in SS.
  • Each of these vertices is adjacent, so we have a path

Since δ(Hk,n)=k\delta(H_{k,n}) = k we see that κ(Hk,n)k\kappa(H_{k,n})\leq k.

H4,10H_{4,10} is shown here:

Similar proofs work with kk is odd

H6,10H_{6,10}

Definition 4.1.7.

  • A disconnecting set of edges is a set FE(G)F\subseteq E(G) such that GFG-F has more than one component.
  • A graph is kk-edge-connected if every disconnecting set has at least kk edges.
  • The edge-connectivity of GG, denoted κ(G)\kappa'(G), is the is minimum size of a disconnecting set.
  • Given S,TV(G)S,T\subseteq V(G), we write [S,T][S,T] for the set of edges having one endpoint in SS and one endpoint in TT
  • An edge cut is an edge set of the form [S,S][S,\overline{S}], where SS\neq\varnothing and SV(G)S\subsetneq V(G).

Disconnecting set

Not an edge cut

Edge cut

Disconnecting set

Disconnecting set

Not an edge cut

Note: A minimal disconnecting set is an edge cut.

Theorem 4.1.9. If GG is a simple graph, then

κ(G)κ(G)δ(G).\kappa(G)\leq \kappa'(G)\leq \delta(G).

Given disconnecting set FE(G)F\subseteq E(G), we can delete one endpoint for each edge in FF to disconnect the graph, right?

We conclude there is a vertex cut SS with S=F|S|=|F|, and thus κ(G)κ(G)\kappa(G)\leq \kappa'(G), right?

Disconnecting sets vs. Separating sets

The edges in blue are a disconnecting set.

If we delete the red vertices...

the graph is still connected.

So, is it true that κ(G)κ(G)\kappa(G)\leq \kappa'(G)?

Theorem 4.1.9. If GG is a simple graph, then

κ(G)κ(G)δ(G).\kappa(G)\leq \kappa'(G)\leq \delta(G).

Disconnecting sets vs. Separating sets

Proof.  The set of edges incident with a vertex of degree δ(G)\delta(G) is an edge cut, thus κ(G)δ(G)\kappa'(G)\leq \delta(G).

Thus, we must show κ(G)κ(G)\kappa(G)\leq \kappa'(G):

  • First note that κ(G)n(G)1\kappa(G)\leq n(G)-1.
  • Let [S,S][S,\overline{S}] be a smallest edge cut.
  • If every vertex of SS is adjacent to every vertex of S\overline{S}, then κ(G)=[S,S]=SSn(G)1κ(G).\kappa'(G) = \big|[S,\overline{S}]\big| = |S||\overline{S}|\geq n(G)-1\geq \kappa(G).
  • Otherwise, take xSx\in S and ySy\in\overline{S} with x↮yx\not\leftrightarrow y.
  • Let TT be vertices in S\overline{S} adj. to xx and in S{x}S-\{x\} adj. to S\overline{S}.
  • Choose one edge for each vertex in TT
  • Any x,yx,y-path has a vert. in TT (red vertex)
  • TT is a separating set
  • blue edges [S,S]\subseteq [S,\overline{S}]
  • κ(G)=[S,S]Tκ(G)\kappa'(G) = [S,\overline{S}]\geq |T|\geq \kappa(G)

Vertex Coloring

How many colors do we need so that every bordering territory is a different color?

How many colors do we need so that every bordering territory is a different color?

Four colors

Its a graph theory problem!

Its a graph theory problem!

Its a graph theory problem!

How many "colors" do we need so that we can color each vertex and no adjacent vertices are the same color?

Definition 5.1.1.

  • A kk-coloring of a graph GG is a labeling f:V(G)Sf: V(G)\to S, where S=k|S| = k.
  • The labels are colors; the vertices of one color form a color class.
  • A kk-coloring is proper if adjacent vertices have different labels.
  • A graph is kk-colorable if it has a proper kk-coloring.
  • The chromatic number χ(G)\chi(G) is the least kk such that GG is kk-colorable.

Proposition. A graph is 22-colorable if and only if it is bipartite.

Proposition. C5C_{5} is not 22-colorable.

Proof. Assume toward a contradiction there exists a proper 22-coloring f : V(G){1,2}f~:~V(G)\to \{1,2\}. Label the vertices {0,1,2,3,4}\{0,1,2,3,4\} such that ii and jj are adjacent if and only if ij±1i-j\equiv \pm 1 (mod 55).  By the pigeonhole principle, at least 33 vertices are labeled the same color. Let these vertices be a,b,ca,b,c where 0a<b<c40\leq a<b<c\leq 4. Note that ba+2b\geq a+2 and cb+2c\geq b+2. Therefore 4ca+444\geq c\geq a+4\geq 4. We conclude a=0a=0 and c=4c=4, and since 0410-4\equiv 1 (mod 55), we see aca\leftrightarrow c. Thus ff is not a proper coloring, which is a contradiction. \Box

The US map has a chromatic number of 44

Definition 5.1.6. The clique number of a graph GG, written ω(G)\omega(G), is the maximum size of a set of pairwise adjacent vertices (a clique) in GG.

Theorem 5.1.7. For every graph GG,

χ(G)ω(G)andχ(G)n(G)/α(G).\chi(G)\geq \omega(G) \quad\text{and}\quad\chi(G)\geq n(G)/\alpha(G).

Theorem 5.1.13. χ(G)Δ(G)+1\chi(G)\leq \Delta(G)+1.

Proof. Label the vertices v1,v2,,vnv_{1},v_{2},\ldots,v_{n}.  In order, label each vertex viv_{i} with the smallest label not used on a neighbor with an index smaller than ii (this is just the greedy algorithm). One will never use more than Δ(G)+1\Delta(G)+1 colors. \Box

Bounds on the chromatic number

Proof. A proper coloring of a clique on kk vertices requires kk colors. Thus, the first inequality is clear.

Each color class is an independent set. Let V1,,Vχ(G)V_{1},\ldots,V_{\chi(G)} be the color classes of a minimum proper coloring, then Viα(G)|V_{i}|\leq \alpha(G), and χ(G)α(G)V1+V2++Vχ(G)=n(G). \chi(G)\alpha(G)\geq |V_{1}|+|V_{2}|+\cdots+|V_{\chi(G)}| = n(G).\ \Box

Example. Consider the join of C5C_{5} and K3K_{3}, which is denoted C5K3C_{5}\vee K_{3} (see Definition 3.3.6)

Note that χ(C5)=3\chi(C_{5})=3 and χ(K3)=3\chi(K_{3})=3

Since C5C_{5} contains no triangles, we see that ω(C5K3)=5\omega(C_{5}\vee K_{3}) = 5.

We cannot use any of the same colors in C5C_{5} and K3K_{3}, thus χ(C5K3)=6\chi(C_{5}\vee K_{3}) =6.

A better bound

Theorem 5.1.13. χ(G)Δ(G)+1\chi(G)\leq \Delta(G)+1.

Proposition 5.1.14. If a graph GG has degree sequence d1d2dn,d_{1}\geq d_{2}\geq\cdots\geq d_{n},

then χ(G)1+maximin{di,i1}\chi(G)\leq 1+\max_{i}\min\{d_{i},i-1\}.

Proof. Use the greedy algorithm on the vertices, but listed in nonincreasing order by degree. \Box

Example. Consider the graph GG below:

  • Δ(G)=5\Delta(G) = 5, so Theorem 5.1.13 gives χ(G)6\chi(G)\leq 6.
  • The degree sequence is 5,3,3,3,3,35,3,3,3,3,3, so Proposition 5.1.14 gives χ(G)4\chi(G)\leq 4.

Planar graphs

Example 6.1.1. Alice, Bob, and Chris each need to hook up gas, water, and electricity to their homes. The hookups don't need to be straight, but the lines cannot cross. Can it be done?

In other words, can we draw the graph of K3,3K_{3,3} in the plane without the edges crossing?

We still need to hook Chris up to gas!

Proposition 6.1.2. The graphs K5K_{5} and K3,3K_{3,3} cannot be drawn in the plane without edges crossing.

Proof. First, consider K3,3K_{3,3}:

  • Suppose K3,3K_{3,3} can be drawn in the plane without edges crossing. 
  • Let CC be a 66-cycle in K3,3K_{3,3}. (CC is in blue, the partite sets are red and black vertices)
  • The rest of the edges must be entirely within the curve formed by CC or entirely outside it.
  • Two of the three remaining edges must be both inside or both outside.
  • If two are inside, then the first cuts the inside into two pieces. The endpoints of the remaining edge are in different pieces. 
  • Similarly, if there are two edges outside.

The proof that K5K_{5} cannot be drawn without crossings is similar.

Definition 6.1.4. 

  • A graph is planar if it has a drawing without crossings.
  • Such a drawing is a planar embedding of GG.
  • A plane graph is a particular planar embedding of a planar graph.
  • A curve is closed if its first and last points are the same.
  • It is simple if it has no repeated points other than possibly the first and last.

Definition 5.2.19. A subdivision  of GG is a graph obtained by successively replacing edges with paths. That is, an edge xyE(G)xy\in E(G) is replaced with the path x,z1,,zn,yx,z_{1},\ldots,z_{n},y, where the new vertices z1,,znz_{1},\ldots,z_{n} are only adjacent to the adjacent vertices in the path.

GG

subdivision of GG

Characterization of Planar graphs

Proposition 6.2.1. If a graph GG has a subgraph that is a subdivision of K5K_{5} or K3,3K_{3,3}, then it is nonplanar.

Theorem 6.2.2. A graph is planar if and only if it does not contain a subdivision of K5K_{5} or K3,3K_{3,3}.

Proof. If a subdivision of a graph is planar, then removing degree 22 vertices and replacing them with edges would result in a planar graph. Thus, if a subdivision of K5K_{5} or K3,3K_{3,3} were planar, then K5K_{5} or K3,3K_{3,3} would be planar, which they are not. \Box

Characterization of Planar graphs

Theorem 6.2.2. A graph is planar if and only if it does not contain a subdivision of K5K_{5} or K3,3K_{3,3}.

Proof idea:

  • A minimal nonplanar graph (MNG) is a nonplanar graph such that every proper subgraph is planar. (Examples?)
  • Deleting a vertex or edge make an MNG planar.
  • Forests are planar, so nonplanar graphs contain a cycle \(C\).
  • WLOG \(C\) has \(\geq 5\) vertices.
  • Analyze the "bridges":
  • Find a subdivision of \(K_{3,3}\) or \(K_{5}\).

Theorem 6.1.21 (Euler's Formula). If a connected plane graph GG has exactly nn vertices, ee edges, and ff faces, then ne+f=2n-e+f=2.

Faces of a planar graph and Euler's formula

Definition 6.1.5.

  • An open set in the plane is a set UR2U\subseteq\mathbb{R}^{2} such that for every pUp\in U, there is a small distance ε\varepsilon such that all points with in ε\varepsilon from pp are also in UU.
  • A region is an open set that contains a continuous path between any two points in the set.
  • The faces of a plane graph are the maximal regions of the plane that contain no point used in the embedding.

How many faces?

Don't forget the unbounded face

4

X

5

Theorem 6.1.21 (Euler's Formula). If a connected plane graph GG has exactly nn vertices, ee edges, and ff faces, then ne+f=2n-e+f=2.

Faces of a planar graph and Euler's formula

Proof. Use induction on nn:

  • Basis step (n=1n=1): GG is just a bunch of loops.
  • One face for each edge, plus the "unbounded face", thus f=e+1f=e+1.

Inductive step: Suppose GG has n>1n>1 vertices, ee edges, and ff faces.

  • Since GG is connected some edge is not a loop.
  • Contract the edge.
  • The new graph has n1n-1, vertices e1e-1 edges, and ff faces.
  • By the inductive assumption

2=(n1)(e1)+f=ne+f. 2 = (n-1)-(e-1)+f = n-e+f.\ \Box

Theorem 6.1.23. If GG is a simple planar graph with at least 33 vertices, then e(G)3n(G)6e(G)\leq 3n(G)-6. If GG is triangle free, then e(G)2n(G)4e(G)\leq 2n(G)-4.

An application of Euler's Formula

Proof. Let F1,,FfF_{1},\ldots,F_{f} be the faces of GG. Let (Fi)\ell(F_{i}) be the number of edges on the boundary of face FiF_{i}. Each edge is counted twice, and thus 2e(G)=i=1f(Fi).2e(G) = \sum_{i=1}^{f}\ell(F_{i}).

Since GG is simple and n(G)3n(G)\geq 3, each face has at least 33 edges on it's boundary, and thus 2e(G)3f.2e(G)\geq 3f.

By Euler's formula f=2n(G)+e(G)f = 2-n(G)+e(G), substituting this in the above inequality gives 

2e(G)3(2n(G)+e(G))=63n(G)+3e(G).2e(G)\geq 3\big(2-n(G)+e(G)\big) = 6-3n(G)+3e(G).

If GG is triangle free, then 2e(G)4f2e(G) \geq 4f, and hence 2e(G)4(2n(G)+e(G))=84n(G)+4e(G). 2e(G)\geq 4\big(2-n(G)+e(G)\big) = 8-4n(G)+4e(G).\ \Box

This face has 6 edges on its boundary

Theorem 6.1.23. If GG is a simple planar graph with at least 33 vertices, then e(G)3n(G)6e(G)\leq 3n(G)-6. If GG is triangle free, then e(G)2n(G)4e(G)\leq 2n(G)-4.

An application of Euler's Formula

Example. Note e(K5)=10>9=356=3n(K5)6,e(K_{5}) = 10>9=3\cdot 5-6 = 3n(K_{5})-6, which implies K5K_{5} is not planar.

Similarly e(K3,3)=9>8=264=2n(K3,3)4,e(K_{3,3})=9>8 = 2\cdot 6-4 = 2n(K_{3,3}) - 4, and since K3,3K_{3,3} is triangle free, K3,3K_{3,3} is not planar.

Theorem 6.1.23. If GG is a simple planar graph with at least 33 vertices, then e(G)3n(G)6e(G)\leq 3n(G)-6. If GG is triangle free, then e(G)2n(G)4e(G)\leq 2n(G)-4.

An application of Euler's Formula

Corollary. If GG is simple and planar, then δ(G)5\delta(G)\leq 5.

Proof. Assume toward a contradiction that δ(G)>5\delta(G)>5. For each vV(G)v\in V(G) we have d(v)6d(v)\geq 6. By the degree-sum formula we have 2e(G)6n(G).2e(G) \geq 6n(G).

By Theorem 6.1.23 3n(G)e(G)3n(G)6.3n(G)\leq e(G)\leq 3n(G)-6.

This is a contradiction, and shows δ(G)5\delta(G)\leq 5. \Box

The Five color theorem

Theorem 6.3.1. Every planar graph is 55-colorable.

Proof. We will use induction on n(G)n(G). For the basis step we note that any graph with n(G)5n(G)\leq 5 is 55-colorable.

Next, suppose GG is a planar graph with n(G)>5n(G)>5:

  • By the previous corollary, there is a vertex v0V(G)v_{0}\in V(G) with d(v0)5d(v_{0})\leq 5.
  • By the inductive hypothesis, the graph Gv0G-v_{0} is 55-colorable. 
  • If d(v0)<5d(v_{0})<5, then we're done.
  • Label the neighbors v1,v2,v3,v4,v5v_{1},v_{2},v_{3},v_{4},v_{5} (In order!)
  • In the 555-coloring of G−v0G-v_{0}\(G-v_{0}\) each of these vertices has a different color, so suppose \(v_{i}\) is colored iii.
  • Consider the subgraph \(G_{i,j}\) induced by the vertices colored iii and jjj.
  • If \(v_{i}\) and \(v_{j}\) are in different components, we can switch colors \(i\) and \(j\) in one component.
  • Now, suppose that for each pair (i,j)(i,j), the vertices viv_{i} and vjv_{j} are in the same component of Gi,jG_{i,j}.
  • Let Pi,jP_{i,j} be a path from viv_{i} to vjv_{j} in Gi,jG_{i,j}
  • Since we listed the vertices in order, the path P1,3P_{1,3} cuts off v2v_{2} from v4v_{4}
  • More precisely, form the cycle by adding v0v_{0} to P1,3P_{1,3}. This forms a face.
  • By the ordering of the vertices v2v_{2} and v4v_{4} cannot both be inside or outside the face.
  • Thus, the path P2,4P_{2,4} must cross P1,3P_{1,3}.
  • This contradicts the assumption that GG is planar

P1,3P_{1,3}

  • Thus there's a pair (i,j)(i,j) such that viv_{i} and vjv_{j} must be in different components of Gi,jG_{i,j}.
  • Switching colors on one of those components frees up a color to color v0v_{0}.
  • Thus, we have the desired 55-coloring. \Box

The four color theorem

Theorem 6.3.6. Every planar graph is 44-colorable.

Proof...

An application graph coloring

A wedding has nn guests, but some refuse to sit at the same table.

 

How many tables are needed so that no one is sitting at a table with someone they hate?

Consider the graph on nn vertices, labeled 1,2,3,,n1,2,3,\ldots,n.

 

Draw an edge ijij if guest ii refuses to sit with guest jj.

The chromatic number of this graph is the minimum number of tables needed.

Minimal

By John Jasper

Minimal

  • 866