Homework 2 Problem 1 Families 1…..N go out for dinner together. To increase their social interaction, no two members of the same family use the same table. Family j has a(j) members. There are M tables. Table j can seat b(j) people. Find a valid seating assignment if one exists. Problem 2 A commander is located at one node p in a network. His subordinates constitute a node set S. The enemy needs to cut off the communication between the commander and his subordinates (commander should not be able to communicate to any of his subordinates). Enemy needs w(e) effort to remove an edge e in the network. Compute the minimum effort required to cut off the communication between the commander and his subordinates. Problem 3 A network has some infinite capacity edges. Replace these capacities by finite numbers such that the maximum flow between any source and destination is not reduced. Problem 4 Prove or disprove (give counter examples) for the following: 1. For any maximum flow allocation, for all pairs (u, v) either flow in edge (u, v) or flow in (v, u) must be 0 2. There exists one maximum flow for which for all pairs (u, v) either flow in edge (u, v) or flow in (v, u) is 0 3. If all edges have unique capacities, the network has a unique minimum cut. 4. If we add a positive number b to the capacity of every edge, the minimum cut remains the same. Problem 5 Consider a network with a source and a destination. An edge is called upward critical if increasing the capacity of an edge increases the maximum flow. Does all networks have an upward critical edge? An edge is called downward critical if decreasing the capacity of the edge decreases the maximum flow. Does all networks have a downward critical edge? Justify your answer in both cases. Problem 6 Consider a network with a source and a destination. Links have integer edge capacities. Suppose a maximum flow allocation is known. Increase the capacity of an edge by 1 unit. Give an algorithm for updating the maximum flow. (Your algorithm should be substantially faster than max flow computation capacity). Problem 7 Consider a convex function f(x) from RM to R (x is an M dimensional vector). Prove that f(x) q is a convex set. Consider (1,…… N) such that j j = 1, j 0. Prove that ixi j j xi (Hint: -ln x is a convex function). Problem 8 The definition for maxmin fairness can be generalized as follows. A vector (not necessarily rate allocation vector) is maxmin fair in a feasible set if none of its components can be increased without hurting an equal or lower component. Consider a feasible set: r 1. Is there a maxmin fair vector in this feasible set? (Here, any vector consists of a single component). What is the answer for the feasible set r 1? How about the feasible set with x [0, 0.2] [0.8, 1] and y = 1-x. Here, you are considering vectors with 2 components (x, y). Problem 9 There are M faculties and N courses. Every faculty ranks 2 courses in order of preference. A faculty can teach one course and a course can be taught by one faculty only. Find a feasible course allocation if one exists (A feasible course allocation allows a faculty to teach one of the two courses he prefers). Find a k-feasible course allocation if one exists. (A faculty is dissatisfied if he is allotted his second choice course. A k-feasible allocation is one which dissatisfies at most k faculties). Problem 10 Consider a complete bipartite graph with weighted edges (There is an edge between any pair (u, v) if u and v belong to different partitions). The number of vertices in both partitions are the same. There exists a matching which matches all vertices in any such graph. Such a matching is called perfect matching. A perfect matching is lexicographically greater than another if the minimum weight in the matching is strictly less than that in the other, or if the minimum weights are identical but the second minimum is greater, etc….Find a lexicographically greatest matching. (Hint: Use weighted matching. You may assume a subroutine for computing a maximum weighted matching, and don’t need to present an algorithm for the same.). Analyze the complexity of your algorithm.