Dynamic Programming - webpages.ursinus.eduwebpages.ursinus.edu/adhawan/algorithms/Dynamic.pdf ·...

20
Dynamic Programming

Transcript of Dynamic Programming - webpages.ursinus.eduwebpages.ursinus.edu/adhawan/algorithms/Dynamic.pdf ·...

Page 1: Dynamic Programming - webpages.ursinus.eduwebpages.ursinus.edu/adhawan/algorithms/Dynamic.pdf · Assembly line scheduling. ... Automobile factory with two assembly lines. Each line

Dynamic Programming

Page 2: Dynamic Programming - webpages.ursinus.eduwebpages.ursinus.edu/adhawan/algorithms/Dynamic.pdf · Assembly line scheduling. ... Automobile factory with two assembly lines. Each line

Introduction

Page 3: Dynamic Programming - webpages.ursinus.eduwebpages.ursinus.edu/adhawan/algorithms/Dynamic.pdf · Assembly line scheduling. ... Automobile factory with two assembly lines. Each line

Assembly line scheduling

Page 4: Dynamic Programming - webpages.ursinus.eduwebpages.ursinus.edu/adhawan/algorithms/Dynamic.pdf · Assembly line scheduling. ... Automobile factory with two assembly lines. Each line

Assembly line scheduling

Page 5: Dynamic Programming - webpages.ursinus.eduwebpages.ursinus.edu/adhawan/algorithms/Dynamic.pdf · Assembly line scheduling. ... Automobile factory with two assembly lines. Each line

Assembly line scheduling

Page 6: Dynamic Programming - webpages.ursinus.eduwebpages.ursinus.edu/adhawan/algorithms/Dynamic.pdf · Assembly line scheduling. ... Automobile factory with two assembly lines. Each line
Page 7: Dynamic Programming - webpages.ursinus.eduwebpages.ursinus.edu/adhawan/algorithms/Dynamic.pdf · Assembly line scheduling. ... Automobile factory with two assembly lines. Each line

Optimal Substructure

Page 8: Dynamic Programming - webpages.ursinus.eduwebpages.ursinus.edu/adhawan/algorithms/Dynamic.pdf · Assembly line scheduling. ... Automobile factory with two assembly lines. Each line

Recursive solution

Page 9: Dynamic Programming - webpages.ursinus.eduwebpages.ursinus.edu/adhawan/algorithms/Dynamic.pdf · Assembly line scheduling. ... Automobile factory with two assembly lines. Each line

Assembly line scheduling

Page 10: Dynamic Programming - webpages.ursinus.eduwebpages.ursinus.edu/adhawan/algorithms/Dynamic.pdf · Assembly line scheduling. ... Automobile factory with two assembly lines. Each line

Computing the fastest time

Page 11: Dynamic Programming - webpages.ursinus.eduwebpages.ursinus.edu/adhawan/algorithms/Dynamic.pdf · Assembly line scheduling. ... Automobile factory with two assembly lines. Each line

Computing the fastest time

Page 12: Dynamic Programming - webpages.ursinus.eduwebpages.ursinus.edu/adhawan/algorithms/Dynamic.pdf · Assembly line scheduling. ... Automobile factory with two assembly lines. Each line

Constructing the fastest way

Page 13: Dynamic Programming - webpages.ursinus.eduwebpages.ursinus.edu/adhawan/algorithms/Dynamic.pdf · Assembly line scheduling. ... Automobile factory with two assembly lines. Each line

Motivation

• We often want to compare the DNA of two or

more organisms.

• Expressed as a string over the set {A, C, G, T}

• S1=ACCGGTA………..• S1=ACCGGTA………..

• S2=ACCGCTA…………

• How similar are these two strands?

• How long is the longest-common-

subsequence?

Page 14: Dynamic Programming - webpages.ursinus.eduwebpages.ursinus.edu/adhawan/algorithms/Dynamic.pdf · Assembly line scheduling. ... Automobile factory with two assembly lines. Each line

Longest common subsequence

Page 15: Dynamic Programming - webpages.ursinus.eduwebpages.ursinus.edu/adhawan/algorithms/Dynamic.pdf · Assembly line scheduling. ... Automobile factory with two assembly lines. Each line

Optimal Substructure

Big Idea: The LCS of two sequences contains within it

an LCS of the prefixes of the two sequences.

Page 16: Dynamic Programming - webpages.ursinus.eduwebpages.ursinus.edu/adhawan/algorithms/Dynamic.pdf · Assembly line scheduling. ... Automobile factory with two assembly lines. Each line

Recursive formulation

Page 17: Dynamic Programming - webpages.ursinus.eduwebpages.ursinus.edu/adhawan/algorithms/Dynamic.pdf · Assembly line scheduling. ... Automobile factory with two assembly lines. Each line

Example

Page 18: Dynamic Programming - webpages.ursinus.eduwebpages.ursinus.edu/adhawan/algorithms/Dynamic.pdf · Assembly line scheduling. ... Automobile factory with two assembly lines. Each line

Compute the length of the Optimal

solution

Page 19: Dynamic Programming - webpages.ursinus.eduwebpages.ursinus.edu/adhawan/algorithms/Dynamic.pdf · Assembly line scheduling. ... Automobile factory with two assembly lines. Each line

Tables computed by LCS-Length

Page 20: Dynamic Programming - webpages.ursinus.eduwebpages.ursinus.edu/adhawan/algorithms/Dynamic.pdf · Assembly line scheduling. ... Automobile factory with two assembly lines. Each line

Constructing the LCS