Dynamic Programming via Static Incrementalization
Higher-Order and Symbolic Computation
Dynamic Programming via Static Incrementalization
ESOP '99 Proceedings of the 8th European Symposium on Programming Languages and Systems
Hi-index | 0.00 |
In the constructive programming community it is commonplace to see formal developments of textbook algorithms. In the algorithm design community, on the other hand, it may be well known that the textbook solution to a problem is not the most efficient possible. However, in presenting the more efficient solution, the algorithm designer will usually omit some of the implementation details, thus creating an algorithm gap between the abstract algorithm and its concrete implementation. This is in contrast to the formal development, which usually presents the complete concrete implementation of the less efficient solution. We claim that the algorithm designer is forced to omit some of the details by the relative expressive poverty of the Pascal-like languages typically used to present the solution; the greater expressiveness provided by a functional language allows the whole story to be told in a reasonable amount of space. We therefore hope to bridge the algorithm gap between abstract and concrete implementations, and thereby to facilitate communication between the two communities.