Have a personal or library account? Click to login
Contralog: a Prolog conform forward-chaining environment and its application for dynamic programming and natural language parsing Cover

Contralog: a Prolog conform forward-chaining environment and its application for dynamic programming and natural language parsing

By: Imre Kilián  
Open Access
|Jun 2016

Abstract

The backward-chaining inference strategy of Prolog is inefficient for a number of problems. The article proposes Contralog: a Prolog-conform, forward-chaining language and an inference engine that is implemented as a preprocessor-compiler to Prolog. The target model is Prolog, which ensures mutual switching from Contralog to Prolog and back. The Contralog compiler is implemented using Prolog's de facto standardized macro expansion capability. The article goes into details regarding the target model.

We introduce first a simple application example for Contralog. Then the next section shows how a recursive definition of some problems is executed by their Contralog definition automatically in a dynamic programming way. Two examples, the well-known matrix chain multiplication problem and the Warshall algorithm are shown here. After this, the inferential target model of Prolog/Contralog programs is introduced, and the possibility for implementing the ReALIS natural language parsing technology is described relying heavily on Contralog's forward chaining inference engine. Finally the article also discusses some practical questions of Contralog program development.

Language: English
Page range: 41 - 62
Submitted on: Feb 9, 2016
|
Published on: Jun 20, 2016
In partnership with: Paradigm Publishing Services
Publication frequency: 2 issues per year

© 2016 Imre Kilián, published by Sapientia Hungarian University of Transylvania
This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivatives 3.0 License.