diff --git a/tech/dynamic_programming.wiki b/tech/dynamic_programming.wiki new file mode 100644 index 0000000..b408430 --- /dev/null +++ b/tech/dynamic_programming.wiki @@ -0,0 +1,18 @@ += Dynamic Programming = + +Dynamic Programming is a paradigm where we systematically and efficeiently +explore all possible solutions to a problem. Generally, problems suited to DP +have the following properties + +1) Problem can be broken down into overlaping subproblems +2) An optimal solution can be formed from optimal solutions to the overlapping + subproblems derrived from the original problem. + +There are two ways to implement a DP algo + +== Implimentation == + +=== Bottom up (Tabulation) === + +For tabulation we start at the lowest sub problem and work our way up to the +desired solution.