C o m p u t a t i o n a l    L o g i c

Logic Programming in Cuba


Logic Programming in Cuba

Luciano Garcia

Introduction

Logic Programming (LP) was introduced in Cuba around 1988 by the Artificial Intelligence Group at the University of Havana (AIG-UH). The group is pioneer in teaching and research in Artificial Intelligence (AI) in Cuba and the introduction of LP was a direct cosequence of its earlier logic approach to AI. Logic has been used for knowledge representation and inference in building intelligent systems (ISs). Since then we have considered LP not only as the adequate programming language for designing and implementing the core of ISs, but also as a worth didactical paradigm for further instruction in programming. In the following we describe our modest, but for our purposes relevant and satisfactory, concern with LP.

LP in Cuba Higher Education

Since 1988 a one-semester course on LP is part of the curriculum in Computer Science in Cuban universities. The course is attended by all computer science students in the sixth semester. Previously, students has been trained in imperative and object-oriented programming. The principal aim is to teach students a different computational paradigm for programming, emphasizing declarativeness and recursiveness, likewise to introduce programming semantics by presenting the interrrelated procedural and declarative semantics of Prolog programs. The course emphasizes the foundations of LP, taking advantage of students' previous training in mathematical logic. In parallel, students learn by themselves a particular Prolog interpreter and compiler. Prolog is also used as a regular programming language for implementation in students diploma works and its mastering is a requisite for a Master in Science degree in AI.

LP and Expert Systems

Prolog has been used extensively by AIG-UH and other AI groups in Cuba for programming Expert Systems (ESs). The roots of the approach can be traced back to the work of Warren concerning "the rational reconstruction'' of Mycin in Prolog. The AIG-UH has developed a version of MYCIN called MYCINLOG [1] which is perhaps the most complete written in Prolog. Also the version has as a distinguished feature an explanation subsystem which can answer why-not questions. MYCINLOG has only been used with an ad hoc knowledge base for didactical purposes and for the further development of Prolog programming tools for building ESs.

"The AIG-UH group has developed several Prolog-based ESs particularly in the realm of medicine. The following ESs deserve mention:

* SEEG: An ES for aiding in the interpretation of the EEG. SEEG was programmed in an object-oriented extension of prolog designed and implemented by the group,

* SEDINIA: An ES for the diagnosis of arterial insuficiency [8],

* ES for electromyographic diagnosis presented at various international conferences[2].

LP and the building of reasoning systems

LP has been our platform for building some special purpose reasoning systems. An example is AGORA, a reasoning system for digraph conjecture solving. The core of Agora, i.e. its reasoning system, was written in Prolog [4], [5], [6]. AGORA can refute, accept or suspend judgement when given a digraph conjecture. AGORA is based on terminological logic and the constraint logic programming paradigm: the AGORA knowledge base is a terminology of selected examples of digraphs, invariant relations and theorems in digraph theory and the principal component of the inference machine is a subsumption algorithm, which is a constraint solving mechanism for solving cojectures presented as subsumption statements. The subsumption algorithm garanties completeness with respect to the knowledge base.

Extensions of LP

The AIG-UH have developed some extensions of Prolog. Our objective in this sense has been to provide standard Prolog with more expressiveness for programming intelligent systems or to provide a setting for teaching advanced programming. We would like to mention an object-oriented extension, called OProlog, which has been used in building several ESs as mentioned before. Another extension is called PEPS (Programming with Equations, Predicates and Sorts) [3]. PEPS allows defining functions by rewriting rules, variables in PEPS are typed by a polimorphically order-sorted signature allowing the typing of functions and predicates and objectives with functional terms as arguments. PEPS has only been used for didactical purposes, providing a setting for teaching rewriting, strong typed programming and the interrelation between functional and relational programming.

Current and future work in LP

Currently the AIG-UH is developing a Prolog interpreter and compiler, called UHProlog and based in a particular version of the WAM written in C++. UHProlog will equipe us with a fundamental tool for continuing research. We are also developing experimentally a concurrent Prolog interpreter and compiler, called UHCPL, based on the concurrent constraint programming paradigm.

We would like to complete this brief report by aknowledging the strong support and encouragement we have received in our work from many scholars and institutions all over the world. At the same time some Cuban educational institutions, in particular the University of Havana through the AIG-UH, have made an essential contribution to the spreading of LP in Latin America and our professors teach regularly Prolog related courses and seminars in Latin America Universities. Our web page now in construction will keep informed the PL commnunity of our work in the near future.

References

[1] L.Garcia, O. Padron.Construccion de Sistemas Expertos en Prolog. Publicacion del Seminario por el Aniversario 30 de la Computacion en Mexico, Facultad de Ciencias de la Universidad Autonoma de Mexico, Mexico DF 1989.

[2] L. Garcia, O. Padron et al. Artificial Intelligence in the electromyographic diagnosis of cervical roots and brachial plexus lessions. EEG Journal 66 (5) , 1987.

[3] L.Garcia. PEPS: Programacion con Ecuaciones, Predicados, Funciones y Tipos ordenados Polimorficamente. Proceedings IBERAMIA'92, Editorial Limuza, Mexico 1992.

[4] L. Garcia. A CLP-Approach to Graph Conjecture Problems. Technical Report, AIG-Universidad de la Habana, 1995.

[5] L. Garcia, E. Lastres AGORA: A User's Guide. AIG, Universidad de la Habana, 1996.

[6] L Garcia , E. Lastres, F. Losavio, O. Ordaz. A Reasoning System for Digraph Conjecture Solving. Proceedings of ISAS'96, N. C. Callaos (editor), JULY, 22-26, 1996, Orlando, USA

[7] O. Padron. \newblock Metacontrol y eliminacion de la redundancia en Bases de Conocimiento escritas en Prolog. Proceedings IBERAMIA '90: 2do. Congreso Ibroamericano de Inteligencia Articial. Editorial Limusa, Morelia Mexico, julio 1990, pp357-372.

[8] O. Padron. Arquitectura de un Sistema Experto para el diagnostico de insuficiencia arterial. Memorias de la IX Reunion Nacional de Inteligencia Artificial. Editorial Limusa, Veracruz, Mexico, julio1992, pp61-72.

Luciano Garcia

Departamento de Ciencia de la Computacion

Universidad de La Habana

E-mail: luciano@matcom.uh.cu


Compulog Americas ] [ Logic Programming in Cuba ] Diagrammatic Reasoning at the University of New South Wales ] The logic programming group at the Hebrew University, Jerusalem, Israel ] IJCAI-97 ] ALP and ILP Research at JAIST ]


Home ] Editorial ] Network Activities ] Industrial News ] International Relations ] Area News ] Education ]