Academia.edu no longer supports Internet Explorer.
To browse Academia.edu and the wider internet faster and more securely, please take a few seconds to upgrade your browser.
1996, Annals of Mathematics and Artificial Intelligence
…
2 pages
1 file
CLP(~) is a constraint logic programming language in which constraints can be expressed in the domain of real numbers. Computation in this specialized domain gives access to information useful in intelligent backtracking. In this paper, we present an efficient constraint satisfaction algorithm for linear constraints in the real number domain and show that our algorithm directly generates minimal sets of conflicting constraints when failures occur. We demonstrate how information gleaned during constraint satisfaction can be integrated with unification failure analysis. The resulting intelligent backtracking method works in the context of a two-sorted domain, where variables can be bound to either structured terms or real number expressions. We discuss the implementation of backtracking and show examples where the benefit of pruning the search tree outweighs the overhead of failure analysis.
Theory and Practice of Logic Programming
Anti-unification refers to the process of generalizing two (or more) goals into a single, more general, goal that captures some of the structure that is common to all initial goals. In general one is typically interested in computing what is often called a most specific generalization, that is a generalization that captures a maximal amount of shared structure. In this work we address the problem of anti-unification in CLP, where goals can be seen as unordered sets of atoms and/or constraints. We show that while the concept of a most specific generalization can easily be defined in this context, computing it becomes an NP-complete problem. We subsequently introduce a generalization algorithm that computes a well-defined abstraction whose computation can be bound to a polynomial execution time. Initial experiments show that even a naive implementation of our algorithm produces acceptable generalizations in an efficient way.
Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL '93, 1993
Central to constraint logic programming (CLP) languages is the notion of a global constraint solver which is queried to direct execution and to which constraints are monotonically added. We present a methodology for use in the compilation of CLP languages which is designed to reduce the overhead of the global constraint solver. This methodology is based on three optimizations. The first, refinement, involves adding new constraints, which in effect make information available earlier in the computation, guiding subsequent execution away from unprofitable choices. The second, removal, involves eliminating constraints from the solver when they are redundant. The last, reordering, involves moving constraint addition later and constraint remowd earlier in the computation. Determining the applicability of each optimization requires sophisticated global analysis. These analyses are based on abstract interpretation and provide information about potential and definite interaction between constraints.
Proceedings of the 19th International Symposium on Principles and Practice of Declarative Programming - PPDP '17, 2017
Concolic testing is a well-known validation technique for imperative and object-oriented programs. We have recently introduced an adaptation of this technique to logic programming. At the heart of our framework for concolic testing lies a logic programming specific procedure that we call "selective unification". In this paper, we consider concolic testing in the context of constraint logic programming and extend the notion of selective unification accordingly. We prove that the selective unification problem is generally undecidable for constraint logic programs, and we present a correct and complete algorithm for selective unification in the context of a class of constraint structures.
Lecture Notes in Computer Science, 2003
The existential variables of a clause in a constraint logic program are the variables which occur in the body of the clause and not in its head. The elimination of these variables is a transformation technique which is often used for improving program efficiency and verifying program properties. We consider a folding transformation rule which ensures the elimination of existential variables and we propose an algorithm for applying this rule in the case where the constraints are linear inequations over rational or real numbers. The algorithm combines techniques for matching terms modulo equational theories and techniques for solving systems of linear inequations. We show that an implementation of our folding algorithm performs well in practice.
ACM Transactions on Programming Languages and Systems, 2008
This paper presents a model and implementation techniques for speeding up constraint propagation. Three fundamental approaches to improving constraint propagation based on propagators as implementations of constraints are explored: keeping track of which propagators are at fixpoint, choosing which propagator to apply next, and how to combine several propagators for the same constraint.
Lecture Notes in Computer Science, 2008
The existential variables of a clause in a constraint logic program are the variables which occur in the body of the clause and not in its head. The elimination of these variables is a transformation technique which is often used for improving program efficiency and verifying program properties. We consider a folding transformation rule which ensures the elimination of existential variables and we propose an algorithm for applying this rule in the case where the constraints are linear inequations over rational or real numbers. The algorithm combines techniques for matching terms modulo equational theories and techniques for solving systems of linear inequations. We show that an implementation of our folding algorithm performs well in practice.
Theory and Practice of Logic Programming, 2002
One recurring problem in program development is that of understanding how to re-use code developed by a third party. In the context of (constraint) logic programming, part of this problem reduces to figuring out how to query a program. If the logic program does not come with any documentation, then the programmer is forced to either experiment with queries in an ad hoc fashion or trace the control-flow of the program (backward) to infer the modes in which a predicate must be called so as to avoid an instantiation error. This paper presents an abstract interpretation scheme that automates the latter technique. The analysis presented in this paper can infer moding properties which if satisfied by the initial query, come with the guarantee that the program and query can never generate any moding or instantiation errors. Other applications of the analysis are discussed. The paper explains how abstract domains with certain computational properties (they condense) can be used to trace control-flow backward (right-to-left) to infer useful properties of initial queries. A correctness argument is presented and an implementation is reported.
El hombre llegó quizá de un modo totalmente "natural", a través de la naturaleza y de su espíritu, a la creencia en Dios. En largos procesos de tanteos con la fantasía, en fases interminables de imaginación, de elucubración hipostática, sobre las idiosincrasias del miedo sobre todo, quizá también de la felicidad, llegó hasta la idea de los demonios, de los espíritus y de los dioses, desde honrar a los antepasados, pasando por el animismo y el totemismo, al politeísmo, henoteísmo, monoteísmo. Originalmente todo esto no tiene nada que ver con el engaño, sino en mayor grado con el miedo, la esperanza, la incertidumbre, los deseos. Las religiones se fundan esencialmente sólo en lo que mucho antes las precede, la cuestión de nuestro de dónde, hacia dónde, por qué. Y es justamente esto lo que las mantiene con vida. Pero en cuanto comienzan las respuestas, inconscientes o semiconscientes, las suposiciones, las afirmaciones, comienza también el mentir, el falsear, sobre todo por parte de aquellos que viven de ello y en virtud de ello dominan. 32 En la Antigüedad, la crítica, la desconfianza y la resistencia contra las falsificaciones la ejercen individuos aislados. La masa se entrega a lo milagroso y lo legendario, a las llamadas ciencias ocultas. La transmisión secreta. Pero a menudo, incluso las capas cultas son muy crédulas, deseosas de apariciones divinas, revelaciones, documentos antiquísimos, y Pausanias, el que tanto ha viajado, dice: "no es fácil convencer a la multitud de lo contrario de aquello en lo que ha estado creyendo"; lo que sigue siendo válido sin limitaciones, aunque las falsificaciones sean más raras y deban serlo por la fuerza, pero por otro lado lo suficientemente anacrónicas como para perdurar en las viejas religiones o revestirse de nuevas formas: espiritismo, teosofía, psicomorfismo, etc. 33 En ciertas regiones de Oriente y del área mediterránea estaba muy extendida la idea de que Dios era el revelador y autor de las leyes transmitidas por vía oral o escrita, que eran muy antiguas e incluso habían surgido independientemente de todo cálculo racional, engaño o mentira. En cualquier caso no puede decirse ya que fuera una falsificación todo lo que en la Antigüedad se consideraba como documento divino, como la palabra de Dios, ni tampoco un engaño de los sacerdotes aun cuando, visto desde la perspectiva actual, así lo parezca o sea. 34 En el antiguo Oriente los dioses se les aparecían a sus protegidos, hablaban y comían con ellos y su alocución en primera persona parecían realmente haberla vivido.
2023
This article assumes that the performance of intellectual activities presupposes a corresponding Mental Model. The mental model of a man of letters like Shakespeare is based on his intellectual experience derived from access to libraries and books, attentive reading, experience in the court issues, traveling and mastering languages. The article raises the hypothesis that William of Stratford had a Mental Model as a businessman and not as a man of letters, author of Shakespeare's works. This hy-pothesis is based on existing information about Willian's intellectual background, as well as on recently discovered information about his activities as a grain merchant, theater owner and manager. The method used to support my hypothesis is to point out all the possible references contained in Shakespeare's works, showing that Wil-liam could hardly have had access to these references, as he did not have books, there were no libraries at his disposal and he was not in the habit of reading. Some authors mention that Willian could have overcome this difficulty through the use of friend´s libraries, but there is no indication that this actually happened. The paper also mentions that the most likely candidates for Shakespeare's authorship (Francis Bacon and Edward De Vere) had wide access to books and libraries, intellectual training and the habit of reading and studying, necessary for the formation of the mental model represented in the constructions. Finally, the article concludes that the Mental Model framework can be a complementary and promising tool to help clarify the question of Shakespeare's authorship.
PHD Thesis, 2014
A. Ercolani, I. Oggiano (a cura di), Scrittura e scritture. Invenzione, innovazione e applicazione (Collezione di Studi fenici 53), Roma, 2023
Revista AIBR, 2021
Voce concordi, Scritti per Claudio Zaccaria, a cura di Fulvia Mainardis, AAAd, 85, , 2016
Culture, Éducation et Pouvoir. Les chansons dans l’éducation préscolaire au Mexique de 1934 à 1963, 1997
Anuario De Derecho Canonico Revista De La Facultad De Derecho Canonico Integrada En La Ucv, 2013
Hojas de El Bosque, 2020
Journal of Physical Health and Sports Medicine. , 2019
Asia Pacific Fraud Journal, 2019
Notes from the Borderland, 2024
RSC Advances, 2019
Renewable Energy and Power Quality Journal
Neuroscience Letters, 2006
International Journal of Current Microbiology and Applied Sciences, 2016