Dynamic programming via thinning and incrementalization

Akimasa Morihata, Masato Koishi, Atsushi Ohori

Research output: Chapter in Book/Report/Conference proceedingConference contribution

1 Citation (Scopus)


We demonstrate that it is useful to combine two independently studied methods, thinning and incrementalization, to develop programs that use dynamic programming. While dynamic programming is a fundamental algorithmic pattern, its development is often difficult for average programmers. There are several methods for systematically developing dynamic programming from plain problem descriptions by program transformations. We show that by combining two known methods, thinning and incrementalization, we can systematically derive efficient dynamic-programming implementations from high-level descriptions. The derivations cannot be achieved by using only one of them. We illustrate our approach with the 0-1 knapsack problem, the longest common subsequence problem, and association rule mining from numeric data.

Original languageEnglish
Title of host publicationFunctional and Logic Programming - 12th International Symposium, FLOPS 2014, Proceedings
Number of pages17
ISBN (Print)9783319071503
Publication statusPublished - 2014 Jan 1
Externally publishedYes
Event12th International Symposium on Functional and Logic Programming, FLOPS 2014 - Kanazawa, Japan
Duration: 2014 Jun 42014 Jun 6

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume8475 LNCS
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349


Other12th International Symposium on Functional and Logic Programming, FLOPS 2014

ASJC Scopus subject areas

  • Theoretical Computer Science
  • Computer Science(all)


Dive into the research topics of 'Dynamic programming via thinning and incrementalization'. Together they form a unique fingerprint.

Cite this