Lecture 5 Dynamic Programming - PowerPoint PPT Presentation

1 / 33
About This Presentation
Title:

Lecture 5 Dynamic Programming

Description:

Lecture 5 Dynamic Programming Dynamic Programming Self-reducibility Divide and Conquer Divide the problem into subproblems. Conquer the subproblems by solving them ... – PowerPoint PPT presentation

Number of Views:160
Avg rating:3.0/5.0
Slides: 34
Provided by: Ding49
Category:

less

Transcript and Presenter's Notes

Title: Lecture 5 Dynamic Programming


1
Lecture 5 Dynamic Programming
2
Dynamic Programming
Self-reducibility
3
Divide and Conquer
  • Divide the problem into subproblems.
  • Conquer the subproblems by solving them
    recursively.
  • Combine the solutions to subproblems into the
    solution for original problem.

4
Dynamic Programming
  • Divide the problem into subproblems.
  • Conquer the subproblems by solving them
    recursively.
  • Combine the solutions to subproblems into the
    solution for original problem.

5
Remark on Divide and Conquer
Key Point
Divide-and-Conquer is a DP-type technique.
6
Greedy
Algorithms with Self-Reducibility
Dynamic Programming
Divide and Conquer
Local Ratio
7
Matrix-chain Multiplication
8
Fully Parenthesize
9
Scalar Multiplications
10
e.g.,
of scalar multiplications
11
Step 1. Find recursive structure of
optimal solution
12
Step 2. Build recursive formula about
optimal value
13
Step 3. Computing optimal value
14
Step 3. Computing optimal value
15
Step 4. Constructing an optimal
solution
16
151
15,125
11,875
10,500
9,375
7,125
5,375
7,875
4,375
2,500
3,500
15,700
2,625
750
1,000
5,000
0
0
0
0
0
0
17
151
15,125
(3)
11,875
10,500
(3)
(3)
9,375
7,125
5,375
(3)
(3)
(3)
7,875
4,375
2,500
3,500
(3)
(3)
(5)
(1)
15,700
2,625
750
1,000
5,000
(5)
(4)
(3)
(2)
(1)
0
0
0
0
0
0
Optimal solution
18
Running Time
19
Running Time
How many recursive calls? How many mI,j will be
computed?
20
of Subproblems
21
Running Time
22
Remark on Running Time
  • (1) Time for computing recursive formula.
  • (2)The number of subproblems.
  • (3) Multiplication of (1) and (2)

23
Longest Common Subsequence
24
Problem
25
Recursive Formula
26
More Examples
27
A Rectangle with holes
NP-Hard!!!
28
Guillotine cut
29
Guillotine Partition
A sequence of guillotine cuts
Canonical one every cut passes a hole.
30
Minimum length Guillotine Partition
  • Given a rectangle with holes, partition it into
    smaller rectangles without hole to minimize the
    total length of guillotine cuts.

31
Minimum Guillotine Partition
Dynamic programming In time O(n )
5
Each cut has at most 2n choices.
4
There are O(n ) subproblems.
Minimum guillotine partition can be a
polynomial-time approximation.
32
What we learnt in this lecture?
  • How to design dynamic programming.
  • Two ways to implement.
  • How to analyze running time.

33
Puzzle
Write a Comment
User Comments (0)
About PowerShow.com