Dynamic Programming: General Principles and Multistage Graphs — KopHub