PROLOG-REQUEST@SU-SCORE.ARPA (Chuck Restivo, The Moderator) (10/16/86)
PROLOG Digest Thursday, 16 Oct 1986 Volume 4 : Issue 55
Today's Topics:
Query - Chemistry Systems & Neural Nets,
& Forward Chaining, OPS5 Design,
& Opinions on Books,
Implementations - Fixed Points,
LP Library - New Book on Multiprocessors
----------------------------------------------------------------------
Date: Sun, 28 Sep 86 10:46:15 -0200
From: Jacob Levy <jaakov%wisdom.bitnet@WISCVM.WISC.EDU>
Subject: Chemistry Systems
Has anyone programmed or used a logic programming based
system for use in Chemistry? I am especially interested
in organic synthesis planning systems. Do you know of
such systems written in other languages? Any help,
references and info will be greatly appreciated,
Thank you,
-- Jacob Levy)
------------------------------
Date: 2 Oct 1986 10:04-EDT
From: VERACSD@A.ISI.EDU
Subject: Neural Nets
Has any substantive work been done with neural-networks
using Prolog? If so, I would appreciate pointers.
Thank you.
-- Kobryn
------------------------------
Date: 3 Oct 86 11:19:00 EDT
From: "CUGINI, JOHN" <cugini@nbs-vms.ARPA>
Subject: literature on forward-chaining
Are there any articles in the literature about good ways to implement
forward-chaining with multiple rule-sets in Prolog? Eg, at some point
in the program be able to say: keep applying any matching rules from
rule-sets A, B, or E, until no more apply. (I'm looking more for
references than for techniques per se).
Thanks for any citations.
-- John Cugini
------------------------------
Date: 6 Oct 86 12:52:42 GMT
From: Peter Srulovicz
Subject: OPS5 design
I am trying to build a forward chaining system functionally equivalent
to OPS5. I need some advice on how to build such a system efficiently
in Prolog.
Any help would be appreciated.
------------------------------
Date: 10 Oct 86 07:12:56 GMT
From: Todd Ogasawara <humu!uhmanoa!todd@bass.nosc.mil>
Subject: Opinions on Prolog books requested
I'd like some opinions on the following books.
1. Prolog Programming for Artificial Intelligence
by Ivan Bratko
2. Prolog
by Giannesini, Kanoui, Pasero, and van Caneghem
(a intro to Prolog II book)
3. A Prolog Primer
by Jean B. Rogers
I'll probably dig into my pockets and buy all of the books,
but would still like a preview set of opinions
Thank you.
-- Todd
------------------------------
Date: Fri 10 Oct 86 18:31:49
From: Wlodek Drabent <enea!liuida!wdr@seismo.CSS.GOV>
Subject: Fixed Points (V4 #47 of Prolog Digest)
Dear Jamie,
As one of the authors of "fixed points" I am answering your question
mailed in Prolog Digest V4 #47.
The proof that my programs (V4 #46) have the desired property was
actually given together with the programs (but not explained). The
approach is called "declarative debugging" [1].
If you ask a most general question to a logic program (say ?-p(X) )
then the answers you obtain (say X=Ans1, ..., X=Ansn,
...) describe the relation defined by the program. This means
that p(Arg) is true iff it is an instance of p(Ansi) for
some I (provided the computation was finite what guarantees
that the whole tree was searched).
My first program gives one answer to a most general question
?-fix(X,Y) and the computation is finite. The answer is the program
itself. Hence fix(Arg1,Arg2) is true iff Arg1 and Arg2 are an instance
of the program itself.
The second program also gives itself as an answer to a most
general question (and this is the only answer and the computation
is finite). If the extra-logical procedures var and \== had
been defined as
var(X).
X \== Y.
then fix would have been true for every instance of the answer (ie.
itself). Let us analyze the influence of using actual DEC-20
procedures var and \== . (It may be helpful to rename variables in the
first clause and in the question).
There are two variables in the answer. fix is false for every
instance of the answer in which a (nonvariable) term is substituted
for any of these variables (because they are checked by the procedure
var ). fix is also false if they are substituted by the same variable
(this is checked by \== ). So fix is true only for (a variant of) the
program itself. ("Variant" means renaming variables).
-- Wlodek
[1] R.Kowalski "Logic Programming" in "Information Processing 83"
(Proceedings IFIP 1983), Elsevier
Note: by "p(Arg) is true" I mean that ?-p(Arg) succeeds
instantiated to (a variant of) itself.
------------------------------
Date: 7 Oct 86 19:58:39 GMT
From: Michael Wise
Subject: New Book on Multiprocessors
A book is soon to appear, by Michael J. Wise, entitled "Prolog
Multiprocessors". It is being published by Prentice-Hall (Australia).
In a nutshell, the book examines the execution of Prolog on a
multiprocessor.
Starting from a survey of some current multiprocessor
architectures, and a review of what is arguably the most influential
counter-proposal - the "data-flow" model, a model is proposed for
executing Prolog on a multiprocessor. Along with the model goes a
language based on Prolog. The model and the language are called
EPILOG. EPILOG employs both AND and OR parallelism. Results are then
reported for the simulated execution of some Prolog programs rewritten
in the EPILOG language. The book concludes with an extensive survey
of other multiprocessor implementations of Prolog.
The book will be available in Australia from mid November, and in
US/UK/Europe roughly eight weeks later. A list of the Chapter
headings follows. A more detailed list can be obtained from your
local P-H representative, or by e-mailing to me directly.
TABLE OF CONTENTS
Foreword by J. Alan Robinson
Preface
1. Parallel Computation and the Data-Flow Alternative
2. Informal Introduction to Prolog
3. Data-Flow Problems and a Prolog Solution
4. EPILOG Language and Model
5. Architectures for EPILOG
6. Experimenting with EPILOG Architectures - Results and Some
Conclusions
7. Related Work
Appendix 1 Data-Flow Research - the First Generation
Appendix 2 EBNF Specification for EPILOG
Appendix 3 EPILOG Test Programs
Appendix 4 Table of Results
------------------------------
End of PROLOG Digest
********************