1 A New Calculational Law for Combinatorial Optimization Problems Akimasa Morihata PhD student of...

Preview:

Citation preview

1

A New Calculational Law for Combinatorial Optimization Problems

Akimasa MorihataPhD student of IPL (Takeichi/Hu Lab.),

the University of Tokyo

IFIP WG2.1 @ Kyoto

2

Maximum Segment Sum

(Maximum segment sum problem)Given a list of numbers, find the segmentthat has the maximum weight-sum.

3

Resource ConstrainedShortest Path Problem

(Resource constrained shortest path problem)Given an edge-weighed graph and a resource function , find the shortest path between given two nodes such that .

s t

5

11

3 1

-3

4

-2

4

22

4

Our Contribution

• Proposing a new calculational lawfor combinatorial optimization problems– Generic– Easy to use

• Suitable for automation

5

Calculational Laws for Combinatorial Optimization Problems• Greedy theorems (Bird and de Moor, Curtis)

– Generic but not automatic

• Maximum marking problems (Sasano et al.: ICFP 2000)– Automatic but specific

• Derivation of the result of Sasamo.et.al (Bird, JFP 2001)– Based on the thinning law (» greedy theorem)

6

Notations

• map :

• union: • filter :

• means minimals (not “least elements”)

where is a preorder

7

FormalizingCombinatorial Optimization Problems• Combinatorial optimization problems

» each solution is given by a sequence of decisions– a decision: – enumeration of all solutions:

Greedy Theorem (Bird and de Moor, Curtis): 

If ,

then .

8

Example: Maximum Segment Sum

(MSS as a Maximum Marking Problem)Compute the Maximum marking problem on listswhere marking should be accepted by the automaton:

MMN

NN M: marked

N: not marked

9

Problem:Greedy Theorem is HARD to use

How do we find an appropriate order?

10

A New Calculational Law

Theorem:  

If and

then where .

Monotonic

Fusible

11

Why Correct?

Lemma:  

if

Lemma:  

if and only if

Lemma:  

12

Deriving an Algorithm for MSS

• M and N is monotonic for · ? ) Yes! (trivial)

• is fusible? ) Yes! (it’s an automaton!)

13

Next Example:Shortest Path Problem

(Shortest path problem)Given an edge-weighed graph , find the shortest path from to .

14

Derivation of Bellman-Ford Algorithm

•       is monotonic for · ? ) Yes! (trivial)

• is fusible for !(you can easily confirm it by a small calculation)

15

Final Example: Resource Constrained Shortest Path

(Resource constrained shortest path problem)Given an edge-weighed graph and a resource function , find the shortest path between given two nodes such that .

s t

5

11

3 1

-3

4

-2

4

22

16

Deriving DP Algorithm forResource Constrained Shortest Path• is fusible for

• is fusible for

) is fusible for

17

Conclusion

• We propose a new caluclational law for deriving dynamic programming algorithms– Fusion » Dynamic programming– Generic– Suitable for automation

18

Future Work

• General recursion schema?

• Giving a DSL for dynamic programming– Generate efficient program automatically

• Derivation of greedy algorithms

Recommended