# Bogazici University Department of Computer Engineering CmpE 220 Discrete Mathematics 22. Graph Theory Haluk Bing - PowerPoint PPT Presentation

PPT – Bogazici University Department of Computer Engineering CmpE 220 Discrete Mathematics 22. Graph Theory Haluk Bing PowerPoint presentation | free to view - id: 7c5a67-MGUwZ The Adobe Flash plugin is needed to view this content

Get the plugin now

View by Category
Title:

## Bogazici University Department of Computer Engineering CmpE 220 Discrete Mathematics 22. Graph Theory Haluk Bing

Description:

### Department of Computer Engineering CmpE 220 Discrete Mathematics ... Michael P. Frank Bogazici University Department of Computer Engineering CmpE 220 Discrete ... – PowerPoint PPT presentation

Number of Views:201
Avg rating:3.0/5.0
Slides: 80
Provided by: Micha1194
Category:
Tags:
Transcript and Presenter's Notes

Title: Bogazici University Department of Computer Engineering CmpE 220 Discrete Mathematics 22. Graph Theory Haluk Bing

1
Bogazici UniversityDepartment of Computer
EngineeringCmpE 220 Discrete Mathematics22.
Graph Theory Haluk Bingöl
2
Module 22Graph Theory
• Rosen 5th ed., chs. 8-9
• 44 slides (more later), 3 lectures

3
What are Graphs?
Not
• General meaning in everyday math A plot or
chart of numerical data using a coordinate
system.
• Technical meaning in discrete mathematicsA
particular class of discrete structures (to be
defined) that is useful for representing
relations and has a convenient webby-looking
graphical representation.

4
Applications of Graphs
• Potentially anything (graphs can represent
relations, relations can describe the extension
of any predicate).
• Apps in networking, scheduling, flow
optimization, circuit design, path planning.
• More apps Geneology analysis, computer
game-playing, program compilation,
object-oriented design,

5
Simple Graphs
• Correspond to symmetric,irreflexive binary
relations R.
• Def. A simple graph G(V,E)consists of
• a set V of vertices or nodes (V corresponds to
the universe of the relation R),
• a set E of edges / arcs / links unordered pairs
of distinct elements u,v ? V, such that uRv.

Visual Representationof a Simple Graph
6
Example of a Simple Graph
• Let V be the set of states in the
far-southeastern U.S.
• I.e., VFL, GA, AL, MS, LA, SC, TN, NC
• FL,GA,FL,AL,FL,MS, FL,LA,GA,AL,AL,
MS, MS,LA,GA,SC,GA,TN,
SC,NC,NC,TN,MS,TN, MS,AL

NC
TN
SC
MS
AL
GA
LA
FL
7
Multigraphs
• Like simple graphs, but there may be more than
one edge connecting two given nodes.
• A multigraph G(V, E, f ) consists of a set V of
vertices, a set E of edges (as primitive
objects), and a functionfE?u,vu,v?V ? u?v.
• E.g., nodes are cities, edgesare segments of
major highways.

Paralleledges
8
Pseudographs
• Like a multigraph, but edges connecting a node to
itself are allowed. (R may be reflexive.)
• A pseudograph G(V, E, f ) wherefE?u,vu,v?V
. Edge e?E is a loop if f(e)u,uu.
• E.g., nodes are campsitesin a state park, edges
arehiking trails through the woods.

9
Directed Graphs
• Correspond to arbitrary binary relations R, which
need not be symmetric.
• A directed graph (V,E) consists of a set of
vertices V and a binary relation E on V.
• E.g. V set of People,E(x,y) x loves y

10
Directed Multigraphs
• Like directed graphs, but there may be more than
one arc from a node to another.
• A directed multigraph G(V, E, f ) consists of a
set V of vertices, a set E of edges, and a
function fE?V?V.
• E.g., Vweb pages,Ehyperlinks. The WWW isa
directed multigraph...

11
Types of Graphs Summary
• Summary of the books definitions.
• Keep in mind this terminology is not fully
standardized across different authors...

12
8.2 Graph Terminology
• You need to learn the following terms
• Adjacent, connects, endpoints, degree, initial,
terminal, in-degree, out-degree, complete,
cycles, wheels, n-cubes, bipartite, subgraph,
union.

13
• Let G be an undirected graph with edge set E.
Let e?E be (or map to) the pair u,v. Then we
say
• u, v are adjacent / neighbors / connected.
• Edge e is incident with vertices u and v.
• Edge e connects u and v.
• Vertices u and v are endpoints of edge e.

14
Degree of a Vertex
• Let G be an undirected graph, v?V a vertex.
• The degree of v, deg(v), is its number of
incident edges. (Except that any self-loops are
counted twice.)
• A vertex with degree 0 is called isolated.
• A vertex of degree 1 is called pendant.

15
Handshaking Theorem
• Let G be an undirected (simple, multi-, or
pseudo-) graph with vertex set V and edge set E.
Then
• Corollary Any undirected graph has an even
number of vertices of odd degree.

16
• Let G be a directed (possibly multi-) graph, and
let e be an edge of G that is (or maps to) (u,v).
Then we say
• e comes from u, e goes to v.
• e connects u to v, e goes from u to v
• the initial vertex of e is u
• the terminal vertex of e is v

17
Directed Degree
• Let G be a directed graph, v a vertex of G.
• The in-degree of v, deg?(v), is the number of
edges going to v.
• The out-degree of v, deg?(v), is the number of
edges coming from v.
• The degree of v, deg(v)?deg?(v)deg?(v), is the
sum of vs in-degree and out-degree.

18
Directed Handshaking Theorem
• Let G be a directed (possibly multi-) graph with
vertex set V and edge set E. Then
• Note that the degree of a node is unchanged by
whether we consider its edges to be directed or
undirected.

19
Special Graph Structures
• Special cases of undirected graph structures
• Complete graphs Kn
• Cycles Cn
• Wheels Wn
• n-Cubes Qn
• Bipartite graphs
• Complete bipartite graphs Km,n

20
Complete Graphs
• For any n?N, a complete graph on n vertices, Kn,
is a simple graph with n nodes in which every
node is adjacent to every other node ?u,v?V
u?v?u,v?E.

K1
K4
K3
K2
K5
K6
Note that Kn has edges.
21
Cycles
• For any n?3, a cycle on n vertices, Cn, is a
simple graph where Vv1,v2, ,vn and
Ev1,v2,v2,v3,,vn?1,vn,vn,v1.

C3
C4
C5
C6
C8
C7
How many edges are there in Cn?
22
Wheels
• For any n?3, a wheel Wn, is a simple graph
obtained by taking the cycle Cn and adding one
extra vertex vhub and n extra edges vhub,v1,
vhub,v2,,vhub,vn.

W3
W4
W5
W6
W8
W7
How many edges are there in Wn?
23
n-cubes (hypercubes)
• For any n?N, the hypercube Qn is a simple graph
consisting of two copies of Qn-1 connected
together at corresponding nodes. Q0 has 1 node.

Q0
Q1
Q2
Q4
Q3
Number of vertices 2n. Number of edgesExercise
to try!
24
n-cubes (hypercubes)
• For any n?N, the hypercube Qn can be defined
recursively as follows
• Q0v0,? (one node and no edges)
• For any n?N, if Qn(V,E), where Vv1,,va and
Ee1,,eb, then Qn1(V?v1,,va,
E?e1,,eb?v1,v1,v2,v2,,va,va)
where v1,,va are new vertices, and where if
eivj,vk then eivj,vk.

25
Bipartite Graphs
• Defn. A graph G(V,E) is bipartite (two-part)
iff V V1nV2 where V1?V2? and ?e?E
?v1?V1,v2?V2 ev1,v2.
• In English The graph canbe divided into two
partsin such a way that all edges go between
the two parts.

V2
V1
This definition can easily be adapted for the
case of multigraphs and directed graphs as well.
Can represent withzero-one matrices.
26
Complete Bipartite Graphs
• For m,n?N, the complete bipartite graph Km,n is a
bipartite graph where V1 m, V2 n, and E
v1,v2v1?V1 ? v2?V2.
• That is, there are m nodes in the left part, n
nodes in the right part, and every node in the
left part is connected to every node in the
right part.

K4,3
Km,n has _____ nodesand _____ edges.
27
Subgraphs
• A subgraph of a graph G(V,E) is a graph H(W,F)
where W?V and F?E.

G
H
28
Graph Unions
• The union G1?G2 of two simple graphs G1(V1, E1)
and G2(V2,E2) is the simple graph (V1?V2, E1?E2).

?
29
8.3 Graph Representations Isomorphism
• Graph representations
• Incidence matrices.
• Graph isomorphism
• Two graphs are isomorphic iff they are identical
except for their node names.

30
• A table with 1 row per vertex, listing its

b
a
d
c
e
f
31
• 1 row per node, listing the terminal nodes of
each edge incident from that node.

32
• A way to represent simple graphs
• possibly with self-loops.
• Matrix Aaij, where aij is 1 if vi, vj is an
edge of G, and is 0 otherwise.
• Can extend to pseudographs by letting each matrix
elements be the number of links (possibly gt1)
between the nodes.

33
Graph Isomorphism
• Formal definition
• Simple graphs G1(V1, E1) and G2(V2, E2) are
isomorphic iff ? a bijection fV1?V2 such that ?
a,b?V1, a and b are adjacent in G1 iff f(a) and
• f is the renaming function between the two node
sets that makes the two graphs identical.
• This definition can easily be extended to other
types of graphs.

34
Graph Invariants under Isomorphism
• Necessary but not sufficient conditions for
G1(V1, E1) to be isomorphic to G2(V2, E2)
• We must have that V1V2, and E1E2.
• The number of vertices with degree n is the same
in both graphs.
• For every proper subgraph g of one graph, there
is a proper subgraph of the other graph that is
isomorphic to g.

35
Isomorphism Example
• If isomorphic, label the 2nd graph to show the
isomorphism, else identify difference.

d
b
b
a
a
d
c
e
f
e
c
f
36
Are These Isomorphic?
• If isomorphic, label the 2nd graph to show the
isomorphism, else identify difference.
• Same of vertices

a
b
• Same of edges
• Different of verts of degree 2! (1 vs 3)

d
e
c
37
8.4 Connectivity
• In an undirected graph, a path of length n from u
to v is a sequence of adjacent edges going from
vertex u to vertex v.
• A path is a circuit if uv.
• A path traverses the vertices along it.
• A path is simple if it contains no edge more than
once.

38
Paths in Directed Graphs
• Same as in undirected graphs, but the path must
go in the direction of the arrows.

39
Connectedness
• An undirected graph is connected iff there is a
path between every pair of distinct vertices in
the graph.
• Theorem There is a simple path between any pair
of vertices in a connected undirected graph.
• Connected component connected subgraph
• A cut vertex or cut edge separates 1 connected
component into 2 if removed.

40
Directed Connectedness
• A directed graph is strongly connected iff there
is a directed path from a to b for any two verts
a and b.
• It is weakly connected iff the underlying
undirected graph (i.e., with edge directions
removed) is connected.
• Note strongly implies weakly but not vice-versa.

41
Paths Isomorphism
• Note that connectedness, and the existence of a
circuit or simple circuit of length k are graph
invariants with respect to isomorphism.

42
• Let A be the adjacency matrix of graph G.
• The number of paths of length k from vi to vj is
equal to (Ak)i,j.
• The notation (M)i,j denotes mi,j where mi,j
M.

43
8.5 Euler Hamilton Paths
• An Euler circuit in a graph G is a simple circuit
containing every edge of G.
• An Euler path in G is a simple path containing
every edge of G.
• A Hamilton circuit is a circuit that traverses
each vertex in G exactly once.
• A Hamilton path is a path that traverses each
vertex in G exactly once.

44
Bridges of Königsberg Problem
• Can we walk through town, crossing each bridge

A
D
B
C
Equivalent multigraph
The original problem
45
Euler Path Theorems
• Theorem A connected multigraph has an Euler
circuit iff each vertex has even degree.
• Proof
• (?) The circuit contributes 2 to degree of each
node.
• (?) By construction using algorithm on p. 580-581
• Theorem A connected multigraph has an Euler
path (but not an Euler circuit) iff it has
exactly 2 vertices of odd degree.
• One is the start, the other is the end.

46
Euler Circuit Algorithm
• Begin with any arbitrary node.
• Construct a simple path from it till you get back
to start.
• Repeat for each remaining subgraph, splicing
results back into original cycle.

47
Round-the-World Puzzle
• Can we traverse all the vertices of a
dodecahedron, visiting each once?

Equivalentgraph
Dodecahedron puzzle
Pegboard version
48
Hamiltonian Path Theorems
• Diracs theorem If (but not only if) G is
connected, simple, has n?3 vertices, and ?v
deg(v)?n/2, then G has a Hamilton circuit.
• Ores corollary If G is connected, simple, has
n3 nodes, and deg(u)deg(v)n for every pair u,v
of non-adjacent nodes, then G has a Hamilton
circuit.

49
HAM-CIRCUIT is NP-complete
• Let HAM-CIRCUIT be the problem
• Given a simple graph G, does G contain a
Hamiltonian circuit?
• This problem has been proven to be NP-complete!
• This means, if an algorithm for solving it in
polynomial time were found, it could be used to
solve all NP problems in polynomial time.

50
8.6 Shortest-Path Problems
• Not covering this semester.

51
8.7 Planar Graphs
• Not covering this semester.

52
8.8 Graph Coloring
• Not covering this semester.

53
9.1 Introduction to Trees
• A tree is a connected undirected graph that
contains no circuits.
• Theorem There is a unique simple path between
any two of its nodes.
• A (not-necessarily-connected) undirected graph
without simple circuits is called a forest.
• You can think of it as a set of trees having
disjoint sets of nodes.
• A leaf node in a tree or forest is any pendant or
isolated vertex. An internal node is any
non-leaf vertex (thus it has degree ___ ).

54
Tree and Forest Examples
Leaves in green, internal nodes in brown.
• A Tree
• A Forest

55
Rooted Trees
• A rooted tree is a tree in which one node has
been designated the root.
• Every edge is (implicitly or explicitly) directed
away from the root.
• You should know the following terms about rooted
trees
• Parent, child, siblings, ancestors, descendents,
leaf, internal node, subtree.

56
Rooted Tree Examples
• Note that a given unrooted tree with n nodes
yields n different rooted trees.

Same tree exceptfor choiceof root
root
root
57
Rooted-Tree Terminology Exercise
• Find the parent,children, siblings,ancestors,
descendants of node f.

o
n
h
r
d
m
b
root
a
c
g
e
q
i
f
l
j
k
p
58
n-ary trees
• A rooted tree is called n-ary if every vertex has
no more than n children.
• It is called full if every internal (non-leaf)
vertex has exactly n children.
• A 2-ary tree is called a binary tree.
• These are handy for describing sequences of
yes-no decisions.
• Example Comparisons in binary search algorithm.

59
Which Tree is Binary?
• Theorem A given rooted tree is a binary tree iff
every node other than the root has degree ___,
and the root has degree ___.

60
Ordered Rooted Tree
• This is just a rooted tree in which the children
of each internal node are ordered.
• In ordered binary trees, we can define
• left child, right child
• left subtree, right subtree
• For n-ary trees with ngt2, can use terms like
leftmost, rightmost, etc.

61
Trees as Models
• Can use trees to model the following
• Saturated hydrocarbons
• Organizational structures
• Computer file systems
• In each case, would you use a rooted or a
non-rooted tree?

62
Some Tree Theorems
• Any tree with n nodes has e n-1 edges.
• Proof Consider removing leaves.
• A full m-ary tree with i internal nodes has
nmi1 nodes, and ?(m-1)i1 leaves.
• Proof There are mi children of internal nodes,
plus the root. And, ? n-i (m-1)i1. ?
• Thus, when m is known and the tree is full, we
can compute all four of the values e, i, n, and
?, given any one of them.

63
Some More Tree Theorems
• Definition The level of a node is the length of
the simple path from the root to the node.
• The height of a tree is maximum node level.
• A rooted m-ary tree with height h is called
balanced if all leaves are at levels h or h-1.
• Theorem There are at most mh leaves in an m-ary
tree of height h.
• Corollary An m-ary tree with ? leaves has
height h?logm?? . If m is full and balanced
then h?logm??.

64
9.2 Applications of Trees
• Binary search trees
• A simple data structure for sorted lists
• Decision trees
• Minimum comparisons in sorting algorithms
• Prefix codes
• Huffman coding
• Game trees

65
Binary Search Trees
• A representation for sorted sets of items.
• Supports the following operations in T(log n)
average-case time
• Searching for an existing item.
• Inserting a new item, if not already present.
• Supports printing out all items in T(n) time.
• Note that inserting into a plain sequence ai
would instead take T(n) worst-case time.

66
Binary Search Tree Format
• Items are stored at individual tree nodes.
• We arrange for the tree to always obey this
invariant
• For every item x,
• Every node in xs left subtree is less than x.
• Every node in xs right subtree is greater than x.

Example
7
3
12
1
5
9
15
0
2
8
11
67
Recursive Binary Tree Insert
• procedure insert(T binary tree, x item)v
rootTif v null then begin rootT x
return Done endelse if v x return Already
presentelse if x lt v then return
insert(leftSubtreeT, x)else must be x gt
v return insert(rightSubtreeT, x)

68
Decision Trees (pp. 646-649)
• A decision tree represents a decision-making
process.
• Each possible decision point or situation is
represented by a node.
• Each possible choice that could be made at that
decision point is represented by an edge to a
child node.
• In the extended decision trees used in decision
analysis, we also include nodes that represent
random events and their outcomes.

69
Coin-Weighing Problem
• Imagine you have 8 coins, oneof which is a
lighter counterfeit, and a free-beam balance.
• No scale of weight markings is required for this
problem!
• How many weighings are needed to guarantee that
the counterfeit coin will be found?

?
70
As a Decision-Tree Problem
• In each situation, we pick two disjoint and
equal-size subsets of coins to put on the scale.

A given sequence ofweighings thus yieldsa
decision tree withbranching factor 3.
The balance thendecides whether to tip left,
tip right, or stay balanced.
71
Applying the Tree Height Theorem
• The decision tree must have at least 8 leaf
nodes, since there are 8 possible outcomes.
• In terms of which coin is the counterfeit one.
• Recall the tree-height theorem, h?logm??.
• Thus the decision tree must have heighth
?log38? ?1.893? 2.
• Lets see if we solve the problem with only 2
weighings

72
General Solution Strategy
• The problem is an example of searching for 1
unique particular item, from among a list of n
otherwise identical items.
• Somewhat analogous to the adage of searching for
a needle in haystack.
• Armed with our balance, we can attack the problem
using a divide-and-conquer strategy, like whats
done in binary search.
• We want to narrow down the set of possible
locations where the desired item (coin) could be
found down from n to just 1, in a logarithmic
fashion.
• Each weighing has 3 possible outcomes.
• Thus, we should use it to partition the search
space into 3 pieces that are as close to
equal-sized as possible.
• This strategy will lead to the minimum possible
worst-case number of weighings required.

73
General Balance Strategy
• On each step, put ?n/3? of the n coins to be
searched on each side of the scale.
• If the scale tips to the left, then
• The lightweight fake is in the right set of ?n/3?
n/3 coins.
• If the scale tips to the right, then
• The lightweight fake is in the left set of ?n/3?
n/3 coins.
• If the scale stays balanced, then
• The fake is in the remaining set of n - 2?n/3?
n/3 coins that were not weighed!
• Except if n mod 3 1 then we can do a little
better by weighing ?n/3? of the coins on each
side.

You can prove that this strategy always leads to
a balanced 3-ary tree.
74
Coin Balancing Decision Tree
• Heres what the tree looks like in our case

123 vs 456
left 123
balanced78
right 456
4 vs. 5
1 vs. 2
7 vs. 8
L1
L4
L7
R2
B3
R5
B6
R8
75
Prefix Codes Huffman Coding
• pp. 649-651

76
Game Trees
• pp. 651-656

77
9.3 Tree Traversal
• Traversal algorithms
• Depth-first traversal
• Preorder traversal
• Inorder traversal
• Postorder traversal