Show simple item record

Files in this item

Thumbnail

Item metadata

dc.contributor.authorGent, I.P.
dc.contributor.authorJefferson, C.
dc.contributor.authorLinton, S.
dc.contributor.authorMiguel, I.
dc.contributor.authorNightingale, P.
dc.date.accessioned2014-04-11T13:31:01Z
dc.date.available2014-04-11T13:31:01Z
dc.date.issued2014-06-01
dc.identifier.citationGent , I P , Jefferson , C , Linton , S , Miguel , I & Nightingale , P 2014 , ' Generating custom propagators for arbitrary constraints ' Artificial Intelligence , vol. 211 , no. 1 , pp. 1-33 . https://doi.org/10.1016/j.artint.2014.03.001en
dc.identifier.issn0004-3702
dc.identifier.otherPURE: 109831917
dc.identifier.otherPURE UUID: 6906a5ee-614e-439f-a836-6f60c84e8ae1
dc.identifier.otherScopus: 84896521633
dc.identifier.otherORCID: /0000-0002-5052-8634/work/34029954
dc.identifier.otherWOS: 000335637100001
dc.identifier.urihttp://hdl.handle.net/10023/4566
dc.descriptionOpen Access funded by Engineering and Physical Sciences Research Council.en
dc.description.abstractConstraint Programming (CP) is a proven set of techniques for solving complex combinatorial problems from a range of disciplines. The problem is specified as a set of decision variables (with finite domains) and constraints linking the variables. Local reasoning (propagation) on the constraints is central to CP. Many constraints have efficient constraint-specific propagation algorithms. In this work, we generate custom propagators for constraints. These custom propagators can be very efficient, even approaching (and in some cases exceeding) the efficiency of hand-optimised propagators. Given an arbitrary constraint, we show how to generate a custom propagator that establishes GAC in small polynomial time. This is done by precomputing the propagation that would be performed on every relevant subdomain. The number of relevant subdomains, and therefore the size of the generated propagator, is potentially exponential in the number and domain size of the constrained variables. The limiting factor of our approach is the size of the generated propagators. We investigate symmetry as a means of reducing that size. We exploit the symmetries of the constraint to merge symmetric parts of the generated propagator. This extends the reach of our approach to somewhat larger constraints, with a small run-time penalty. Our experimental results show that, compared with optimised implementations of the table constraint, our techniques can lead to an order of magnitude speedup. Propagation is so fast that the generated propagators compare well with hand-written carefully optimised propagators for the same constraints, and the time taken to generate a propagator is more than repaid.
dc.format.extent33
dc.language.isoeng
dc.relation.ispartofArtificial Intelligenceen
dc.rightsCopyright © 2014 The Authors. This is an open access article published under a Creative Commons Attribution (CC-BY) licence.en
dc.subjectConstraint programmingen
dc.subjectConstraint satisfaction problemen
dc.subjectPropagation algorithmsen
dc.subjectCombinatorial searchen
dc.subjectQA75 Electronic computers. Computer scienceen
dc.subject.lccQA75en
dc.titleGenerating custom propagators for arbitrary constraintsen
dc.typeJournal articleen
dc.description.versionPublisher PDFen
dc.contributor.institutionUniversity of St Andrews.School of Computer Scienceen
dc.contributor.institutionUniversity of St Andrews.Centre for Interdisciplinary Research in Computational Algebraen
dc.identifier.doihttps://doi.org/10.1016/j.artint.2014.03.001
dc.description.statusPeer revieweden


This item appears in the following Collection(s)

Show simple item record