Dynamic Programing
Dynamic Programing
Programming
M. Ashraf Iqbal
http://www.istockphoto.com/stock-illustration-12665058-armed-robbery.php
Monday, 25 February 13
The Knapsack
Problem
Monday, 25 February 13
You can
Cut an Item
The Fractional knapsack problem:
Either put an item or its fraction in the
knapsack or ignore it so as to maximize total
profit while keeping the weight inside the
knapsack exactly equal to its capacity.
Monday, 25 February 13
Un-Bounded 0/1
Knapsack
Un-
http://www.fotosearch.com/BLD007/jp2005_0002521/
Monday, 25 February 13
Monday, 25 February 13
Objectives
1. We may like to maximize the
number
of weights to be placed in the
knapsack such that the total
weight remains within the
knapsack capacity in a 0/1
scenario.
1. We may like to maximize the
profit provided the profit of each
weight is the same.
2. We may like to maximize profit
provided the weight of each item
is the same.
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Which Strategy?
Brute Force can solve every thing?
Dynamic Programming can solve some
thing?
How about Greedy?
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Recursive Formulation?
Recursion Tree?
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Do it by Brute Force?
Monday, 25 February 13
Do it by Dynamic
Programming?
Monday, 25 February 13
Do it by Greedy?
Monday, 25 February 13
Dynamic Programming
provides an Optimal
answer?
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Do it by Brute Force?
Monday, 25 February 13
Monday, 25 February 13
Dynamic Programming: It
Collapses? But?
Monday, 25 February 13
Do it by Dynamic
Programming?
Monday, 25 February 13
The Change
Problem
Do it by Dynamic
Programming?
Monday, 25 February 13
The Change
Problem
Do it by Dynamic
Programming?
Monday, 25 February 13
The Change
Problem
Do it by Dynamic
Programming?
Monday, 25 February 13
Maximizing
Profit
Do it by Dynamic
Programming?
Monday, 25 February 13
Maximizing
Profit
Do it by Dynamic
Programming?
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Alternate Recursive
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Problem: We have
k lists of integers
and a knapsack
of capacity T. We
need to select
one item from
each list such as
to maximize the
total weight in
the knapsack
without
overflowing it.
Here is an
efficient dynamic
programming
solution.
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Maximize Merit
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Complexity of Graph
Construction
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Time Complexity?
Number of
Vertices
Number of Edges
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
1. No cutting
cost?
2. Uniform
cutting cost?
3. Non uniform
cutting cost
Monday, 25 February 13
The Rod
Partitionin
g Problem
The Rod
Partitionin
g Problem
Cutting Cost = 0
Maximum Price =
13
Monday, 25 February 13
The Rod
Partitioning
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Dynamic
Monday, 25 February 13
Dynamic
Monday, 25 February 13
Dynamic
Monday, 25 February 13
Dynamic
Dynamic
Programming
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Profits
after
cutting
Monday, 25 February 13
Total
Vertices?
Total Edges?
Time
Complexity?
Monday, 25 February 13
Monday, 25 February 13
An alternate way
of solving it?
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Matrix Multiplication
Problem?
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
The
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13
Monday, 25 February 13