Introduction Parallel Instantiation Grounding in Multi-Engine ASP-System Conclusion Grounding Issues in Parallel and Multi-Engine ASP Solving Francesco Ricca Dipartimento di Matematica e Informatica, Università della Calabria 87036 Rende, Italy GTTV 2015 Francesco Ricca Grounding Issues in Parallel and Multi-Engine ASP Solving
Introduction Parallel Instantiation Grounding in Multi-Engine ASP-System Conclusion Outline Introduction 1 Parallel Instantiation 2 Grounding in Multi-Engine ASP-System 3 Francesco Ricca Grounding Issues in Parallel and Multi-Engine ASP Solving
Introduction Parallel Instantiation Grounding in Multi-Engine ASP-System Conclusion Answer Set Programming (ASP) (1) Answer Set Programming (ASP) Declarative programming paradigm Non-monotonic reasoning and logic programming Stable model semantics [GL91] Expressive KR Language Roots in Datalog and Nonmonotonic Logic Default negation, Disjunction, Constraints, Aggregates, Weak constraints, ... Francesco Ricca Grounding Issues in Parallel and Multi-Engine ASP Solving
Introduction Parallel Instantiation Grounding in Multi-Engine ASP-System Conclusion Answer Set Programming (ASP) (2) Applications in several fields Artificial Intelligence, Knowledge Representation & Reas., Information Integration, Bioinformatics... industrial ones! see e.g. [Lif02, EFLP99, EFLP99, EIST06, EEB10, Sak11, SN99, DGH09, CHO + 09, RDG + 10, RGA + 12, GNA13, MRT15, LR15] Robust and efficient implementations DLV [LPF + 06] , Clasp [GKNS07] , Wasp [ADLR15] , lp2SAT [Jan06] , Cmodels [LM04] , IDP [WMD08] , etc. Continuous Improvement in ASP competitions Do not miss LPNMR Session 16 (08:45-10:40) → The 6th ASP Competition Report and winners announcement! Francesco Ricca Grounding Issues in Parallel and Multi-Engine ASP Solving
Introduction Parallel Instantiation Grounding in Multi-Engine ASP-System Conclusion Answer Set Programming (ASP) (3) Key advantages It is Declarative! 1 Can model problems up to Σ P 2 / Π P 2 2 [EGM97, DEGV01] → even problems not (polynomially) translatable to SAT or CSP Efficient implementations 3 Francesco Ricca Grounding Issues in Parallel and Multi-Engine ASP Solving
Introduction Parallel Instantiation Grounding in Multi-Engine ASP-System Conclusion Answer Set Programming (ASP) (3) Key advantages It is Declarative! 1 Can model problems up to Σ P 2 / Π P 2 2 [EGM97, DEGV01] → even problems not (polynomially) translatable to SAT or CSP Efficient implementations 3 Non-propositional! 4 Francesco Ricca Grounding Issues in Parallel and Multi-Engine ASP Solving
Introduction Parallel Instantiation Grounding in Multi-Engine ASP-System Conclusion ASP Syntax and Semantics Syntax a 1 | . . . | a n � : - b 1 , . . . , b k , not b k + 1 , . . . , not b m . � �� � �� � head body Semantics Given a program π Consider the Ground Instantiation P = ground ( π ) Reduct P ′ w.r.t. interpretation I : Delete rules with false body w.r.t I I is an Answer Set if I is a minimal model of P ′ Francesco Ricca Grounding Issues in Parallel and Multi-Engine ASP Solving
Introduction Parallel Instantiation Grounding in Multi-Engine ASP-System Conclusion Evaluation of ASP Programs Two-phases : Instantiation + Propositional Solving Instantiation or grounding → variable elimination 1 Receives a program P that contains variables and outputs a program P ′ semantically equivalent to P but variable-free Solving 2 Model Generation → Produces candidate models → Similar to a SAT Solver: DPLL/CDCL Search Stable Model Checking Checks if candidates are Answer Sets Co-NP check Francesco Ricca Grounding Issues in Parallel and Multi-Engine ASP Solving
Introduction Parallel Instantiation Grounding in Multi-Engine ASP-System Conclusion Improve Program Evaluation How to improve ASP system performance? Improve system components (Grounder and Solver) 1 Develop new evaluation techniques Exploit the features of the hardware, e.g., CPU/GPU cores Combine the strengths of several techniques 2 Algorithm selection techniques [Ric76] Select (ideally) the “best combination” of solving tools per each instance Focus on the issues concerning the instantiation Francesco Ricca Grounding Issues in Parallel and Multi-Engine ASP Solving
Introduction Parallel Instantiation Grounding in Multi-Engine ASP-System Conclusion Improve Program Evaluation How to improve ASP system performance? Improve system components (Grounder and Solver) 1 Develop new evaluation techniques Exploit the features of the hardware, e.g., CPU/GPU cores Combine the strengths of several techniques 2 Algorithm selection techniques [Ric76] Select (ideally) the “best combination” of solving tools per each instance Focus on the issues concerning the instantiation Francesco Ricca Grounding Issues in Parallel and Multi-Engine ASP Solving
Introduction Parallel Instantiation Grounding in Multi-Engine ASP-System Conclusion Further motivations: Why should we care about instantiation? Bottleneck in presence of large input databases Grounding is the input for an ASP Solver → Instantiation has impact on the overall efficiency of a system → Intelligent Instantiators solve problems in P Enabling technology for specific applications → Information Integration [LGI + 05], industrial applications [LR15] → Analysis of alternative encodings of the 5th ASP Comp. [GMR15] Francesco Ricca Grounding Issues in Parallel and Multi-Engine ASP Solving
Introduction Parallel Instantiation Grounding in Multi-Engine ASP-System Conclusion Further motivations: Why should we care about instantiation? Bottleneck in presence of large input databases Grounding is the input for an ASP Solver → Instantiation has impact on the overall efficiency of a system → Intelligent Instantiators solve problems in P Enabling technology for specific applications → Information Integration [LGI + 05], industrial applications [LR15] → Analysis of alternative encodings of the 5th ASP Comp. [GMR15] Francesco Ricca Grounding Issues in Parallel and Multi-Engine ASP Solving
Introduction Parallel Instantiation Grounding in Multi-Engine ASP-System Conclusion Further motivations: Why should we care about instantiation? Bottleneck in presence of large input databases Grounding is the input for an ASP Solver → Instantiation has impact on the overall efficiency of a system → Intelligent Instantiators solve problems in P Enabling technology for specific applications → Information Integration [LGI + 05], industrial applications [LR15] → Analysis of alternative encodings of the 5th ASP Comp. [GMR15] Francesco Ricca Grounding Issues in Parallel and Multi-Engine ASP Solving
Introduction Parallel Instantiation Grounding in Multi-Engine ASP-System Conclusion Further motivations: Why should we care about instantiation? Bottleneck in presence of large input databases Grounding is the input for an ASP Solver → Instantiation has impact on the overall efficiency of a system → Intelligent Instantiators solve problems in P Enabling technology for specific applications → Information Integration [LGI + 05], industrial applications [LR15] → Analysis of alternative encodings of the 5th ASP Comp. [GMR15] Francesco Ricca Grounding Issues in Parallel and Multi-Engine ASP Solving
Introduction Parallel Instantiation Grounding in Multi-Engine ASP-System Conclusion Part I Parallel Instantiation Francesco Ricca Grounding Issues in Parallel and Multi-Engine ASP Solving
Introduction Parallel Instantiation Grounding in Multi-Engine ASP-System Conclusion Parallel evaluation techniques Parallel/Distributed Solving Cluster [EGG + 09, BPEL05, PLS10] SMP [GKS12, PLS10, GJM + 06, HKLS15] GPU [DFPV15] Parallel/Distributed Grounding Parallel LParse [BPEL05] Distributed evaluation (beowulf cluster) Parallel DLV grounder [CPR08, PRS13] Parallel evaluation on SMP machines DLV Input language Francesco Ricca Grounding Issues in Parallel and Multi-Engine ASP Solving
Introduction Parallel Instantiation Grounding in Multi-Engine ASP-System Conclusion Design of a parallel instantiator General Goals Maximize efficiency Handle large input databases & compact encodings Design Goals Minimize parallel overhead Avoid thread starvation Reduce the usage of locks Maximize parallelism Backtracking algorithm Recursion → Parallel semi naive Minimize impact on code base Francesco Ricca Grounding Issues in Parallel and Multi-Engine ASP Solving
Introduction Parallel Instantiation Grounding in Multi-Engine ASP-System Conclusion The DLV Instantiator The DLV Instantiator Much more than a simple variables-elimination → Output equivalent but smaller than theoretical instantiation Consider the dependencies among predicates: → produce relevant ground information Analyze structural properties, proceed bottom up: → divide program in modules + semi naïve → At iteration n use only information derived at iteration n − 1 Francesco Ricca Grounding Issues in Parallel and Multi-Engine ASP Solving
Recommend
More recommend