Set 8

CMPT 408: Theory of Computer Networks
Prof. Funda Ergun
Multicast, the Steiner Tree Problem & Heuristics
October 9, 14, & 16, 2009
Scribe: Matthew Baker
Multicast
-
Let G be a graph on the set of nodes, V, and the edge set, E. ( G = (V, E) )
Let |V| = n and |E| = m
Let M be a subset of V called the ‘Multicast Group’.
The idea is that we want to have communication amongst nodes in M.
If |M| = 2, then we would have two nodes communicating with each other. This
would be equivalent to unicast.
If |M| = n, then we would have all nodes communicating with all other nodes. This
would be equivalent to broadcast.
Weights : Let w(e) be the weight of an edge e. Weights are non-negative ( w(e) > 0 )
Assumption: That the graph G is undirected.
Minimum Multicast Tree (MMT): a tree, T, of minimum weight which spans all of
the nodes in M.
Finding a MMT is equivalent to solving the Network Steiner Tree Problem (which is
NP-complete)
How do we find efficient algorithms for this problem?
Heuristic Algorithms
-
Heuristic algorithms are approximation algorithms.
We would like to have Heuristics that are simple, efficient, distributable and have
easy & local updates
There are two scenerios for the MMT/Steiner Tree Problem:
- G is sparse: G has few nodes in M that are well separated
- G is dense: most nodes in G are in M and inter-node distance is low
Algorithm 1: Reverse Path Forwarding (RPF)
- RPF uses rooted multicast
- Select a node s in M to be the root of the multicast tree.
- Each node, v, in the tree has a designated parent p(v).
- If v receives a message from p(v), it forwards it to all of its neighbors (other than its
parent). If v receives a message from any other node, it ignores the message.
- Given v & p(v), we find the shortest path from v -> s and us that path in the RPF tree.
For dense multicast we use RPF with pruning
Pruning
- A minimum multicast tree cannot have any leaves which are not in M
- Goal: Prune all non-multicast leaves.
- Run RPF rooted at s.
- If a leaf node is not in M, it will send a “non-member” message to its parent and it
will be pruned from the tree
- This process is repeated until all leaf nodes of the tree are members of M.
For sparse multicast
- Use a core/center based method
- Let s be the core.
- For a multicast node to join, send a message to the core.
- Stop when the message hits either the core (where the path from that node to the core
is added to the tree) or when it hits part of the existing tree (and that path is
connected to the tree).
- This process is repeated until all nodes in M have joined the tree.
Algorithm 2: KMB Heuristic (Kou, Markovsky and Bermann)
- 2 – approximation: Returns a multicast tree T’ such that the total cost of T’, c(T’), is
less than or equal to twice the cost of T, where T is a MMT. That is, c(T’) < 2c(T).
- Requires the use of the metric property.
- Metric: A graph G is metric if for any u,v,w in V, c(u,v) < c(u,w) + c(w,v) (triangle
inequality – “the shortest distance between any two points is a straight line”).
Claim: Any connected metric graph must be complete.
Proof: Assume that the metric graph is not complete. Then there exists u,v in V such that
(u,v) is not in E. But, there exists a path, P, from u to v because the graph is connected.
Then, there must be an edge (u,v) with weight < weight of P. We arrive at a
contradiction, so the assumption must be false.
Step 1:
We start by converting G into a metric graph G' = (V, E') (G' is known as the "Metric
Closure" of G) where E' = { (u,v) | u,v in V, u / v}and w'(u,v) is the weight of the
shortest path from u to v in G.
G' is metric ( We can prove this by contradiction. Just consider any 3 nodes u,v, and x
and assume w'(u,v) + w'(v,x) < w'(u,x) ).