Spanning Trees - PowerPoint PPT Presentation

1 / 17
About This Presentation
Title:

Spanning Trees

Description:

Bing Liu, U. of Illinois, Boting Yang, U. of Regina. 2. Spanning trees ... then a spanning tree of the graph is a connected subgraph with the same nodes in ... – PowerPoint PPT presentation

Number of Views:18
Avg rating:3.0/5.0
Slides: 18
Provided by: david2781
Learn more at: https://cis.temple.edu
Category:
Tags: bing | blue | maps | rose | spanning | trees

less

Transcript and Presenter's Notes

Title: Spanning Trees


1
Spanning Trees
Longin Jan Latecki Temple University based on
slides by David Matuszek, UPenn, Rose Hoberman,
CMU, Bing Liu, U. of Illinois, Boting Yang, U. of
Regina
2
Spanning trees
  • Suppose you have a connected undirected graph
  • Connected every node is reachable from every
    other node
  • Undirected edges do not have an associated
    direction
  • ...then a spanning tree of the graph is a
    connected subgraph with the same nodes in which
    there are no cycles

3
Theorem
  • A simple graph is connected iff it has a spanning
    tree.

Proof. We assume that a graph G is connected. If
G has a simple circuit, we remove one edge from
it. We repeat this step, until there is no more
circuits in G. Let T be the obtained subgraph. T
has the same nodes as G, since we did not remove
any node. T has no circuits, since we removed
all circuits. T is connected, since in every
circuit there was an alternative path. The proof
in the opposite direction is very simple.
Since the presented algorithm to construct a
spanning tree is very inefficient, we need a
better one.
4
Finding a spanning tree
  • To find a spanning tree of a graph,
  • pick an initial node and call it part of the
    spanning tree
  • do a search from the initial node
  • each time you find a node that is not in the
    spanning tree, add to the spanning tree both the
    new node and the edge you followed to get to it

5
Graph Traversal Algorithm
  • To traverse a tree, we use tree traversal
    algorithms like pre-order, in-order, and
    post-order to visit all the nodes in a tree
  • Similarly, graph traversal algorithm tries to
    visit all the nodes it can reach.
  • If a graph is disconnected, a graph traversal
    that begins at a node v will visit only a subset
    of nodes, that is, the connected component
    containing v.

6
Two basic traversal algorithms
  • Two basic graph traversal algorithms
  • Depth-first-search (DFS), also called
    backtracking
  • After visiting node v, DFS proceeds along a path
    from v as deeply into the graph as possible
    before backing up
  • Breadth-first-search (BFS)
  • After visit node v, BFS visits every node
    adjacent to v before visiting any other nodes

7
Depth-first search (DFS)
  • DFS strategy looks similar to pre-order. From a
    given node v, it first visits itself. Then,
    recursively visit its unvisited neighbors one by
    one.
  • DFS can be defined recursively as follows.
  • procedure DSF(G connected graph with vertices
    v1, v2, , vn)
  • Ttree consisting only of the vertex v1
  • visit(v1)
  • mark v1 as visited
  • procedure visit(v vertex of G)
  • for each node w adjacent to v not yet in T
  • begin
  • mark w as visited
  • add vertex w and edge v, w to T
  • visit(w)
  • end

8
DFS example
  • Start from v3

1
v3
2
v2
v2
v3
v1
x
x
x
4
3
v1
v4
x
x
v5
v4
5
v5
G
9
Backtracking (animation)
dead end
?
dead end
dead end
?
start
?
?
dead end
dead end
?
success!
10
Coloring a map
  • You wish to color a map withnot more than four
    colors
  • red, yellow, green, blue
  • Adjacent countries must be indifferent colors
  • You dont have enough information to choose
    colors
  • Each choice leads to another set of choices
  • One or more sequences of choices may (or may not)
    lead to a solution
  • Many coloring problems can be solved with
    backtracking

11
Full example Map coloring
  • The Four Color Theorem states that any map on a
    plane can be colored with no more than four
    colors, so that no two countries with a common
    border are the same color
  • For most maps, finding a legal coloring is easy
  • For some maps, it can be fairly difficult to find
    a legal coloring

12
Backtacking
  • We go through all the countries recursively,
    starting with country zero
  • At each country we decide a color
  • It must be different from all adjacent countries
  • If we cannot find a legal color, we report
    failure
  • If we find a color, we use it and recurred with
    the next country
  • If we ran out of countries (colored them all), we
    reported success
  • When we returned from the topmost call, we were
    done

13
Solution for this map
  • Solution found truemap0 is redmap1 is
    yellowmap2 is greenmap3 is bluemap4 is
    yellowmap5 is greenmap6 is bluemap7 is
    red

14
Breadth-first search (BFS)
  • BFS strategy looks similar to level-order. From a
    given node v, it first visits itself. Then, it
    visits every node adjacent to v before visiting
    any other nodes.
  • 1. Visit v
  • 2. Visit all vs neighbors
  • 3. Visit all vs neighbors neighbors
  • Similar to level-order, BFS is based on a queue.

15
Algorithm for BFS
  • procedure BFS(G connected graph with vertices
    v1, v2, , vn)
  • T tree consisting only of vertex v1
  • L empty list
  • put v1 in the list L of unprocessed vertices
  • while L is not empty
  • begin
  • remove the first vertex v from L
  • for each neighbor w of v
  • if w is not in L and not in T then
  • begin
  • add w to the end of the list L
  • add w and edge v, w to T
  • end
  • end

16
BFS example
  • Start from v5

Visit Queue (front to back)
v5 v5
empty
v3 v3
v4 v3, v4
v4
v2 v4, v2
v2
empty
v1 v1
empty
1
v5
x
17
Backtracking Applications
  • Use backtracking to find a subset of31, 27, 15,
    11, 7, 5with sum equal to 39.
Write a Comment
User Comments (0)
About PowerShow.com