grounding issues in parallel and multi engine asp solving
play

Grounding Issues in Parallel and Multi-Engine ASP Solving Francesco - PowerPoint PPT Presentation

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,


  1. 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

  2. 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

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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

  9. 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

  10. 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

  11. 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

  12. 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

  13. 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

  14. 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

  15. 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

  16. 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

  17. 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

  18. 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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend