Dynamic programming: Difference between revisions

Content deleted Content added
No edit summary
Tag: Reverted
Undid revision 1183675949 by 66.219.220.26 (talk) possible vandalism
Tags: Undo Mobile edit Mobile app edit Android app edit
Line 3:
[[File:Shortest path optimal substructure.svg|thumb|upright=0.8|'''Figure 1.''' Finding the shortest path in a graph using optimal substructure; a straight line indicates a single edge; a wavy line indicates a shortest path between the two vertices it connects (among other paths, not shown, sharing the same two vertices); the bold line is the overall shortest path from start to goal.]]
 
'''Dynamic programming''' is both a [[mathematical optimization]] method and an [[algorithmic paradigm]]. The method was developed by [[Richard Bellman]] in the 1950s and has found applications in numerous fields, from [[aerospace engineering]] to [[economics]].ohio
 
 
In both contexts it refers to simplifying a complicated problem by breaking it down into simpler sub-problems in a [[Recursion|recursive]] manner. While some decision problems cannot be taken apart this way, decisions that span several points in time do often break apart recursively. Likewise, in computer science, if a problem can be solved optimally by breaking it into sub-problems and then recursively finding the optimal solutions to the sub-problems, then it is said to have ''[[optimal substructure]]''.