Excursions in Modern Mathematics Sixth Edition

1
EXCURSIONS IN MODERN
MATHEMATICS
SIXTH EDITION
Peter Tannenbaum
2
CHAPTER 7
THE MATHEMATICS OF
NETWORKS
The Cost of Being Connected
The Mathematics of Networks
Outline/learning Objectives
3






To identify and use a graph to model minimum
network problems.
To classify which graphs are trees.
To implement Kruskal’s algorithm to find a minimal
spanning tree.
To understand Torricelli’s construction for finding a
Steiner point.
To recognize when the shortest network connecting
three points uses a Steiner point.
To understand basic properties of the shortest
network connecting a set of (more than three) points.
4
THE MATHEMATICS OF
NETWORKS
7.1 Trees
Trees
5
What is a Network?
 Network is any connected graph (or tree).
 Nodes or Terminals are the vertices.
 Links are the edges.
The theme of this chapter is finding optimal networks
that connect a set of points.
Trees
6



Tree
A network with no circuits.
Spanning Tree
A subgraph that connects all the vertices of the network and
has no circuits.
Minimum Spanning Tree (MST)
Among all spanning trees of a weighted network, one with the
least total weight.
Trees
7
Interesting notes about trees:
 One of the most useful structures in discrete
mathematics.
 Invaluable to computer scientists.
 Computer programmers depend on trees when
creating, sorting, and searching programs.
Trees
8

Family Tree
Trees
9

Sorting quadrilaterals
Trees
10

C2H6 (ethane)
Trees
11

Possible outcomes
A rooted tree that happens to also be a binary tree.
Trees
12

Expression Tree (4 + 6) * 8 – 4/2
Trees
13
Trees
14
Property 1:
 In a tree, there is one and only one path joining
any two vertices.
 If there is one and only one path joining any two
vertices of a graph, then the graph must be a tree.
Trees
15
Property 2:
 In a tree, every edge is a bridge.
 If every edge of a graph is a bridge, then the
graph must be a tree.
Trees
16
Property 3:
A tree with N vertices has N – 1 edges.
If a network has N vertices and N – 1 edges, then it
must be a tree.
Trees
17
Notice that a disconnected graph (not a network) can have
N vertices and N – 1 edges.
18
THE MATHEMATICS OF
NETWORKS
7.2 Spanning Trees
Spanning Trees
19
Property 4:
If a network has N vertices and M edges, then M  N
– 1. [R = M – (N – 1) as the redundancy of the
network.]
If M = N – 1, the network is a tree; if M  N – 1, the
network has circuits and is not a tree. (In other words,
a tree is a network with zero redundancy and a
network with positive redundancy is not a tree.
Spanning Trees
20
The network in (a) has N = 8 vertices and M = 8 edges.
The redundancy of the network is R = 1, so to find a
spanning tree we will have to “discard” one edge.
Spanning Trees
21
Five of these edges are bridges of the network, and they
will have to be part of any spanning tree. The other three
edges (BC, CG, and GB) form a circuit of length 3, and
Spanning Trees
22
if we exclude any of the three edges we will have a
spanning tree. Thus, the network has three different
spanning trees (b), (c), and (d).
Spanning Trees
23

How many spanning trees are in this figure?
Spanning Trees
24

How many spanning trees in this figure?
Spanning Trees
25

Can you create a minimum spanning tree?
26
THE MATHEMATICS OF
NETWORKS
7.3 Kruskal’s Algorithm
Kruskal’s Algorithm
27
There are several well-known algorithms
for finding minimum spanning trees. In
this section we will discuss one of the the
nicest of these, called Kruskal’s
algorithm.
Kruskal’s Algorithm
28
Kruskal’s Algorithm
Almost exactly like the cheapest-link algorithm.
Choose the cheapest link that doesn’t close the
circuit.
Traces the Minimum Spanning Tree. (MST)
It always gives the optimal solution and is efficient.
Kruskal’s Algorithm
29
What is the minimum spanning tree (MST) of the
network shown in (b)?
Kruskal’s Algorithm
30
We will use Kruskal’s algorithm to find
the MST of the network.
Step 1. Among all the possible links, we
choose the cheapest one, in this case GF
(at a cost of $42 million). This link is
going to be a part of the MST, and we
mark it in red as shown in (a).
Kruskal’s Algorithm
31
Kruskal’s algorithm
Step 2. The next cheapest link available
is BD at $45 million. We choose it for the
MST and mark it in red.
Step 3. The cheapest link available is AD
at $49 million. Again, we choose it for
the MST and mark it in red.
Kruskal’s Algorithm
32
Kruskal’s algorithm
Step 4. For the next cheapest link there is
a tie between AB and DG, both at $51
million. But we can rule out AB– it would
create a circuit in the MST, and we can’t
have that!) The link DG, on the other hand,
is just fine, so we mark in red and make ti
part of the MST.
Kruskal’s Algorithm
33
Kruskal’s algorithm
Step 5. The next cheapest link available
is CD at $53 million. No problems here,
so again, we mark it in red and make it
part of the MST.
Step 6. The next cheapest link available
is BC at $55 million, but this link would
create a circuit, so we cross it out.
Kruskal’s Algorithm
34
Kruskal’s algorithm
Step 6 (cont.). The next possible choice is
CF at $56 million, but once again, this
choice creates a circuit so we must cross it
out. The next possible choice is CE at $59
million, and this is one we do choose. We
mark it in red and make it part of the
MST.
Kruskal’s Algorithm
35
Kruskal’s algorithm
Step … Wait a second– we are finished!
We can tell we are done– six links is
exactly what is needed for an MST on
seven vertices (N – 1).
Figure (c) shows the MST in red. The total
cost of the network is $299 million.
Kruskal’s Algorithm
36

Find the minimum spanning tree for the below
figure.
Kruskal’s Algorithm
37

Find the minimum spanning tree for the below
figure:
38
THE MATHEMATICS OF
NETWORKS
7.4 The Shortest Network Connecting Three Points
The Shortest Network Connecting Three Points
39
What is the cheapest underground fiber-optic cable
network connecting the three towns?
The Shortest Network Connecting Three Points
40
Here, cheapest means “shortest”, so the name of the
game to design a network that is as short as
possible. We shall call such a network the shortest
network (SN).
The Shortest Network Connecting Three Points
41
The search for the shortest network often starts with
a look at the minimum spanning tree. The MST
can always be found using Kruskal’s algorithm
and it gives us a ceiling on the length of the
shortest network.
The Shortest Network Connecting Three Points
42
In this example the MST consists of two (any two) of
the three sides of the equilateral triangle (a), and
its length is 1000 miles.
The Shortest Network Connecting Three Points
43
It is not hard to find a network connecting the three
towns shorter than the MST. The T- network (b) is
clearly shorter. The length of the segment CJ is
approximately 433 miles. The length of this
network is 933 miles.
The Shortest Network Connecting Three Points
44
We can do better. The Y- network shown in (c) is
even shorter than the T- network. In this network
there is a “Y”- junction at S, with three equal
branches connecting S to each of A, B, and C.
The Shortest Network Connecting Three Points
45
This network is approximately 866 miles long. A key
feature is the way the three branches come
together at the junction point S, forming equal
120 angles.
The Shortest Network Connecting Three Points
46
Before we move on, we need to discuss briefly the
notion of a junction point on a network. ( A junction
point in a network is any point where two or more
segments of the network come together.
The Shortest Network Connecting Three Points
47
The MST in (a) has a junction point at A, then
network in (b), has a junction point at J, and the
shortest network in (c) has a junction point at S.
The Shortest Network Connecting Three Points
48
There are three important terms that we will use in connection
with junction points:
 In a network connecting a set of vertices, a junction point is
said to be native junction point if it is located at one of the
vertices.
 A nonnative junction point located somewhere other than at
one of the original vertices is called an interior junction point of
the network.
The Shortest Network Connecting Three Points
49

An interior junction point consisting of three line
segments coming together forming equal 120
angles (a “perfect” Y- junction if you will) is called
a Steiner point of the network.
The Shortest Network Connecting Three Points
50
The Shortest Network Connecting Three Points
•If one of the angles of the triangle is 120 or more, the
shortest network linking the three vertices consists of the two
shortest sides of the triangle (a).
The Shortest Network Connecting Three Points
51
The Shortest Network Connecting Three Points
•If all three angles of the triangle are less than 120 , the
shortest network is obtained by finding a Steiner point S
inside the triangle and joining S to each of the vertices (b).
The Shortest Network Connecting Three Points
52
Finding the Steiner Point: Torricelli’s Construction
•Suppose A, B, and C form a triangle such that all three
angles of the triangle are less than 120 (a).
The Shortest Network Connecting Three Points
53
Finding the Steiner Point: Torricelli’s Construction
•Step 1. Choose any of the three sides of the triangle (say
BC) and construct an equilateral triangle BCX, so that X and
A are on opposite sides of BC (b).
The Shortest Network Connecting Three Points
54
Finding the Steiner Point: Torricelli’s Construction
•Step 2. Circumscribe a circle around equilateral triangle
BCX (c).
The Shortest Network Connecting Three Points
55
Finding the Steiner Point: Torricelli’s Construction
•Step 3. Join X to A with a straight line (d). The point of
intersection of the line segment XA with the circle is the
Steiner point!
The Shortest Network Connecting Three Points
56

Why does this work?
57
THE MATHEMATICS OF
NETWORKS
7.5 Shortest Networks for Four or More Points
Shortest Networks for Four or More Points
58
When it comes to finding shortest networks, things
get really interesting when we have to connect four
points.
Shortest Networks for Four or More Points
59
What does the optimal network connecting these four cities (A,
B, C, and D) look like? Suppose the cities sit on the vertices of
a square 500 miles on each side as shown in (a).
Shortest Networks for Four or More Points
60
If we don’t want to create any interior junction points in the
network, then the answer is a minimum spanning tree, such as
in (b). The length of the MST is 1500 miles.
Shortest Networks for Four or More Points
61
If interior junction points are allowed, somewhat shorter networks
are possible. An improvement is the network (c) with and Xjunction located at O, the center of the square. The length is
approximately 1414 miles.
Shortest Networks for Four or More Points
62
We can shorten the network even more if we place not one but
two interior junction points inside the square. There are two
different networks possible with two Steiner points inside the
square as in (d) and (e).
Shortest Networks for Four or More Points
63
These two networks are essentially equal (one is a rotated
version of the other) and clearly have the same length–
approximately 1366 miles. It is impossible to shorten these
any further.
Shortest Networks for Four or More Points
64
The only possible interior junction points in a shortest
network are Steiner points. For convenience, we will
call this the interior junction rule for shortest
networks.
Shortest Networks for Four or More Points
65
The Shortest Network Rule
 A minimum spanning tree (no interior junction points)
or
 A Steiner tree. [A Steiner tree is a network with no
circuits (a tree) such that all interior junction points
are Steiner points.]
The Mathematics of Networks
Conclusion
66
Discussed the problem of creating an
optimal network.
 Found out that Kruskal’s algorithm is a
simple algorithm for finding MSTs.
 By allowing interior junction points, solve
the shortest network connecting the points.
