Skip to main content

Tyche is a library to facilitate the use of aleatoric description logic to construct, query, and update probabilistic belief models.

Project description

Tyche Logo

Tyche is a Python library to support the representation of, and the reasoning about, aleatoric information. Aleatoric information is information that has an independent probability of being true each time it is observed (i.e., each observation is treated as a roll of the dice). For example, every text message that people send may include emojis, with a different probability for each individual that sent the message. Tyche provides functionality to reason about this aleatoric information using aleatoric description logic. This allows the probability of truth of logical statements to be efficiently queried, and allows the probability of the tendencies of individuals to be learnt through observation.

Tyche provides its main functionality through its tyche.individuals module, which facilitates the construction of ontological knowledge bases with probabilistic beliefs. This allows the simple representation of individuals, the probabilistic beliefs about them (termed concepts), and the probabilistic relationships between them (termed roles). Aleatoric description logic sentences may then be constructed using the tyche.language module to be used to query a knowledge base for a probability, or to be used as an observation to update a knowledge base. This allows fine-grained modelling of probabilistic belief systems, with a rigorous mathematical foundation.

Documentation: tychelibrary.github.io

Tyche Paper:

  • "Tyche: A library for probabilistic reasoning and belief modelling in Python" by Padraig Lamont (2022): link

Related Publications:

  • "Aleatoric Description Logic for Probabilistic Reasoning" by Tim French and Thomas Smoker (2021): arXiv link
  • "A modal aleatoric calculus for probabilistic reasoning" by Tim French, Andrew Gozzard and Mark Reynolds (2018): arXiv link

Usage

Tyche may be installed via pip from PyPi.

pip install Tyche

The functions and classes of Tyche can then be imported from the tyche package.

from tyche.language import *
from tyche.individuals import *
from tyche.distributions import *

Tyche does not yet have tutorials or documentation for its usage. However, example uses of Tyche are provided in the examples directory, and the source code contains doc comments to explain the functionality of classes and methods. In the future, more extensive documentation of Tyche is planned.

Structure

The tyche package consists of the following main modules:

  • language. This is the aleatoric description logic language module for representing sentences. The language module also contains the representation used for the value of roles.
  • individuals. This is the ontological knowledge base individuals module for representing ontologies of individuals, the probabilistic beliefs about them (concepts), and the probabilistic relationships between them (roles). The individuals module also contains classes and functions that may be used to learn from aleatoric description logic observations.
  • distributions. This module contains utility classes for representing and manipulating probability distributions. These distributions may be used to convert continuous quantities into probabilities, and to learn the probability distributions from aleatoric description logic observations.

The Tyche project also consists of the package test that contains unit tests for the functionality of Tyche, and the package examples that contains example uses of Tyche.

License

Tyche is licensed under the MIT License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Tyche-1.0.1.tar.gz (33.2 kB view details)

Uploaded Source

Built Distribution

Tyche-1.0.1-py3-none-any.whl (36.5 kB view details)

Uploaded Python 3

File details

Details for the file Tyche-1.0.1.tar.gz.

File metadata

  • Download URL: Tyche-1.0.1.tar.gz
  • Upload date:
  • Size: 33.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.11.3 pkginfo/1.8.3 requests/2.28.1 requests-toolbelt/0.9.1 tqdm/4.64.1 CPython/3.10.6

File hashes

Hashes for Tyche-1.0.1.tar.gz
Algorithm Hash digest
SHA256 cbcb48792a50cd76ad147f6d0eb786720db5cfe95ad944fba4e3f617e914a91f
MD5 e8ca9d5b8530939f7bada96c9cbdc811
BLAKE2b-256 494f418da3351e9ebdeff627ad5c987c71757e13a31c1f0467248309e8364a0e

See more details on using hashes here.

File details

Details for the file Tyche-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: Tyche-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 36.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.11.3 pkginfo/1.8.3 requests/2.28.1 requests-toolbelt/0.9.1 tqdm/4.64.1 CPython/3.10.6

File hashes

Hashes for Tyche-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 72a75d4fd5092ac6d16da275f439ea94a8998416fe1af6b20c96365caf6d9b5d
MD5 98285814fa88eb39170e7851fb4d61eb
BLAKE2b-256 d23a239b6af9019911c274a1ea508790474fc41a87d1597efede8e9b06df8b8a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page