pepl


Parameter estimation for SLPs with the Failure Adjusted Maximisation algorithm

Pepl implements and demonstrates parameter estimation (PE) in Stochastic Logic Programs (SLPs). It is an implementation the FAM algorithm [1]. For more information on how to use these programs see the user's guide and Prolog module documentation (see below). Originally Pepl ran on:

The library is maintained on the latest SWI-Prolog:

licence

This software is distributed under the MIT licence.

installation and test

On Swi you can install with
?- pack_install( pepl ).

Test with

[library(pepl)].
[pack('pepl/examples/main')]
main.
main_store.
main_sample.
main_exact. (alias for main)

On Yap simply download the latest sources from pepl or github
cd to the Pepl's examples directory, start yap, and type

[main]. 
main.
main_store.
main_sample.
main_exact. (alias for main)

See main_* files in examples/ for more examples and doc/ for documentation.

highlights

This library has been developed and (only) tested on linux systems.
It is likely it will work on other oses with small modifications.

Probabilistic inference and Sampling

As of version v2.3 Pepl supports predicates for probabilistic inference
and sampling (see the PLP 2023 paper and associated slides below in references).

materials

user's guide: pepl-user_guide.pdf
module documentation: pepl.html
packed sources: pepl
sources on github pepl

references

[1] Nicos Angelopoulos, Notes on the Implementation of FAM.
In 3rd Workshop in Probabilistic Logic Programming (PLP'16)
September 3rd, 2016, London, UK

[2] James Cussens, Parameter estimation in stochastic logic programs.
Machine Learning, 44(3):245-271, 2001

[3] Nicos Angelopoulos, Sampling and probabilistic inference in D/Slps
In 10th Workshop in Probabilistic Logic Programming (PLP'23)
July 9th, 2023, London UK. (slides: 23.07-PLP-Presentation-Nicos.pdf)

author

Nicos Angelopoulos
---
London,
February 2017 - June 2023