adp-multi logo

What is adp-multi?

adp-multi is an implementation of Algebraic Dynamic Programming for multiple context-free languages.

It is a library based on the original Haskell implementation and can be considered an unoptimized prototype.

The formalism (ADP for MCFL) and the library have been developed as part of my master’s thesis.

NOTE: This prototype will not be developed further and current development happens within the gADP Haskell library which is highly optimized and offers various other advanced functionality.

Sources, please!

Here you go: https://github.com/adp-multi/adp-multi

Where do I start?

If you are new to ADP, then it’s best to go through the online course of the Bielefeld University and/or read a tutorial-style paper from its inventors.

If you don’t know the class of multiple context-free languages yet, then you should first read the explanation of them.

After that, you should go to the quick start guide where you learn what’s different compared to original Haskell-ADP and how to write your own grammars.

There’s also a short motivational/introductional talk called “Predicting Pseudoknots Without Hacking in C” that I gave at the “10. Herbstseminar der Bioinformatik” (2012) which summarizes why adp-multi is useful and in which direction future work might go. Note that the adp-multi syntax in the slides is outdated.

In July 2013 I defended my thesis (giving a presentation and answering questions). The (german) slides are available and contain more up-to-date information than the ones from 2012 above. For in-depth information, have a look at my thesis, it’s in English.