DP: Pragmatic framework for dynamic programming

[ algorithms, bsd3, library, math, natural-language-processing ] [ Propose Tags ]

This module provides a simple declarative framework for dynamic programming optimization. Users specify a dynamic programming problem as a simple haskell function that looks very similar to mathematical recursion used in texts. The specification is then translated into a form that can be solved efficiently by a modular solver. Includes solvers using memoization, strict and lazy ordered tables, and recursion with a range of data structures for the underlying table. This method also separates processing steps like pruning and debugging from the recursion itself, and this package contains preliminary tools for beam search and tracing.


  • Data
    • Data.DP
      • Data.DP.Examples
        • Data.DP.Examples.Bigram
        • Data.DP.Examples.CheckerBoard
        • Data.DP.Examples.Fibonacci
        • Data.DP.Examples.HMM
      • Data.DP.SolverAPI
      • Data.DP.Solvers
        • Data.DP.Solvers.Beam
        • Data.DP.Solvers.BottomUpLazy
        • Data.DP.Solvers.BottomUpStrict
        • Data.DP.Solvers.Recursive
        • Data.DP.Solvers.TopDown


Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


  • No Candidates
Versions [RSS] 0.1, 0.1.1
Dependencies array, base (<=4.0), containers, list-tries, mtl (>1.1), QuickCheck (>2.0), safe, semiring (>=0.3) [details]
License BSD-3-Clause
Author Sasha Rush
Maintainer <srush at mit dot edu>
Category Algorithms, Math, Natural Language Processing
Home page http://github.com/srush/SemiRings/tree/master
Uploaded by SashaRush at 2010-03-08T04:52:12Z
Reverse Dependencies 1 direct, 0 indirect [details]
Downloads 2265 total (5 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
All reported builds failed as of 2016-10-25 [all 14 reports]