Optimal implementation of watched literals and more general techniques
Abstract
I prove that an implementation technique for scanning lists in backtracking search algorithms is optimal. The result applies to a simple general framework, which I present: applications include watched literal unit propagation in SAT and a number of examples in constraint satisfaction. Techniques like watched literals are known to be highly space efficient and effective in practice. When implemented in the 'circular' approach described here, these techniques also have optimal run time per branch in big-O terms when amortized across a search tree. This also applies when multiple list elements must be found. The constant factor overhead of the worst case is only 2. Replacing the existing non-optimal implementation of unit propagation in MiniSat speeds up propagation by 29%, though this is not enough to improve overall run time significantly.
Citation
Gent , I P 2013 , ' Optimal implementation of watched literals and more general techniques ' , Journal of Artificial Intelligence Research , vol. 48 , pp. 231-252 .
Publication
Journal of Artificial Intelligence Research
Status
Peer reviewed
ISSN
1076-9757Type
Journal article
Rights
(c)2013 AI Access Foundation. Deposited in accordance with publisher's policy.
Description
Includes 2 appendixes: one with additional proofs and one with code, scripts and data.Collections
Items in the St Andrews Research Repository are protected by copyright, with all rights reserved, unless otherwise indicated.