0% found this document useful (0 votes)
9 views

Graph Theory

The document provides an overview of graph theory, including definitions, types of graphs, and their applications in computer science. It covers concepts such as vertices, edges, trees, multigraphs, and bipartite graphs, along with the degree of vertices and the Handshaking Theorem. Additionally, it discusses various graph patterns like complete graphs, cycles, wheels, and cubes.

Uploaded by

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

Graph Theory

The document provides an overview of graph theory, including definitions, types of graphs, and their applications in computer science. It covers concepts such as vertices, edges, trees, multigraphs, and bipartite graphs, along with the degree of vertices and the Handshaking Theorem. Additionally, it discusses various graph patterns like complete graphs, cycles, wheels, and cubes.

Uploaded by

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

Graphs

S. Ngwenya
Graphs
Graph basics and definitions
 Vertices/nodes, edges, adjacency, incidence
 Degree, in-degree, out-degree
 Degree, in-degree, out-degree
 Subgraphs, unions, isomorphism
 Adjacency matrices
Types of Graphs
 Trees
 Undirected graphs
 Simple graphs, Multigraphs, Pseudographs
 Digraphs, Directed multigraph
 Bipartite
 Complete graphs, cycles, wheels, cubes, complete
bipartite

L23 2
Uses of Graph Theory in
CS
Car navigation system
Efficient database
Build a bot to retrieve info off
WWW
Representing computational
models
And Many other applications.

L23 3
Graphs –Intuitive Notion
A graph is a bunch of vertices (or nodes)
represented by circles which are
connected by edges, represented by line
segments .
Mathematically, graphs are binary-relations
on their vertex set (except for
multigraphs).
In Data Structures one often starts with
trees and generalizes to graphs

L23 4
Trees
A very important type of graph in CS is
called a tree:

Real
Tree
L23 5
Trees
A very important type of graph in CS is
called a tree:

Real
transformation
Tree
L23 6
Trees
A very important type of graph in CS is
called a tree:

Real
transformation
Tree
L23 7
Trees
A very important type of graph in CS is
called a tree:

Real
Abstract transformation

Tree
L23 Tree
8
Simple Graphs
Different purposes require different
types of graphs.
EG: Suppose a local computer network
 Is bidirectional (undirected)
 Has no loops (no “self-communication”)
 Has unique connections between
computers
Sensible to represent as follows:
L23 9
Simple Graphs
{1,2}
1 2
{1,3} {2,3} {2,4}
{3,4}
3 4
{1,4}
Vertices are labeled to associate
with particular computers
Each edge can be viewed as the
set of its two endpoints
L23 10
Simple Graphs
DEF: A simple graph G = (V,E )
consists of a non-empty set V of
vertices (or nodes) and a set E
(possibly empty) of edges where
each edge is a subset of V with
cardinality 2 (an unordered pair).
Q: For a set V with n elements, how
many possible edges there?
L23 11
Simple Graphs
A: The number of pairs in V
= C (n,2) = n · (n -1) / 2
Q: How many possible graphs are
there for the same set of vertices V
?

L23 12
Simple Graphs
A: The number of subsets in the set
of possible edges. There are n · (n
-1) / 2 possible edges, therefore
the number of graphs on V is 2n(n -
1)/2

L23 13
Multigraphs
If computers are connected via
internet instead of directly, there
may be several routes to choose
from for each connection.
Depending on traffic, one route
could be better than another.
Makes sense to allow multiple
edges, but still no self-loops:

L23 14
Multigraphs
e1
1 e2 2
e3 e4e5
3 e6 4

Edge-labels distinguish between edges


sharing same endpoints. Labeling
can be thought of as function:
e1  {1,2}, e2  {1,2}, e3  {1,3},
e4  {2,3}, e5  {2,3}, e6  {1,2}
L23 15
Multigraphs
DEF: A multigraph G = (V,E,f )
consists of a non-empty set V of
vertices (or nodes), a set E
(possibly empty) of edges and a
function f with domain E and
codomain the set of pairs in V.

L23 16
Pseudographs
If self-loops are allowed we get a
pseudograph: e6
e1
1 e2 2
e3 e4 e5 e7
3 4
Now edges may be associated with a
single vertex, when the edge is a loop
e1  {1,2}, e2  {1,2}, e3  {1,3},
e4  {2,3}, e5  {2}, e6  {2}, e7  {4}
L23 17
Multigraphs
DEF: A pseudograph G = (V,E,f )
consists of a non-empty set V of
vertices (or nodes), a set E
(possibly empty) of edges and a
function f with domain E and
codomain the set of pairs and
singletons in V.

L23 18
Undirected Graphs
Terminology
Vertices are adjacent if they are the
endpoints of the same edge.
e1
1 e2 2
e3 e4e5
3 e6 4

Q: Which vertices are adjacent to 1?


How about adjacent to 2, 3, and 4?
L23 19
Undirected Graphs
Terminology
e1
1 e2 2
e3 e4e5
3 e6 4

A: 1 is adjacent to 2 and 3
2 is adjacent to 1 and 3
3 is adjacent to 1 and 2
4 is not adjacent to any vertex
L23 20
Undirected Graphs
Terminology
A vertex is incident with an edge
(and the edge is incident with the
vertex) if it is the endpoint of the
edge.
e1
1 e2 2
e3 e4e5
3 e6 4

Q: Which edges are incident to 1?


L23
How about incident to 2, 3, and 4? 21
Undirected Graphs
Terminology
e1
1 e2 2
e3 e4e5
3 e6 4

A: e1, e2, e3, e6 are incident with 2


2 is incident with e1, e2, e4, e5, e6
3 is incident with e3, e4, e5
4 is not incident with any edge
L23 22
Digraphs
Last time introduced digraphs as a way
of representing relations:

1 3

Q: What type of pair should each edge


be (multiple edges not allowed)?
L23 23
Digraphs
A: Each edge is directed so an ordered
pair (or tuple) rather than unordered
pair. (2,2)
2
(1,2) (2,3)

(1,1) 1 (1,3) 3 (3,3)


(2,4) (3,4)

4
(4,4)

Thus the set of edges E is just the


represented relation on V.
L23 24
Digraphs
DEF: A directed graph (or digraph)
G = (V,E ) consists of a non-
empty set V of vertices (or nodes)
and a set E of edges with E V V.
The edge (a,b) is also denoted by a b
and a is called the source of the
edge while b is called the target of
the edge.
Q: For a set V with n elements, how
many possible digraphs are there?
L23 25
Digraphs
A: The same as the number of
relations on V, which is the number
of subsets of V V so 2n·n.

L23 26
Directed Multigraphs
If also want to allow multiple edges in a
digraph, get a directed multigraph
(or multi-digraph).

1 3
Q: How to use sets and functions to
deal with multiple directed edges,
loops?
L23 27
Directed Multigraphs
A: Have function with domain the
edge set and codomain V V .
e3
2
e1 e4 e6
e2 e5
1 3
e7
e1(1,2), e2(1,2), e3(2,2), e4 
(2,3),
e5  (2,3), e6  (3,3), e7  (3,3)
L23 28
Degree
The degree of a vertex counts the
number of edges that seem to be
sticking out if you looked under a
magnifying glass:
e1 e 6

1 e2 2e
5
e3 e4
3

L23 29
Degree
The degree of a vertex counts the
number of edges that seem to be
sticking out if you looked under a
magnifying glass:
e1 e 6

1 e2 2 e magnify
5
e3 e4
3

L23 30
Degree
The degree of a vertex counts the
number of edges that seem to be
sticking out if you looked under a
magnifying glass:
e1 e 6

1 e2 2 e magnify
5
e3 e4
3
Thus deg(2) = 7 even though 2 only
incident with 5 edges.
Q:
L23
How to define this formally? 31
Degree
A: Add 1 for every regular edge
incident with vertex and 2 for
every loop. Thus deg(2) = 1 + 1 +
1+2+2=7
e1 e6

1 e2 2 e magnify
5
e3 e4
3

L23 32
Oriented Degree
when Edges Directed
The in-degree of a vertex (deg-)
counts the number of edges that
stick in to the vertex. The out-
degree (deg+) counts the number
sticking out.
2

1 3

Q: What are in-degrees and out-


L23 33
Oriented Degree
when Edges Directed
A: deg-(1) = 0
deg-(2) = 3
deg-(3) = 4 2

deg+(1) = 2
1 3
deg+(2) = 3
deg+(3) = 2

L23 34
Handshaking Theorem
e1 e6
1 e2 2
e3 e4 e5 e7
3 4
There are two ways to count the number of
edges in the above graph:
1. Just count the set of edges: 7
2. Count seeming edges vertex by vertex
and divide by 2 because double-counted
edges:
( deg(1)+deg(2)+deg(3)+deg(4) )/2
= (3+7+2+2)/2 = 14/2 = 7
L23 35
Handshaking Theorem
THM: In an undirected graph
1
| E |   deg(e)
2 eE
In a directed graph
| E |   deg (e)   deg (e)
 

eE eE

Q: In a party of 5 people can each


person be friends with exactly
L23
three others? 36
Handshaking Theorem
A: Imagine a simple graph with 5 people
as vertices and edges being undirected
edges between friends (simple graph
assuming friendship is symmetric and
irreflexive). Number of friends each
person has is the degree of the person.
Handshaking would imply that
|E | = (sum of degrees)/2 or
2|E | = (sum of degrees) = (5·3) = 15.
Impossible as 15 is not even. In general:

L23 37
Handshaking Theorem
Lemma: The number of vertices of odd
degree must be even in an
undirected graph.
Proof : Otherwise would have
2|E | = Sum of even no.’s
+ an odd number of odd
no.’s
even = even + odd
–this is impossible. 
L23 38
Graph Patterns
Complete Graphs - Kn

A simple graph is complete if every


pair of distinct vertices share an
edge. The notation Kn denotes the
complete graph on n vertices.

K1 K2 K3 K4 K5

L23 39
Graph Patterns
Cycles - Cn

The cycle graph Cn is a circular graph


with V = {0,1,2,…,n-1} where vertex i
is connected to i +1 mod n and to i -
1 mod n. They look like polygons:

C1 C2 C3 C4 C5

Q: What type of graph are C1 and C2 ?


L23 40
Graph Patterns
Wheels - Wn
A: Pseudographs
The wheel graph Wn is just a cycle
graph with an extra vertex in the
middle:

W1 W2 W3 W4 W5

Usually consider wheels with 3 or more


L23 41
Graph Patterns
Cubes - Qn
The n-cube Qn is defined recursively.
Q0 is just a vertex. Qn+1 is gotten by
taking 2 copies of Qn and joining
each vertex v of Qn with its copy v’ :

Q0 Q1 Q2 Q3 Q4
L23
(hypercube) 42
Bipartite Graphs
A simple graph is bipartite if V can be
partitioned into V = V1 V2 so that
any two adjacent vertices are in
different parts of the partition.
Another way of expressing the same
idea is bichromatic : vertices can be
colored using two colors so that no
two vertices of the same color are
adjacent.
L23 43
Bipartite Graphs
EG: C4 is a bichromatic:

And so is bipartite, if we redraw it:

L23 44
Bipartite Graphs
EG: C4 is a bichromatic:

And so is bipartite, if we redraw it:

L23 45
Bipartite Graphs
EG: C4 is a bichromatic:

And so is bipartite, if we redraw it:

L23 46
Bipartite Graphs
EG: C4 is a bichromatic:

And so is bipartite, if we redraw it:

L23 47
Bipartite Graphs
EG: C4 is a bichromatic:

And so is bipartite, if we redraw it:

L23 48
Bipartite Graphs
EG: C4 is a bichromatic:

And so is bipartite, if we redraw it:

L23 49
Bipartite Graphs
EG: C4 is a bichromatic:

And so is bipartite, if we redraw it:

L23 50
Bipartite Graphs
EG: C4 is a bichromatic:

And so is bipartite, if we redraw it:

L23 51
Bipartite Graphs
EG: C4 is a bichromatic:

And so is bipartite, if we redraw it:

L23 52
Bipartite Graphs
EG: C4 is a bichromatic:

And so is bipartite, if we redraw it:

L23 53
Bipartite Graphs
EG: C4 is a bichromatic:

And so is bipartite, if we redraw it:

L23 54
Bipartite Graphs
EG: C4 is a bichromatic:

And so is bipartite, if we redraw it:

Q: For which n is Cn bipartite?


L23 55
Bipartite Graphs
A: Cn is bipartite when n is even. For
even n color all odd numbers red and
all even numbers green so that
vertices are only adjacent to opposite
color.
If n is odd, Cn is not bipartite. If it were,
color 0 red. So 1 must be green, and 2
must be red. This way, all even
numbers must be red, including vertex
L23
n-1. But n-1 connects to 0 . 56
Graph Patterns
Complete Bipartite - Km,n

When all possible edges exist in a


simple bipartite graph with m red
vertices and n green vertices, the
graph is called complete bipartite
and the notation Km,n is used. EG:

K2,3 K4,5
L23 57
Subgraphs

Notice that the 2-cube occurs

inside the 3-cube . In other

words, Q2 is a subgraph of Q3 :
DEF: Let G = (V,E ) and H = (W,F ) be
graphs. H is said to be a subgraph of
G, if W  V and F  E.
Q: How many Q2 subgraphs does Q3
L23 58
Subgraphs
A: Each face of Q3 is a Q2 subgraph so
the answer is 6, as this is the number
of faces on a 3-cube:

L23 59
Unions
In previous example can actually
reconstruct the 3-cube from its 6
2-cube faces:

L23 60
Unions
If we assign the 2-cube faces (aka
Squares) the names S1, S2, S3, S4, S5,
S6 then Q3 is the union of its faces:

Q3 =
S1S2S3S4S5S6

L23 61
Unions
DEF: Let G1 = (V1, E1 ) and G2 = (V2, E2 ) be
two simple graphs (and V1,V2 may or may
not be disjoint). The union of G1, G2 is
formed by taking the union of the vertices
and edges. I.E: G1G2 = (V1V2, E1E2 ).
A similar definitions can be created for
unions of digraphs, multigraphs,
pseudographs, etc.

L23 62
Adjacency Matrix
We already saw a way of
representing relations on a set
with a Boolean matrix:
R digraph(R) MR

2 1 1 1 1
1 1  
2 2 0 1 1 1
1 3 0 0 1 1
3 3  
0 0 0 1
4 4 4 
L23 63
Adjacency Matrix
Since digraphs are relations on their
vertex sets, can adopt the concept to
represent digraphs. In the context of
graphs, we call the representation an
adjacency matrix :
For a digraph G = (V,E ) define matrix AG
by:
Rows, Columns –one for each vertex in V
Value at i th row and j th column is

L23 1 if i th
vertex connects to j th
vertex (i  j64)
Adjacency Matrix
-Directed Multigraphs
Can easily generalize to directed
multigraphs by putting in the number
of edges between vertices, instead of
only allowing 0 and 1:
For a directed multigraph G = (V,E )
define the matrix AG by:
Rows, Columns –one for each vertex
in V
Value at i th row and j th column is
L23 65
 The number of edges with source the i th
Adjacency Matrix
-Directed Multigraphs
Q: What is the adjacency matrix?

1 4 3

L23 66
Adjacency Matrix
-Directed Multigraphs
2

1 4 3

A: 0 3 0 1
 
0 1 2 0
0 1 2 0
 
0 0 0 0 

L23 67
Adjacency Matrix
-General
Undirected graphs can be viewed as
directed graphs by turning each
undirected edge into two oppositely
oriented directed edges, except when
the edge is a self-loop in which case
only 1 directed edge is introduced.
EG:
1 2 1 2

3 4 3 4
L23 68
Adjacency Matrix
-General
Q: What’s the adjacency matrix?

1 2

3 4

L23 69
Adjacency Matrix
-General
1 2

3 4

A: 0 2 1 0
 
2 2 1 0
1 1 0 0
 
0 0 0 1 

Notice that answer is symmetric.
L23 70
Adjacency Matrix
-General
For an undirected graph G = (V,E ) define
the matrix AG by:
Rows, Columns –one for each element of
V
Value at i th row and j th column is the
number of edges incident with vertices i
and j.
This is equivalent to converting first to a
directed graph as above. Or by allowing
undirected edges to take us from i to j
L23 71
can simply use definition for directed
Graph Isomorphism
Various mathematical notions come
with their own concept of equivalence,
as opposed to equality:
Equivalence for sets is bijectivity:
 EG { , , }  {12, 23, 43}
Equivalence for graphs is
isomorphism:
 EG

L23 72
Graph Isomorphism
Intuitively, two graphs are isomorphic
if can bend, stretch and reposition
vertices of the first graph, until the
second graph is formed.
Etymologically, isomorphic means
“same shape”.
EG: Can twist or relabel:

to obtain:
L23 73
Graph Isomorphism
Undirected Graphs
DEF: Suppose G1 = (V1, E1 ) and G2 = (V2,
E2 ) are pseudographs. Let f :V1V2
be a function s.t.:
1) f is bijective
2) for all vertices u,v in V1, the number
of edges between u and v in G1 is the
same as the number of edges
between f (u) and f (v ) in G2.
Then f is called an isomorphism and
L23 G1 is said to be isomorphic to G274.
Graph Isomorphism
Digraphs
DEF: Suppose G1 = (V1, E1 ) and G2 = (V2, E2 ) are
directed multigraphs. Let f :V1V2 be a
function s.t.:
1) f is bijective
2) for all vertices u,v in V1, the number of edges
from u to v in G1 is the same as the number of
edges between f (u) and f (v ) in G2.
Then f is called an isomorphism and G1 is said
to be isomorphic to G2.
Note: Only difference between two definitions is
the italicized “from” in no. 2 (was “between”).
L23 75
Graph Isomorphism
-Example
EG: Prove that

is isomorphic to .

First label the vertices:


2 2
1 3 1 3
5 4
L23 5 4 76
Graph Isomorphism
-Example
Next, set f (1) = 1 and try to walk around
clockwise on the star.

2 2
1 3 1 3
5 4
5 4
L23 77
Graph Isomorphism
-Example
Next, set f (1) = 1 and try to walk around
clockwise on the star. The next vertex
seen is 3, not 2 so set f (2) = 3.

2 2
1 3 1 3
5 4
5 4
L23 78
Graph Isomorphism
-Example
Next, set f (1) = 1 and try to walk around
clockwise on the star. The next vertex
seen is 3, not 2 so set f (2) = 3. Next
vertex is 5 so set f (3) = 5.

2 2
1 3 1 3
5 4
5 4
L23 79
Graph Isomorphism
-Example
Next, set f (1) = 1 and try to walk around
clockwise on the star. The next vertex
seen is 3, not 2 so set f (2) = 3. Next
vertex is 5 so set f (3) = 5. In this
fashion we get f (4) = 2

2 2
1 3 1 3
5
4 5 4
L23 80
Graph Isomorphism
-Example
Next, set f (1) = 1 and try to walk around
clockwise on the star. The next vertex
seen is 3, not 2 so set f (2) = 3. Next
vertex is 5 so set f (3) = 5. In this
fashion we get f (4) = 2, f (5) = 4.

2 2
1 3 1 3

5 4 5 4
L23 81
Graph Isomorphism
-Example
Next, set f (1) = 1 and try to walk around
clockwise on the star. The next vertex
seen is 3, not 2 so set f (2) = 3. Next
vertex is 5 so set f (3) = 5. In this
fashion we get f (4) = 2, f (5) = 4. If we
would continue, we would get back to f
(1) =1 so this process is well defined and
f is a morphism.
2 2
1 3 1 3

5 4
5 4
L23 82
Graph Isomorphism
-Example
Next, set f (1) = 1 and try to walk around
clockwise on the star. The next vertex seen
is 3, not 2 so set f (2) = 3. Next vertex is 5
so set f (3) = 5. In this fashion we get f (4)
= 2, f (5) = 4. If we would continue, we
would get back to f (1) =1 so this process is
well defined and f is a morphism. Finally
since f is bijective, f is an isomorphism.

2 2
1 3 1 3
5 4
5 4
L23 83
Properties of Isomorphims
Since graphs are completely defined by
their vertex sets and the number of edges
between each pair, isomorphic graphs
must have the same intrinsic properties.
I.e. isomorphic graphs have the same…
…number of vertices and edges
…degrees at corresponding vertices
…types of possible subgraphs
…any other property defined in terms of the
basic graph theoretic building blocks!

L23 84
Graph Isomorphism
-Negative Examples
Once you see that graphs are
isomorphic, easy to prove it. Proving
the opposite, is usually more difficult.
To show that two graphs are non-
isomorphic need to show that no
function can exist that satisfies
defining properties of isomorphism. In
practice, you try to find some intrinsic
property that differs between the 2
graphs in question.
L23 85
Graph Isomorphism
-Negative Examples
A: Why are the following non-
isomorphic?

u2 v2
u3
u1 v1 v3

u5 u4 v4

L23 86
Graph Isomorphism
-Negative Examples
A: 1st graph has more vertices than
2nd.
Q: Why are the following non-
isomorphic?
u2 v2
u3 v3
u1 v1

u5 u4 v5 v4

L23 87
Graph Isomorphism
-Negative Examples
A: 1st graph has more edges than
2nd.
Q: Why are the following non-
isomorphic?
u2 v2
u3 v3
u1 v1

u5 u4 v5 v4

L23 88
Graph Isomorphism
-Negative Examples
A: 2nd graph has vertex of degree 1,
1st graph doesn't.
Q: Why are the following non-
isomorphic?
u1 u2 u u4 u5 u6 v1 v2 v v4 v5 v6
3 3

u7 u8 u9 v7 v8 v9

L23 89
Graph Isomorphism
-Negative Examples
A: 1st graph has 2 degree 1 vertices, 4
degree 2 vertex and 2 degree 3
vertices. 2nd graph has 3 degree 1
vertices, 3 degree 2 vertex and 3
degree 3 vertices.
Q: Why are the following non-
u1 u2 u u4 u5 u6 v1 v2 v v4 v5 v6
isomorphic?
3 3

u7 u8 v7 v8

L23 90
Graph Isomorphism
-Negative Examples
A: None of the previous approaches work as
there are the same no. of vertices, edges,
and same no. of vertices per degree.
u1 u2 u u4 u5 u6 v1 v2 v v4 v5 v6
3 3

u7 u8 v7 v8
LEMMA: If G and H are isomorphic, then
any subgraph of G will be isomorphic to
some subgraph of H.
Q: Find a subgraph of 2nd graph which isn’t a
subgraph
L23
of 1st
graph. 91
Graph Isomorphism
-Negative Examples
A: This subgraph is not a subgraph of the left
graph.
u1 u2 u u4 u5 u6 v1 v2 v v4 v5 v6
3 3

u7 u8 v7 v8
Why not? Deg. 3 vertices must map to deg. 3
vertices. Since subgraph and left graph are
symmetric, can assume v2 maps to u2.
Adjacent deg. 1 vertices to v2 must map to
degree 1 vertices, forcing the deg. 2 adjacent
vertex v3 to map to u3. This forces the other
vertex adjacent to v3, namely v4 to map to u4.
But then a deg. 3 vertex has mapped to a deg.
L23 92
2 vertex 
Blackboard Exercise
Show that W6 is not bipartite.

L23 93

You might also like