Experiencing ASP with real world applications
Giorgio Terracina, Erika De Francesco, Claudio Panetta, Nicola Leone · 2008
Disjunctive logic programming under answer set semantics (DLP, ASP) is a powerful formalism for knowledge representation and reasoning. The language of DLP is very expressive, and allows for modelling complex combinatorial problems. However, despite the high expressiveness of this language, the success of DLP systems is still dimmed when the applications of interest become data intensive (current DLP systems work only in main memory) or they involve some inherently procedural sub-tasks or the handling of complex data structures. The main goal of this paper is precisely to improve efficiency and usability of DLP systems in these contexts, and verify these improvements by a benchmarking activity on real-world applications. We present a DLP system which: (i) carries out as much as possible of the reasoning tasks in mass memory without degrading performances, thus allowing to deal with data-intensive applications; (ii) extends the expressiveness of DLP with external function calls, yet improving efficiency (at least for procedural sub-tasks) and knowledge-modelling power; (iii) extends the expressiveness of DLP for supporting also the management of recursive data structures (lists). We test the system on four main areas: data-integration, combinatorial problems, data transformation, and string similarity computation. The experimental results are very encouraging: the proposed system can handle significantly larger amounts of data than competitor systems, and it is also faster in response time.