SlideShare a Scribd company logo
1 of 148
Chapter5
Graph Theory
Discrete Mathematics
Subject Code: MA211
Dr.Divya Jain
Applications of Graphs
 Potentially anything (graphs can represent
relations, relations can describe the extension
of any predicate)
 Applications in networking, scheduling, flow
optimization, circuit design, path planning.
 Geneology analysis, computer game playing,
program compilation, object-oriented
design,….
Varying Applications (examples)
 Computer networks
 Distinguish between two chemical compounds
with the same molecular formula but different
structures
 Solve shortest path problems between cities
 Scheduling exams and assign channels to
television stations
Topics Covered
 Definitions
 Types
 Terminology
 Representation
 Sub-graphs
 Connectivity
 Hamilton and Euler definitions
 Shortest Path
 Planar Graphs
 Graph Coloring
Definitions - Graph
A generalization of the simple concept of a set
of dots, links, edges or arcs.
Representation: Graph G =(V, E) consists set of vertices
denoted by V, or by V(G) and set of edges E, or E(G)
Example
 What is a graph G?
 It is a pair G = (V, E),
where
 V = V(G) = set of vertices
 E = E(G) = set of edges
 Example:
 V = {s, u, v, w, x, y, z}
 E = {(x,s), (x,v)1, (x,v)2, (x,u),
(v,w), (s,v), (s,u), (s,w), (s,y),
(w,y), (u,y), (u,z),(y,z)}
Edges
 An edge may be labeled by a pair of
vertices, for instance e = (v,w).
 e is said to be incident on v and w.
 Isolated vertex = a vertex without
incident edges.
Definitions – Edge Type
Directed: Ordered pair of vertices. Represented as (u, v)
directed from vertex u to v.
Undirected: Unordered pair of vertices. Represented as {u, v}.
Disregards any sense of direction and treats both end vertices
interchangeably.
u v
u v
Definitions – Edge Type
 Loop: A loop is an edge whose endpoints are equal
i.e., an edge joining a vertex to it self is called a loop.
Represented as {u, u} = {u}
 Multiple Edges: Two or more edges joining the
same pair of vertices.
u
Definitions – Graph Type
Simple (Undirected) Graph: consists of V, a nonempty set
of vertices, and E, a set of unordered pairs of distinct elements
of V called edges (undirected)
Representation Example: G(V, E), V = {u, v, w}, E = {{u, v},
{v, w}, {u, w}}
u v
w
Definitions – Graph Type
Multigraph: G(V,E), consists of set of vertices V, set of
Edges E and a function f from E to {{u, v}| u, v V, u ≠ v}.
The edges e1 and e2 are called multiple or parallel edges if f
(e1) = f (e2).
Representation Example: V = {u, v, w}, E = {e1, e2, e3}
e2
u
v
w
e1
e3
• E.g., nodes are cities, edges are segments of major highways.
Definitions – Graph Type
Pseudograph: Like a multigraph, but edges connecting a
node to itself are allowed.
Representation Example: V = {u, v, w}, E = {e1, e2, e3, e4}
u
v
w
e1
e3
e2
e4
Definitions – Graph Type
Directed Graph: G(V, E), set of vertices V, and set of Edges E,
that are ordered pair of elements of V (directed edges)
Representation Example: G(V, E), V = {u, v, w}, E = {(u, v), (v,
w), (w, u)}
u
w
v
E.g. : V = people , E={( ={(x, y) | ) | x likes y}
Definitions – Graph Type
Directed Multigraph: Like directed graphs, but there may be
more than one arc from a node to another.
Representation Example: V = {u, v, w}, E = {e1, e2, e3, e4}
u
w
v
e1
e2
e3
e4
Definitions – Graph Type
Type Edges Multiple Edges
Allowed ?
Loops Allowed ?
Simple Graph undirected No No
Multigraph undirected Yes No
Pseudograph undirected Yes Yes
Directed Graph directed No Yes
Directed
Multigraph
directed Yes Yes
Terminology – Undirected graphs
 u and v are adjacent if {u, v} is an edge, e is called incident
with u and v. u and v are called endpoints of {u, v}
 Degree of Vertex (deg (v)): the number of edges incident
on a vertex. A loop contributes twice to the degree (why?).
 Pendant Vertex: deg (v) =1
 Isolated Vertex: deg (v) = 0
Representation Example: For V = {u, v, w} , E = { {u, w}, {u,
w}, (u, v) }, deg (u) = 2, deg (v) = 1, deg (w) = 1, deg (k) =
0, w and v are pendant , k is isolated
u
k
w
v
Terminology – Directed graphs
 For the edge (u, v), u is adjacent to v OR v is adjacent from
u, u – Initial vertex, v – Terminal vertex
 In-degree (deg- (u)): number of edges for which u is
terminal vertex
 Out-degree (deg+ (u)): number of edges for which u is initial
vertex
Note: A loop contributes 1 to both in-degree and out-degree
(why?)
Representation Example: For V = {u, v, w} , E = { (u, w), ( v,
w), (u, v) }, deg- (u) = 0, deg+ (u) = 2, deg- (v) = 1,
deg+ (v) = 1, and deg- (w) = 2, deg+ (u) = 0
u
w
v
Theorems: Undirected Graphs
Theorem 1
The Handshaking theorem:
(why?)
Every edge connects 2 vertices



V
v
v
e
2
Theorems: Undirected Graphs
Theorem 2:
An undirected graph has even number of vertices with odd
degree
even
V
oof

















2
2
1
V
v
1,
V
v
V
u
V
v
deg(v)
term
second
even
also
is
term
second
Hence
2e.
is
sum
since
even
is
inequality
last
the
of
side
hand
right
on the
terms
last two
the
of
sum
The
even.
is
inequality
last
the
of
side
hand
right
in the
first term
The
V
for v
even
is
(v)
deg
deg(v)
deg(u)
deg(v)
2e
vertices
degree
odd
to
refers
V2
and
vertices
degree
even
of
set
the
is
1
Pr
Theorems: directed Graphs
 Theorem 3: deg + (u) = deg - (u) = |E|
 
Simple graphs – special cases
 Complete graph: Kn, is the simple graph that contains exactly
one edge between each pair of distinct vertices.
Representation Example: K1, K2, K3, K4
K2
K1
K4
K3
Simple graphs – special cases
 Cycle: Cn, n ≥ 3 consists of n vertices v1, v2, v3 … vn and edges
{v1, v2}, {v2, v3}, {v3, v4} … {vn-1, vn}, {vn, v1}
Representation Example: C3, C4
C3 C4
How many edges are there in Cn ?
Simple graphs – special cases
 Wheels: Wn, obtained by adding additional vertex to Cn and
connecting all vertices to this new vertex by new edges.
Representation Example: W3, W4
W3 W4
How many edges are there in Wn?
Simple graphs – special cases
 N-cubes: Qn, vertices represented by 2^n bit strings of length
n. Two vertices are adjacent if and only if the bit strings that
they represent differ by exactly one bit positions
Representation Example: Q1, Q2
0 1
Q1
10
00
11
01
Q2
What is Q3?
Bipartite graphs
 In a simple graph G, if V can be partitioned into two disjoint
sets V1 and V2 such that every edge in the graph connects a
vertex in V1 and a vertex V2 (so that no edge in G connects
either two vertices in V1 or two vertices in V2)
Application example: Representing Relations
Representation example: V1 = {v1, v2, v3} and V2 = {v4, v5, v6},
v1
v2
v3
v4
v5
v6
V1
V2
V(G) = V(V1)  V(V2)
|V(V1)| = m, |V(V2)| = n
V(V1) V(V2) = 
Complete Bipartite graphs
 Km,n is the graph that has its vertex set portioned into two
subsets of m and n vertices, respectively There is an edge
between two vertices if and only if one vertex is in the first
subset and the other vertex is in the second subset.
Representation example: K2,3, K3,3
K3,3
|V(V1)| = m
|V(V2)| = n
K2,3
V1
V2
Graph Theory
cont.
Discrete Mathematics
Subgraphs
 A subgraph of a graph G = (V, E) is a graph H =(V’, E’)
where V’ is a subset of V and E’ is a subset of E
Application example: solving sub-problems within a graph
Representation example: V = {u, v, w}, E = ({u, v}, {v, w},
{w, u}}, H1 , H2
u
v
H2
u
v w
G
u
w
v
H1
Subgraphs
 G = G1 U G2 wherein E = E1 U E2 and V = V1 U V2, G, G1
and G2 are simple graphs of G
Representation example:
V1 = {u, w}, E1 = {{u, w}}, V2 = {w, v}, E1 = {{w, v}},
V = {u, v ,w}, E = { { {u, w}, {w, v} } }
u
v
w w
v
w
u
G1 G2 G
Representation
 Incidence (Matrix): Most useful when
information about edges is more desirable than
information about vertices.
 Adjacency (Matrix/List): Most useful when
information about the vertices is more desirable
than information about the edges. These two
representations are also most popular since
information about the vertices is often more
desirable than edges in most applications
Representation- Incidence matrix
 Incidence matrix
 Label rows with vertices
 Label columns with
edges
 1 if an edge is incident
to a vertex, 0 otherwise
e f g h j
v 1 1 0 0 0
w 1 0 1 0 1
x 0 0 0 1 1
y 0 1 1 1 0
Representation- Adjacency Matrix
 There is an N x N matrix, where |V| = N , the Adjacenct Matrix
(NxN) A = [aij]
 For undirected graph
 For directed graph
 This makes it easier to find subgraphs, and to reverse graphs
if needed.




otherwise
0
G
of
edge
an
is
)
v
,
(v
if
1
a
j
i
ij




otherwise
0
G
of
edge
an
is
}
v
,
{v
if
1
a
j
i
ij
Representation- Adjacency Matrix
 Adjacency is chosen on the ordering of
vertices. Hence, there as are as many as n!
such matrices.
 The adjacency matrix of simple graphs are
symmetric (aij = aji) (why?)
 When there are relatively few edges in the
graph the adjacency matrix is a sparse
matrix
 Directed Multigraphs can be represented by
using aij = number of edges from vi to vj
Representation- Adjacency Matrix
 Example: Undirected Graph G (V, E)
v u w
v 0 1 1
u 1 0 1
w 1 1 0
u
v w
Representation- Adjacency Matrix
 Example: directed Graph G (V, E)
v u w
v 0 1 0
u 0 0 1
w 1 0 0
u
v w
Linked Representation-
Adjacency List
Each node (vertex) has a list of which nodes (vertex) it is adjacent
Example: undirectd graph G (V, E)
u
v w
node Adjacency List
u v , w
v w, u
w u , v
G= [u: v, w; v: w, u; w: u, v]
Graph - Isomorphism
G1 and G2 are isomorphic
 if there exist one-to-one onto functions f:
V(G1) → V(G2) and g: E(G1) → E(G2) such
that
 an edge e is adjacent to vertices v, w in G1 if
and only if g(e) is adjacent to f(v) and f(w) in
G2
Graph - Isomorphism
Representation example: G1 = (V1, E1) , G2 = (V2, E2)
f(u1) = v1, f(u2) = v4, f(u3) = v3, f(u4) = v2,
u1
u3
u4
u2
v3
v4
v1 v2
Connectivity
 Basic Idea: In a Graph Reachability among vertices
by traversing the edges
Application Example:
- In a city to city road-network, if one city can be
reached from another city.
- Problems if determining whether a message can be
sent between two computer using intermediate links
- Efficiently planning routes for data delivery in the
Internet
Connectivity – Path
A Path is a sequence of edges that begins at a
vertex of a graph and travels along edges of the
graph, always connecting pairs of adjacent
vertices.
Representation example: G = (V, E), Path P represented,
from u to v is
{{u, 1}, {1, 4}, {4, 5}, {5, v}}
1
u
3
4 5
2
v
Connectivity – Path
Definition for Directed Graphs
A Path of length n (> 0) from u to v in G is a sequence of n
edges e1, e2 , e3, …, en of G such that f (e1) = (xo, x1), f (e2) =
(x1, x2), …, f (en) = (xn-1, xn), where x0 = u and xn = v. A path is
said to pass through x0, x1, …, xn or traverse e1, e2 , e3, …, en
For Simple Graphs, sequence is x0, x1, …, xn
In directed multigraphs when it is not necessary to distinguish
between their edges, we can use sequence of vertices to
represent the path
Circuit/Cycle: u = v, length of path > 0
Simple Path: does not contain an edge more than once
Paths and cycles
 A path of length n is
a sequence of n + 1
vertices and n
consecutive edges
 A cycle is a path that
begins and ends at
the same vertex
Connectivity – Connectedness
Undirected Graph
An undirected graph is connected if there exists is a
simple path between every pair of vertices
Representation Example: G (V, E) is connected since
for V = {v1, v2, v3, v4, v5}, there exists a path
between {vi, vj}, 1 ≤ i, j≤ 5
v1
v2
v3
v5
v4
Connectivity – Connectedness
Undirected Graph
 Articulation Point (Cut vertex): removal of a vertex
produces a subgraph with more connected components than
in the original graph. The removal of a cut vertex from a
connected graph produces a graph that is not connected
 Cut Edge: An edge whose removal produces a subgraph
with more connected components than in the original graph.
Representation example: G (V, E), v3 is the articulation point
or edge {v2, v3}, the number of connected components is 2
(> 1)
v1
v2
v3
v4
v5
Connectivity – Connectedness
Directed Graph
 A directed graph is strongly connected if there is a
path from a to b and from b to a whenever a and b are
vertices in the graph.
 A directed graph is weakly connected if there is a
(undirected) path between every two vertices in the
underlying undirected path
A strongly connected Graph can be weakly connected but
the vice-versa is not true (why?)
a b
c d
a b
c d
Unilaterally connected:
 A directed graph is unilaterally connected or unilateral
if for any pair of vertices a and b, there is a path from
a to b to b to a, i.e. one of them is reachable from the
other.
Strongly connected=> Unilaterally=>Weakly connected
Digraph G Digraph H
Verify that G is strongly connected. H is not strongly connected.
Is H unilateral ?
Connectivity – Connectedness
Directed Graph
Representation example: G1 (Strong component), G2 (Weak
Component), G3 is undirected graph representation of G2 or G1
G2
G1 G3
Connectivity – Connectedness
 Directed Graph
Strongly connected Components: subgraphs of a
Graph G that are strongly connected
Representation example: G1 is the strongly
connected component in G
G1
G
Counting Paths
 Theorem: Let G be a graph with adjacency matrix A
with respect to the ordering v1, v2, …, Vn (with directed
on undirected edges, with multiple edges and loops
allowed). The number of different paths of length r from
Vi to Vj, where r is a positive integer, equals the (i, j)th
entry of (adjacency matrix) Ar.
Proof: By Mathematical Induction.
Counting Paths
 Theorem: Let G be a graph with …. of (adjacency matrix) Ar.
Proof: By Mathematical Induction.
Base Case: For the case N = 1, aij =1 implies that there
is a path of length 1. This is true since this corresponds
to an edge between two vertices.
We assume that theorem is true for N = r and prove the
same for N = r +1. Assume that the (i, j)th entry of Ar is
the number of different paths of length r from vi to vj. By
induction hypothesis, bik is the number of paths of
length r from vi to vk.
Counting Paths
Case r +1: In Ar+1 = Ar. A,
The (i, j)th entry in Ar+1 , bi1a1j + bi2 a2j + …+ bin anj
where bik is the (i, j)th entry of Ar.
By induction hypothesis, bik is the number of paths of
length r from vi to vk.
The (i, j)th entry in Ar+1 corresponds to the length between
i and j and the length is r+1. This path is made up of
length r from vi to vk and of length from vk to vj. By product
rule for counting, the number of such paths is bik* akj The
result is bi1a1j + bi2 a2j + …+ bin anj ,the desired result.
Counting Paths
a ------- b
| |
| |
c -------d
A = 0 1 1 0 A4 = 8 0 0 8
1 0 0 1 0 8 8 0
1 0 0 1 0 8 8 0
0 1 1 0 8 0 0 8
Number of paths of length 4 from a to d is (1,4) th entry of A4 = 8.
Path Matrix:
 Let G be a simple directed graph with m vertices
v1, v2,…,vm. The path matrix or reachability matrix
of G is the square matrix P = [pij]m×m defined as




otherwise
pij
0
v
to
v
from
path
a
is
there
if
1 j
i
Theorem: Let A be the adjacency matrix of a graph G
with m vertices and let Bm= A + A2 + A3 + …+Am.
Then the path matrix P and Bm have the same
nonzero entries.
Remarks:
 In a strongly connected directed graph, for any pair
of vertices u and v in G, there is a path from u to v
and from v to u => G is Strongly connected if and
only if the path matrix P of G has no zero entries.
 Consider the following digraph:
Contd:















0
1
0
1
1
0
0
1
1
1
0
1
1
0
0
0
A















2
0
0
1
1
1
0
1
2
1
0
2
0
1
0
1
2
A















1
2
0
2
2
1
0
2
3
2
0
3
2
0
0
1
3
A















4
1
0
3
3
2
0
3
5
3
0
5
1
2
0
2
4
A
Thus B4=A+A2+A3+A4















7
4
0
7
7
4
0
7
11
7
0
11
4
3
0
4
Continued:
 By the above
theorem, the path
matrix P will be
given by















1
1
0
1
1
1
0
1
1
1
0
1
1
1
0
1
P
The whole zero column represents that v2 is not
Reachable from any other vertices. Since the matrix
P has zero entries therefore the digraph is not
strongly connected.
Graph Theory Cont:
(Euler and Hamilton)
Discrete Mathematics
R.K.Bajaj
The Seven Bridges of Königsberg, Germany
 The residents of Königsberg wondered if it was
possible to take a walking tour of the town that
crossed each of the seven bridges over the Presel river
exactly once. Is it possible to start at some node and
take a walk that uses each edge exactly once, and
ends at the starting node?
The Seven Bridges of Königsberg
You can redraw the original picture as long as for every edge between
nodes i and j in the original you put an edge between nodes i and j in
the redrawn version (and you put no other edges in the redrawn
version).
Original:
2
3
4 1
Redrawn:
4
2 3
The Seven Bridges of Königsberg
 Has no tour that uses each edge exactly once.
 (Even if we allow the walk to start and finish in different
places.)
 Can you see why?
Euler:
Euler - definitions
 An Eulerian path (Eulerian trail, Euler walk) in a graph
is a path that uses each edge precisely once. If such a path
exists, the graph is called traversable.
 An Eulerian cycle (Eulerian circuit, Euler tour) in a
graph is a cycle that uses each edge precisely once. If such
a cycle exists, the graph is called Eulerian (also
unicursal).
 Representation example: G1 has Euler path a, c, d, e, b, d,
a, b
a b
c d e
The problem in our language:
Show that is not Eulerian.
In fact, it contains no Euler trail.
Euler - theorems
1. A connected graph G is Eulerian if and only
if G is connected and has no vertices of odd
degree
2. A connected graph G is has an Euler trail
from node a to some other node b if and
only if G is connected and a  b are the only
two nodes of odd degree
Euler – theorems (=>)
Assume G has an Euler trail T from node a to node b (a and b
not necessarily distinct).
For every node besides a and b, T uses an edge to exit for each
edge it uses to enter. Thus, the degree of the node is even.
1. If a = b, then a also has even degree.  Euler circuit
2. If a  b, then a and b both have odd degree.  Euler path
Theorems
 Theorem: If G is a graph with m edges and n vertices v1, v2,…, vn,
then
n
 (vi) = 2m
i = 1
 Theorem: In any graph, there are an even number of vertices
of odd degree.
 Divide the vertices into two groups: even degree x1,x2,…,xm and
odd degree y1,y2,…,yk
S=  (xp) (even)
T=  (yj)
S+T =  (Vi)= 2m (even)
thus T is even, therefore k is even
Euler - theorems
1. A connected graph G is Eulerian if and only if G is connected
and has no vertices of odd degree
e
a b
c d
f
Building a simple path:
{a,b}, {b,c}, {c,f}, {f,a}
Euler circuit constructed if all edges
are used. True here?
Euler - theorems
1. A connected graph G is Eulerian if and only if G is connected
and has no vertices of odd degree
c d
e
Delete the simple path:
{a,b}, {b,c}, {c,f}, {f,a}
C is the common vertex for this
sub-graph with its “parent”.
Euler - theorems
1. A connected graph G is Eulerian if and only if G is connected
and has no vertices of odd degree
c d
e
Constructed subgraph may not be connected.
C is the common vertex for this sub-graph
with its “parent”.
C has even degree.
Start at c and take a walk:
{c,d}, {d,e}, {e,c}
Euler - theorems
1. A connected graph G is Eulerian if and only if G is connected
and has no vertices of odd degree
e
a b
c d
f
Building a simple path:
{a,b}, {b,c}, {c,f}, {f,a}
Euler circuit constructed if all edges
are used. True here?
Euler - theorems
1. A connected graph G is Eulerian if and only if G is connected
and has no vertices of odd degree
c d
e
Delete the simple path:
{a,b}, {b,c}, {c,f}, {f,a}
C is the common vertex for this
sub-graph with its “parent”.
Euler - theorems
1. A connected graph G is Eulerian if and only if G is connected
and has no vertices of odd degree
c d
e
Constructed subgraph may not be connected.
C is the common vertex for this sub-graph
with its “parent”.
C has even degree.
Start at c and take a walk:
{c,d}, {d,e}, {e,c}
Euler - theorems
1. A connected graph G is Eulerian if and only if G is connected
and has no vertices of odd degree
a b
c d
e
f
“Splice” the circuits in the 2 graphs:
{a,b}, {b,c}, {c,f}, {f,a}
“+”
{c,d}, {d,e}, {e,c}
“=“
{a,b}, {b,c}, {c,d}, {d,e}, {e,c}, {c,f}
{f,a}
Representation- Incidence Matrix
e1 e2 e3
a 1 0 0
b 1 1 0
c 0 1 1
d 0 0 1
e 0 0 0
f 0 0 0
a b
c d
e
f
e1
e2
e3
e4
e5
e6
e7
e4 e5 e6 e7
0 0 0 1
0 0 0 0
0 1 1 0
1 0 0 0
1 1 0 0
0 0 1 1
Theorem?
 If a graph G contains a cycle from v to v, G
contains a simple cycle from v to v?
 A cycle (or circuit) is a path of nonzero
length from v to v with no repeated
edges.
 A simple cycle is a cycle from v to v,
there are no repeated vertices.
Homework 4- Part one
 Write a program to obtain Euler Circuits.
 Include a simple user interface to “input” the graph.
Recommended: Input graph from file (XMLGraph
format).
 Input graphs can be Eulerian, no need for checking
“non” Euler graphs
 Minimum of 15 edges (no more than 20 edges
needed)
 Simple documentation
 Include a sample graph, if needed, to test
 Any programming language
 Due on final exam
Hamiltonian Graph
 Hamiltonian path (also called traceable path) is a
path that visits each vertex exactly once.
 A Hamiltonian cycle (also called Hamiltonian
circuit, vertex tour or graph cycle) is a cycle that
visits each vertex exactly once (except for the
starting vertex, which is visited once at the start and
once again at the end).
 A graph that contains a Hamiltonian path is called a
traceable graph. A graph that contains a
Hamiltonian cycle is called a Hamiltonian graph.
Any Hamiltonian cycle can be converted to a
Hamiltonian path by removing one of its edges, but a
Hamiltonian path can be extended to Hamiltonian
cycle only if its endpoints are adjacent.
A graph of the vertices of a dodecahedron.
Is it Hamiltonian?
Yes
.
This one has a Hamiltonian path, but not a
Hamiltonian tour.
Hamiltonian Graph
Hamiltonian Graph
This one has an Euler tour, but no Hamiltonian path.
Hamiltonian Graph
 Similar notions may be defined for directed graphs, where
edges (arcs) of a path or a cycle are required to point in
the same direction, i.e., connected tail-to-head.
 The Hamiltonian cycle problem or Hamiltonian circuit
problem in graph theory is to find a Hamiltonian cycle in a
given graph. The Hamiltonian path problem is to find a
Hamiltonian path in a given graph.
 There is a simple relation between the two problems. The
Hamiltonian path problem for graph G is equivalent to the
Hamiltonian cycle problem in a graph H obtained from G by
adding a new vertex and connecting it to all vertices of G.
 Both problems are NP-complete. However, certain classes
of graphs always contain Hamiltonian paths.
Hamiltonian Graph
 DIRAC’S Theorem: if G is a simple graph with n
vertices with n ≥ 3 such that the degree of every
vertex in G is at least n/2 then G has a Hamilton
circuit.
 ORE’S Theorem: if G is a simple graph with n
vertices with n ≥ 3 such that deg (u) + deg (v) ≥ n
fro every pair of nonadjacent vertices u and v in G,
then G has a Hamilton circuit.
Traveling salesperson problem
 The problem of finding a Hamiltonian
cycle in a graph
 Given a weighted graph G
 Vertices: cities, Edge weights: distance
 Find a minimum-length Hamiltonian cycle.
 Find a shortest route in which the salesperson can
visit each city one time, starting and ending at the
same city.
The 3-cube
The Hamiltonian
cycle (000, 001,
011, 010, 110,
111, 101, 100,
000) joins vertices
that differ by one
bit.
Planar Graphs:
 A graph is called planar if it can be drawn in the
plane such that its edges do not cross. Such a
drawing is called a planar representation of the
graph.
 Is K4 planar?
Other examples:
Graph Q3
Planar representation
Of Q3
Question: Draw K3,3 .Is it planar?
If not, justify your answer. Look at p-605 (Rosen)
Euler’s Formula:
 A planar representation of a graph splits the plane into
regions, including an unbounded region. The graph in
planar representation given by
splits the plane into six regions. Let G be a connected
planar simple graph with e edges and v vertices. Let r
be the number of regions in a planar representation of
G. Then v – e + r = 2.
R1
R2
R3
R4
R5
R6
Example:
 Suppose that a connected planar simple graph has
20 vertices, each of degree 3. Into how many
regions does a representation of this planar graph
split the plane? Ans: 12
 Corollary 1. If G is a connected planar graph with e
edges and v vertices where v >= 3, then e<= 3v -6.
 Corollary 2. If G is a connected planar simple
graph, then G has a vertex of degree not exceeding
five.
Degree of a region:
 Degree of a region is defined to be the number of
edges on the boundary of this region. When an edge
occurs twice on the boundary, it contributes two to
the degree.
R1
R2
R3
Degree of R1 = 3
Degree of R2 = 6
Degree of R3 = 7
Using previous corollary you can prove that K5 is
not a planar graph.
Kuratowski’s Theorem
(Characterization of planarity of graph with the
help of Homeomorphism)
 Statement: A graph is nonplanar if and only if it
contains a subgraph homeomorphic to K3,3 or K5.
Hence G is nonplanar
Coloring of a graph:
 Definition 1: A coloring of a simple graph is the
assignment of a color to each vertex of the graph
so that no two adjacent vertices are assigned the
same color.
 Definition 2: The chromatic number of a graph is
the least number of colors needed for a coloring of
the graph and it is denoted by )
(G

Example1:
4
)
(
,
3
)
( 
 H
G
that
Note 

Example 2: What is chromatic Number of K5 and Kn.
Ans:5 and n.
Example 3: What is Chromatic number of Km,n? Ans: 2
Four Color Theorem:
 The chromatic number of a planar graph is not
greater than four.
 Non planar graphs can have arbitrarily large
chromatic number.
 Consider two maps in the next slide and their
corresponding graph which are called dual graph of
the map, i.e. the problem of coloring the regions of
a map is equivalent to the problem of coloring the
vertices of the dual graph.
 Note that in the left map, 4 colors are sufficient and
in the right map 3 colors are sufficient.
Application of Graph Coloring:
(Welch Powell Algorithm):
 How can the final exams at a university be scheduled
so that no student has two exams at the same time?
 Modeling: Model the problem into a graph, with
vertices representing courses and with an edge
between two vertices if there is a common student in
the courses they represent
 Each time slot for a final exam is represented by a
different color.
 Thus a scheduling of the exams corresponds to a
coloring of the associated graph.
Continued:
 Suppose that there are 7
finals to be scheduled.
Number of the courses
from 1 to 7. Suppose
following pairs of courses
have common students:
1 &2 , 1 & 3, 4 & 1, 1 &
7, 2 & 3, 2 & 4, 2 & 5, 2
& 7, and so on….
 The graph associated is
given by:
Final Scheduling:
Time Period Courses
I 1,5
II 2,6
III 3
IV 4,7
Welch Powell Algorithm
 Order the vertices of G according to
decreasing degrees. For above graph:
 Vertices: 2 3 7 4 5 6 1
 Degrees: 5 5 5 5 4 4 4
 Colors: B G P P R B R
 Example 8.21 (Look at graph on p-219
Schaum’s Series)
Trees
Discrete Mathematics
Application Examples
 Useful for locating items in a list
 Used in Huffman coding algorithm
 Study games like checkers and chess to
determine winning strategies
 Weighted trees used to model various
categories of problems
Trees
Definition: A connected undirected
graph with no simple circuits
Characteristics
- No multiple edges
- No loops
Example
UoK
School of
Engineering
School of
Science
School of Arts School of Social
Sciences
CS EE ME Math.
Hierarchical definition tree
Which of the following graphs are
trees?
a
c
b
d
f
e
b
a
e
a
c
d
f
a
b c
d
e
a
b
d
c
e
f
A B C D
A & B : Trees
C: Not a Tree (Cycle abdcfa)
D: Not a Tree (Not connected). However it is a forest i.e. unconnected
graphs
Sub-trees
A subtree of a tree T is a tree T' such that
 V(T')  V(T) and
 E(T')  E(T)
H
L
K
J T
S
E
M
Tree Theorem -Theorem 1
An undirected Graph is a tree if and only if there
is a unique simple path between any two of its
vertices
Proof (=>) The graph is a Tree and it does not have cycles.
If there were cycles then there will be more than one simple
path between two vertices. Hence, there is a unique simple
path between every pair of vertices
Proof (<=) There exists a unique simple path between any
pair of vertices. Therefore the graph is connected and there
are no cycles in the graph. Hence, the graph is a tree
Tree terminology
Rooted tree: one vertex
designated as root and every
edge directed away from the
root
Parent: u is the parent of v
iff (if and only if) there is an
edge directed from u to v
Child: v is called the child of u
Every non-root node has a unique
parent (?)
Siblings: vertices with same parent
Ancestors: all vertices on path from the root to this
vertex, excluding the vertex
Descendants: Descendants of vertex v are all vertices
that have v as an ancestor
Internal Nodes: Nodes that have children
External or Leaf Nodes: Nodes that have no children
Tree terminology
A
B C
D E F
G H I J K
Root Node = A
Internal Nodes = A, B, C, E
and F
External Nodes or leaves = D,G, H
,I, J and K
Given : Tree rooted at A
Find: Descendants (B), Ancestor (A), Siblings (G) ?
Definition - Level
 The level of vertex v in a rooted tree
is the length of the unique path from
the root to v
 The level of root is 1
What is the level of T?
H
L
K
J T
S
E
M
Definition - Height
 The height of a rooted tree is the
maximum of the levels of its vertices
What is the height?
H
L
K
J T
S
E
M
Ordered Rooted Trees:
 An ordered rooted tree is a rooted tree where
the children of each internal vertex are shown in
order from left to right.
Contd:
 Observe that number of decimal points in any label is
one less than the level of the vertex. We refere this
system of labeling as Universal address system for an
ordered rooted tree.
 The addresses in the previous tree are linearly
ordered as follows:
0 , 1, 1.1, 1.2, 1.2.1, 1.2.2, 1.2.2.1, 2, 2.1, 3, 3.1,
3.1.1, 3.2, 3.2.1, 3.2.1.1, 3.2.2
This is also called Dictionary order or Lexicographical
order.
Definition: m-ary trees
 Rooted tree where every vertex has no more than
‘m’ children
 Full m-ary if every internal vertex has exactly ‘m’
children (i.e., except leaf/external vertices).
 m=2 gives a binary tree
 A complete m - ary tree is a full m-ary tree where
every leaf is at the same level.
 Exercise: Construct a complete binary tree of
height 4 and a complete 3-ary tree of height 3.
Example: 3-ary tree
Definition: Binary Tree
 Every internal vertex has a maximum of 2
children
 An ordered rooted tree is a rooted tree where
the children of each internal vertex are
ordered.
 In an ordered binary tree, the two possible
children of a vertex are called the left child
and the right child, if they exist.
An Ordered Binary Tree
H
L
K
J T
S
E
M
Definition: Balanced
 A rooted binary tree of height h is
called balanced if all its leaves are at
levels h or h-1
Is this tree balanced?
H
L
K
J T
S
E
M
Theorem ????
 Let T be a graph with n vertices.
 The following are equivalent
 T is a tree
 T is connected and acyclic
 T is a connected and has n-1 edges
 T is acyclic and has n-1 edges
Tree Traversal
 Information is stored in Ordered Rooted tree
 Methods are needed for visiting each vertex of the
tree in order to access data
 Three most commonly used traversal algorithms are:
1. Preorder Traversal
2. Inorder Traversal
3. Postorder Traversal
Preorder Traversal
Let T be an ordered rooted tree with root r
If T has only r, then r is the preorder traversal. Otherwise,
suppose T1, T2 are the left and right subtrees at r. The
preorder traversal begins by visiting r. Then traverses T1
in preorder, then traverses T2 in preorder.
Preorder Traversal Example: J E A H T M Y
‘J’
‘E’
‘A’ ‘H’
‘T’
‘M’ ‘Y’
Preorder Traversal
Procedure preorder (T: ordered rooted tree)
r := root of T
List r;
for each child c of r from left to right
T(c) := subtree with c as its root
preorder(T(c));
End.
Inorder Traversal
Let T be an ordered rooted tree with root r.
If T has only r, then r is the inorder traversal. Otherwise, suppose
T1, T2 are the left and right subtrees at r. The inorder traversal
begins by traversing T1 in inorder. Then visits r, then traverses T2
in inorder.
‘J’
‘E’
‘A’ ‘H’
‘T’
‘M’ ‘Y’
Inorder Traversal: A E H J M T Y
Inorder Traversal
Procedure inorder (T: ordered rooted tree)
r = root of T
if r is a leaf list r
Else
{
l = first child of r from left to right;
T(l) = subtree with l as its root
inorder (T(l));
list r;
for each child c of r except for l from left to right
{
T(c) = subtree with c as its root
inorder(T(c));
}
}
End.
Postorder Traversal
Let T be an ordered rooted tree with root r.
If T has only r, then r is the postorder traversal. Otherwise,
suppose T1, T2 are the left and right subtrees at r. The postorder
traversal begins by traversing T1 in postorder. Then traverses T2
in postorder, then ends by visiting r.
‘J’
‘E’
‘A’ ‘H’
‘T’
‘M’ ‘Y’
Postorder Traversal: A H E M Y T J
Postorder Traversal
Procedure postorder (T: ordered rooted tree)
r := root of T
for each child c of r from left to right
T(c) := subtree with c as its root
postorder(T(c));
End.
List r.
Infix, Prefix and Postfix
Notation
 We can represent complicated expressions, such as
compound propositions, combinations of sets, and
arithmetic expressions using ordered rooted trees.
 A binary tree representing arithmetic expression
+ -
x y x 4
+ 2
x
/
- 3
x 4
+
y
+ 2
y
x
/
- 3
x 4
Thus in this way, for such a given expression
we can draw an ordered rooted tree in which
the operations are the internal nodes and
variables are leaves.
# We obtain the infix form of an expression when
we traverse its rooted tree in inorder. In inorder
traversal it is necessary to include parentheses
whenever we encounter an operation because the
infix form of the expressions (x+y)/(x+3) ,
(x+(y/x))+3, and x+(y/(x+3)) will be x+y/x+3.
# The prefix form of an expression is obtained by
traversing its rooted tree in preorder. Expression
written in prefix form are said to be in
Polish Notation, which is named after the Polish
Logician Jan Lukasiewicz. No parentheses is needed.
# Sequentially the postfix form are said to be
reverse Polish Notation. (Parentheses not
needed)
 What is the value of the prefix
expression + - * 2 3 5 / 2 3 4
 Ans : 3
Given: Graph G=(V, E), |V|=n Cost function c: E  R .
Goal: Find a minimum-cost spanning tree for V i.e., find
a subset of arcs E*  E which connects any two nodes
of V with minimum possible cost
Example:
2
3
3
4
4
5
7
8
e
b
c
d
a
2
3
3
4
4
5
7
8
e
b
c
d
a
G=(V,E) Min. span. tree: G*=(V,E*)
Red bold arcs are in E*
Minimum Spanning Tree (Min SPT)
Algorithms for Min SPT
 Prim’s Algorithm
 Kruskal’s Algorithm
Prims Algorithm
Procedure Prims (G: weighted connected undirected graph with n
vertices)
T := a minimum-weight edge
For i := 1 to n-2
Begin
e:= an edge of minimum weight incident to a vertex in T and
not forming a simple circuit in T if added to T
T := T with e added
End {T is a minimum spanning tree of G}
Prim’s Example
 Initially
a
c e
d
b
2
7
4
3
8
3
4
5
T = {}
Prim’s Example
 Initial step, chose min weight edge
a
c e
d
b
2
7
4
3
8
3
4
5
T = {{a, b}}
Prim’s Example
 Iteration 1
a
c e
d
b
2
7
4
3
8
3
4
5
T = {{a, b}, {b, c}}
Prim’s Example
 Iteration 2
a
c e
d
b
2
7
4
3
8
3
4
5
T = {{a, b}, {b, c}, {b, d}}
Prim’s Example
 Iteration 3
a
c e
d
b
2
7
4
3
8
3
4
5
T = {{a, b}, {b, c}, {b, d} ,
{c, e}}
Kruskal’s algorithm
Procedure Kruskal (G: weighted connected undirected graph
with n vertices)
T := empty graph
For i := 1 to n-1
Begin
e := any edge in G with smallest weight that does not form
simple circuit when added to T
T := T with e added
End { T is the minimum spanning tree of G}
Kruskal’s Example
 Initially
a
c e
d
b
2
7
4
3
8
3
4
5
T = {}
Kruskal’s Example
 Iteration 1
a
c e
d
b
2
7
4
3
8
3
4
5
T = {{a, b}}
Kruskal’s Example
 Iteration 2
a
c e
d
b
2
7
4
3
8
3
4
5
T = {{a, b}, {b, c}}
Kruskal’s Example
 Iteration 3
a
c e
d
b
2
7
4
3
8
3
4
5
T = {{a, b}, {b, c}, {b, d}}
Kruskal’s Example
 Iteration 4
a
c e
d
b
2
7
4
3
8
3
4
5
T = {{a, b}, {b, c}, {b, d} ,
{c, e}}
Prim’s and Kruskal’s
 Prim’s
 Chosen edges: minimum weight & incident
to a vertex already in the tree.
 Kruskal’s
 Chosen edge: minimum weight & not
necessarily incident to a vertex in the tree.
Understand the difference:
http://students.ceid.upatras.gr/~papagel/project/prim.htm
http://students.ceid.upatras.gr/~papagel/project/kruskal.htm

More Related Content

What's hot

Graph isomorphism
Graph isomorphismGraph isomorphism
Graph isomorphism
Core Condor
 
Dijkstra’s algorithm
Dijkstra’s algorithmDijkstra’s algorithm
Dijkstra’s algorithm
faisal2204
 

What's hot (20)

Ppt of graph theory
Ppt of graph theoryPpt of graph theory
Ppt of graph theory
 
Graph theory
Graph theory Graph theory
Graph theory
 
Graphs - Discrete Math
Graphs - Discrete MathGraphs - Discrete Math
Graphs - Discrete Math
 
Graph theory
Graph theoryGraph theory
Graph theory
 
Introduction to Graph Theory
Introduction to Graph TheoryIntroduction to Graph Theory
Introduction to Graph Theory
 
Graph theory concepts complex networks presents-rouhollah nabati
Graph theory concepts   complex networks presents-rouhollah nabatiGraph theory concepts   complex networks presents-rouhollah nabati
Graph theory concepts complex networks presents-rouhollah nabati
 
Graph Theory Introduction
Graph Theory IntroductionGraph Theory Introduction
Graph Theory Introduction
 
Graph theory
Graph theoryGraph theory
Graph theory
 
Dijkstra s algorithm
Dijkstra s algorithmDijkstra s algorithm
Dijkstra s algorithm
 
Minimum spanning tree (mst)
Minimum spanning tree (mst)Minimum spanning tree (mst)
Minimum spanning tree (mst)
 
Network flows
Network flowsNetwork flows
Network flows
 
Graph isomorphism
Graph isomorphismGraph isomorphism
Graph isomorphism
 
graph theory
graph theory graph theory
graph theory
 
Graph Theory
Graph TheoryGraph Theory
Graph Theory
 
Prim's Algorithm on minimum spanning tree
Prim's Algorithm on minimum spanning treePrim's Algorithm on minimum spanning tree
Prim's Algorithm on minimum spanning tree
 
Dijkstra’s algorithm
Dijkstra’s algorithmDijkstra’s algorithm
Dijkstra’s algorithm
 
Introduction to graph theory (All chapter)
Introduction to graph theory (All chapter)Introduction to graph theory (All chapter)
Introduction to graph theory (All chapter)
 
Minimum spanning tree
Minimum spanning treeMinimum spanning tree
Minimum spanning tree
 
Linear algebra-Basis & Dimension
Linear algebra-Basis & DimensionLinear algebra-Basis & Dimension
Linear algebra-Basis & Dimension
 
Shortest path (Dijkistra's Algorithm) & Spanning Tree (Prim's Algorithm)
Shortest path (Dijkistra's Algorithm) & Spanning Tree (Prim's Algorithm)Shortest path (Dijkistra's Algorithm) & Spanning Tree (Prim's Algorithm)
Shortest path (Dijkistra's Algorithm) & Spanning Tree (Prim's Algorithm)
 

Similar to Chapter 5 Graphs (1).ppt

1. Graph and Graph Terminologiesimp.pptx
1. Graph and Graph Terminologiesimp.pptx1. Graph and Graph Terminologiesimp.pptx
1. Graph and Graph Terminologiesimp.pptx
swapnilbs2728
 

Similar to Chapter 5 Graphs (1).ppt (20)

graph.ppt
graph.pptgraph.ppt
graph.ppt
 
LEC 1.pptx
LEC 1.pptxLEC 1.pptx
LEC 1.pptx
 
Tn 110 lecture 8
Tn 110 lecture 8Tn 110 lecture 8
Tn 110 lecture 8
 
graph ASS (1).ppt
graph ASS (1).pptgraph ASS (1).ppt
graph ASS (1).ppt
 
Graph ASS DBATU.pptx
Graph ASS DBATU.pptxGraph ASS DBATU.pptx
Graph ASS DBATU.pptx
 
graph.ppt
graph.pptgraph.ppt
graph.ppt
 
graph.ppt
graph.pptgraph.ppt
graph.ppt
 
Graphs.pdf
Graphs.pdfGraphs.pdf
Graphs.pdf
 
1. Graph and Graph Terminologiesimp.pptx
1. Graph and Graph Terminologiesimp.pptx1. Graph and Graph Terminologiesimp.pptx
1. Graph and Graph Terminologiesimp.pptx
 
Graph-theory.ppt
Graph-theory.pptGraph-theory.ppt
Graph-theory.ppt
 
Graph.ppt
Graph.pptGraph.ppt
Graph.ppt
 
Graphs
GraphsGraphs
Graphs
 
Graphs
GraphsGraphs
Graphs
 
DIGITAL TEXT BOOK
DIGITAL TEXT BOOKDIGITAL TEXT BOOK
DIGITAL TEXT BOOK
 
graph theory
graph theorygraph theory
graph theory
 
Graph Theory,Graph Terminologies,Planar Graph & Graph Colouring
Graph Theory,Graph Terminologies,Planar Graph & Graph ColouringGraph Theory,Graph Terminologies,Planar Graph & Graph Colouring
Graph Theory,Graph Terminologies,Planar Graph & Graph Colouring
 
BCA_Semester-II-Discrete Mathematics_unit-iv Graph theory
BCA_Semester-II-Discrete Mathematics_unit-iv Graph theoryBCA_Semester-II-Discrete Mathematics_unit-iv Graph theory
BCA_Semester-II-Discrete Mathematics_unit-iv Graph theory
 
Elements of Graph Theory for IS.pptx
Elements of Graph Theory for IS.pptxElements of Graph Theory for IS.pptx
Elements of Graph Theory for IS.pptx
 
Ch08.ppt
Ch08.pptCh08.ppt
Ch08.ppt
 
Graph
GraphGraph
Graph
 

Recently uploaded

Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
Epec Engineered Technologies
 
Digital Communication Essentials: DPCM, DM, and ADM .pptx
Digital Communication Essentials: DPCM, DM, and ADM .pptxDigital Communication Essentials: DPCM, DM, and ADM .pptx
Digital Communication Essentials: DPCM, DM, and ADM .pptx
pritamlangde
 
Integrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - NeometrixIntegrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - Neometrix
Neometrix_Engineering_Pvt_Ltd
 

Recently uploaded (20)

HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKARHAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
 
School management system project Report.pdf
School management system project Report.pdfSchool management system project Report.pdf
School management system project Report.pdf
 
A Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna MunicipalityA Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna Municipality
 
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptx
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptxOrlando’s Arnold Palmer Hospital Layout Strategy-1.pptx
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptx
 
Online electricity billing project report..pdf
Online electricity billing project report..pdfOnline electricity billing project report..pdf
Online electricity billing project report..pdf
 
457503602-5-Gas-Well-Testing-and-Analysis-pptx.pptx
457503602-5-Gas-Well-Testing-and-Analysis-pptx.pptx457503602-5-Gas-Well-Testing-and-Analysis-pptx.pptx
457503602-5-Gas-Well-Testing-and-Analysis-pptx.pptx
 
💚Trustworthy Call Girls Pune Call Girls Service Just Call 🍑👄6378878445 🍑👄 Top...
💚Trustworthy Call Girls Pune Call Girls Service Just Call 🍑👄6378878445 🍑👄 Top...💚Trustworthy Call Girls Pune Call Girls Service Just Call 🍑👄6378878445 🍑👄 Top...
💚Trustworthy Call Girls Pune Call Girls Service Just Call 🍑👄6378878445 🍑👄 Top...
 
Computer Networks Basics of Network Devices
Computer Networks  Basics of Network DevicesComputer Networks  Basics of Network Devices
Computer Networks Basics of Network Devices
 
DC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equationDC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equation
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
 
Digital Communication Essentials: DPCM, DM, and ADM .pptx
Digital Communication Essentials: DPCM, DM, and ADM .pptxDigital Communication Essentials: DPCM, DM, and ADM .pptx
Digital Communication Essentials: DPCM, DM, and ADM .pptx
 
Integrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - NeometrixIntegrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - Neometrix
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdf
 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.ppt
 
Work-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxWork-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptx
 
Moment Distribution Method For Btech Civil
Moment Distribution Method For Btech CivilMoment Distribution Method For Btech Civil
Moment Distribution Method For Btech Civil
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - V
 
PE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and propertiesPE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and properties
 
Employee leave management system project.
Employee leave management system project.Employee leave management system project.
Employee leave management system project.
 
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptxS1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
 

Chapter 5 Graphs (1).ppt

  • 2. Applications of Graphs  Potentially anything (graphs can represent relations, relations can describe the extension of any predicate)  Applications in networking, scheduling, flow optimization, circuit design, path planning.  Geneology analysis, computer game playing, program compilation, object-oriented design,….
  • 3. Varying Applications (examples)  Computer networks  Distinguish between two chemical compounds with the same molecular formula but different structures  Solve shortest path problems between cities  Scheduling exams and assign channels to television stations
  • 4. Topics Covered  Definitions  Types  Terminology  Representation  Sub-graphs  Connectivity  Hamilton and Euler definitions  Shortest Path  Planar Graphs  Graph Coloring
  • 5. Definitions - Graph A generalization of the simple concept of a set of dots, links, edges or arcs. Representation: Graph G =(V, E) consists set of vertices denoted by V, or by V(G) and set of edges E, or E(G)
  • 6. Example  What is a graph G?  It is a pair G = (V, E), where  V = V(G) = set of vertices  E = E(G) = set of edges  Example:  V = {s, u, v, w, x, y, z}  E = {(x,s), (x,v)1, (x,v)2, (x,u), (v,w), (s,v), (s,u), (s,w), (s,y), (w,y), (u,y), (u,z),(y,z)}
  • 7. Edges  An edge may be labeled by a pair of vertices, for instance e = (v,w).  e is said to be incident on v and w.  Isolated vertex = a vertex without incident edges.
  • 8. Definitions – Edge Type Directed: Ordered pair of vertices. Represented as (u, v) directed from vertex u to v. Undirected: Unordered pair of vertices. Represented as {u, v}. Disregards any sense of direction and treats both end vertices interchangeably. u v u v
  • 9. Definitions – Edge Type  Loop: A loop is an edge whose endpoints are equal i.e., an edge joining a vertex to it self is called a loop. Represented as {u, u} = {u}  Multiple Edges: Two or more edges joining the same pair of vertices. u
  • 10. Definitions – Graph Type Simple (Undirected) Graph: consists of V, a nonempty set of vertices, and E, a set of unordered pairs of distinct elements of V called edges (undirected) Representation Example: G(V, E), V = {u, v, w}, E = {{u, v}, {v, w}, {u, w}} u v w
  • 11. Definitions – Graph Type Multigraph: G(V,E), consists of set of vertices V, set of Edges E and a function f from E to {{u, v}| u, v V, u ≠ v}. The edges e1 and e2 are called multiple or parallel edges if f (e1) = f (e2). Representation Example: V = {u, v, w}, E = {e1, e2, e3} e2 u v w e1 e3 • E.g., nodes are cities, edges are segments of major highways.
  • 12. Definitions – Graph Type Pseudograph: Like a multigraph, but edges connecting a node to itself are allowed. Representation Example: V = {u, v, w}, E = {e1, e2, e3, e4} u v w e1 e3 e2 e4
  • 13. Definitions – Graph Type Directed Graph: G(V, E), set of vertices V, and set of Edges E, that are ordered pair of elements of V (directed edges) Representation Example: G(V, E), V = {u, v, w}, E = {(u, v), (v, w), (w, u)} u w v E.g. : V = people , E={( ={(x, y) | ) | x likes y}
  • 14. Definitions – Graph Type Directed Multigraph: Like directed graphs, but there may be more than one arc from a node to another. Representation Example: V = {u, v, w}, E = {e1, e2, e3, e4} u w v e1 e2 e3 e4
  • 15. Definitions – Graph Type Type Edges Multiple Edges Allowed ? Loops Allowed ? Simple Graph undirected No No Multigraph undirected Yes No Pseudograph undirected Yes Yes Directed Graph directed No Yes Directed Multigraph directed Yes Yes
  • 16. Terminology – Undirected graphs  u and v are adjacent if {u, v} is an edge, e is called incident with u and v. u and v are called endpoints of {u, v}  Degree of Vertex (deg (v)): the number of edges incident on a vertex. A loop contributes twice to the degree (why?).  Pendant Vertex: deg (v) =1  Isolated Vertex: deg (v) = 0 Representation Example: For V = {u, v, w} , E = { {u, w}, {u, w}, (u, v) }, deg (u) = 2, deg (v) = 1, deg (w) = 1, deg (k) = 0, w and v are pendant , k is isolated u k w v
  • 17. Terminology – Directed graphs  For the edge (u, v), u is adjacent to v OR v is adjacent from u, u – Initial vertex, v – Terminal vertex  In-degree (deg- (u)): number of edges for which u is terminal vertex  Out-degree (deg+ (u)): number of edges for which u is initial vertex Note: A loop contributes 1 to both in-degree and out-degree (why?) Representation Example: For V = {u, v, w} , E = { (u, w), ( v, w), (u, v) }, deg- (u) = 0, deg+ (u) = 2, deg- (v) = 1, deg+ (v) = 1, and deg- (w) = 2, deg+ (u) = 0 u w v
  • 18. Theorems: Undirected Graphs Theorem 1 The Handshaking theorem: (why?) Every edge connects 2 vertices    V v v e 2
  • 19. Theorems: Undirected Graphs Theorem 2: An undirected graph has even number of vertices with odd degree even V oof                  2 2 1 V v 1, V v V u V v deg(v) term second even also is term second Hence 2e. is sum since even is inequality last the of side hand right on the terms last two the of sum The even. is inequality last the of side hand right in the first term The V for v even is (v) deg deg(v) deg(u) deg(v) 2e vertices degree odd to refers V2 and vertices degree even of set the is 1 Pr
  • 20. Theorems: directed Graphs  Theorem 3: deg + (u) = deg - (u) = |E|  
  • 21. Simple graphs – special cases  Complete graph: Kn, is the simple graph that contains exactly one edge between each pair of distinct vertices. Representation Example: K1, K2, K3, K4 K2 K1 K4 K3
  • 22. Simple graphs – special cases  Cycle: Cn, n ≥ 3 consists of n vertices v1, v2, v3 … vn and edges {v1, v2}, {v2, v3}, {v3, v4} … {vn-1, vn}, {vn, v1} Representation Example: C3, C4 C3 C4 How many edges are there in Cn ?
  • 23. Simple graphs – special cases  Wheels: Wn, obtained by adding additional vertex to Cn and connecting all vertices to this new vertex by new edges. Representation Example: W3, W4 W3 W4 How many edges are there in Wn?
  • 24. Simple graphs – special cases  N-cubes: Qn, vertices represented by 2^n bit strings of length n. Two vertices are adjacent if and only if the bit strings that they represent differ by exactly one bit positions Representation Example: Q1, Q2 0 1 Q1 10 00 11 01 Q2 What is Q3?
  • 25. Bipartite graphs  In a simple graph G, if V can be partitioned into two disjoint sets V1 and V2 such that every edge in the graph connects a vertex in V1 and a vertex V2 (so that no edge in G connects either two vertices in V1 or two vertices in V2) Application example: Representing Relations Representation example: V1 = {v1, v2, v3} and V2 = {v4, v5, v6}, v1 v2 v3 v4 v5 v6 V1 V2 V(G) = V(V1)  V(V2) |V(V1)| = m, |V(V2)| = n V(V1) V(V2) = 
  • 26. Complete Bipartite graphs  Km,n is the graph that has its vertex set portioned into two subsets of m and n vertices, respectively There is an edge between two vertices if and only if one vertex is in the first subset and the other vertex is in the second subset. Representation example: K2,3, K3,3 K3,3 |V(V1)| = m |V(V2)| = n K2,3 V1 V2
  • 28. Subgraphs  A subgraph of a graph G = (V, E) is a graph H =(V’, E’) where V’ is a subset of V and E’ is a subset of E Application example: solving sub-problems within a graph Representation example: V = {u, v, w}, E = ({u, v}, {v, w}, {w, u}}, H1 , H2 u v H2 u v w G u w v H1
  • 29. Subgraphs  G = G1 U G2 wherein E = E1 U E2 and V = V1 U V2, G, G1 and G2 are simple graphs of G Representation example: V1 = {u, w}, E1 = {{u, w}}, V2 = {w, v}, E1 = {{w, v}}, V = {u, v ,w}, E = { { {u, w}, {w, v} } } u v w w v w u G1 G2 G
  • 30. Representation  Incidence (Matrix): Most useful when information about edges is more desirable than information about vertices.  Adjacency (Matrix/List): Most useful when information about the vertices is more desirable than information about the edges. These two representations are also most popular since information about the vertices is often more desirable than edges in most applications
  • 31. Representation- Incidence matrix  Incidence matrix  Label rows with vertices  Label columns with edges  1 if an edge is incident to a vertex, 0 otherwise e f g h j v 1 1 0 0 0 w 1 0 1 0 1 x 0 0 0 1 1 y 0 1 1 1 0
  • 32. Representation- Adjacency Matrix  There is an N x N matrix, where |V| = N , the Adjacenct Matrix (NxN) A = [aij]  For undirected graph  For directed graph  This makes it easier to find subgraphs, and to reverse graphs if needed.     otherwise 0 G of edge an is ) v , (v if 1 a j i ij     otherwise 0 G of edge an is } v , {v if 1 a j i ij
  • 33. Representation- Adjacency Matrix  Adjacency is chosen on the ordering of vertices. Hence, there as are as many as n! such matrices.  The adjacency matrix of simple graphs are symmetric (aij = aji) (why?)  When there are relatively few edges in the graph the adjacency matrix is a sparse matrix  Directed Multigraphs can be represented by using aij = number of edges from vi to vj
  • 34. Representation- Adjacency Matrix  Example: Undirected Graph G (V, E) v u w v 0 1 1 u 1 0 1 w 1 1 0 u v w
  • 35. Representation- Adjacency Matrix  Example: directed Graph G (V, E) v u w v 0 1 0 u 0 0 1 w 1 0 0 u v w
  • 36. Linked Representation- Adjacency List Each node (vertex) has a list of which nodes (vertex) it is adjacent Example: undirectd graph G (V, E) u v w node Adjacency List u v , w v w, u w u , v G= [u: v, w; v: w, u; w: u, v]
  • 37. Graph - Isomorphism G1 and G2 are isomorphic  if there exist one-to-one onto functions f: V(G1) → V(G2) and g: E(G1) → E(G2) such that  an edge e is adjacent to vertices v, w in G1 if and only if g(e) is adjacent to f(v) and f(w) in G2
  • 38. Graph - Isomorphism Representation example: G1 = (V1, E1) , G2 = (V2, E2) f(u1) = v1, f(u2) = v4, f(u3) = v3, f(u4) = v2, u1 u3 u4 u2 v3 v4 v1 v2
  • 39. Connectivity  Basic Idea: In a Graph Reachability among vertices by traversing the edges Application Example: - In a city to city road-network, if one city can be reached from another city. - Problems if determining whether a message can be sent between two computer using intermediate links - Efficiently planning routes for data delivery in the Internet
  • 40. Connectivity – Path A Path is a sequence of edges that begins at a vertex of a graph and travels along edges of the graph, always connecting pairs of adjacent vertices. Representation example: G = (V, E), Path P represented, from u to v is {{u, 1}, {1, 4}, {4, 5}, {5, v}} 1 u 3 4 5 2 v
  • 41. Connectivity – Path Definition for Directed Graphs A Path of length n (> 0) from u to v in G is a sequence of n edges e1, e2 , e3, …, en of G such that f (e1) = (xo, x1), f (e2) = (x1, x2), …, f (en) = (xn-1, xn), where x0 = u and xn = v. A path is said to pass through x0, x1, …, xn or traverse e1, e2 , e3, …, en For Simple Graphs, sequence is x0, x1, …, xn In directed multigraphs when it is not necessary to distinguish between their edges, we can use sequence of vertices to represent the path Circuit/Cycle: u = v, length of path > 0 Simple Path: does not contain an edge more than once
  • 42. Paths and cycles  A path of length n is a sequence of n + 1 vertices and n consecutive edges  A cycle is a path that begins and ends at the same vertex
  • 43. Connectivity – Connectedness Undirected Graph An undirected graph is connected if there exists is a simple path between every pair of vertices Representation Example: G (V, E) is connected since for V = {v1, v2, v3, v4, v5}, there exists a path between {vi, vj}, 1 ≤ i, j≤ 5 v1 v2 v3 v5 v4
  • 44. Connectivity – Connectedness Undirected Graph  Articulation Point (Cut vertex): removal of a vertex produces a subgraph with more connected components than in the original graph. The removal of a cut vertex from a connected graph produces a graph that is not connected  Cut Edge: An edge whose removal produces a subgraph with more connected components than in the original graph. Representation example: G (V, E), v3 is the articulation point or edge {v2, v3}, the number of connected components is 2 (> 1) v1 v2 v3 v4 v5
  • 45. Connectivity – Connectedness Directed Graph  A directed graph is strongly connected if there is a path from a to b and from b to a whenever a and b are vertices in the graph.  A directed graph is weakly connected if there is a (undirected) path between every two vertices in the underlying undirected path A strongly connected Graph can be weakly connected but the vice-versa is not true (why?) a b c d a b c d
  • 46. Unilaterally connected:  A directed graph is unilaterally connected or unilateral if for any pair of vertices a and b, there is a path from a to b to b to a, i.e. one of them is reachable from the other. Strongly connected=> Unilaterally=>Weakly connected Digraph G Digraph H Verify that G is strongly connected. H is not strongly connected. Is H unilateral ?
  • 47. Connectivity – Connectedness Directed Graph Representation example: G1 (Strong component), G2 (Weak Component), G3 is undirected graph representation of G2 or G1 G2 G1 G3
  • 48. Connectivity – Connectedness  Directed Graph Strongly connected Components: subgraphs of a Graph G that are strongly connected Representation example: G1 is the strongly connected component in G G1 G
  • 49. Counting Paths  Theorem: Let G be a graph with adjacency matrix A with respect to the ordering v1, v2, …, Vn (with directed on undirected edges, with multiple edges and loops allowed). The number of different paths of length r from Vi to Vj, where r is a positive integer, equals the (i, j)th entry of (adjacency matrix) Ar. Proof: By Mathematical Induction.
  • 50. Counting Paths  Theorem: Let G be a graph with …. of (adjacency matrix) Ar. Proof: By Mathematical Induction. Base Case: For the case N = 1, aij =1 implies that there is a path of length 1. This is true since this corresponds to an edge between two vertices. We assume that theorem is true for N = r and prove the same for N = r +1. Assume that the (i, j)th entry of Ar is the number of different paths of length r from vi to vj. By induction hypothesis, bik is the number of paths of length r from vi to vk.
  • 51. Counting Paths Case r +1: In Ar+1 = Ar. A, The (i, j)th entry in Ar+1 , bi1a1j + bi2 a2j + …+ bin anj where bik is the (i, j)th entry of Ar. By induction hypothesis, bik is the number of paths of length r from vi to vk. The (i, j)th entry in Ar+1 corresponds to the length between i and j and the length is r+1. This path is made up of length r from vi to vk and of length from vk to vj. By product rule for counting, the number of such paths is bik* akj The result is bi1a1j + bi2 a2j + …+ bin anj ,the desired result.
  • 52. Counting Paths a ------- b | | | | c -------d A = 0 1 1 0 A4 = 8 0 0 8 1 0 0 1 0 8 8 0 1 0 0 1 0 8 8 0 0 1 1 0 8 0 0 8 Number of paths of length 4 from a to d is (1,4) th entry of A4 = 8.
  • 53. Path Matrix:  Let G be a simple directed graph with m vertices v1, v2,…,vm. The path matrix or reachability matrix of G is the square matrix P = [pij]m×m defined as     otherwise pij 0 v to v from path a is there if 1 j i Theorem: Let A be the adjacency matrix of a graph G with m vertices and let Bm= A + A2 + A3 + …+Am. Then the path matrix P and Bm have the same nonzero entries.
  • 54. Remarks:  In a strongly connected directed graph, for any pair of vertices u and v in G, there is a path from u to v and from v to u => G is Strongly connected if and only if the path matrix P of G has no zero entries.  Consider the following digraph:
  • 56. Continued:  By the above theorem, the path matrix P will be given by                1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 P The whole zero column represents that v2 is not Reachable from any other vertices. Since the matrix P has zero entries therefore the digraph is not strongly connected.
  • 57. Graph Theory Cont: (Euler and Hamilton) Discrete Mathematics R.K.Bajaj
  • 58. The Seven Bridges of Königsberg, Germany  The residents of Königsberg wondered if it was possible to take a walking tour of the town that crossed each of the seven bridges over the Presel river exactly once. Is it possible to start at some node and take a walk that uses each edge exactly once, and ends at the starting node?
  • 59. The Seven Bridges of Königsberg You can redraw the original picture as long as for every edge between nodes i and j in the original you put an edge between nodes i and j in the redrawn version (and you put no other edges in the redrawn version). Original: 2 3 4 1 Redrawn: 4 2 3
  • 60. The Seven Bridges of Königsberg  Has no tour that uses each edge exactly once.  (Even if we allow the walk to start and finish in different places.)  Can you see why? Euler:
  • 61. Euler - definitions  An Eulerian path (Eulerian trail, Euler walk) in a graph is a path that uses each edge precisely once. If such a path exists, the graph is called traversable.  An Eulerian cycle (Eulerian circuit, Euler tour) in a graph is a cycle that uses each edge precisely once. If such a cycle exists, the graph is called Eulerian (also unicursal).  Representation example: G1 has Euler path a, c, d, e, b, d, a, b a b c d e
  • 62. The problem in our language: Show that is not Eulerian. In fact, it contains no Euler trail.
  • 63. Euler - theorems 1. A connected graph G is Eulerian if and only if G is connected and has no vertices of odd degree 2. A connected graph G is has an Euler trail from node a to some other node b if and only if G is connected and a  b are the only two nodes of odd degree
  • 64. Euler – theorems (=>) Assume G has an Euler trail T from node a to node b (a and b not necessarily distinct). For every node besides a and b, T uses an edge to exit for each edge it uses to enter. Thus, the degree of the node is even. 1. If a = b, then a also has even degree.  Euler circuit 2. If a  b, then a and b both have odd degree.  Euler path
  • 65. Theorems  Theorem: If G is a graph with m edges and n vertices v1, v2,…, vn, then n  (vi) = 2m i = 1  Theorem: In any graph, there are an even number of vertices of odd degree.  Divide the vertices into two groups: even degree x1,x2,…,xm and odd degree y1,y2,…,yk S=  (xp) (even) T=  (yj) S+T =  (Vi)= 2m (even) thus T is even, therefore k is even
  • 66. Euler - theorems 1. A connected graph G is Eulerian if and only if G is connected and has no vertices of odd degree e a b c d f Building a simple path: {a,b}, {b,c}, {c,f}, {f,a} Euler circuit constructed if all edges are used. True here?
  • 67. Euler - theorems 1. A connected graph G is Eulerian if and only if G is connected and has no vertices of odd degree c d e Delete the simple path: {a,b}, {b,c}, {c,f}, {f,a} C is the common vertex for this sub-graph with its “parent”.
  • 68. Euler - theorems 1. A connected graph G is Eulerian if and only if G is connected and has no vertices of odd degree c d e Constructed subgraph may not be connected. C is the common vertex for this sub-graph with its “parent”. C has even degree. Start at c and take a walk: {c,d}, {d,e}, {e,c}
  • 69. Euler - theorems 1. A connected graph G is Eulerian if and only if G is connected and has no vertices of odd degree e a b c d f Building a simple path: {a,b}, {b,c}, {c,f}, {f,a} Euler circuit constructed if all edges are used. True here?
  • 70. Euler - theorems 1. A connected graph G is Eulerian if and only if G is connected and has no vertices of odd degree c d e Delete the simple path: {a,b}, {b,c}, {c,f}, {f,a} C is the common vertex for this sub-graph with its “parent”.
  • 71. Euler - theorems 1. A connected graph G is Eulerian if and only if G is connected and has no vertices of odd degree c d e Constructed subgraph may not be connected. C is the common vertex for this sub-graph with its “parent”. C has even degree. Start at c and take a walk: {c,d}, {d,e}, {e,c}
  • 72. Euler - theorems 1. A connected graph G is Eulerian if and only if G is connected and has no vertices of odd degree a b c d e f “Splice” the circuits in the 2 graphs: {a,b}, {b,c}, {c,f}, {f,a} “+” {c,d}, {d,e}, {e,c} “=“ {a,b}, {b,c}, {c,d}, {d,e}, {e,c}, {c,f} {f,a}
  • 73. Representation- Incidence Matrix e1 e2 e3 a 1 0 0 b 1 1 0 c 0 1 1 d 0 0 1 e 0 0 0 f 0 0 0 a b c d e f e1 e2 e3 e4 e5 e6 e7 e4 e5 e6 e7 0 0 0 1 0 0 0 0 0 1 1 0 1 0 0 0 1 1 0 0 0 0 1 1
  • 74. Theorem?  If a graph G contains a cycle from v to v, G contains a simple cycle from v to v?  A cycle (or circuit) is a path of nonzero length from v to v with no repeated edges.  A simple cycle is a cycle from v to v, there are no repeated vertices.
  • 75. Homework 4- Part one  Write a program to obtain Euler Circuits.  Include a simple user interface to “input” the graph. Recommended: Input graph from file (XMLGraph format).  Input graphs can be Eulerian, no need for checking “non” Euler graphs  Minimum of 15 edges (no more than 20 edges needed)  Simple documentation  Include a sample graph, if needed, to test  Any programming language  Due on final exam
  • 76. Hamiltonian Graph  Hamiltonian path (also called traceable path) is a path that visits each vertex exactly once.  A Hamiltonian cycle (also called Hamiltonian circuit, vertex tour or graph cycle) is a cycle that visits each vertex exactly once (except for the starting vertex, which is visited once at the start and once again at the end).  A graph that contains a Hamiltonian path is called a traceable graph. A graph that contains a Hamiltonian cycle is called a Hamiltonian graph. Any Hamiltonian cycle can be converted to a Hamiltonian path by removing one of its edges, but a Hamiltonian path can be extended to Hamiltonian cycle only if its endpoints are adjacent.
  • 77. A graph of the vertices of a dodecahedron. Is it Hamiltonian? Yes .
  • 78. This one has a Hamiltonian path, but not a Hamiltonian tour. Hamiltonian Graph
  • 79. Hamiltonian Graph This one has an Euler tour, but no Hamiltonian path.
  • 80. Hamiltonian Graph  Similar notions may be defined for directed graphs, where edges (arcs) of a path or a cycle are required to point in the same direction, i.e., connected tail-to-head.  The Hamiltonian cycle problem or Hamiltonian circuit problem in graph theory is to find a Hamiltonian cycle in a given graph. The Hamiltonian path problem is to find a Hamiltonian path in a given graph.  There is a simple relation between the two problems. The Hamiltonian path problem for graph G is equivalent to the Hamiltonian cycle problem in a graph H obtained from G by adding a new vertex and connecting it to all vertices of G.  Both problems are NP-complete. However, certain classes of graphs always contain Hamiltonian paths.
  • 81. Hamiltonian Graph  DIRAC’S Theorem: if G is a simple graph with n vertices with n ≥ 3 such that the degree of every vertex in G is at least n/2 then G has a Hamilton circuit.  ORE’S Theorem: if G is a simple graph with n vertices with n ≥ 3 such that deg (u) + deg (v) ≥ n fro every pair of nonadjacent vertices u and v in G, then G has a Hamilton circuit.
  • 82. Traveling salesperson problem  The problem of finding a Hamiltonian cycle in a graph  Given a weighted graph G  Vertices: cities, Edge weights: distance  Find a minimum-length Hamiltonian cycle.  Find a shortest route in which the salesperson can visit each city one time, starting and ending at the same city.
  • 83. The 3-cube The Hamiltonian cycle (000, 001, 011, 010, 110, 111, 101, 100, 000) joins vertices that differ by one bit.
  • 84. Planar Graphs:  A graph is called planar if it can be drawn in the plane such that its edges do not cross. Such a drawing is called a planar representation of the graph.  Is K4 planar?
  • 85. Other examples: Graph Q3 Planar representation Of Q3 Question: Draw K3,3 .Is it planar? If not, justify your answer. Look at p-605 (Rosen)
  • 86. Euler’s Formula:  A planar representation of a graph splits the plane into regions, including an unbounded region. The graph in planar representation given by splits the plane into six regions. Let G be a connected planar simple graph with e edges and v vertices. Let r be the number of regions in a planar representation of G. Then v – e + r = 2. R1 R2 R3 R4 R5 R6
  • 87. Example:  Suppose that a connected planar simple graph has 20 vertices, each of degree 3. Into how many regions does a representation of this planar graph split the plane? Ans: 12  Corollary 1. If G is a connected planar graph with e edges and v vertices where v >= 3, then e<= 3v -6.  Corollary 2. If G is a connected planar simple graph, then G has a vertex of degree not exceeding five.
  • 88. Degree of a region:  Degree of a region is defined to be the number of edges on the boundary of this region. When an edge occurs twice on the boundary, it contributes two to the degree. R1 R2 R3 Degree of R1 = 3 Degree of R2 = 6 Degree of R3 = 7 Using previous corollary you can prove that K5 is not a planar graph.
  • 89. Kuratowski’s Theorem (Characterization of planarity of graph with the help of Homeomorphism)  Statement: A graph is nonplanar if and only if it contains a subgraph homeomorphic to K3,3 or K5. Hence G is nonplanar
  • 90. Coloring of a graph:  Definition 1: A coloring of a simple graph is the assignment of a color to each vertex of the graph so that no two adjacent vertices are assigned the same color.  Definition 2: The chromatic number of a graph is the least number of colors needed for a coloring of the graph and it is denoted by ) (G 
  • 91. Example1: 4 ) ( , 3 ) (   H G that Note   Example 2: What is chromatic Number of K5 and Kn. Ans:5 and n. Example 3: What is Chromatic number of Km,n? Ans: 2
  • 92. Four Color Theorem:  The chromatic number of a planar graph is not greater than four.  Non planar graphs can have arbitrarily large chromatic number.  Consider two maps in the next slide and their corresponding graph which are called dual graph of the map, i.e. the problem of coloring the regions of a map is equivalent to the problem of coloring the vertices of the dual graph.  Note that in the left map, 4 colors are sufficient and in the right map 3 colors are sufficient.
  • 93.
  • 94. Application of Graph Coloring: (Welch Powell Algorithm):  How can the final exams at a university be scheduled so that no student has two exams at the same time?  Modeling: Model the problem into a graph, with vertices representing courses and with an edge between two vertices if there is a common student in the courses they represent  Each time slot for a final exam is represented by a different color.  Thus a scheduling of the exams corresponds to a coloring of the associated graph.
  • 95. Continued:  Suppose that there are 7 finals to be scheduled. Number of the courses from 1 to 7. Suppose following pairs of courses have common students: 1 &2 , 1 & 3, 4 & 1, 1 & 7, 2 & 3, 2 & 4, 2 & 5, 2 & 7, and so on….  The graph associated is given by:
  • 96. Final Scheduling: Time Period Courses I 1,5 II 2,6 III 3 IV 4,7
  • 97. Welch Powell Algorithm  Order the vertices of G according to decreasing degrees. For above graph:  Vertices: 2 3 7 4 5 6 1  Degrees: 5 5 5 5 4 4 4  Colors: B G P P R B R  Example 8.21 (Look at graph on p-219 Schaum’s Series)
  • 99. Application Examples  Useful for locating items in a list  Used in Huffman coding algorithm  Study games like checkers and chess to determine winning strategies  Weighted trees used to model various categories of problems
  • 100. Trees Definition: A connected undirected graph with no simple circuits Characteristics - No multiple edges - No loops
  • 101. Example UoK School of Engineering School of Science School of Arts School of Social Sciences CS EE ME Math. Hierarchical definition tree
  • 102. Which of the following graphs are trees? a c b d f e b a e a c d f a b c d e a b d c e f A B C D A & B : Trees C: Not a Tree (Cycle abdcfa) D: Not a Tree (Not connected). However it is a forest i.e. unconnected graphs
  • 103. Sub-trees A subtree of a tree T is a tree T' such that  V(T')  V(T) and  E(T')  E(T) H L K J T S E M
  • 104. Tree Theorem -Theorem 1 An undirected Graph is a tree if and only if there is a unique simple path between any two of its vertices Proof (=>) The graph is a Tree and it does not have cycles. If there were cycles then there will be more than one simple path between two vertices. Hence, there is a unique simple path between every pair of vertices Proof (<=) There exists a unique simple path between any pair of vertices. Therefore the graph is connected and there are no cycles in the graph. Hence, the graph is a tree
  • 105. Tree terminology Rooted tree: one vertex designated as root and every edge directed away from the root Parent: u is the parent of v iff (if and only if) there is an edge directed from u to v Child: v is called the child of u Every non-root node has a unique parent (?)
  • 106. Siblings: vertices with same parent Ancestors: all vertices on path from the root to this vertex, excluding the vertex Descendants: Descendants of vertex v are all vertices that have v as an ancestor Internal Nodes: Nodes that have children External or Leaf Nodes: Nodes that have no children Tree terminology
  • 107. A B C D E F G H I J K Root Node = A Internal Nodes = A, B, C, E and F External Nodes or leaves = D,G, H ,I, J and K Given : Tree rooted at A Find: Descendants (B), Ancestor (A), Siblings (G) ?
  • 108. Definition - Level  The level of vertex v in a rooted tree is the length of the unique path from the root to v  The level of root is 1
  • 109. What is the level of T? H L K J T S E M
  • 110. Definition - Height  The height of a rooted tree is the maximum of the levels of its vertices
  • 111. What is the height? H L K J T S E M
  • 112. Ordered Rooted Trees:  An ordered rooted tree is a rooted tree where the children of each internal vertex are shown in order from left to right.
  • 113. Contd:  Observe that number of decimal points in any label is one less than the level of the vertex. We refere this system of labeling as Universal address system for an ordered rooted tree.  The addresses in the previous tree are linearly ordered as follows: 0 , 1, 1.1, 1.2, 1.2.1, 1.2.2, 1.2.2.1, 2, 2.1, 3, 3.1, 3.1.1, 3.2, 3.2.1, 3.2.1.1, 3.2.2 This is also called Dictionary order or Lexicographical order.
  • 114. Definition: m-ary trees  Rooted tree where every vertex has no more than ‘m’ children  Full m-ary if every internal vertex has exactly ‘m’ children (i.e., except leaf/external vertices).  m=2 gives a binary tree  A complete m - ary tree is a full m-ary tree where every leaf is at the same level.  Exercise: Construct a complete binary tree of height 4 and a complete 3-ary tree of height 3.
  • 116. Definition: Binary Tree  Every internal vertex has a maximum of 2 children  An ordered rooted tree is a rooted tree where the children of each internal vertex are ordered.  In an ordered binary tree, the two possible children of a vertex are called the left child and the right child, if they exist.
  • 117. An Ordered Binary Tree H L K J T S E M
  • 118. Definition: Balanced  A rooted binary tree of height h is called balanced if all its leaves are at levels h or h-1
  • 119. Is this tree balanced? H L K J T S E M
  • 120. Theorem ????  Let T be a graph with n vertices.  The following are equivalent  T is a tree  T is connected and acyclic  T is a connected and has n-1 edges  T is acyclic and has n-1 edges
  • 121. Tree Traversal  Information is stored in Ordered Rooted tree  Methods are needed for visiting each vertex of the tree in order to access data  Three most commonly used traversal algorithms are: 1. Preorder Traversal 2. Inorder Traversal 3. Postorder Traversal
  • 122. Preorder Traversal Let T be an ordered rooted tree with root r If T has only r, then r is the preorder traversal. Otherwise, suppose T1, T2 are the left and right subtrees at r. The preorder traversal begins by visiting r. Then traverses T1 in preorder, then traverses T2 in preorder.
  • 123. Preorder Traversal Example: J E A H T M Y ‘J’ ‘E’ ‘A’ ‘H’ ‘T’ ‘M’ ‘Y’
  • 124. Preorder Traversal Procedure preorder (T: ordered rooted tree) r := root of T List r; for each child c of r from left to right T(c) := subtree with c as its root preorder(T(c)); End.
  • 125. Inorder Traversal Let T be an ordered rooted tree with root r. If T has only r, then r is the inorder traversal. Otherwise, suppose T1, T2 are the left and right subtrees at r. The inorder traversal begins by traversing T1 in inorder. Then visits r, then traverses T2 in inorder.
  • 127. Inorder Traversal Procedure inorder (T: ordered rooted tree) r = root of T if r is a leaf list r Else { l = first child of r from left to right; T(l) = subtree with l as its root inorder (T(l)); list r; for each child c of r except for l from left to right { T(c) = subtree with c as its root inorder(T(c)); } } End.
  • 128. Postorder Traversal Let T be an ordered rooted tree with root r. If T has only r, then r is the postorder traversal. Otherwise, suppose T1, T2 are the left and right subtrees at r. The postorder traversal begins by traversing T1 in postorder. Then traverses T2 in postorder, then ends by visiting r.
  • 130. Postorder Traversal Procedure postorder (T: ordered rooted tree) r := root of T for each child c of r from left to right T(c) := subtree with c as its root postorder(T(c)); End. List r.
  • 131. Infix, Prefix and Postfix Notation  We can represent complicated expressions, such as compound propositions, combinations of sets, and arithmetic expressions using ordered rooted trees.  A binary tree representing arithmetic expression + - x y x 4 + 2 x / - 3 x 4 + y + 2 y x / - 3 x 4
  • 132. Thus in this way, for such a given expression we can draw an ordered rooted tree in which the operations are the internal nodes and variables are leaves. # We obtain the infix form of an expression when we traverse its rooted tree in inorder. In inorder traversal it is necessary to include parentheses whenever we encounter an operation because the infix form of the expressions (x+y)/(x+3) , (x+(y/x))+3, and x+(y/(x+3)) will be x+y/x+3. # The prefix form of an expression is obtained by traversing its rooted tree in preorder. Expression written in prefix form are said to be in Polish Notation, which is named after the Polish Logician Jan Lukasiewicz. No parentheses is needed.
  • 133. # Sequentially the postfix form are said to be reverse Polish Notation. (Parentheses not needed)  What is the value of the prefix expression + - * 2 3 5 / 2 3 4  Ans : 3
  • 134. Given: Graph G=(V, E), |V|=n Cost function c: E  R . Goal: Find a minimum-cost spanning tree for V i.e., find a subset of arcs E*  E which connects any two nodes of V with minimum possible cost Example: 2 3 3 4 4 5 7 8 e b c d a 2 3 3 4 4 5 7 8 e b c d a G=(V,E) Min. span. tree: G*=(V,E*) Red bold arcs are in E* Minimum Spanning Tree (Min SPT)
  • 135. Algorithms for Min SPT  Prim’s Algorithm  Kruskal’s Algorithm
  • 136. Prims Algorithm Procedure Prims (G: weighted connected undirected graph with n vertices) T := a minimum-weight edge For i := 1 to n-2 Begin e:= an edge of minimum weight incident to a vertex in T and not forming a simple circuit in T if added to T T := T with e added End {T is a minimum spanning tree of G}
  • 137. Prim’s Example  Initially a c e d b 2 7 4 3 8 3 4 5 T = {}
  • 138. Prim’s Example  Initial step, chose min weight edge a c e d b 2 7 4 3 8 3 4 5 T = {{a, b}}
  • 139. Prim’s Example  Iteration 1 a c e d b 2 7 4 3 8 3 4 5 T = {{a, b}, {b, c}}
  • 140. Prim’s Example  Iteration 2 a c e d b 2 7 4 3 8 3 4 5 T = {{a, b}, {b, c}, {b, d}}
  • 141. Prim’s Example  Iteration 3 a c e d b 2 7 4 3 8 3 4 5 T = {{a, b}, {b, c}, {b, d} , {c, e}}
  • 142. Kruskal’s algorithm Procedure Kruskal (G: weighted connected undirected graph with n vertices) T := empty graph For i := 1 to n-1 Begin e := any edge in G with smallest weight that does not form simple circuit when added to T T := T with e added End { T is the minimum spanning tree of G}
  • 143. Kruskal’s Example  Initially a c e d b 2 7 4 3 8 3 4 5 T = {}
  • 144. Kruskal’s Example  Iteration 1 a c e d b 2 7 4 3 8 3 4 5 T = {{a, b}}
  • 145. Kruskal’s Example  Iteration 2 a c e d b 2 7 4 3 8 3 4 5 T = {{a, b}, {b, c}}
  • 146. Kruskal’s Example  Iteration 3 a c e d b 2 7 4 3 8 3 4 5 T = {{a, b}, {b, c}, {b, d}}
  • 147. Kruskal’s Example  Iteration 4 a c e d b 2 7 4 3 8 3 4 5 T = {{a, b}, {b, c}, {b, d} , {c, e}}
  • 148. Prim’s and Kruskal’s  Prim’s  Chosen edges: minimum weight & incident to a vertex already in the tree.  Kruskal’s  Chosen edge: minimum weight & not necessarily incident to a vertex in the tree. Understand the difference: http://students.ceid.upatras.gr/~papagel/project/prim.htm http://students.ceid.upatras.gr/~papagel/project/kruskal.htm