Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
54 views42 pages

Graph Theory for Math Students

Uploaded by

Smruti Somyak
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
54 views42 pages

Graph Theory for Math Students

Uploaded by

Smruti Somyak
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 42

Chapter 1.

Introduction to Graph Theory


(Chapters 1.1, 1.3–1.6, Appendices A.2–A.3)

Prof. Tesler

Math 154
Winter 2020

Prof. Tesler Ch. 1. Intro to Graph Theory Math 154 / Winter 2020 1 / 42
Related courses

Math 184: Enumerative combinatorics. For two quarters of


Combinatorics, take Math 154 and 184 in either order.

Math 158 and 188: More advanced/theoretical than Math 154 and
184. Recommended only for students with A/A+ in Math 109 or
Math 31CH.

CSE 101: Has some overlap with Math 154, but mostly different.

Prof. Tesler Ch. 1. Intro to Graph Theory Math 154 / Winter 2020 2 / 42
Graphs
Computer network Friends
PC1
Irene
Gina Harry
Dan
PC2
Modem ISP Remote server Emily
Frank
PC3 Cindy

Printer
Hard drive Amy Bob

We have a network of items and connections between them. Examples:


Telephone networks, computer networks
Transportation networks (bus/subway/train/plane)
Social networks
Family trees, evolutionary trees
Molecular graphs (atoms and chemical bonds)
Various data structures in Computer Science
Prof. Tesler Ch. 1. Intro to Graph Theory Math 154 / Winter 2020 3 / 42
Graphs
G: 1

5 2

4 3

The dots are called vertices or nodes (singular: vertex, node)


V = V(G) = set of vertices = {1, 2, 3, 4, 5}
The connections between vertices are called edges.
Represent an edge as a set {i, j} of two vertices.
E.g., the edge between 2 and 5 is {2, 5} = {5, 2}.

E = E(G) = set of edges = {1, 2} , {2, 3} , {2, 5} , {3, 4} , {3, 5} , {4, 5}
Prof. Tesler Ch. 1. Intro to Graph Theory Math 154 / Winter 2020 4 / 42
Notation for edges

G: 1

5 2

4 3

Our book sometimes abbreviates edges as uv instead of {u, v}.


In that notation, {2, 5} becomes 25.
Avoid that notation unless there is no chance of ambiguity. E.g., if
there were 12 vertices, would 112 mean {1, 12} or {11, 2}?

Prof. Tesler Ch. 1. Intro to Graph Theory Math 154 / Winter 2020 5 / 42
Adjacencies
G: 1

5 2

4 3

Vertices connected by an edge are called adjacent.


Vertices 1 and 2 are adjacent, but 1 and 5 are not.
The neighborhood of a vertex v is the set of all vertices adjacent
to v. It’s denoted NG (v):
NG (2) = {1, 3, 5}
A vertex v is incident with an edge e when v ∈ e.
Vertex 2 is incident with edges {1, 2}, {2, 5}, and {2, 3}.
Prof. Tesler Ch. 1. Intro to Graph Theory Math 154 / Winter 2020 6 / 42
Simple graphs
1

5 2

4 3
A simple graph is G = (V, E):
V is the set of vertices.
It can be any set; {1, . . . , n} is just an example.
E is the set of edges, of form {u, v}, where u, v ∈ V and u , v.
Every pair of vertices has either 0 or 1 edges between them.
Usually, graph alone refers to simple graph, not to other kinds of
graphs that we will consider.
Prof. Tesler Ch. 1. Intro to Graph Theory Math 154 / Winter 2020 7 / 42
Drawings of graphs
1 4

2
5 2

1
4 3 5 3

Both graph drawings have

V = {1, 2, 3, 4, 5}

E = {1, 2} , {2, 3} , {2, 5} , {3, 4} , {3, 5} , {4, 5}

Both drawings represent the same graph (even though they look
different) since they have the same vertices and edges in the
abstract representation G = (V, E).

Prof. Tesler Ch. 1. Intro to Graph Theory Math 154 / Winter 2020 8 / 42
Degrees
1

5 2

4 3

The degree of a vertex is the number of edges on it:


d(1) = 1 d(2) = 3 d(3) = 3 d(4) = 2 d(5) = 3
The degree sequence is to list the degrees in descending order:
3, 3, 3, 2, 1
The minimum degree is denoted δ(G). δ(G) = 1
The maximum degree is denoted ∆(G). ∆(G) = 3
Prof. Tesler Ch. 1. Intro to Graph Theory Math 154 / Winter 2020 9 / 42
Degrees

5 2

4 3

d(1) = 1 d(2) = 3 d(3) = 3 d(4) = 2 d(5) = 3

Sum of degrees = 1 + 3 + 3 + 2 + 3 = 12
Number of edges = 6

Prof. Tesler Ch. 1. Intro to Graph Theory Math 154 / Winter 2020 10 / 42
The Handshaking Lemma
Lemma
The sum of degrees of all vertices
X is twice the number of edges:
d(v) = 2 |E|
v∈V

Proof.
Let S = { (v, e) : v ∈ V, e ∈ E, vertex v is in edge e }
Count |S| by vertices: Each vertex
X v is contained in d(v) edges, so
|S| = d(v).
v∈V

Count |S| by edges: Each edge


X has two vertices, so
|S| = 2 = 2 |E| .
e∈E

Equating the two formulas for |S| gives the result. This is a
common method in Combinatorics called counting in two ways.
Prof. Tesler Ch. 1. Intro to Graph Theory Math 154 / Winter 2020 11 / 42
Number of vertices of odd degree
1

d(1) = 1
d(2) = 3
5 2 d(3) = 3
d(4) = 2
d(5) = 3
4 3

Lemma
For any graph, the number of vertices of odd degree is even.
E.g., this example has four vertices of odd degree.

Proof.
Since the degrees are integers and their sum is even (2|E|), the
number of odd numbers in this sum is even. 

Prof. Tesler Ch. 1. Intro to Graph Theory Math 154 / Winter 2020 12 / 42
Multigraphs and pseudographs
a h
1
2

g f b
c
4 d 3
e

Some networks have multiple edges between two vertices.


Notation {3, 4} is ambiguous, so write labels on the edges: c, d, e.
There can be an edge from a vertex to itself, called a loop (such
as h above). A loop has one vertex, so {2, 2} = {2}.
A simple graph does not have multiple edges or loops.
Our book uses multigraph if loops aren’t allowed and pseudograph
if loops are allowed (whether or not they actually occur).
Other books call it a multigraph [with / without] loops allowed.
Prof. Tesler Ch. 1. Intro to Graph Theory Math 154 / Winter 2020 13 / 42
Multigraphs and pseudographs

a h
1
2

g f b
c
4 d 3
e

Computer network with multiple connections between machines.

Transportation network with multiple routes between stations.

But: A graph of Facebook friends is a simple graph. It does not


have multiple edges, since you’re either friends or you’re not. Also,
you cannot be your own Facebook friend, so no loops.

Prof. Tesler Ch. 1. Intro to Graph Theory Math 154 / Winter 2020 14 / 42
Multigraphs and pseudographs

a h
1 V = {1, 2, 3, 4}
2 E = {a, b, c, d, e, f , g, h}
g f b φ(a) = {1, 2}
c φ(b) = {2, 3}
4 d 3 φ(c) = φ(d) = φ(e) = {3, 4}
φ(f ) = φ(g) = {1, 4}
e φ(h) = {2}
Represent a multigraph or pseudograph as G = (V, E, φ), where:
V is the set of vertices. It can be any set.
E is the set of edge labels (with a unique label for each edge).
φ is a function from the edge labels to the pairs of vertices:

φ : E → {u, v} : u, v ∈ V
φ(L) = {u, v} means the edge with label L connects u and v.

Prof. Tesler Ch. 1. Intro to Graph Theory Math 154 / Winter 2020 15 / 42
Adjacency matrix of a multigraph or pseudograph
Let n = |V|
The adjacency matrix is an n × n matrix A = (auv ).
Entry auv is the number of edges between vertices u, v ∈ V.
a h 1 2 3 4
1  
2 1 0 1 0 2
g f b 2 1 2 1 0
A=  
c 3 0 1 0 3
4 3 4 2 0 3 0
d
e

auv = avu for all vertices u, v. Thus, A is a symmetric matrix (A = AT ).


The sum of entries in row u is the degree of u.
Technicality: A loop on vertex v counts as
1 edge in E,
degree 2 in d(v) and in avv (it touches vertex v twice),
P
With these rules, graphs with loops also satisfy v∈V d(v) = 2 |E|.
Prof. Tesler Ch. 1. Intro to Graph Theory Math 154 / Winter 2020 16 / 42
Adjacency matrix of a simple graph

In a simple graph:
All entries of the adjacency matrix are 0 or 1 (since there either is
or is not an edge between each pair of vertices).
The diagonal is all 0’s (since there are no loops).
1 1 2 3 4 5
 
1 0 1 0 0 0
2 1
 0 1 0 1
5 2 A= 3 0
 1 0 1 1
4 0 0 1 0 1
4 3 5 0 1 1 1 0

Prof. Tesler Ch. 1. Intro to Graph Theory Math 154 / Winter 2020 17 / 42
Directed graph (a.k.a. digraph)
1

5 2

4 3

A directed edge (also called an arc) is a connection with a


direction.
One-way transportation routes.
Broadcast and satellite TV / radio are one-way connections from
the broadcaster to your antenna.
Familiy tree: parent → child

Prof. Tesler Ch. 1. Intro to Graph Theory Math 154 / Winter 2020 18 / 42
Directed graph (a.k.a. digraph)
1

V = {1, 2, 3, 4, 5}
5 2
E = {(1, 5), (2, 1), (3, 2), (3, 4), (4, 5), (5, 2), (5, 4)}

4 3

Represent a directed edge u → v by an ordered pair (u, v).


E.g., 3 → 2 is (3, 2), but we do not have 2 → 3, which is (2, 3).

A directed graph is simple if each (u, v) occurs at most once, and


there are no loops.
Represent it as G = (V, E) or G ~ = (V, ~E).
V is a set of vertices. It can be any set.
E is the set of edges. Each edge has form (u, v) with u, v ∈ V, u , v.
It is permissible to have both (4, 5) and (5, 4), since they are distinct.

Prof. Tesler Ch. 1. Intro to Graph Theory Math 154 / Winter 2020 19 / 42
Degrees in a directed graph
1

5 2

4 3

For a vertex v, the indegree d− (v) is the # edges going into v, and
the outdegree d+ (v) is the # edges going out from v.
v indegree(v) outdegree(v)
1 1 1
2 2 1
3 0 2
4 2 1
5 2 2
Total 7 7
Sum of indegrees = sum of outdegrees = total # edges = |E|
Prof. Tesler Ch. 1. Intro to Graph Theory Math 154 / Winter 2020 20 / 42
Neighborhoods in a directed graph

5 2

4 3

Out-neighborhood N + (v) = {u : (v, u) ∈ E}


In-neighborhood N − (v) = {u : (u, v) ∈ E}
Example: N + (2) = {1} N − (2) = {3, 5}.
For a simple directed graph:
outdegree d+ (v) = |N + (v)|
indegree d− (v) = |N − (v)|

Prof. Tesler Ch. 1. Intro to Graph Theory Math 154 / Winter 2020 21 / 42
Adjacency matrix of a directed graph

1
1 2 3 4 5
1
 
0 0 0 0 1
5 2 2 1 0 0 0 0
A= 3 0 1 0 1 0
4 0 0 0 0 1
 
4 3 5 0 1 0 1 0

Let n = |V|
The adjacency matrix of a directed graph is an n × n matrix
A = (auv ) with u, v ∈ V.
Entry auv is the number of edges directed from u to v.
auv and avu are not necessarily equal, so A is usually not symmetric.
The sum of entries in row u is the outdegree of u.
The sum of entries in column v is the indegree of v.
Prof. Tesler Ch. 1. Intro to Graph Theory Math 154 / Winter 2020 22 / 42
Directed multigraph

c
1 2 3 4 5
b a
1
 
e
1 0 0 0 1
5 2 2 1 0 0 0 0
f A= 3 0 1 0 1 0
h
i d 4

0 0 0 0 1

g 5 0 2 0 1 0
4 3

V = {1, . . . , 5} φ(a) = (2, 1) φ(d) = (3, 2) φ(g) = (3, 4)


E = {a, . . . , i} φ(b) = (1, 5) φ(e) = (5, 2) φ(h) = (4, 5)
φ(c) = (1, 1) φ(f ) = (5, 2) φ(i) = (5, 4)

A directed multigraph may have loops and multiple edges.


Represent it as G = (V, E, φ).
Name the edges with labels. Let E be the set of the labels.
φ(L) = (u, v) means the edge with label L goes from u to v.
Technicality: A loop counts once in indegree, outdegree, and avv .
Prof. Tesler Ch. 1. Intro to Graph Theory Math 154 / Winter 2020 23 / 42
Isomorphic graphs
G 1 H 40

a 20
b n m
c j k
5 2
i h
g e d 10
4 f 3 50 l 30

Graphs G and H are isomorphic if there are bijections


ν : V(G) → V(H) and  : E(G) → E(H) that are compatible:
Undirected: Every edge e = {x, y} in G has (e) = {ν(x), ν(y)} in H
Directed: Every edge e = (x, y) in G has (e) = (ν(x), ν(y)) in H
The graphs are equivalent up to renaming the vertices and edges.
One solution (there are others):
Vertices: ν(1) = 10 ν(2) = 20 ν(3) = 30 ν(4) = 40 ν(5) = 50
Edges: (a) = h (b) = i (c) = j (d) = k (e) = l
(f ) = m (g) = n
Compatibility: a = {1, 2} and (a) = h = {10, 20} = {ν(1), ν(2)}
. . . (Need to check all edges) . . .
Prof. Tesler Ch. 1. Intro to Graph Theory Math 154 / Winter 2020 24 / 42
Unlabeled graphs

In an unlabeled graph, omit the labels on the vertices and edges.

If labeled graphs are isomorphic, then removing the labels gives


equivalent unlabeled graphs.

This simplifies some problems by reducing the number of graphs


(e.g., 1044 unlabeled simple graphs on 7 vertices vs. 221 labeled).

Prof. Tesler Ch. 1. Intro to Graph Theory Math 154 / Winter 2020 25 / 42
Application: Polyhedra

http://commons.wikimedia.org/wiki/File:Dodecahedron.svg

A dodecahedron is a 3D shape with 20 vertices, 30 edges, and 12


pentagonal faces.
Unlabeled graphs are used in studying other polyhedra, polygons
and tilings in 2D, and other geometric configurations. We can treat
them as unlabeled, or pick one labeling if needed.

Prof. Tesler Ch. 1. Intro to Graph Theory Math 154 / Winter 2020 26 / 42
Basic combinatorial counting methods
See appendix. Covered in more detail in Math 184.

Prof. Tesler Ch. 1. Intro to Graph Theory Math 154 / Winter 2020 27 / 42
Multiplication rule

Example
How many outcomes (x, y, z) are possible, where
x = roll of a 6-sided die;
y = value of a coin flip;
z = card drawn from a 52 card deck?
(6 choices of x) × (2 choices of y) × (52 choices of z) = 624

Multiplication rule
The number of sequences (x1 , x2 , . . . , xk ) where there are
n1 choices of x1 , n2 choices of x2 , . . . , nk choices of xk
is n1 · n2 · · · nk .
This assumes the number of choices of xi is a constant ni that doesn’t
depend on the other choices.

Prof. Tesler Ch. 1. Intro to Graph Theory Math 154 / Winter 2020 28 / 42
Number of subsets of an n-element set

How many subsets does an n element set have?

We’ll use {1, 2, . . . , n}. Make a sequence of decisions:


Include 1 or not? 2? 3? · · · n?
Total: (2 choices)(2 choices) · · · (2 choices) = 2n

It’s also 2n for any other n element set.

Include 1? ;

No Yes
; {1}
Include 2?

; {2} {1} {1, 2}


Include 3?

P([3]) ; {3} {2} {2, 3} {1} {1, 3} {1, 2} {1, 2, 3}

Prof. Tesler Ch. 1. Intro to Graph Theory Math 154 / Winter 2020 29 / 42
Set partitions
How many pairs (m, d) are there where
m = month 1, . . . , 12;
d = day of the month?
Assume it’s not a leap year.
The # days/month varies, so can’t use multiplication rule 12 × .
Split dates into Am = { (m, d) : d is a valid day in month m }:
A = A1 ∪ · · · ∪ A12 = whole year
|A| = |A1 | + · · · + |A12 |
= 31 + 28 + · · · + 31 = 365

Set partition
Let A be a set. A partition of A into blocks A1 , . . . , An means:
A1 , . . . , An are nonempty sets.
A = A1 ∪ · · · ∪ An .
The blocks are pairwise disjoint: Ai ∩ Aj = ∅ when i , j.
Prof. Tesler Ch. 1. Intro to Graph Theory Math 154 / Winter 2020 30 / 42
Addition rule

Addition rule
For pairwise disjoint sets A1 , . . . , An :
n
[ X
n
Ai = |Ai |
i=1 i=1

This only applies to pairwise disjoint sets.


If any sets overlap, the right side will be bigger than the left side.

Prof. Tesler Ch. 1. Intro to Graph Theory Math 154 / Winter 2020 31 / 42
Permutations of distinct objects
Here are all the permutations of A, B, C:
ABC ACB BAC BCA CAB CBA
There are 3 items: A, B, C.
There are 3 choices for which item to put first.
There are 2 choices remaining to put second.
There is 1 choice remaining to put third.
Thus, the total number of permutations is 3 · 2 · 1 = 6.

1st letter A B C

2nd letter B C A C A B

3rd letter C B C A B A

ABC ACB BAC BCA CAB CBA


Prof. Tesler Ch. 1. Intro to Graph Theory Math 154 / Winter 2020 32 / 42
Permutations of distinct objects

In the example on the previous slide, the specific choices available


at each step depend on the previous steps, but the number of
choices does not, so the multiplication rule applies.
The number of permutations of n distinct items is “n-factorial”:
n! = n(n − 1)(n − 2) · · · 1 for integers n = 1, 2, . . .

Convention: 0! = 1
For integer n > 1, n! = n · (n − 1) · (n − 2) · · · 1
= n · (n − 1)!
so (n − 1)! = n!/n.
E.g., 2! = 3!/3 = 6/3 = 2.
Extend it to 0! = 1!/1 = 1/1 = 1.
0! 1
Doesn’t extend to negative integers: (−1)! = 0 = 0 = undefined.

Prof. Tesler Ch. 1. Intro to Graph Theory Math 154 / Winter 2020 33 / 42
Partial permutations of distinct objects

How many ways can you deal out 3 cards from a 52 card deck,
where the order in which the cards are dealt matters?
E.g., dealing the cards in order (A♣, 9♥, 2♦) is counted differently
than the order (2♦, A♣, 9♥).
52 · 51 · 50 = 132600. This is also 52!/49!.
This is called an ordered 3-card hand, because we keep track of
the order in which the cards are dealt.

How many ordered k-card hands can be dealt from an n-card deck?

n!
n(n − 1)(n − 2) · · · (n − k + 1) = = n Pk
(n − k)!

Above example is 52 P3 = 52 · 51 · 50 = 132600.


This is also called permutations of length k taken from n objects.

Prof. Tesler Ch. 1. Intro to Graph Theory Math 154 / Winter 2020 34 / 42
Combinations
In an unordered hand, the order in which the cards are dealt does
not matter; only the set of cards matters. E.g., dealing in order
(A♣, 9♥, 2♦) or (2♦, A♣, 9♥) both give the same hand. This is
usually represented by a set: {A♣, 9♥, 2♦}.
How many 3 card hands can be dealt from a 52-card deck if the
order in which the cards are dealt does not matter?
The 3-card hand {A♣, 9♥, 2♦} can be dealt in 3! = 6 different
orders:
(A♣, 9♥, 2♦) (9♥, A♣, 2♦) (2♦, 9♥, A♣)
(A♣, 2♦, 9♥) (9♥, 2♦, A♣) (2♦, A♣, 9♥)
Every unordered 3-card hand arises from 6 different orders.
So 52 · 51 · 50 counts each unordered hand 3! times; thus there are
52 · 51 · 50 52!/49! 52 P3
= =
3·2·1 3! 3!
unordered hands.
Prof. Tesler Ch. 1. Intro to Graph Theory Math 154 / Winter 2020 35 / 42
Combinations

The # of unordered k-card hands taken from an n-card deck is


n · (n − 1) · (n − 2) · · · (n − k + 1) (n)k n!
= =
k · (k − 1) · · · 2 · 1 k! k! (n − k)!
n n!

This is denoted k = k! (n−k)! (or n Ck , mostly on calculators).
n

k is the “binomial coefficient” and is pronounced “n choose k.”
The number of unordered 3-card hands is
 
52 52 · 51 · 50 52!
= 52 C3 = “52 choose 3” = = = 22100
3 3·2·1 3! 49!

General problem: Let S bea set with n elements. The number of


k-element subsets of S is nk .
n
 n n
 n
 n
 n

Special cases: 0 = n =1 k = n−k 1 = n−1 = n

Prof. Tesler Ch. 1. Intro to Graph Theory Math 154 / Winter 2020 36 / 42
How many simple graphs are there on n vertices?

How many simple undirected graphs on vertices 1, . . . , n?


n
unordered pairs {u, v} with u , v.

There are 2
(n2)
The edges are a subset of those pairs, so 2 .
For n = 5: 25·4/2 = 210 = 1024

How many simple undirected graphs on 1, . . . , 5 have 3 edges?


5

There are = 10 possible edges.
2
10
 10·9·8
Select 3 of them in one of 3 = 3·2·1 = 120 ways.

How many simple directed graphs on vertices 1, . . . , n?


There are n(n − 1) ordered pairs (u, v) with u , v.
The edges are a subset of those pairs, so 2n(n−1) .
For n = 5: 25·4 = 220 = 1048576
Prof. Tesler Ch. 1. Intro to Graph Theory Math 154 / Winter 2020 37 / 42
Some classes of graphs

Prof. Tesler Ch. 1. Intro to Graph Theory Math 154 / Winter 2020 38 / 42
Complete graph Kn

K5

The complete graph on n vertices, denoted Kn , is a graph with n


vertices and an edge for all pairs of distinct vertices.

 
n
How many edges are in Kn ?
2

Prof. Tesler Ch. 1. Intro to Graph Theory Math 154 / Winter 2020 39 / 42
Bipartite graph
A B

A bipartite graph is a graph in which:


The set of vertices can be split as V = A ∪ B, where A ∩ B = ∅.
Every edge has the form {a, b} where a ∈ A and b ∈ B.
Note that there may be vertices a ∈ A, b ∈ B that do not have an edge.
Prof. Tesler Ch. 1. Intro to Graph Theory Math 154 / Winter 2020 40 / 42
Complete bipartite graph Km,n

K4,2

The complete bipartite graph Km,n has


Vertices V = A ∪ B where |A| = m and |B| = n, and A ∩ B = ∅.

Edges E = {a, b} : a ∈ A and b ∈ B
All possible edges with one vertex in A and the other in B.
In total, m + n vertices and mn edges.

Prof. Tesler Ch. 1. Intro to Graph Theory Math 154 / Winter 2020 41 / 42
Path graph and cycle graph
1 2 3 4
P4
2
1 3
C6
6 4
5
Pk (k-path, for k > 1): vertices 1, . . . , k and edges

{1, 2} , {2, 3} , . . . , {k − 1, k}
Ck (k-cycle, for k > 3): vertices 1, . . . , k and edges

{1, 2} , {2, 3} , . . . , {k − 1, k} , {k, 1}
These are specific examples of paths and cycles.
Paths and cycles will be discussed in more generality soon.
Prof. Tesler Ch. 1. Intro to Graph Theory Math 154 / Winter 2020 42 / 42

You might also like