CMU Artificial Intelligence Repository
 
   
   
   
   
  
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