This commit is contained in:
Vítor Santos Costa 2018-10-24 21:58:47 +01:00
commit e163ccb6c0
4 changed files with 96 additions and 97 deletions

185
README.md
View File

@ -1,93 +1,92 @@
`` <p align="center">
<center> <img src="./docs/icons/yap_128x128x32.png" alt="The YAP Logo"/>
![The YAP Logo](docs/icons/yap_128x128x32.png) </p>
</center>
NOTE: this version of YAP is still experimental, documentation may be out of date.
NOTE: this version of YAP is still experimental, documentation may be out of date.
## Introduction
## Introduction
This document provides User information on version 6.3.4 of
This document provides User information on version 6.3.4 of YAP (<em>Yet Another Prolog</em>). The YAP Prolog System is a
YAP (<em>Yet Another Prolog</em>). The YAP Prolog System is a high-performance Prolog compiler developed at Universidade do
high-performance Prolog compiler developed at Universidade do Porto. YAP supports stream Input/Output, sockets, modules,
Porto. YAP supports stream Input/Output, sockets, modules, exceptions, Prolog debugger, C-interface, dynamic code, internal
exceptions, Prolog debugger, C-interface, dynamic code, internal database, DCGs, saved states, co-routining, arrays, threads.
database, DCGs, saved states, co-routining, arrays, threads.
We explicitly allow both commercial and non-commercial use of YAP.
We explicitly allow both commercial and non-commercial use of YAP.
YAP is based on the David H. D. Warren's WAM (Warren Abstract Machine),
YAP is based on the David H. D. Warren's WAM (Warren Abstract Machine), with several optimizations for better performance. YAP follows the
with several optimizations for better performance. YAP follows the Edinburgh tradition, and was originally designed to be largely
Edinburgh tradition, and was originally designed to be largely compatible with DEC-10 Prolog, Quintus Prolog, and especially with
compatible with DEC-10 Prolog, Quintus Prolog, and especially with C-Prolog. More recently, we have worked on being compatible with SICStus Prolog and with SWI-Prolog.
C-Prolog. More recently, we have worked on being compatible with SICStus Prolog and with SWI-Prolog.
YAP implements most of the ISO-Prolog standard. We are striving at
YAP implements most of the ISO-Prolog standard. We are striving at full compatibility, and the manual describes what is still
full compatibility, and the manual describes what is still missing.
missing. The document is intended neither as an introduction to Prolog nor to the
The document is intended neither as an introduction to Prolog nor to the implementation aspects of the compiler. A good introduction to
implementation aspects of the compiler. A good introduction to programming in Prolog is the book @cite TheArtOfProlog , by
programming in Prolog is the book @cite TheArtOfProlog , by L. Sterling and E. Shapiro, published by "The MIT Press, Cambridge
L. Sterling and E. Shapiro, published by "The MIT Press, Cambridge MA". Other references should include the classical @cite ProgrammingInProlog , by W.F. Clocksin and C.S. Mellish, published by
MA". Other references should include the classical @cite ProgrammingInProlog , by W.F. Clocksin and C.S. Mellish, published by Springer-Verlag.
Springer-Verlag.
YAP 6.3.4 has been built with the gcc and clang compilers on Linux and OSX machines. We expect to recover support for WIN32 machines and
YAP 6.3.4 has been built with the gcc and clang compilers on Linux and OSX machines. We expect to recover support for WIN32 machines and Android next.
Android next.
We are happy to include in YAP several excellent packages developed
We are happy to include in YAP several excellent packages developed under separate licenses. Our thanks to the authors for their kind
under separate licenses. Our thanks to the authors for their kind authorization to include these packages.
authorization to include these packages.
The overall copyright and permission notice for YAP4.3 can be found in
The overall copyright and permission notice for YAP4.3 can be found in the Artistic file in this directory. YAP follows the Perl Artistic
the Artistic file in this directory. YAP follows the Perl Artistic license, and it is thus non-copylefted freeware. Some components of YAP have been obtained from SWI Prolog and ciao, and have
license, and it is thus non-copylefted freeware. Some components of YAP have been obtained from SWI Prolog and ciao, and have different licenses.
different licenses.
If you have a question about this software, desire to add code, found a
If you have a question about this software, desire to add code, found a bug, want to request a feature, or wonder how to get further assistance,
bug, want to request a feature, or wonder how to get further assistance, please send e-mail to <yap-users AT lists.sourceforge.net>. To
please send e-mail to <yap-users AT lists.sourceforge.net>. To subscribe to the mailing list, visit the page
subscribe to the mailing list, visit the page <https://lists.sourceforge.net/lists/listinfo/yap-users>.
<https://lists.sourceforge.net/lists/listinfo/yap-users>.
On-line documentation is available for [YAP](http://www.dcc.fp.pt/~vsc/yap/)
On-line documentation is available for [YAP](http://www.dcc.fp.pt/~vsc/yap/)
The packages are, in alphabetical order:
The packages are, in alphabetical order:
+ The CHR package developed by Tom Schrijvers,
+ The CHR package developed by Tom Schrijvers, Christian Holzbaur, and Jan Wielemaker.
Christian Holzbaur, and Jan Wielemaker.
+ The CLP(BN) package and Horus toolkit developed by Tiago Gomes, and Vítor Santos Costa.
+ The CLP(BN) package and Horus toolkit developed by Tiago Gomes, and Vítor Santos Costa.
+ The CLP(R) package developed by Leslie De Koninck, Bart Demoen, Tom
+ The CLP(R) package developed by Leslie De Koninck, Bart Demoen, Tom Schrijvers, and Jan Wielemaker, based on the CLP(Q,R) implementation
Schrijvers, and Jan Wielemaker, based on the CLP(Q,R) implementation by Christian Holzbaur.
by Christian Holzbaur.
+ The CPLint package developed by Fabrizio Riguzzi's research
+ The CPLint package developed by Fabrizio Riguzzi's research laboratory at the [University of Ferrara](http://www.ing.unife.it/Docenti/FabrizioRiguzzi/)
laboratory at the [University of Ferrara](http://www.ing.unife.it/Docenti/FabrizioRiguzzi/)
+ The CUDA interface package developed by Carlos Martínez, Jorge
+ The CUDA interface package developed by Carlos Martínez, Jorge Buenabad, Inês Dutra and Vítor Santos Costa.
Buenabad, Inês Dutra and Vítor Santos Costa.
+ The [GECODE](http://www.gecode.org) interface package developed by Denys Duchier and Vítor Santos Costa.
+ The [GECODE](http://www.gecode.org) interface package developed by Denys Duchier and Vítor Santos Costa.
+ The [JPL](http://www.swi-prolog.org/packages/jpl/) (Java-Prolog Library) package developed by .
+ The [JPL](http://www.swi-prolog.org/packages/jpl/) (Java-Prolog Library) package developed by .
The minisat SAT solver interface developed by Michael Codish,
The minisat SAT solver interface developed by Michael Codish, Vitaly Lagoon, and Peter J. Stuckey.
Vitaly Lagoon, and Peter J. Stuckey.
+ The MYDDAS relational data-base interface developed at the
+ The MYDDAS relational data-base interface developed at the Universidade do Porto by Tiago Soares, Michel Ferreira, and Ricardo Rocha.
Universidade do Porto by Tiago Soares, Michel Ferreira, and Ricardo Rocha.
+ The [PRISM](http://rjida.meijo-u.ac.jp/prism/) logic-based
+ The [PRISM](http://rjida.meijo-u.ac.jp/prism/) logic-based programming system for statistical modeling developed at the Sato
programming system for statistical modeling developed at the Sato Research Laboratory, TITECH, Japan.
Research Laboratory, TITECH, Japan.
+ The ProbLog 1 system developed by the [ProbLog](https://dtai.cs.kuleuven.be/problog) team in the
+ The ProbLog 1 system developed by the [ProbLog](https://dtai.cs.kuleuven.be/problog) team in the DTAI group of KULeuven.
DTAI group of KULeuven.
+ The [R](http://stoics.org.uk/~nicos/sware/packs/real/) interface package developed by Nicos Angelopoulos,
+ The [R](http://stoics.org.uk/~nicos/sware/packs/real/) interface package developed by Nicos Angelopoulos, Vítor Santos Costa, João Azevedo, Jan Wielemaker, and Rui Camacho.
Vítor Santos Costa, João Azevedo, Jan Wielemaker, and Rui Camacho.

View File

@ -392,7 +392,7 @@ determination(student/1,hasposition/2).</code></pre>
<li><p><code>verbosity</code> (values: integer in [1,3], default value: 1): level of verbosity of the algorithms</p></li> <li><p><code>verbosity</code> (values: integer in [1,3], default value: 1): level of verbosity of the algorithms</p></li>
<li><p><code>beamsize</code> (values: integer, default value: 20, valid for SLIPCASE and SLIPCOVER): size of the beam</p></li> <li><p><code>beamsize</code> (values: integer, default value: 20, valid for SLIPCASE and SLIPCOVER): size of the beam</p></li>
<li><p><code>mcts_beamsize</code> (values: integer, default value: 3, valid for LEMUR): size of the MCTS beam</p></li> <li><p><code>mcts_beamsize</code> (values: integer, default value: 3, valid for LEMUR): size of the MCTS beam</p></li>
<li><p><code>mcts_visits</code> (values: integer, default value: +inf, valid for LEMUR): maximum number of visits (Nicola controlla)</p></li> <li><p><code>mcts_visits</code> (values: integer, default value: +inf, valid for LEMUR): maximum number of visits</p></li>
<li><p><code>megaex_bottom</code> (values: integer, default value: 1, valid for SLIPCOVER): number of mega-examples on which to build the bottom clauses</p></li> <li><p><code>megaex_bottom</code> (values: integer, default value: 1, valid for SLIPCOVER): number of mega-examples on which to build the bottom clauses</p></li>
<li><p><code>initial_clauses_per_megaex</code> (values: integer, default value: 1, valid for SLIPCOVER): number of bottom clauses to build for each mega-example</p></li> <li><p><code>initial_clauses_per_megaex</code> (values: integer, default value: 1, valid for SLIPCOVER): number of bottom clauses to build for each mega-example</p></li>
<li><p><code>d</code> (values: integer, default value: 10000, valid for SLIPCOVER): number of saturation steps when building the bottom clause</p></li> <li><p><code>d</code> (values: integer, default value: 10000, valid for SLIPCOVER): number of saturation steps when building the bottom clause</p></li>
@ -426,7 +426,7 @@ determination(student/1,hasposition/2).</code></pre>
<pre><code>?:- use_module(library(&#39;cplint/lemur&#39;)).</code></pre> <pre><code>?:- use_module(library(&#39;cplint/lemur&#39;)).</code></pre>
<p>and call</p> <p>and call</p>
<pre><code>?:- &quot;mcts(stem,depth,c,iter,rules,covering)</code></pre> <pre><code>?:- &quot;mcts(stem,depth,c,iter,rules,covering)</code></pre>
<p>where <code>depth</code> (integer) is the maximum number of random specialization steps in the default policy, <code>C</code> (real) is the value of the MCTS <span class="math inline"><em>C</em></span> constant, <code>iter</code> (integer) is the number of UCT rounds, <code>rules</code> (integer) is the maximum number of clauses to be learned and <code>covering</code> (Boolean) dentoes whether the search is peformed in the space of clauses (true) or theories (false) (Nicola controlla).</p> <p>where <code>depth</code> (integer) is the maximum number of random specialization steps in the default policy, <code>C</code> (real) is the value of the MCTS <span class="math inline"><em>C</em></span> constant, <code>iter</code> (integer) is the number of UCT rounds, <code>rules</code> (integer) is the maximum number of clauses to be learned and <code>covering</code> (Boolean) dentoes whether the search is peformed in the space of clauses (true) or theories (false).</p>
<h2 id="testing">Testing</h2> <h2 id="testing">Testing</h2>
<p>To test the theories learned, load <code>test.pl</code> with</p> <p>To test the theories learned, load <code>test.pl</code> with</p>
<pre><code>?:- use_module(library(&#39;cplint/test&#39;)).</code></pre> <pre><code>?:- use_module(library(&#39;cplint/test&#39;)).</code></pre>

Binary file not shown.

View File

@ -632,7 +632,7 @@ SLIPCOVER and LEMUR): maximum number of distinct variables in a clause
\item \verb|beamsize| (values: integer, default value: 20, valid for SLIPCASE and SLIPCOVER): size of the beam \item \verb|beamsize| (values: integer, default value: 20, valid for SLIPCASE and SLIPCOVER): size of the beam
\item \verb|mcts_beamsize| (values: integer, default value: 3, valid for LEMUR): size of the MCTS beam \item \verb|mcts_beamsize| (values: integer, default value: 3, valid for LEMUR): size of the MCTS beam
\item \verb|mcts_visits| (values: integer, default value: +inf, valid for LEMUR): maximum number of visits (Nicola controlla) \item \verb|mcts_visits| (values: integer, default value: +inf, valid for LEMUR): maximum number of visits
\item \verb|megaex_bottom| (values: integer, default value: 1, valid for SLIPCOVER): number of mega-examples on which to build the bottom clauses \item \verb|megaex_bottom| (values: integer, default value: 1, valid for SLIPCOVER): number of mega-examples on which to build the bottom clauses
\item \verb|initial_clauses_per_megaex| (values: integer, default value: 1, valid for SLIPCOVER): \item \verb|initial_clauses_per_megaex| (values: integer, default value: 1, valid for SLIPCOVER):
@ -701,7 +701,7 @@ where \verb|depth| (integer) is the maximum number
of random specialization steps in the default policy, \verb|C| (real) is the value of the MCTS $C$ constant, \verb|iter| (integer) is the number of UCT rounds, \verb|rules| (integer) is of random specialization steps in the default policy, \verb|C| (real) is the value of the MCTS $C$ constant, \verb|iter| (integer) is the number of UCT rounds, \verb|rules| (integer) is
the maximum number of clauses to be the maximum number of clauses to be
learned and \verb|covering| (Boolean) dentoes whether the search is peformed in learned and \verb|covering| (Boolean) dentoes whether the search is peformed in
the space of clauses (true) or theories (false) (Nicola controlla). the space of clauses (true) or theories (false).
\subsection{Testing} \subsection{Testing}
To test the theories learned, load \texttt{test.pl} with To test the theories learned, load \texttt{test.pl} with