note04 - Outline 1 What is Dynamic Programming 2 Matrix...

Info iconThis preview shows pages 1–9. Sign up to view the full content.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: Outline 1 What is Dynamic Programming 2 Matrix Chain Product Problem 3 Generating Function Method 4 Elements of Dynamic Programming 5 0/1 Knapsack Problem 6 Longest Common Subsequence Problem 7 Summary on Using Dynamic Programming Algorithm c Xin He (University at Buffalo) CSE 431/531 Algorithm Analysis and Design 1 / 64 What is Dynamic Programming Like DaC, Dynamic Programming is another useful method for designing efcient algorithms. Why the name? Eye of the Hurricane: An Autobiography - A quote from Richard Bellman I spent the Fall quarter (of 1950) at RAND. My rst task was to nd a name for multistage decision process. An interesting question is, Where did the name, dynamic programming, come from? The 1950s were not good years for mathematical research. We had a very interesting gentleman in Washington named Wilson. He was Secretary of Defense, and he actually had a pathological fear and hatred of the word, research. ... I felt I had to do something to shield Wilson and the Air Force from the fact that I was really doing mathematics inside the RAND Corporation. .... Thus, I thought dynamic programming was a good name. It was something not even a Congressman could object. So I used it as an umbrella for my activities. c Xin He (University at Buffalo) CSE 431/531 Algorithm Analysis and Design 2 / 64 General Description of Dynamic Programming Divide the problem into smaller subproblems ( of the same type ). c Xin He (University at Buffalo) CSE 431/531 Algorithm Analysis and Design 3 / 64 General Description of Dynamic Programming Divide the problem into smaller subproblems ( of the same type ). Solve each subproblem. c Xin He (University at Buffalo) CSE 431/531 Algorithm Analysis and Design 3 / 64 General Description of Dynamic Programming Divide the problem into smaller subproblems ( of the same type ). Solve each subproblem. Combine the solutions of subproblems into the solution of the original problem. c Xin He (University at Buffalo) CSE 431/531 Algorithm Analysis and Design 3 / 64 General Description of Dynamic Programming Divide the problem into smaller subproblems ( of the same type ). Solve each subproblem. Combine the solutions of subproblems into the solution of the original problem. Looks familiar? Its identical to DaC! c Xin He (University at Buffalo) CSE 431/531 Algorithm Analysis and Design 3 / 64 General Description of Dynamic Programming Divide the problem into smaller subproblems ( of the same type ). Solve each subproblem. Combine the solutions of subproblems into the solution of the original problem. Looks familiar? Its identical to DaC! But they differ substantially in details. c Xin He (University at Buffalo) CSE 431/531 Algorithm Analysis and Design 3 / 64 General Description of Dynamic Programming Divide the problem into smaller subproblems ( of the same type )....
View Full Document

This document was uploaded on 10/05/2010.

Page1 / 278

note04 - Outline 1 What is Dynamic Programming 2 Matrix...

This preview shows document pages 1 - 9. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online