CSCI 2300 Lab 9 Fall 2014, 11/12/14

This lab is about Dynamic Programming, a search problem, NP-complete Problems and Reductions
  1. Solve and Implement in C++ the Subset Sum Problem (using Dynamic Programming) Exercise 6.22 of DG - Also output the subset elements which add up to the the given number (you can just give the indices of the set). Use the data here - number of elements in the set, the set itself, and a positive integer t (some Subset A add up to t) - You can abstract Set as an array/vector.
  2. There are a number of interesting problems (on Dynamic Programming) given in here . Please implement Problem 7 using the code that you did to solve problem 1 of this exercise. (You are also welcome to take a fresh approach following the ideas in the slides/talk). Please use the data here - Output one partition (the index is sufficient) and their sum.
  3. (optional - Please do not submit) Your instructor (named msk) proposed this puzzle in New York Times Number play section Puzzle (in the comments section 2 sorted by the newest or comment number 13) - Solve this using any method. (try to show that there is only one solution)
  4. 8.2 (DG) (Hint: If the decision procedure says no to the entire graph then there is not Rudrata path. If it says yes, then we have to find a path. Delete an edge from the Graph. If the decision procedure says yes, do not include the edge, if it says no, note the edge will be in the path. Include it in the path. Do this for all edges. In the end, you will have the edges for Rudrata path - Why?)
  5. (Optional - But recommended) Please listen to this audio from 4:00 minute mark Manindra Agarwal (IIT Kanpur) on 2010 July P vs NP attempt (audio)