Handbook of Parallel Constraint Reasoning

The propositional satisfiability problem (SAT) is one of the fundamental problems in theoretical computer science, but it also has many practical applications. Parallel algorithms for the SAT problem have been proposed and implemented since the 1990s. This chapter provides an overview of current approaches and their evolution over recent decades towards efficiently solving hard combinatorial problems on multi-core computers and clusters.

[1]  Carlos Alberto Martinez-Angeles,et al.  A Datalog Engine for GPUs , 2013, KDPD.

[2]  Francesco Ricca,et al.  Experimenting with parallelism for the instantiation of ASP programs , 2008, J. Algorithms.

[3]  Luca Pulina,et al.  A multi-engine approach to answer-set programming* , 2013, Theory and Practice of Logic Programming.

[4]  Ted K. Ralphs,et al.  Computational Experience with Hypergraph-Based Methods for Automatic Decomposition in Discrete Optimization , 2013, CPAIOR.

[5]  Reynold Xin,et al.  GraphX: Graph Processing in a Distributed Dataflow Framework , 2014, OSDI.

[6]  Joxan Jaffar,et al.  Constraint logic programming , 1987, POPL '87.

[7]  Eugene Goldberg,et al.  BerkMin: A Fast and Robust Sat-Solver , 2002 .

[8]  Hans van Maaren,et al.  Look-Ahead Based SAT Solvers , 2009, Handbook of Satisfiability.

[9]  Martin Gebser,et al.  Answer Set Solving in Practice , 2012, Answer Set Solving in Practice.

[10]  Francesco Scarcello,et al.  Improving ASP Instantiators by Join-Ordering Methods , 2001, LPNMR.

[11]  Stefan Voß,et al.  Meta-heuristics: The State of the Art , 2000, Local Search for Planning and Scheduling.

[12]  Wolfgang Faber,et al.  The DLV system for knowledge representation and reasoning , 2002, TOCL.

[13]  Mats Carlsson,et al.  Parallel execution of prolog programs: a survey , 2001, TOPL.

[14]  Marius Thomas Lindauer,et al.  AutoFolio: An Automatically Configured Algorithm Selector , 2015, J. Artif. Intell. Res..

[15]  Adrian Walker,et al.  Towards a Theory of Declarative Knowledge , 1988, Foundations of Deductive Databases and Logic Programming..

[16]  Vaidy S. Sunderam,et al.  PVM: A Framework for Parallel Distributed Computing , 1990, Concurr. Pract. Exp..

[17]  Abraham Silberschatz,et al.  Distributed processing of logic programs , 1988, SIGMOD '88.

[18]  Philippe Codognet,et al.  Parallel Local Search , 2018, Handbook of Parallel Constraint Reasoning.

[19]  Pascal Van Hentenryck,et al.  Constraint-based local search , 2018, Handbook of Heuristics.

[20]  Yan Xu,et al.  SCALABLE ALGORITHMS FOR PARALLEL TREE SEARCH , 2008 .

[21]  Thomas Polzer,et al.  Portable parallel branch-and-bound library(ppbb-lib): User manual version 1 , 1996 .

[22]  G. Antoniou Stable Model Semantics of Logic Programs , 1997 .

[23]  Marius Thomas Lindauer,et al.  A Portfolio Solver for Answer Set Programming: Preliminary Report , 2011, LPNMR.

[24]  Michael Allen,et al.  Parallel programming: techniques and applications using networked workstations and parallel computers , 1998 .

[25]  M. Saltzman,et al.  ALPS : A Framework for Implementing Parallel Search Algorithms , 2004 .

[26]  Jinchang Wang,et al.  Solving propositional satisfiability problems , 1990, Annals of Mathematics and Artificial Intelligence.

[27]  Martin Gebser,et al.  Clingo = ASP + Control: Preliminary Report , 2014, ArXiv.

[28]  Carlos Guestrin,et al.  Distributed GraphLab : A Framework for Machine Learning and Data Mining in the Cloud , 2012 .

[29]  Donald W. Loveland,et al.  A machine program for theorem-proving , 2011, CACM.

[30]  M. Lindauer,et al.  Surviving Solver Sensitivity: An ASP Practitioner's Guide , 2012, ICLP.

[31]  Enrico Pontelli,et al.  Experimental Analysis of Graph-based Answer Set Computation over Parallel and Distributed Architectures , 2009, J. Log. Comput..

[32]  El-Ghazali Talbi,et al.  Designing cellular networks using a parallel hybrid metaheuristic on the computational grid , 2007, Comput. Commun..

[33]  Yuliya Lierler,et al.  Answer Set Programming Based on Propositional Satisfiability , 2006, Journal of Automated Reasoning.

[34]  Toby Walsh,et al.  Handbook of satisfiability , 2009 .

[35]  T. L. McCluskey,et al.  Large-scale Parallel Stratified Defeasible Reasoning , 2012, ECAI.

[36]  Robert A. Kowalski,et al.  Semantic Trees in Automatic Theorem-Proving , 1983 .

[37]  Abraham Silberschatz,et al.  Parallel Bottom-Up Processing of Datalog Queries , 1992, J. Log. Program..

[38]  El-Ghazali Talbi,et al.  Metaheuristics - From Design to Implementation , 2009 .

[39]  Ted K. Ralphs,et al.  A branch-and-cut algorithm for mixed integer bilevel linear optimization problems and its implementation , 2020, Mathematical Programming Computation.

[40]  John Wylie Lloyd,et al.  Foundations of Logic Programming , 1987, Symbolic Computation.

[41]  Marius Thomas Lindauer,et al.  claspfolio 2: Advances in Algorithm Selection for Answer Set Programming , 2014, Theory and Practice of Logic Programming.

[42]  Matthew J. Saltzman,et al.  Computational Experience with a Software Framework for Parallel Integer Programming , 2009, INFORMS J. Comput..

[43]  Ilkka Niemelä,et al.  Logic programs with stable model semantics as a constraint programming paradigm , 1999, Annals of Mathematics and Artificial Intelligence.

[44]  Victor W. Marek,et al.  Computing stable models in parallel , 2001, Answer Set Programming.

[45]  Enrico Pontelli,et al.  Issues in parallel execution of non-monotonic reasoning systems , 2005, Parallel Comput..

[46]  Alex M. Andrew,et al.  Knowledge Representation, Reasoning and Declarative Problem Solving , 2004 .

[47]  Teodor Gabriel Crainic,et al.  Communication Issues in Designing Cooperative Multi-Thread Parallel Searches , 1996 .

[48]  Georg Gottlob,et al.  Complexity and expressive power of logic programming , 1997, Proceedings of Computational Complexity. Twelfth Annual IEEE Conference.

[49]  Kevin Leyton-Brown,et al.  SATzilla: Portfolio-based Algorithm Selection for SAT , 2008, J. Artif. Intell. Res..

[50]  Kenneth A. Ross,et al.  Cache Conscious Indexing for Decision-Support in Main Memory , 1999, VLDB.

[51]  Éric D. Taillard,et al.  Robust taboo search for the quadratic assignment problem , 1991, Parallel Comput..

[52]  Ilkka Niemelä,et al.  Smodels - An Implementation of the Stable Model and Well-Founded Semantics for Normal LP , 1997, LPNMR.

[53]  Yuliya Lierler,et al.  Cmodels-2: SAT-based Answer Set Solver Enhanced to Non-tight Programs , 2004, LPNMR.

[54]  Jeffrey D. Uuman Principles of database and knowledge- base systems , 1989 .

[55]  Ouri Wolfson,et al.  Sharing The Load Of Logic-program Evaluation , 1988, Proceedings [1988] International Symposium on Databases in Parallel and Distributed Systems.

[56]  Francesco Ricca,et al.  Parallel instantiation of ASP programs: techniques and experiments , 2013, Theory Pract. Log. Program..

[57]  Jakob Witzig,et al.  Experiments with Conflict Analysis in Mixed Integer Programming , 2016, CPAIOR.

[58]  Agostino Dovier,et al.  Parallel Execution of the ASP Computation - an Investigation on GPUs , 2015, ICLP.

[59]  Alessandro Dal Palù,et al.  CUD@SAT: SAT solving on GPUs , 2015, J. Exp. Theor. Artif. Intell..

[60]  Luca Pulina,et al.  Multi-engine ASP solving with policy adaptation , 2015, J. Log. Comput..

[61]  Pedro S. de Souza,et al.  Asynchronous Teams: Cooperation Schemes for Autonomous Agents , 1998, J. Heuristics.

[62]  autoepistemic Zogic Logic programming and negation : a survey , 2001 .

[63]  Kenneth Sörensen,et al.  A History of Metaheuristics , 2015 .

[64]  Kenneth A. Ross,et al.  The well-founded semantics for general logic programs , 1991, JACM.

[65]  Philippe Codognet,et al.  Prediction of Parallel Speed-Ups for Las Vegas Algorithms , 2012, 2013 42nd International Conference on Parallel Processing.

[66]  Ilkka Niemelä,et al.  Efficient Implementation of the Well-founded and Stable Model Semantics , 1996, JICSLP.

[67]  Enrico Pontelli,et al.  Dynamic scheduling in parallel answer set programming solvers , 2007, SpringSim '07.

[68]  Jeffrey D. Ullman,et al.  Optimizing joins in a map-reduce environment , 2010, EDBT '10.

[69]  Arie de Bruin,et al.  Towards a taxonomy of parallel branch and bound algorithms , 1992 .

[70]  Desh Ranjan,et al.  An optimal data structure to handle dynamic environments in non-deterministic computations , 2002, Comput. Lang. Syst. Struct..

[71]  Timo Soininen,et al.  Extending and implementing the stable model semantics , 2000, Artif. Intell..

[72]  François Fages,et al.  Consistency of Clark's completion and existence of stable models , 1992, Methods Log. Comput. Sci..

[73]  Robert A. Kowalski,et al.  Predicate Logic as Programming Language , 1974, IFIP Congress.

[74]  Aart J. C. Bik,et al.  Pregel: a system for large-scale graph processing , 2010, SIGMOD Conference.

[75]  Enrico Pontelli,et al.  An Investigation of Sharing Strategies for Answer Set Solvers and SAT Solvers , 2005, Euro-Par.

[76]  J. P. Marques,et al.  GRASP : A Search Algorithm for Propositional Satisfiability , 1999 .

[77]  Nagiza F. Samatova,et al.  Lessons Learned from Exploring the Backtracking Paradigm on the GPU , 2011, Euro-Par.

[78]  Frank van Harmelen,et al.  WebPIE: A Web-scale Parallel Inference Engine using MapReduce , 2012, J. Web Semant..

[79]  Michael Gelfond,et al.  Knowledge Representation, Reasoning, and the Design of Intelligent Agents: The Answer-Set Programming Approach , 2014 .

[80]  Miroslaw Truszczynski,et al.  Logic programs with abstract constraint atoms: The role of computations , 2007, Artif. Intell..

[81]  Victor W. Marek,et al.  Stable models and an alternative logic programming paradigm , 1998, The Logic Programming Paradigm.

[82]  Anthony P. Reeves,et al.  Strategies for Dynamic Load Balancing on Highly Parallel Computers , 1993, IEEE Trans. Parallel Distributed Syst..

[83]  Andrea Formisano,et al.  On multiple learning schemata in conflict driven solvers , 2014, ICTCS.

[84]  Hilary Putnam,et al.  A Computing Procedure for Quantification Theory , 1960, JACM.

[85]  Michael D. Ernst,et al.  HaLoop , 2010, Proc. VLDB Endow..

[86]  Wolfgang Faber,et al.  Efficient Computation of the Well-Founded Semantics over Big Data , 2014, Theory Pract. Log. Program..

[87]  Jeffrey D. Ullman,et al.  Map-reduce extensions and recursive queries , 2011, EDBT/ICDT '11.

[88]  John C. Shepherdson,et al.  Negation in Logic Programming , 1988, Foundations of Deductive Databases and Logic Programming..

[89]  Philippe Codognet,et al.  Estimating parallel runtimes for randomized algorithms in constraint solving , 2015, Journal of Heuristics.

[90]  Enrico Pontelli,et al.  Exploiting Vertical Parallelism from Answer Set Programs , 2001, Answer Set Programming.

[91]  George H. Pollard Parallel execution of Horn clause programs , 1982 .

[92]  Grigoris Antoniou,et al.  Computing the Stratified Semantics of Logic Programs over Big Data through Mass Parallelization , 2013, RuleML.

[93]  El-Ghazali Talbi,et al.  COSEARCH: A Parallel Cooperative Metaheuristic , 2006, J. Math. Model. Algorithms.

[94]  Abraham Silberschatz,et al.  A framework for the parallel processing of Datalog queries , 1990, SIGMOD '90.

[95]  Fangzhen Lin,et al.  ASSAT: computing answer sets of a logic program by SAT solvers , 2002, Artif. Intell..

[96]  Carlo Zaniolo,et al.  Parallel Bottom-Up Evaluation of Logic Programs: DeALS on Shared-Memory Multicore Machines , 2015, ICLP.

[97]  Agostino Dovier,et al.  A GPU Implementation of the ASP Computation , 2016, PADL.

[98]  Keith L. Clark,et al.  Negation as Failure , 1987, Logic and Data Bases.

[99]  Desh Ranjan,et al.  On the complexity of or-parallelism , 2009, New Generation Computing.

[100]  Luca Pulina,et al.  Automated Selection of Grounding Algorithm in Answer Set Programming , 2013, AI*IA.