CMU Artificial Intelligence Repository
NCL: Net-Clause Language
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
- 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.
[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
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
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,
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