Reasoning about Algorithms Rice University Swarat Chaudhuri November 21, 2015 COMP 382, Fall 2015 Homework 6 Homework 6 – Due Thursday, December 3, 2015 Please refer to the course website for the full homework policy and options. Reminders • Your solutions are due in class. Please also submit a soft copy on Owlspace. • Collaboration is permitted, but you must write the solutions by yourself without assistance, and be ready to explain them orally to a member of the course staff if asked. You must also identify your collaborators. Getting solutions from outside sources such as the Web or students not enrolled in the class is strictly forbidden. • To facilitate grading, please write down your solution to each problem on a separate sheet of paper. Make sure to include all identifying information and your collaborators on each sheet. • When in doubt, email the TAs or the instructor. • For problems that require you to provide an algorithm, you must give a precise description of the algorithm, together with a correctness argument and an analysis of its running time. You may use algorithms from class as subroutines. You may also use any facts that we proved in class. 1. (Efficient recruiting) Suppose you are helping organize a summer camp. The camp is supposed to have at least one counselor who is skilled at each of the n sports covered by the camp (baseball, volleyball, and so on). They have received job applicants from m potential counselors. For each of the n sports, there is a subset of the m applicants qualified in that sport. The question is: For a given number k < m, is it possible to hire at most k of the counselors and have at least one counselor qualified in each of the k sports? We’ll call this the Efficient Recruiting Problem. Show that Efficient Recruiting is NP-complete. 2. (Zero-weight-cycle) You are given a directed graph G = (V, E) with weights we on its edges e ∈ E. The weights can be negative or positive. The Zero-Weight-Cycle Problem is to decide if there is a simple cycle in G so that the sum of the edge weights in this cycle is exactly 0. Prove that this problem is NP-complete. 3. (Feedback set) Given an undirected graph G = (V, E), a feedback set is a set X ⊆ V with the property that G − X has no cycles. The Undirected Feedback Set Problem asks: Given G and k, does G contain a feedback set of size at most k? Prove that Undirected Feedback Set is NP-complete. 4. (Randomized auction) Suppose you are designing strategies for selling items on an auction website. The site uses a one-pass auction, where every bid must be immedately (and irrevocably) accepted or refused. The site works like this: • First a seller puts up an item for sale. 1 • Then buyers appear in sequence. • When buyer i appears, he or she makes a bid bi > 0. • The seller must decide immediately whether to accept the bid or not. If the seller accepts the bid, the item is sold and all future buyers are turned away. If the seller rejects the bid, buyer i departs and the bid is withdrawn; and only then does the seller see any future buyers. Suppose an item is offered for sale, and there are n buyers, each with a distinct bid. Suppose further that the buyers appear in a random order, and that the seller knows the number n of buyers. We would like to design a strategy which gives the seller a reasonable chance of accepting the highest of the n bids. By a strategy, we mean a rule by which the seller decides whether to accept each presented bid, based only on the value of n and the sequence of bids seen so far. For example, the seller could always accept the first bid. This results in the seller accepting the highest of the n bids with probability only 1/n, as it requires the highest bid to be the one first presented. Give a strategy under which the seller accepts the highest of the n bids with probability at least 1/4, regardless of the value of n. (For simplicity, you may assume that n is an even number.) Prove that your strategy achieves this probabilistic guarantee. 5. (Randomized coloring) Let us consider the following variant of the problem of 3-coloring a graph. We are given a graph G = (V, E) and we want to color each node with one of three colors, even if we aren’t necessarily able to give different colors to every pair of adjacent nodes. Instead, we say that an edge (u, v) is satisfied if the colors assigned to u and v are different, and seek to maximize the number of satisfied edges. Consider a 3-coloring that maximizes the number of satisfied edges, and let c∗ denote this number. Give a polynomial-time randomized algorithm for our problem where the expected number of satisfied edges is at least 23 c∗ . 2