Dynamic programming: Difference between revisions

From Helpful
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{programming}}
{{#addbodyclass:tag_tech}}
<!--
<!--
"Dynamic programming" is a term that amounts to we reduce the input to data we then work on.
In an overly-broad sense, "dynamic programming" is sometimes used in a  
"how execution happens will execute depends in part on the data we handed in this time", in any sense.


It often suggests optimization problems to which there ''may'' be no best solution and this is merely a very practical approach,
but there is further typology about whether solving the sub-problems can be optimal -- see terms like [https://en.wikipedia.org/wiki/Optimal_substructure optimal substructure].


...but that describes so much code that the term is usually more specific.
(It is often contrasted with  "do exactly this with the input" in a way that will never behave fundamentally differently with with what data you give it (beyond some basic if-else branching, cpu flags, and such).
It often suggests optimization problems that are best tackled by transforming the question into some data to be handled by subtasks and/or immediate data structures, where the way that intermediate data looks, and will be walked through later, will vary with the values within that actual data.
To which there ''may'' be no best solution and this is merely a very practical approach,
...but there is further typology about whether solving the sub-problems can be optimal -- see terms like [https://en.wikipedia.org/wiki/Optimal_substructure optimal substructure].
Dynamic execution is also relevant around real-time excution,
because such systems will want to know about upper bounds, which is harder to describe and/or guarantee around dynamic programming.




It is often contrasted with
"do exactly this with the input" in a way that will never behave fundamentally differently with with what data you give it (beyond some basic if-else branching).


-->
-->
https://en.wikipedia.org/wiki/Dynamic_programming

Latest revision as of 16:02, 28 May 2024