The Flow Diagram of this Course

The path diagram on the left of each page shows the
possible routes through this course.

We suggest to proceed in the following way:

We suggest to proceed in the following way:

- Initial Reading:

This chapter contains all the essentials. It begins with a very gentle introduction, and ends with the six mathematical definitions that make up the algebraic dynamic programming method.

If you are already familiar with some classical DP algorithms, you may start with an excursion to chapter 2, look at these algorithms in their new, algebraic guise, and play with them. But be sure to return later to Chapter 1. - Example Choice:

From the numerous examples in the application showcase, choose one that you know well. - Play with algebras and input:

Choose a (very) small input. Use count,enum and pretty-print algebras to see what is in the search space, before applying any optimization algebras. - Create variant with algebra generator:

Given just a signature, the algebra generator creates two standard algebras from it - count and enum. It also generates a trivial tree grammar (called the toy grammar) that generates all trees that can be build from the signature.

Use one of the example signatures, vary it slightly, and apply the generator. - Download code and play:

The new code generated for you is not installed to run on BiBiServ. Follow the download instructions to run it on your computer. - Edit code: New algebra:

Enter your prettyprinting or optimization algebra, maybe by modifying a previous version. - Edit code: Toy grammar:

Make the toy grammar more specific, and study the effect on the search space using count and enum. - Create Signature for your own application problem:

The ADP discipline gives a clear sequence of steps how to design your own solutions. The initial steps may be supported by the algebra generator.

Send us a note on your experience with this website.