Content area

Abstract

In this paper we demonstrate several examples of solving challenging algorithmic problems from the Google Code Jam programming contest with the Prolog-based ECLiPSe system using declarative techniques like constraint logic programming and linear (integer) programming. These problems were designed to be solved by inventing clever algorithms and efficiently implementing them in a conventional imperative programming language, but we present relatively simple declarative programs in ECLiPSe that are fast enough to find answers within the time limit imposed by the contest rules. We claim that declarative programming with ECLiPSe is better suited for solving certain common kinds of programming problems offered in Google Code Jam than imperative programming. We show this by comparing the mental steps required to come up with both kinds of solutions.

Details

1009240
Company / organization
Title
Declaratively solving tricky Google Code Jam problems with Prolog-based ECLiPSe CLP system
Publication title
arXiv.org; Ithaca
Publication year
2014
Publication date
Dec 14, 2014
Section
Computer Science
Publisher
Cornell University Library, arXiv.org
Source
arXiv.org
Place of publication
Ithaca
Country of publication
United States
University/institution
Cornell University Library arXiv.org
e-ISSN
2331-8422
Source type
Working Paper
Language of publication
English
Document type
Working Paper
Publication history
 
 
Online publication date
2014-12-16
Milestone dates
2014-12-07 (Submission v1); 2014-12-14 (Submission v2)
Publication history
 
 
   First posting date
16 Dec 2014
ProQuest document ID
2085028140
Document URL
https://www.proquest.com/working-papers/declaratively-solving-tricky-google-code-jam/docview/2085028140/se-2?accountid=208611
Full text outside of ProQuest
Copyright
© 2014. This work is published under http://arxiv.org/licenses/nonexclusive-distrib/1.0/ (the “License”). Notwithstanding the ProQuest Terms and Conditions, you may use this content in accordance with the terms of the License.
Last updated
2023-10-09
Database
ProQuest One Academic