TY - GEN

T1 - Write it recursively

T2 - 13th ACM SIGPLAN International Conference on Functional Programming, ICFP'08

AU - Morihata, Akimasa

AU - Matsuzaki, Kiminori

AU - Takeichi, Masato

PY - 2008/12/1

Y1 - 2008/12/1

N2 - Optimal path queries are queries to obtain an optimal path specified by a given criterion of optimality. There have been many studies to give efficient algorithms for classes of optimal path problem. In this paper, we propose a generic framework for optimal path queries. We offer a domain-specific language to describe optimal path queries, together with an algorithm to find an optimal path specified in our language. One of the most distinct features of our framework is the use of recursive functions to specify queries. Recursive functions reinforce expressiveness of our language so that we can describe many problems including known ones; thus, we need not learn existing results. Moreover, we can derive an efficient querying algorithm from the description of a query written in recursive functions. Our algorithm is a generalization of existing algorithms, and answers a query in O(n log n) time on a graph of O(n) size. We also explain our implementation of an optimal path querying system, and report some experimental results.

AB - Optimal path queries are queries to obtain an optimal path specified by a given criterion of optimality. There have been many studies to give efficient algorithms for classes of optimal path problem. In this paper, we propose a generic framework for optimal path queries. We offer a domain-specific language to describe optimal path queries, together with an algorithm to find an optimal path specified in our language. One of the most distinct features of our framework is the use of recursive functions to specify queries. Recursive functions reinforce expressiveness of our language so that we can describe many problems including known ones; thus, we need not learn existing results. Moreover, we can derive an efficient querying algorithm from the description of a query written in recursive functions. Our algorithm is a generalization of existing algorithms, and answers a query in O(n log n) time on a graph of O(n) size. We also explain our implementation of an optimal path querying system, and report some experimental results.

KW - Finite state automaton

KW - Optimal path query

KW - Program transformation

KW - Recursive function

UR - http://www.scopus.com/inward/record.url?scp=59249100209&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=59249100209&partnerID=8YFLogxK

U2 - 10.1145/1411204.1411229

DO - 10.1145/1411204.1411229

M3 - Conference contribution

AN - SCOPUS:59249100209

SN - 9781595939197

T3 - Proceedings of the ACM SIGPLAN International Conference on Functional Programming, ICFP

SP - 169

EP - 178

BT - ICFP'08 - Proceedings of the 2008 SIGPLAN International Conference on Functional Programming

Y2 - 22 September 2008 through 24 September 2008

ER -