ProbCog
Probabilistic Cognition for Cognitive Technical Systems
|
ProbCog designs and implements a statistical relational learning
system that supports efficient learning and inference in relational
domains, focusing mainly on probabilistic logical models. Based on a
common data model, we integrate various representation formalisms and
have successfully extended the expressiveness and practical
applicability of existing approaches. ProbCog thus provides a coherent
probabilistic framework that enables cognitive technical systems to deal
with a high degree of uncertainty and complexity in a variety of
application contexts, including adaptive plan generation for
under-specified tasks and heuristic generation.
|
|
Team
Project Details
Software Suite for Statistical Relational Learning
ProbCog designs and implements a software suite for statistical relational learning that is publicly available for download.
Features:
- Bayesian Logic Networks (BLNs) [Java implementation]
- Inference:
- SAT-based: satisfiability-based importance sampling (SAT-IS) and extensions thereof, MC-SAT
- Lifted: Backward Simulation
- standard Bayesian network algorithms (likelihood weighting, backward simulation and variants thereof, EPIS-BN, Gibbs Sampling)
- Learning: Maximum Likelihood
- Translation to MLNs
- Markov Logic Networks [Java and Python implementations]
- Probabilistic Inference: MC-SAT, Gibbs Sampling
- MAP inference: MaxWalkSAT, Toulbar2 WCSP algorithms
- Learning: Maximum Likelihood [Python]
- Translation of ground Markov random fields to WCSPs
- Framework for relational data
- structured collection of relational data
- scripted generation of relational data
- Graphical wrappers for inference and learning in BLNs and MLNs with interfaces to external applications (e.g. Alchemy for MLNs)
- supported platforms: Windows (32bit), Linux/i386 and Linux/AMD64 (other platforms may work, but not out-of-the-box; see additional information in the readme file)
- Java 5 runtime environment (or newer)
- Python 2.5 (or newer) with Tkinter installed
Note: Tkinter is part of Python distributions by default on Windows. On Linux, use your package manager (e.g. on Debian, the package is called "python-tk").
- ProbCog package
Note: There is very limited documentation at this time.
