7 research outputs found
SASLOG : Lazy Evaluation Meets Backtracking
We describe a combined functional / logic programming language SASLOG which contains Turner’s SASL, a fully lazy, higher-order functional language, and pure Prolog as subsets. Our integration is symmetric, i.e. functional terms can appear in the logic part of the program and v.v. Exploiting the natural correspondence between backtracking and lazy streams yields an elegant solution to the problem of transferring alternative variable bindings to the calling functional part of the program.
We replace the rewriting approach to function evaluation by combinator graph reduction, thereby regaining computational efficiency and the structure sharing properties. Our solution is equally well suited to a fixed combinator set and to a super combinator implementation. In the paper we use Turner's fixed combinator set
The performance evaluation of interpreter based computer systems
PhD ThesisThis thesis explores the problem of making accurate
assessments of the performance of high level language
interpreter programs which are embedded in some more
complex system. The overall system performance will be
determined by all the software and hardware components
present; but in order either to analyse and improve
particular components, or to select between alternative
versions of components, the concept of the performance
of individual components is important.
A model is developed for the abstract behaviour of
software components playing the role of an interpreter
by considering their interaction with the program code
which is being interpreted and with the underlying
virtual machine which is, in turn, interpreting them.
This model enables a flexible definition of performance
by relating the interactions in which an interpreter takes
part. A methodology is recommended for assessing
experimentally the performances defined within such a
framework.
The performances of an interesting selection of
pseudo-machine and high level interpreter implementations
of Lispkit and Prolog are then assessed and conclusions
drawn.United Kingdom Science Research Counci
SIR: A Computer Program for Semantic Information Retrieval
SIR is a computer system, programmed in the LISP language, which accepts information and answers questions expressed in a restricted form of English. This system demonstrates what can reasonably be called an ability to "understand" semantic information. SIR's semantic and deductive ability is based on the construction of an internal model, which uses word associations and property lists, for the relational information normally conveyed in conversational statements. A format-matching procedure extracts semantic content from English sentences. If an input sentence is declarative, the system adds appropriate information to the model. If an input sentence is a question, the system searches the model until it either finds the answer or determines why it cannot find the answer. In all cases SIR reports its conclusions. The system has some capacity to recognize exceptions to general rules, resolve certain semantic ambiguities, and modify its model structure in order to save computer memory space. Judging from its conversational ability, SIR, is a first step toward intelligent man-machine communication. The author proposes a next step by describing how to construct a more general system which is less complex and yet more powerful than SIR. This proposed system contains a generalized version of the SIR model, a formal logical system called SIR1, and a computer program for testing the truth of SIR1 statements with respect to the generalized model by using partial proof procedures in the predicate calculus. The thesis also describes the formal properties of SIR1 and how they relate to the logical structure of SIR
Learning non-monotonic Logic Programs to Reason about Actions and Change
[Resumen]
El objetivo de esta tesis es el diseño de métodos de aprendizaje automático capaces de encontrar un modelo de un sistema dinámico que determina cómo las propiedades del sistema con afectadas por la ejecución de acciones, Esto permite obtener de manera automática el conocimiento específico del dominio necesario para las tareas de planficación o diagnóstico así como predecir el comportamiento futuro del sistema.
La aproximación seguida difiere de las aproximaciones previas en dos aspectos.
Primero, el uso de formalismos no monótonos para el razonamiento sobre acciones y el cambio con respecto a los clásicos operadores tipo STRIPS o aquellos basados en formalismos especializados en tareas muy concretas, y por otro lado el uso de métodos de aprendizaje de programas lógicos (Inductive Logic Programming). La combinación de estos dos campos permite obtener un marco declarativo para el aprendizaje, donde la especificación de las acciones y sus efectos es muy intuitiva y natural y que permite aprender teorías más expresivas que en anteriores aproximaciones
Non-verbal predication and head-movement
Thesis (Ph. D.)--Massachusetts Institute of Technology, Dept. of Linguistics and Philosophy, 1995.Includes bibliographical references ([217]-286).by Andrew Hay Carnie.Ph.D