problog


Nameproblog JSON
Version 2.2.6 PyPI version JSON
download
home_pagehttps://dtai.cs.kuleuven.be/problog
SummaryProbLog2: Probabilistic Logic Programming toolbox
upload_time2024-11-04 15:13:38
maintainerNone
docs_urlhttps://pythonhosted.org/problog/
authorProbLog team
requires_pythonNone
licenseApache Software License
keywords prolog probabilistic logic
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            
# ProbLog

ProbLog 2 is a **Probabilistic Logic Programming toolbox**.
It allows to intuitively build programs that do **not only encode complex interactions** between a large sets of heterogenous components,
but also the **inherent uncertainties** that are present in real-life situations.

Probabilistic logic programs are **logic programs** in which some of the facts are annotated with **probabilities**.

The engine tackles several tasks such as **computing the marginals given evidence** and **learning from (partial) interpretations**.
ProbLog is a suite of efficient algorithms for various **inference tasks**.
It is based on a conversion of the program and the queries and evidence to a **weighted Boolean formula**.
This allows us to reduce the inference tasks to well-studied tasks such as **weighted model counting**,
which can be solved using state-of-the-art methods known from the **graphical model** and **knowledge compilation literature**.

ProbLog is a **Python** package and can be embedded in Python or Java.
Its knowledge base can be represented as **Prolog/Datalog** facts, **CSV-files**, **SQLite** database tables,
through functions implemented in the host environment or combinations hereof.

ProbLog 2.1 works out of the box on systems with Python. It has been
tested on *Mac OSX*, *Linux* and *Windows*.
## Installation

[![CircleCI](https://circleci.com/gh/ML-KULeuven/problog/tree/master.svg?style=svg)](https://circleci.com/gh/ML-KULeuven/problog/tree/master)
[![codecov](https://codecov.io/gh/ML-KULeuven/problog/branch/master/graph/badge.svg)](https://codecov.io/gh/ML-KULeuven/problog/branch/master)

ProbLog supports optional components which can be installed separately.
See the file [INSTALL](https://github.com/ML-KULeuven/problog/blob/develop/INSTALL) for detailed installation instructions.

### Python

To install ProbLog, you can use the [pip](https://pypi.org/project/pip/) with the following command:

```pip install problog```

#### Prerequisites

ProbLog 2.1 requires Python 3.6+.
*(Python 2.7+ support has been dropped since ProbLog 2.1.0.36.)*


### Online Editor

You can try out ProbLog without installing it with our [online editor](https://dtai.cs.kuleuven.be/problog/editor.html).

For example, enter the following [ProbLog program](https://dtai.cs.kuleuven.be/problog/editor.html#task=prob&hash=f8cdb15e6accf62ecaf706c230197ce1) for calculating the probability that at least one of two coins
(one of which is a bend/biased coin) is head.

```
% Probabilistic facts:
0.5::heads1.
0.6::heads2.

% Rules:
someHeads :- heads1.
someHeads :- heads2.

% Queries:
query(someHeads).
```

When you press evaluate, this will result in **0.8**,
because *P(someHeads) = 1 - (1-P(heads1)) (1-P(heads2)) = 1 - (1-0.5) (1-0.6) = 0.8*.
 


## Get Started with ProbLog

### Tutorial
To get started with ProbLog, follow the [ProbLog Tutorial](https://dtai.cs.kuleuven.be/problog/tutorial.html).

### Homepage

Visit the [ProbLog Homepage](https://dtai.cs.kuleuven.be/problog/).

### Documentation
Extensive documentation about ProbLog can be found on our 
[ProbLog documentation](http://problog.readthedocs.org/en/latest/cli.html) on ReadTheDocs.

### Papers

You can consult the following paper to get an introduction to ProbLog:

[Inference and learning in probabilistic logic programs using weighted Boolean formulas](https://lirias.kuleuven.be/bitstream/123456789/392821/3/plp2cnf.pdf), Daan Fierens, Guy Van den Broeck, Joris Renkens, Dimitar Shterionov, Bernd Gutmann, Ingo Thon, Gerda Janssens, and Luc De Raedt. Theory and Practice of Logic Programming, 2015. 

[ProbLog: A probabilistic Prolog and its application in link discovery](https://lirias.kuleuven.be/bitstream/123456789/146072/1/ijca), L. De Raedt, A. Kimmig, and H. Toivonen, Proceedings of the 20th International Joint Conference on Artificial Intelligence (IJCAI-07), Hyderabad, India, pages 2462-2467, 2007. 

Many other papers and information about ProbLog can be found in [our ProbLog publication list](https://dtai.cs.kuleuven.be/problog/publications.html).


## License

Copyright 2015 KU Leuven, DTAI Research Group

Licensed under the Apache License, Version 2.0 (the "License"); you may
not use this file except in compliance with the License. You may obtain
a copy of the License at [http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0)

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

            

Raw data

            {
    "_id": null,
    "home_page": "https://dtai.cs.kuleuven.be/problog",
    "name": "problog",
    "maintainer": null,
    "docs_url": "https://pythonhosted.org/problog/",
    "requires_python": null,
    "maintainer_email": null,
    "keywords": "prolog probabilistic logic",
    "author": "ProbLog team",
    "author_email": "anton.dries@cs.kuleuven.be",
    "download_url": "https://files.pythonhosted.org/packages/77/1d/17fe1a349b07a92a167cc7d9991deefd549f02d4f808b96b34a5f448fc2f/problog-2.2.6.tar.gz",
    "platform": null,
    "description": "\n# ProbLog\n\nProbLog 2 is a **Probabilistic Logic Programming toolbox**.\nIt allows to intuitively build programs that do **not only encode complex interactions** between a large sets of heterogenous components,\nbut also the **inherent uncertainties** that are present in real-life situations.\n\nProbabilistic logic programs are **logic programs** in which some of the facts are annotated with **probabilities**.\n\nThe engine tackles several tasks such as **computing the marginals given evidence** and **learning from (partial) interpretations**.\nProbLog is a suite of efficient algorithms for various **inference tasks**.\nIt is based on a conversion of the program and the queries and evidence to a **weighted Boolean formula**.\nThis allows us to reduce the inference tasks to well-studied tasks such as **weighted model counting**,\nwhich can be solved using state-of-the-art methods known from the **graphical model** and **knowledge compilation literature**.\n\nProbLog is a **Python** package and can be embedded in Python or Java.\nIts knowledge base can be represented as **Prolog/Datalog** facts, **CSV-files**, **SQLite** database tables,\nthrough functions implemented in the host environment or combinations hereof.\n\nProbLog 2.1 works out of the box on systems with Python. It has been\ntested on *Mac OSX*, *Linux* and *Windows*.\n## Installation\n\n[![CircleCI](https://circleci.com/gh/ML-KULeuven/problog/tree/master.svg?style=svg)](https://circleci.com/gh/ML-KULeuven/problog/tree/master)\n[![codecov](https://codecov.io/gh/ML-KULeuven/problog/branch/master/graph/badge.svg)](https://codecov.io/gh/ML-KULeuven/problog/branch/master)\n\nProbLog supports optional components which can be installed separately.\nSee the file [INSTALL](https://github.com/ML-KULeuven/problog/blob/develop/INSTALL) for detailed installation instructions.\n\n### Python\n\nTo install ProbLog, you can use the [pip](https://pypi.org/project/pip/) with the following command:\n\n```pip install problog```\n\n#### Prerequisites\n\nProbLog 2.1 requires Python 3.6+.\n*(Python 2.7+ support has been dropped since ProbLog 2.1.0.36.)*\n\n\n### Online Editor\n\nYou can try out ProbLog without installing it with our [online editor](https://dtai.cs.kuleuven.be/problog/editor.html).\n\nFor example, enter the following [ProbLog program](https://dtai.cs.kuleuven.be/problog/editor.html#task=prob&hash=f8cdb15e6accf62ecaf706c230197ce1) for calculating the probability that at least one of two coins\n(one of which is a bend/biased coin) is head.\n\n```\n% Probabilistic facts:\n0.5::heads1.\n0.6::heads2.\n\n% Rules:\nsomeHeads :- heads1.\nsomeHeads :- heads2.\n\n% Queries:\nquery(someHeads).\n```\n\nWhen you press evaluate, this will result in **0.8**,\nbecause *P(someHeads) = 1 - (1-P(heads1)) (1-P(heads2)) = 1 - (1-0.5) (1-0.6) = 0.8*.\n \n\n\n## Get Started with ProbLog\n\n### Tutorial\nTo get started with ProbLog, follow the [ProbLog Tutorial](https://dtai.cs.kuleuven.be/problog/tutorial.html).\n\n### Homepage\n\nVisit the [ProbLog Homepage](https://dtai.cs.kuleuven.be/problog/).\n\n### Documentation\nExtensive documentation about ProbLog can be found on our \n[ProbLog documentation](http://problog.readthedocs.org/en/latest/cli.html) on ReadTheDocs.\n\n### Papers\n\nYou can consult the following paper to get an introduction to ProbLog:\n\n[Inference and learning in probabilistic logic programs using weighted Boolean formulas](https://lirias.kuleuven.be/bitstream/123456789/392821/3/plp2cnf.pdf), Daan Fierens, Guy Van den Broeck, Joris Renkens, Dimitar Shterionov, Bernd Gutmann, Ingo Thon, Gerda Janssens, and Luc De Raedt. Theory and Practice of Logic Programming, 2015. \n\n[ProbLog: A probabilistic Prolog and its application in link discovery](https://lirias.kuleuven.be/bitstream/123456789/146072/1/ijca), L. De Raedt, A. Kimmig, and H. Toivonen, Proceedings of the 20th International Joint Conference on Artificial Intelligence (IJCAI-07), Hyderabad, India, pages 2462-2467, 2007. \n\nMany other papers and information about ProbLog can be found in [our ProbLog publication list](https://dtai.cs.kuleuven.be/problog/publications.html).\n\n\n## License\n\nCopyright 2015 KU Leuven, DTAI Research Group\n\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may\nnot use this file except in compliance with the License. You may obtain\na copy of the License at [http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0)\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n",
    "bugtrack_url": null,
    "license": "Apache Software License",
    "summary": "ProbLog2: Probabilistic Logic Programming toolbox",
    "version": "2.2.6",
    "project_urls": {
        "Homepage": "https://dtai.cs.kuleuven.be/problog"
    },
    "split_keywords": [
        "prolog",
        "probabilistic",
        "logic"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "56d235bbf27448f7d10e5bf436e99402c4971bebb88564f49a6d53b9d5d72dfd",
                "md5": "0c7eabf07549f2c3a24046cef4007992",
                "sha256": "9bb5b55e0b17d13a4718fbe5cd32fda205aa4b123a757cc24668c9fe2cee3bb0"
            },
            "downloads": -1,
            "filename": "problog-2.2.6-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "0c7eabf07549f2c3a24046cef4007992",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 1962696,
            "upload_time": "2024-11-04T15:13:36",
            "upload_time_iso_8601": "2024-11-04T15:13:36.766637Z",
            "url": "https://files.pythonhosted.org/packages/56/d2/35bbf27448f7d10e5bf436e99402c4971bebb88564f49a6d53b9d5d72dfd/problog-2.2.6-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "771d17fe1a349b07a92a167cc7d9991deefd549f02d4f808b96b34a5f448fc2f",
                "md5": "82501dabb4926031a92eefd32e72259c",
                "sha256": "16e37bb0a635f23ece16cef642e964a7c52dc4635673830d8f8246d1e9747883"
            },
            "downloads": -1,
            "filename": "problog-2.2.6.tar.gz",
            "has_sig": false,
            "md5_digest": "82501dabb4926031a92eefd32e72259c",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 1563303,
            "upload_time": "2024-11-04T15:13:38",
            "upload_time_iso_8601": "2024-11-04T15:13:38.668852Z",
            "url": "https://files.pythonhosted.org/packages/77/1d/17fe1a349b07a92a167cc7d9991deefd549f02d4f808b96b34a5f448fc2f/problog-2.2.6.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-11-04 15:13:38",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "problog"
}
        
Elapsed time: 3.55143s