Dynamic Programming with Tabling

  • Neng-Fa ZhouEmail author
  • Håkan Kjellerstrand
  • Jonathan Fruhman
Part of the SpringerBriefs in Intelligent Systems book series (BRIEFSINSY)


Tabling is a kind of memoization technique that caches the results of certain calculations in memory and reuses them in subsequent calculations through a quick table lookup. Tabling makes declarative dynamic programming possible. Users only need to describe how to break a problem into subproblems; they do not need to implement the data structures and algorithms for storing and looking up subproblems and their answers. This chapter describes the syntax and semantics of tabling in Picat, and demonstrates several dynamic programming examples.


Input Argument Recursive Program Weighted Directed Graph Dynamic Programming Problem Goal Configuration 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Copyright information

© The Author(s) 2015

Authors and Affiliations

  • Neng-Fa Zhou
    • 1
    Email author
  • Håkan Kjellerstrand
    • 2
  • Jonathan Fruhman
    • 3
  1. 1.Department of Computer and Information ScienceBrooklyn CollegeBrooklynUSA
  2. 2.hakank.orgMalmöSweden
  3. 3.Independent ResearcherNew YorkUSA

Personalised recommendations