University of Aberdeen, Computing Science CS3511 Discrete Methods Kees van Deemter - PowerPoint PPT Presentation

1 / 106
About This Presentation
Title:

University of Aberdeen, Computing Science CS3511 Discrete Methods Kees van Deemter

Description:

... of states in the far-southeastern U.S.: I.e., V={FL, GA, AL, MS, LA, ... E.g., nodes are cities, edges. are segments of major highways. Parallel. edges. 10/31/09 ... – PowerPoint PPT presentation

Number of Views:112
Avg rating:3.0/5.0
Slides: 107
Provided by: Michael2205
Category:

less

Transcript and Presenter's Notes

Title: University of Aberdeen, Computing Science CS3511 Discrete Methods Kees van Deemter


1
University of Aberdeen, Computing
ScienceCS3511Discrete MethodsKees van Deemter
  • Slides adapted from Michael P. Franks Course
    Based on the TextDiscrete Mathematics Its
    Applications (5th Edition)by Kenneth H. Rosen

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 graphical
    representation.

4
Applications of Graphs
  • (At least) anything that can be modelled using 1-
    or 2-place relations.
  • Apps in networking, scheduling, flow
    optimization, circuit design, path planning,
    search genealogy, any kind of taxonomy,
  • Challenge name a topic that graphs cannot model

5
  • We shall introduce a number of different types of
    graphs, starting with undirected graphs
  • simple graphs
  • multigraphs
  • pseudographs

6
Simple Graphs
  • Correspond to symmetric,irreflexive binary
    relations R.
  • 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 unordered pairs of distinct
    elements u,v ? V, such that uRv.

Visual Representationof a Simple Graph
7
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
  • Let Eu,vu adjoins v
  • 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
8
Extensions
  • All the main types of graphs can be extended to
    make them more expressive
  • For example, edges may be labelledLabelled
    graphs
  • E.g., the edges in the previous example may be
    labelled with the type of border (e.g.,
    patrolled/non-patrolled)

9
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
10
Multigraphs extended
  • Extension edges may be labelled with numbers of
    miles. How about this example?

110
B
A
90
80
20
C
11
Multigraphs extended
  • Can go from A to B via C in less than 110.The
    distances in the graph are not minimal,
  • or something
    is wrong.

110
B
A
90
80
20
C
12
Pseudographs
  • Like a multigraph, but edges connecting a node to
    itself are allowed. (R may even 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.

13
Directed Graphs
  • Correspond to arbitrary binary relations R, which
    need not be symmetric.
  • A di(rected) 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

14
Directed Multigraphs
  • Like directed graphs, but there may be more than
    one edge 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 asa
    directed multigraph...

15
Types of Graphs Summary
  • Summary of the books definitions.
  • This terminology is not fully standardized across
    different authors

16
8.2 Graph Terminology
  • Introducing the following terms
  • Adjacent, connects, endpoints, degree, initial,
    terminal, in-degree, out-degree, complete,
    cycles, wheels, n-cubes, bipartite, subgraph,
    union.

17
Adjacency
  • 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 / 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.

18
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.

19
Degree of a Vertex
  • The degree of v, deg(v), is its number of
    incident edges. (Except that any self-loops are
    counted twice.)
  • Exercise construct a pseudograph with three
    vertices, all of which have different degrees.

20
Handshaking Theorem
  • Let G be an undirected (simple, multi-, or
    pseudo-) graph with vertex set V and edge set E.
    Then
  • Proof every edge causes degree degree 2

21
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.

22
Sociological example
  • (Like previous exercise, this is from Jonathan
    L.Gross coursenotes to Rosen)
  • Suppose the students in this class are
    represented as vertices. An edge between a and b
    means that a and b were acquainted before the
    course began. This is a simple graph.
  • How many students knew an odd number of other
    students? Could there be 3?

23
Sociological example
  • (Like previous exercise, this is from Jonathan
    L.Gross coursenotes to Rosen)
  • Suppose the students in this class are
    represented as vertices. An edge between a and b
    means that a and b were acquainted before the
    course began. This is a simple graph.
  • By corollary to handshaking theorem The
    number of students who knew an odd number of
    other students is even.

24
Directed Adjacency
  • 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
  • u is adjacent to v, v is adjacent from u
  • 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

25
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.

26
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.

27
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

28
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.
29
  • Consider a complete graph G(V,E). Can E
    contain any edges connecting a node in V to
    itself?

30
  • Consider a complete graph G(V,E). Can E
    contain any edges connecting a node in V to
    itself?
  • No this would mean u,v?E, where uv
  • hence ??u,v?V u?v?u,v?E.

31
  • Can you think of a natural example where complete
    graphs might model the facts?

32
  • Can you think of a natural example where complete
    graphs might model the facts?
  • E.g., Graphs that model, for groups of n people,
    which people are seen by each member of the group

33
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?
34
  • Can you think of a natural example where cycles
    might model the facts?
  • E.g., Graphs that model, for groups of n people,
    which people are sitting next to each other (on a
    round table)

35
  • Can a cycle be a complete graph?

36
  • Can a cycle be a complete graph?
  • Yes every cycle with exactly 3 elements is a
    complete graph.
  • No other cycle can be a complete graph.

37
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?
38
  • Definition A graph is regular iff every vertex
    has the same degree
  • Which of these are regular? (What degree?)
  • Complete graphs?
  • Cycle graphs?
  • Wheel graphs?

39
  • A graph is regular iff every vertex has the same
    degree
  • Which of these are regular? (What degree?)
  • Complete graphs? Yes degree n-1 (for n nodes)
  • Cycle graphs? Yes degree 2
  • Wheel graphs? No, except when they have 3 nodes

40
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!
41
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

42
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.

43
Bipartite Graphs
  • Defn. A graph G(V,E) is bipartite (two-part)
    iff V V1 ? V2 where V1nV2? 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.
44
Bipartite graphs
  • are extremely common, for example when youre
    modelling a domain that consists of two different
    kinds of entities
  • Animals in a zoo, linked with their keepers
  • Words, linked with numbers of letters in them
  • Logical formulas, linked with English sentences
    that express their meaning

45
Some questions
  • Can you think of a graph with two vertices that
    is not bipartite?
  • Can you think of a simple graph with two vertices
    that is not bipartite?
  • Can you think of a simple graph with three
    vertices and a nonempty set of edges that is
    bipartite?

46
Some questions
  • Can you think of a graph with two vertices that
    is not bipartite? Yes if there are self-loops
  • Can you think of a simple graph with two vertices
    that is not bipartite? No must be bipartite
  • Can you think of a simple graph with three
    vertices and a nonempty set of edges that is
    bipartite? Yes as long as its not complete

47
  • Given a (bipartite) graph, can there be more than
    1 way of partitioning V into V1 and V2 ?

48
Bipartite Graphs
  • Given a (bipartite) graph, can there be more than
    1 way of partitioning V into V1 and V2 ?
  • Yes isolated verticescan be put in either part

V2
V1
49
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.
50
Subgraphs
  • A subgraph of a graph G(V,E) is a graph H(W,F)
    where W?V and F?E.

G
H
51
  • A subgraph of a graph G(V,E) is a graph H(W,F)
    where W?V and F?E.
  • Note since H is a graph, F can only involve
    nodes that are elements of W.

52
8.3 Graph Representations Isomorphism
  • Graph representations
  • Adjacency lists.
  • Adjacency matrices. Not covered this year
  • Incidence matrices. Not covered this year

53
Adjacency Lists
  • A table with 1 row per vertex, listing its
    adjacent vertices.

b
a
d
c
e
f
54
An equivalence relation between graphs
  • Unlike ordinary pictures, we can say precisely
    when two graphs are similar
  • Obviously, a given graph (V,E) may be drawn in
    different ways.
  • But even (V,E) and (V,E) (where VltgtV and
    EltgtE) may in some sense be equivalent
  • Graph isomorphism (informal)
  • Two graphs are isomorphic iff they are identical
    except for their node names.

55
  • Graphs that are isomorphic share all their
    important properties, e.g.,
  • The number of nodes and edges
  • The degrees of all their nodes
  • Whether they are bipartite or not, etc.
  • How would you define graph isomorphism formally?
  • For simplicity focus on simple graphs
  • Hint use the notion of a bijection

56
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(b) are adjacent in G2.
  • f is the renaming function between the two node
    sets that makes the two graphs identical.
  • This definition can be extended to other types of
    graphs.

57
Graph Isomorphism
  • How can we tell whether two graphs are
    isomorphic?
  • The best algorithms that are known to solve this
    problem have exponential worst-case time
    complexity. (Faster solutions may be possible.)
  • In practice, a few tests go a long way

58
Graph Invariants under Isomorphism
  • Necessary but not sufficient conditions for
    G1(V1, E1) to be isomorphic to G2(V2, E2)
  • 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.

59
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
60
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
61
  • We now jump to the area that gave raise to the
    invention of (a formal theory of) graphs
  • Questions like
  • Can I travel from a to b?
  • Can I go travel a to b without going anywhere
    twice?
  • Whats the quickest route from a to b?

62
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.

63
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.

64
( 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.
    )

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

66
8.5 Euler Hamilton Paths
  • Well show you the problem that prompted Euler to
    invent the theory of graphs the bridges of
    Koenigsberg (town later called Kaliningrad)

67
Bridges of Königsberg Problem
  • Can we walk through town, crossing each bridge
    exactly once, and return to start?

68
Bridges of Königsberg Problem
  • Can we walk through town, crossing each bridge
    exactly once, and return to start?

A
Can you model the
situation using a graph?
D
B
C
The original problem
69
Bridges of Königsberg Problem
  • Can we walk through town, crossing each bridge
    exactly once, and return to start?

A
D
B
C
Equivalent multigraph
The original problem
70
8.5 Euler Hamilton Paths
  • Terminology
  • 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.

71
Bridges of Koenigsberg
  • Bridges are edges.So the answer to the problem
    is YES iff its graph contains an Euler circuit.
  • In fact, it does not

72
Euler Path Theorems
  • Theorem A finite 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 iff it has exactly 2 vertices of odd degree.
  • One is the start, the other is the end.

73
Not all edges have even degree
  • so there is no Euler circuit.

A
D
B
C
Equivalent multigraph
The original problem
74
Euler Circuit theorem
  • Sketch of proof that even degree implies
    existence of Euler circuit
  • Start with any arbitrary node. Construct simple
    path from it till you get back to start. (Graph
    is connected every node has even degree, so you
    can leave any node that you have entered)
  • Repeat for each remaining subgraph, splicing
    results back into original cycle. Finiteness of
    graph implies that this process must end.
  • Note that the complete version of this proof
    provides an algorithm its a constructive proof
    of an existential proposition

75
( 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. )

76
( 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. )

77
( 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. )

78
8.6 Shortest-Path Problems
  • Not covering this year.

79
8.7 Planar Graphs
  • Not covering this year.

80
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 ___ ).

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

82
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.
  • Concepts related to rooted trees
  • Parent, child, siblings, ancestors, descendents,
    leaf, internal node, subtree.

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

Same tree exceptfor choiceof root
root
root
84
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
85
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.

86
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 ___.

87
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.

88
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?

89
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.

90
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??.

91
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

92
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.

93
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
94
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)

95
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.

96
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?

?
97
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.
98
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

99
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.

100
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.
101
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
102
Prefix Codes Huffman Coding
  • pp. 649-651

103
Game Trees
  • pp. 651-656

104
9.3 Tree Traversal
  • Universal address systems
  • Traversal algorithms
  • Depth-first traversal
  • Preorder traversal
  • Inorder traversal
  • Postorder traversal
  • Breadth-first traversal
  • Infix/prefix/postfix notation

105
9.4 Spanning Trees
  • Not covering this semester.

106
9.5 Minimum Spanning Trees
  • Not covering this semester.
Write a Comment
User Comments (0)
About PowerShow.com