Dynamic programming algorithm for QIP Optimization of cost




















































- Slides: 52
Dynamic programming algorithm for QIP Optimization of cost of multi-track map matching process
Introduction Dynamic Programming
Example for DP • Fibonacci series • We can calculate Fibonacci series as a recursive function, which is reasonable to human. • The code explain the rule of Fibonacci series exactly, so the reader can understand its logic well.
• But there is a problem when the number N goes larger and larger. • Assume that we calculate `fib(5)`, the process will be same as next. • Fib(5) -> Fib(4) + Fib(3) • Fib(4) -> Fib(3) + Fib(2) , Fib(3) -> Fib(2)+Fib(1) • Fib(4) + Fib(3) -> ( Fib(3) + Fib(2) ) + ( Fib(2)+Fib(1) ) ->( ( Fib(2)+Fib(1) ) + Fib(2) ) + ( Fib(2)+Fib(1) ) Example for DP
Example of DP •
Example of DP Naïve programming Dynamic programming
method Dijkstra’s algorithm
Map matching process •
Map matching process • s s
Map matching process • s s s s
Map matching process • s s s s
Map matching process s s s
Map matching process
Map matching process Virtual source Virtual sink
Map matching process Virtual source Virtual sink
Map matching process Virtual source Virtual sink
Map matching process Virtual source Virtual sink
Map matching process Virtual source Virtual sink
Map matching process Virtual source Virtual sink
Map matching process Virtual source Virtual sink
Map matching process Let this red line is a solution (a shortest path or minimum cost), Virtual source
Map matching process Then, this red line also will be a solution of small part. Virtual source Which means, we don’t need to minimize total path at once, but only step by step! Virtual sink
Map matching process Virtual source Virtual sink
Map matching process Virtual source Virtual sink
Map matching process Virtual source Virtual sink
Map matching process Virtual source Virtual sink
Map matching process Virtual source Virtual sink
Map matching process Virtual source Virtual sink
Map matching process Virtual source Virtual sink
Map matching process Virtual source Virtual sink
Map matching process Virtual source Virtual sink
Map matching process Virtual source Virtual sink
Map matching process Virtual source Virtual sink
Map matching process Virtual source Virtual sink
Map matching process Virtual source Virtual sink
Map matching process Virtual source Virtual sink
Map matching process Virtual source Virtual sink Dijkstra’s algorithm
Map matching process Virtual source Virtual sink
To our code implementation
Implementation Virtual source Virtual sink
Implementation Virtual source Virtual sink
Implementation Virtual source Virtual sink
Implementation Virtual source Virtual sink
Implementation Virtual source Virtual sink
Implementation Virtual source Virtual sink
Implementation Virtual source Virtual sink
Implementation Virtual source Virtual sink
Implementation Virtual source Virtual sink
Implementation Virtual source Virtual sink
Map matching process Virtual source Virtual sink
Dynamic programming and Dijkstra’s algorithm Q&A