Presentation is loading. Please wait.

Presentation is loading. Please wait.

Lecture 36 CSE 331 Nov 22, 2013.

Similar presentations


Presentation on theme: "Lecture 36 CSE 331 Nov 22, 2013."— Presentation transcript:

1 Lecture 36 CSE 331 Nov 22, 2013

2 HW 9 due today Place Q1, Q2 and Q3 in separate piles
I will not accept HWs after 1:15pm DO NOT FORGET TO WRITE DOWN YOUR SOURCES

3 Other HW related stuff HW 10 has been posted (due last day of class)
Solutions to HW 9 at the END of the lecture HW 8 should be available for pickup starting Monday

4 Shortest Path Problem Input: (Directed) Graph G=(V,E) and for every edge e has a cost ce (can be <0) t in V Output: Shortest path from every s to t Assume that G has no negative cycle 1 100 -1000 899 s t Shortest path has cost negative infinity

5 When to use Dynamic Programming
There are polynomially many sub-problems Richard Bellman Optimal solution can be computed from solutions to sub-problems There is an ordering among sub-problem that allows for iterative solution

6 Best path through all neighbors
Recurrence Relation OPT(u,i) = cost of shortest path from u to t with at most i edges OPT(u,i) = min { OPT(u, i-1), min(u,w) in E { cu,w + OPT(w, i-1)} } Path uses ≤ i-1 edges Best path through all neighbors

7 When to use Dynamic Programming
There are polynomially many sub-problems Richard Bellman Optimal solution can be computed from solutions to sub-problems There is an ordering among sub-problem that allows for iterative solution

8 HW 9 due today Place Q1, Q2 and Q3 in separate piles
I will not accept HWs after 1:15pm DO NOT FORGET TO WRITE DOWN YOUR SOURCES

9 Natural order among OPT(u,i) values?
Today’s agenda Finish Bellman-Ford algorithm Analyze the run time Group talk time: Natural order among OPT(u,i) values?

10 The recurrence OPT(u,i) = shortest path from u to t with at most i edges OPT(u,i) = min { OPT(u,i-1), min(u,w) in E { cu,w + OPT(w, i-1)} }

11 OPT(u,n-1) is shortest path cost between u and t
Some consequences OPT(u,i) = shortest path from u to t with at most i edges OPT(u,i) = min { OPT(u, i-1), min(u,w) in E { cu,w + OPT(w,i-1)} } OPT(u,n-1) is shortest path cost between u and t Group talk time: How to compute the shortest path between s and t given all OPT(u,i) values

12 Longest path problem Given G, does there exist a simple path of length n-1 ?

13 Longest vs Shortest Paths

14 Two sides of the “same” coin
Shortest Path problem Can be solved by a polynomial time algorithm Is there a longest path of length n-1? Given a path can verify in polynomial time if the answer is yes

15 Poly time algo for longest path?

16 Alternate NP definition: Guess witness and verify!
P vs NP question P: problems that can be solved by poly time algorithms Is P=NP? NP: problems that have polynomial time verifiable witness to optimal solution Alternate NP definition: Guess witness and verify!

17 Pretty much all known proof techniques provably will not work
Proving P ≠ NP Pick any one problem in NP and show it cannot be solved in poly time Pretty much all known proof techniques provably will not work

18 Proving P = NP Will make cryptography collapse
Compute the encryption key! Prove that all problems in NP can be solved by polynomial time algorithms NP Solving any ONE problem in here in poly time will prove P=NP! NP-complete problems

19 A book on P vs. NP

20 Three general techniques
High level view of CSE 331 Problem Statement Problem Definition Three general techniques Algorithm “Implementation” Data Structures Analysis Correctness+Runtime Analysis

21 If you are curious for more
CSE431: Algorithms CSE 396: Theory of Computation


Download ppt "Lecture 36 CSE 331 Nov 22, 2013."

Similar presentations


Ads by Google