Abstract
In this paper we present several examples of solving algorithmic problems from the Google Code Jam programming contest with Picat programming language using declarative techniques: constraint logic programming and tabled logic programming. In some cases the use of Picat simplifies the implementation compared to conventional imperative programming languages, while in others it allows to directly convert the problem statement into an efficiently solvable declarative problem specification without inventing an imperative algorithm.
Access provided by Autonomous University of Puebla. Download to read the full chapter text
Chapter PDF
Similar content being viewed by others
References
Dymchenko, S., Mykhailova, M.: Declaratively solving tricky Google Code Jam problems with Prolog-based ECLiPSe CLP system (2014). http://arxiv.org/abs/1412.2304
Knuth, D.E., Pardo, L.T.: The Early Development of Programming Languages. Stanford University, Computer Science Department (1976)
Warren, D.S.: Memoing for logic programs. Commun ACM 35(3) (1992)
Zhou, N.-F.: The language features and architecture of B-Prolog. Theory and Practice of Logic Programming 12(1–2) (2012)
Zhou, N.-F.: Combinatorial search with Picat (2014). http://arxiv.org/abs/1405.2538
Zhou, N.-F., Kameya, Y., Sato, T.: Mode-directed tabling for dynamic programming, machine learning, and constraint solving. In: 2010 22nd IEEE International Conference on Tools with Artificial Intelligence, vol. 2 (2010)
Zhou, N.-F., Kjellerstrand, H.: Solving several planning problems with Picat. In: Control and Decision Conference (2014 CCDC), The 26th Chinese (2014)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2015 Springer International Publishing Switzerland
About this paper
Cite this paper
Dymchenko, S., Mykhailova, M. (2015). Declaratively Solving Google Code Jam Problems with Picat. In: Pontelli, E., Son, T. (eds) Practical Aspects of Declarative Languages. PADL 2015. Lecture Notes in Computer Science(), vol 9131. Springer, Cham. https://doi.org/10.1007/978-3-319-19686-2_4
Download citation
DOI: https://doi.org/10.1007/978-3-319-19686-2_4
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-19685-5
Online ISBN: 978-3-319-19686-2
eBook Packages: Computer ScienceComputer Science (R0)