Cheat Sheets for Hard Problems

1,285 views

Published on

A very high-level overview of the modern toolkit involved in solving NP-hard problems.

Published in: Education, Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,285
On SlideShare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
25
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Cheat Sheets for Hard Problems

  1. 1. Cheat  Sheets  for  Hard  Problems
  2. 2. Some problems tend to be harder than others.
  3. 3. NP
  4. 4. P NP
  5. 5. P NP NP-complete
  6. 6. P NP
  7. 7. X
  8. 8. TSPX
  9. 9. TSPX solveTSP{ blah blah blah blah blah }
  10. 10. Independent Set
  11. 11. Independent Set Clique
  12. 12. Independent Set Clique Independent SetClique
  13. 13. Independent SetClique
  14. 14. Independent SetClique
  15. 15. Independent SetClique SolveIndSet { Return Clique( ); }G
  16. 16. TSPX solveTSP{ blah blah blah blah blah }
  17. 17. Did you say NP-complete?
  18. 18. Did you say NP-complete?
  19. 19. Travelling Salesman Satisfiability Integer Linear Programming
  20. 20. Minimum Multi-way cut ....
  21. 21. Heuristics
  22. 22. Heuristics
  23. 23. Formal analysis?
  24. 24. You have Polynomial Time.
  25. 25. You have Polynomial Time. WORK BACKWARDS!
  26. 26. Approximation & Randomized Algorithms
  27. 27. A no-compromise situation?
  28. 28. A no-compromise situation?
  29. 29. A no-compromise situation? Exploit additional structure in the input.
  30. 30. Parameterized & Exact Analysis
  31. 31. Parameterized & Exact Analysis Chromatic  Number  is  easy  on                                Graphs.Interval
  32. 32. Parameterized & Exact Analysis Chromatic  Number  is  easy  on                                Graphs.Planar*
  33. 33. Parameterized & Exact Analysis Chromatic  Number  is  easy  on                                Graphs.Bipartite
  34. 34. Good solutions tend to involve a combination of several techniques.
  35. 35. Vertex Cover
  36. 36. Vertex Cover Every edge has at least one end point in a vertex cover.
  37. 37. Vertex Cover Every edge has at least one end point in a vertex cover.
  38. 38. Is there a Vertex Cover with at most k vertices?
  39. 39. A vertex with more than k neighbors.
  40. 40. Throw away all vertices with degree (k+1) or more. (And decrease the budget appropriately.)
  41. 41. Throw away all vertices with degree (k+1) or more. After all the high-degree vertices are gone... (And decrease the budget appropriately.)
  42. 42. ...any vertex can cover at most k edges.
  43. 43. ...any vertex can cover at most k edges. Suppose the current budget is (k-x).
  44. 44. ...any vertex can cover at most k edges. Suppose the current budget is (k-x). If the number of edges in the graph exceeds k(k-x)...?
  45. 45. Lots of edges - no small vertex cover possible. Few edges - brute force becomes feasible.
  46. 46. Lots of edges - no small vertex cover possible. Few edges - brute force becomes feasible. win/win situation
  47. 47. Common Sense
  48. 48. Common Sense Approximate
  49. 49. Common Sense Approximate Randomize
  50. 50. Common Sense Approximate Randomize Exploit Input Structure
  51. 51. Common Sense Approximate Randomize Exploit Input Structure
  52. 52. http://neeldhara.com/summer2013 Slides and Other Resources

×