CMU Artificial Intelligence Repository
Home INFO Search FAQs Repository Root

NCL: Net-Clause Language

lang/prolog/impl/parallel/ncl/
NCL (Net-Clause Language) is aimed at describing distributed computation models using term unification as a basic processing and control mechanism. It is embedded in standard Prolog and comprises two parts -- net-clauses and data-driven rules, which can communicate each to other and to standard Prolog programs through the unified representation of terms, the unification procedure and the database mechanism provided by Prolog. A net-clause is a special domain in the database defining a network of nodes and links. The nodes are represented by Prolog compound terms. The variables occurring within the nodes are global logical variables, which can be shared within the scope of the net-clause thus playing the role of network links. The net-clause nodes define local conditions for unification of terms or execution of Prolog goals. Thus two basic control mechanisms are implemented: - A spreading activation scheme similar to the connectionist spreading activation and to the marker passing mechanism in semantic nets. In the framework of logic programming it is seen as a restricted (no recursion) forward chaining computation. - A default mechanism based on using variables to propagate terms without being bound to them, thus implementing the non-monotonicity of default reasoning. This is similar to Reiter's default assignment to variables. The Data-driven Rules implement a full scale forward chaining for Horn clauses. They simulate a data-driven parallel computation, where each rule is a process (in contrast to the traditional parallel logic programming, like PARLOG, where each goal is a process). It is worth noting that NCL/Prolog is implemented in C as an augmented Prolog interpreter together with some Prolog routines, so it can also be used as a Prolog interpreter. NCL includes several annotated example programs: natural language parsing and semantic analysis, model-based diagnosis of a binary adder, 4-queens problem, recognition of geometric figures, and data-driven inductive learning.
Origin:   

   ai.uga.edu:ai.misc/ncl.tar.Z
   [Also received copy direct from author.]

Version: 2.0 (1-JUL-93) Requires: C (UNIX) Copying: Copyright (c) 1993 by Zdravko Markov, II-BAS CD-ROM: Prime Time Freeware for AI, Issue 1-1 Author(s): Zdravko Markov Contact: Zdravko Markov Institute of Informatics Bulgarian Academy of Sciences Acad.G.Bonchev Street, Block 29A, 1113 Sofia, Bulgaria Tel: +359-2-707586 Fax: +359-2-720166 Keywords: 4-Queens, Authors!Markov, Bulgarian Academy of Sciences, Distributed Processing, Inductive Learning, Interpreters!Prolog, Logic Programming, NCL, NLP, Parsing, Programming Languages!Parallel Prolog, Prolog!Implementations, Symbolic/Connectionist Hybrid References: A reference manual is included in the distribution. Publications related to NCL include: Markov, Z., C. Dichev, and L. Sinapova, "The Net-Clause Language -- a tool for describing network models", in Proceedings of the Eighth Canadian Conference on AI, Ottawa, pages 33-39, May 23-25, 1990. Markov, Z. and Ch. Dichev, "Logical inference in a network environment", in Ph. Jorrand and V. Sgurev, editors, Proceedings of AIMSA'90, Artificial Intelligence IV, North-Holland, 1990, 169-178. Markov, Z., L. Sinapova, and Ch. Dichev, "Default reasoning in a network environment", in Proceedings of ECAI-90, August 6-10, 1990, Stockholm, Sweden, 431-436. Markov, Z. and Ch. Dichev, "The Net-Clause Language -- A Tool for Data-Driven Inference", in Logics in AI, Proceedings of European Workshop JELIA'90, Amsterdam, The Netherlands, LNCS, Volume 478, 366-385, Springer-Verlag, September 1990. Markov, Z. "An Approach to Data-Driven Learning", in Proceedings of the International Workshop on Fundamentals of Artificial Intelligence Research (FAIR'91), Smolenice, Czechoslovakia, LNCS, Volume 535, 127-140, Springer-Verlag, September 8-12, 1991. Markov, Z. and Ch. Dichev, "Distributed Logic Programming", in G. Wiggins, C. Mellish and T. Duncan, editors, Proceedings of the 3rd UK Annual Conference of Logic Programming, Edinburgh, Scotland, Workshops in Computing, 36-55, Springer-Verlag, 1991. Markov, Z., "A tool for building connectionist-like networks based on term unification", in M. Richter and H. Boley, editors, Proceedings of PDK'91, LNCS Volume 567, 119-203, Springer-Verlag, 1991. Markov, Z., "An Approach to Concept Learning Based on Term Generalization", in Proceedings of the Ninth International Machine Learning Conference (ML92), San Mateo, CA, Morgan Kaufmann, 310-315, 1992. Sinapova, L. and Z. Markov, "Grammar Representation and Parsing in a Data-Driven Logic Programming Environment", in B. du Boulay and V. Sgurev, editors, Proceedings of AIMSA'92, Artificial Intelligence V, North-Holland, 151-159, 1992. Markov, Z., "Inductive Inference in Networks of Relations", in Proceedings of the Third International Workshop on Inductive Logic Programming (ILP'93), April 1-3, Bled, Slovenia, 256-277, 1993. Sinapova, L., "A network parsing scheme", in Ph. Jorrand and V. Sgurev, editors, Proceedings of AIMSA'90, Artificial Intelligence IV, North-Holland, 383-392, 1990.
Last Web update on Mon Feb 13 10:34:47 1995
AI.Repository@cs.cmu.edu