Skip to main content

Dynamic Programming

  • Reference work entry
  • First Online:
Computer Vision

Synonyms

Dynamic optimization

Definition

Dynamic Programming (DP) is a paradigm used in algorithms for solving optimization problems. It relies on the construction of nested subproblems such that the solution of the main problem can be obtained from the solutions of the subproblems.

Background

The paradigm was introduced by the mathematician Richard Bellman in the 1940s and applied in control theory [1].

Theory

The applicability of the paradigm relies on the following two assumptions:

  • Optimal substructure means that a system of nested subproblems can be constructed in such a way that the solution of the main problem can be obtained from the solutions of these subproblems.

  • Overlapping subproblems means that the smaller subproblems in the next level are only slightly smaller and moreover the set of these subproblems is small as well. This distinguishes DP from “divide and conquer” methods.

The method starts by solving the smallest subproblems directly. The obtained results are stored and...

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Bellman R (2003) Dynamic programming. Dover, Mineola

    MATH  Google Scholar 

  2. Denardo EV (2003) Dynamic programming: models and applications. Dover, Mineola

    Google Scholar 

  3. Sniedovich M (2010) Dynamic programming: foundations and principles. Taylor and Francis, Boca Raton

    Book  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Boris Flach .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2014 Springer Science+Business Media New York

About this entry

Cite this entry

Flach, B., Hlavac, P.V. (2014). Dynamic Programming. In: Ikeuchi, K. (eds) Computer Vision. Springer, Boston, MA. https://doi.org/10.1007/978-0-387-31439-6_690

Download citation

Publish with us

Policies and ethics