Sunday, July 24, 2011

Communication networks design using graph problem

Problem:

In addition to finding shortest paths, sometimes we are also interested in finding the set of links connecting all the nodes with the minimum cost. A real life application of this idea is in the design of communication networks. Here, the nodes of the graph represent sites and the links represent the communication connections between sites. The cost of each connection could be the communication delay. Using the following graph as an example, can you design an algorithm similar to the Dijkstra’s algorithm in solving this problem?

Follow-Up:

To solve this problem using a greedy method, we can use the Kruskal’s algorithm, outlined below.
  1. Sort all links in ascending order of costs
  2. Start with an empty set of links, so that all nodes are disconnected (isolated)
  3. Add the lowest cost link to the set to connect a disconnected node without creating a cycle; this link is not to be considered again
  4. Repeat Step (3) until the set has n - 1 links

Further Inquiry:

(a) What is the estimated running time of the above algorithm?
(b) If there are links with negative costs, would this greedy method still work?

1 comment:

  1. Such an outstanding share! Thanks for spending the time to talk about this topic here on your blog.

    ReplyDelete