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

Introduction To Graphs

This document provides an introduction to graphs and discusses the concepts of paths, cycles, connectedness, and degrees in graphs. It then explains how the "Six Degrees of Kevin Bacon" concept can be modeled using a graph and discusses algorithms like breadth-first search (BFS) that can be used to find Bacon numbers. BFS outputs a shortest path tree and uses colors of vertices to track the progress of the algorithm. The document also briefly covers other graph topics like trees, forests, rooted trees, Erdos numbers, and the queue data structure.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views

Introduction To Graphs

This document provides an introduction to graphs and discusses the concepts of paths, cycles, connectedness, and degrees in graphs. It then explains how the "Six Degrees of Kevin Bacon" concept can be modeled using a graph and discusses algorithms like breadth-first search (BFS) that can be used to find Bacon numbers. BFS outputs a shortest path tree and uses colors of vertices to track the progress of the algorithm. The document also briefly covers other graph topics like trees, forests, rooted trees, Erdos numbers, and the queue data structure.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 17

10/8/2015

Ma/CS 6a
Class 6: Introduction to Graphs

By Adam Sheffer

Today’s Class is about

Six Degrees of Kevin Bacon

1
10/8/2015

Six Degrees of Kevin Bacon


 Claim. Any actor can be linked through
his/her film roles to Kevin Bacon within six
steps.
 Example. Keanu Reeves:

Graphs
Undirected Directed
graph graph

𝑎 𝑏 𝑎 𝑏

Edge
Vertex

2
10/8/2015

Graph Representation
 We write 𝐺 = 𝑉, 𝐸 . That is, the graph 𝐺
has vertex set 𝑉 and edge set 𝐸.

 Example. In the figure:


◦ 𝑉 = 𝑎, 𝑏, 𝑐, 𝑑, 𝑒 . 𝑐 𝑑
◦ 𝐸 = { 𝑎, 𝑏 , 𝑎, 𝑑 , 𝑎, 𝑒 ,
𝑏, 𝑐 , 𝑏, 𝑒 }. 𝑎
𝑏

Graph Representation (cont.)


 𝑉 = 𝑎, 𝑏, 𝑐, 𝑑, 𝑒 .
 𝐸 = { 𝑎, 𝑏 , 𝑎, 𝑑 , 𝑎, 𝑒 , 𝑏, 𝑐 , 𝑏, 𝑒 }.

𝑐 𝑐
𝑎 𝑑

𝑒 𝑏 𝑎 𝑏

𝑑 𝑒

3
10/8/2015

What is this Good For?

Cold war analysis Communication networks

Social networks Robot Motion


Planning

Paths and Cycles

𝑏 𝑎

Path Cycle
between 𝑎 through 𝑎
and 𝑏.
A cycle is a path that starts and ends in the same
vertex.

4
10/8/2015

More on Paths and Cycles


 A path/cycle is said to be simple if it does
not visit any vertex more than once.

 The length of a path/cycle is the number


of edges that it consists of.

 Example. A simple cycle of


length 5.

Connectedness and Degrees


 A graph is connected if there is a path
between any two vertices.
 The degree of a vertex is the number of
edges that are adjacent to it.

Connected? Connected?

deg(𝑎) = 2 deg(𝑎) = 1

𝑎 𝑎

5
10/8/2015

Simple Graphs
 An edge is a loop if both of its endpoints
are the same vertex.
 Two edges are parallel if they are
between the same pair of vertices.
 A graph is simple if it contains no loops
and no parallel edges.
 For now, we only consider simple graphs.

Parallel
A loop edges

Warm-up Exercise
 Prove. In any graph, the sum of the
degrees of the vertices is even.

 Proof. Every edge contributes 1 to the


degree of exactly two vertices. Thus,
deg 𝑣 = 2=2𝐸 .
𝑣∈𝑉 𝑒∈𝐸

6
10/8/2015

Paths and Degrees


 Problem. Let 𝐺 = 𝑉, 𝐸 be a graph such
that the degree of every 𝑣 ∈ 𝑉 is at least
𝑑 (for some 𝑑 ≥ 2). Prove that 𝐺 contains
a path of length 𝑑.

A graph with minimum


degree 3.

Proof
 Assume for contradiction that a longest path 𝑃
is of length 𝑐 < 𝑑.
 Consider a vertex 𝑣 which is an endpoint of 𝑃.
 Since deg 𝑣 ≥ 𝑑 ≥ 𝑐 + 1, it must be
connected to at least one vertex 𝑢 ∉ 𝑃.
 By adding the edge 𝑣, 𝑢 to 𝑃, we obtain a
longer path, contradicting the maximality of 𝑃.

7
10/8/2015

A Variant of the Problem


 Problem. Let 𝐺 = 𝑉, 𝐸 be a graph such
that the degree of every 𝑣 ∈ 𝑉 is at least
𝑑 (for some 𝑑 ≥ 2).
◦ Then there exists a cycle of length at least

𝑑+1

Connectivity Problem
 Prove. The vertices of a connected graph
𝐺 can always be ordered as 𝑣1 , 𝑣2 , … , 𝑣𝑛
such that for every 1 < 𝑖 ≤ 𝑛, if we
remove 𝑣𝑖 , 𝑣𝑖+1 , … , 𝑣𝑛 and the edges
adjacent to these vertices, 𝐺 remains
connected. 𝑣4
𝑣3

𝑣1 𝑣2

𝑣5

8
10/8/2015

Proof
 Pick any vertex as 𝑣1 .
 Pick a vertex that is connected to 𝑣1 in 𝐺
and set it as 𝑣2 .
 Pick a vertex that is connected either to
𝑣1 or to 𝑣2 in 𝐺 and set it as 𝑣3 .
…

Back to Bacon
 We wish to build a graph for the problem.
 What are the vertices of the graph?
◦ A vertex for each actor.
 When is there an edge between two
vertices?
◦ When the corresponding actors played in a
common movie.
 Is the graph directed?
◦ No.

9
10/8/2015

Example

 What should we do to check whether


every actor has a path to Kevin Bacon?
◦ Whether the graph is connected.

Bacon Numbers
 The Bacon number of an actor is the
minimum number of steps required to
connect him/her to Kevin Bacon.
 Example. By the picture below:
◦ Christopher Walken’s Bacon number is 2.
◦ Keanu Reeves’ Bacon number is 4.

10
10/8/2015

Bacon Numbers (2)


 But Keanu Reeves’ Bacon number is 2!

 What should we do in the graph to find the correct


Bacon number of an actor?
◦ The length of the shortest path from the actor’s
vertex to Bacon’s vertex.

The BFS Algorithm


 We wish to find out:
◦ Whether the graph is connected.
◦ The shortest paths from Bacon’s vertex to
every other vertex.
 The BFS algorithm:
◦ Input. An undirected graph 𝐺 = (𝑉, 𝐸) and a
vertex 𝑠 ∈ 𝑉.
◦ Output. A shortest path from 𝑠 to any other
vertex of 𝐺 (if such a path exists).
◦ 𝐺 is connected if and only if there is a path to
every vertex.

11
10/8/2015

Trees and Forests


 In an undirected graph, a tree is a
connected subgraph containing no cycles.
 A forest is a set of non-connected trees.

A forest with four trees

Rooted Trees
 A rooted tree is a tree with a special
vertex – the root – that is singled out.
 We draw the tree with the root on top,
and the edges “grow downwards”.
 A vertex 𝑣 is the parent of a vertex 𝑢 if
there is an edge 𝑢, 𝑣 and 𝑣 is above 𝑢.
◦ Each vertex, except for the root,
has a unique parent. 𝑠
𝑡

𝑠 is the root and 𝑡’s parent

12
10/8/2015

BFS Output

𝑠
𝑠 𝑎 𝑏
𝑐 𝑎

𝑐 𝑑 𝑒 𝑑 𝑏

 The output is a BFS tree, containing only


shortest paths from 𝑠.
◦ A rooted tree with root 𝑠.

Test Your Intuition


 Problem. Is there always a unique tree
containing the shortest paths from 𝑠?

 Answer. No!

𝑠 𝑎
𝑠 𝑠

𝑏 𝑐 𝑏 𝑎 𝑏 𝑎
𝑐 𝑐

13
10/8/2015

Erdős Numbers: the Math Version


 Paul Erdős (1913-1996). A Hungarian
mathematician. Possibly the most prolific
mathematician ever.
◦ People that wrote a paper with Erdős have an
Erdős number of 1.
◦ People that wrote a paper with someone that has
an Erdős number of 1, have an Erdős number of 2.
◦ Etc.
 Most leading scientists have a small
Erdős number.

BFS: Colors
 We call the vertex 𝑠 that we start from the
root of the tree.
 BFS scans the graph starting from the root.
 During the scan, every vertex has a color:
◦ Vertices that the algorithm did not visit yet are
colored white.
◦ Vertices that the algorithm did visit, but is not
yet done with are colored gray.
◦ Vertices that the algorithm is done with are
colored black.

14
10/8/2015

Data Structure: Queue


 A queue stores “objects” (in our case –
vertices).
 Supports the operations:
◦ Enqueue – insert an object to the back of the
queue.
◦ Dequeue – remove an object from the front
of the queue.

BFS: The Main Idea


 A queue 𝑄 holds the vertices that are
currently gray. At first 𝑄 = 𝑠 .
 At each step, take out a vertex 𝑢 ∈ 𝑄 and
for every edge 𝑒 adjacent to 𝑢:
◦ If the other vertex of 𝑒 is gray or black, do
nothing.
◦ If the other vertex of 𝑒 is white, color it gray,
insert it into 𝑄, and insert 𝑒 to the BSF tree.
 After going over all of 𝑢’s edges, color 𝑢
black, and move to the next vertex in 𝑄.

15
10/8/2015

Example: BFS Run


s s s s
f b f b f b f b
e e e e
c c c c
d d d d

s s s s
f b f b f b f b

e e e e
c c c c
d d d d

Example: Another BFS Run

16
10/8/2015

The End

17

You might also like