English
Related papers

Related papers: On Applying Or-Parallelism and Tabling to Logic Pr…

200 papers

One of the main advantages of Logic Programming (LP) is that it provides an excellent framework for the parallel execution of programs. In this work we investigate novel techniques to efficiently exploit parallelism from real-world…

Distributed, Parallel, and Cluster Computing · Computer Science 2010-07-27 Vítor Santos Costa , Inês Dutra , Ricardo Rocha

One of the main advantages of Prolog is its potential for the implicit exploitation of parallelism and, as a high-level language, Prolog is also often used as a means to explicitly control concurrent tasks. Tabling is a powerful…

Programming Languages · Computer Science 2018-06-04 Miguel Areias , Ricardo Rocha

The paradigm of Tabled Logic Programming (TLP) is now supported by a number of Prolog systems, including XSB, YAP Prolog, B-Prolog, Mercury, ALS, and Ciao. The reasons for this are partly theoretical: tabling ensures termination and optimal…

Programming Languages · Computer Science 2010-12-24 Terrance Swift , David S. Warren

Nowadays, clusters of multicores are becoming the norm and, although, many or-parallel Prolog systems have been developed in the past, to the best of our knowledge, none of them was specially designed to explore the combination of shared…

Distributed, Parallel, and Cluster Computing · Computer Science 2016-08-05 João Santos , Ricardo Rocha

To appear in Theory and Practice of Logic Programming (TPLP). Tabling is a commonly used technique in logic programming for avoiding cyclic behavior of logic programs and enabling more declarative program definitions. Furthermore, tabling…

Programming Languages · Computer Science 2020-02-19 Thepfrastos Mantadelis , Ricardo Rocha , Paulo Moura

Several Prolog implementations include a facility for tabling, an alternative resolution strategy which uses memoisation to avoid redundant duplication of computations. Until relatively recently, tabling has required either low-level…

Programming Languages · Computer Science 2017-08-28 Samer Abdallah

Yet Another Prolog (YAP) is a Prolog system originally developed in the mid-eighties and that has been under almost constant development since then. This paper presents the general structure and design of the YAP system, focusing on three…

Programming Languages · Computer Science 2011-02-21 Vítor Santos Costa , Luís Damas , Ricardo Rocha

Tabled evaluation is a recognized and powerful technique that overcomes some limitations of traditional Prolog systems in dealing with recursion and redundant sub-computations. We can distinguish two main categories of tabling mechanisms:…

Logic in Computer Science · Computer Science 2011-07-27 Miguel Areias , Ricardo Rocha

Multi-core and highly-connected architectures have become ubiquitous, and this has brought renewed interest in language-based approaches to the exploitation of parallelism. Since its inception, logic programming has been recognized as a…

Distributed, Parallel, and Cluster Computing · Computer Science 2022-01-25 Agostino Dovier , Andrea Formisano , Gopal Gupta , Manuel V. Hermenegildo , Enrico Pontelli , Ricardo Rocha

In this work, we present an automatic way to parallelize logic programs for finding all the answers to queries using a transformation to low level threading primitives. Although much work has been done in parallelization of logic…

Programming Languages · Computer Science 2009-12-28 Diptikalyan Saha , Paul Fodor

Multi-threading is currently supported by several well-known Prolog systems providing a highly portable solution for applications that can benefit from concurrency. When multi-threading is combined with tabling, we can exploit the power of…

Programming Languages · Computer Science 2012-10-11 Miguel Areias , Ricardo Rocha

Logic programming with tabling and constraints (TCLP, tabled constraint logic programming) has been shown to be more expressive and in some cases more efficient than LP, CLP or LP + tabling. Previous designs of TCLP systems did not fully…

Programming Languages · Computer Science 2018-09-18 Joaquín Arias , Manuel Carro

Many or-parallel Prolog models exploiting implicit parallelism have been proposed in the past. Arguably, one of the most successful models is environment copying for shared memory architectures. With the increasing availability and…

Programming Languages · Computer Science 2013-02-01 Rui Vieira , Ricardo Rocha , Fernando Silva

CiaoPP is an analyzer and optimizer for logic programs, part of the Ciao Prolog system. It includes PLAI, a fixpoint algorithm for the abstract interpretation of logic programs which we adapt to use tabled constraint logic programming. In…

Programming Languages · Computer Science 2019-08-02 Joaquin Arias , Manuel Carro

This paper describes the development of the PALS system, an implementation of Prolog capable of efficiently exploiting or-parallelism on distributed-memory platforms--specifically Beowulf clusters. PALS makes use of a novel technique,…

Distributed, Parallel, and Cluster Computing · Computer Science 2007-05-23 Enrico Pontelli , Karen Villaverde , Hai-Feng Guo , Gopal Gupta

In advancing parallel programming, particularly with OpenMP, the shift towards NLP-based methods marks a significant innovation beyond traditional S2S tools like Autopar and Cetus. These NLP approaches train on extensive datasets of…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-05-07 Weidong Wang , Haoran Zhu

Recently, the iterative approach named linear tabling has received considerable attention because of its simplicity, ease of implementation, and good space efficiency. Linear tabling is a framework from which different methods can be…

Programming Languages · Computer Science 2007-05-25 Neng-Fa Zhou , Taisuke Sato , Yi-Dong Shen

Logic programming with tabling and constraints (TCLP, tabled constraint logic programming) has been shown to be more expressive and, in some cases, more efficient than LP, CLP, or LP with tabling. In this paper we provide insights regarding…

Logic in Computer Science · Computer Science 2020-10-01 Joaquín Arias , Manuel Carro

Global SLS-resolution and SLG-resolution are two representative mechanisms for top-down evaluation of the well-founded semantics of general logic programs. Global SLS-resolution is linear for query evaluation but suffers from infinite loops…

Artificial Intelligence · Computer Science 2007-05-23 Yi-Dong Shen , Li-Yan Yuan , Jia-Huai You

This thesis concerns the implementation of Lambda Prolog, a higher-order logic programming language that supports the lambda-tree syntax approach to representing and manipulating formal syntactic objects. Lambda Prolog achieves its…

Programming Languages · Computer Science 2009-11-30 Xiaochu Qi
‹ Prev 1 2 3 10 Next ›