Question: ( 1 0 points ) This problem concerns running time optimizations to the Hungarian algorithm for computing minimum - cost perfect bipartite matchings. Recall the

(10 points) This problem concerns running time optimizations to the Hungarian algorithm for computing minimum-
cost perfect bipartite matchings. Recall the O(mn2) running time analysis from lecture: there are at most n
augmentation steps, at most n price update steps between two augmentation steps, and each iteration can be
implemented in O(m) time.
(a) By a phase, we mean a maximal sequence of price update iterations (between two augmentation iterations).
The naive implementation in lecture regrows the search tree from scratch after each price update in a phase,
spending O(m) time on this for each of up to n iterations. Show how to reuse work from previous iterations
so that the total amount of work done searching for good paths, in total over all iterations in the phase, is
only O(m).
(b) The other non-trivial work in a price update phase is computing the value of (the minimum magnitude by
which the prices can be updated without violating any of the invariants). This is easy to do in O(m) time
per iteration. Explain how to maintain a heap data structure so that the total time spent computing over
all iterations in the phase is only O(mlogn). Be sure to explain what heap operations you perform while
growing the search tree and when executing a price update.
[This yields an O(mnlogn) time implementation of the Hungarian algorithm.]
(10 points) We used low-stretch trees to approximate APSP on general graphs. We explore this connection
further via the k-point-facility problem: Given a graph G=(V,E) with positive edge lengths and kinZ?0.
Define dG(u,v) to be the length of the shortest path between u and v in G according to these edge-lengths. For
a set CsubeV, define
dG(v,C):=mincinCdG(v,C)
The k-point-facility problem asks you to find a set CsubeV with |C|=k to minimize G(C):=vinV?dG(v,C).
(a) Design a poly(k,n) time algorithm to solve the k-point-facility problem on an edge-weighted path of n
vertices.
(b) Given an algorithm to solve k-point-facility optimally on trees, show that the algorithm that samples a tree
T from (random) low-stretch tree distribution with stretch , solves k-point-facility on T to get CT, and
outputs this set CT, ensures that the expected cost ET[G(CT)]*OPT.
(c) Show that if you perform L:=O(lognlon) independent runs of the above algorithm to get sets C1,C2,cdots,CL,
and return the set with the least G(Ci) value from among these (call it C**), then .
OPT
(d) Show that the expected weight of a low-stretch tree is at most O() times the MST.
(e) Extend your algorithm from (a) to solve k-point-facility on an edge-weighted tree.
(Hint: first solve it on a binary tree. Then show how to reduce the problem to general trees)
give solution in detail by proof each and every step
( 1 0 points ) This problem concerns running time

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!