[net.lang.prolog] PROLOG Digest V4 #55

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
********************