Skip to main content

A Python library for PRUF, a meaning representation and manipulation language for approximate reasoning purposes, proposed by Zadeh.

Project description

pyPRUF: Possibilistic Relational Universal Fuzzy

Read the Docs (version) GitHub Release GitHub License

pyPRUF is a simple Python library implementation of the PRUF (Possibilistic Relational Universal Fuzzy) framework proposed by Lotfi A. Zadeh.

PRUF was an informal and incomplete mathematical framework, proposed by Lotfi A. Zadeh in his paper, which extended classical relational algebra theory of databases to a fuzzy-like relational algebra theory by integrating it with the multi-valued fuzzy logic and fuzzy set theory to handle uncertainty and imprecision in reasoning processes.

This library provides tools and utilities for creating, manipulating, and reasoning with fuzzy sets in the context of possibilistic logic. In addition to possibility qualifications, this tool can be used, also, to perform truth and probability qualifications (as defined in the paper).

At the moment, this library provides facilities that manage only discrete fuzzy sets however, it is designed in such a way that it can easily be expanded in the future to also handle continuous fuzzy sets.

*At present, pyPRUF is still in its intial stages of development. This library could be improved in many ways and, time to time, it will be done!*😊

It is recommended to have or obtain a solid foundation of knowledge in fuzzy logic and fuzzy set theory before reading the docs.

Key Features

  1. Fuzzy Logic
    1. t-norms, t-conorms and negations
    2. Linguistic Modifiers
  2. Fuzzy Relational Algebra
    1. Discrete Fuzzy Sets as Fuzzy Relations
    2. Union, Intersection and Difference
    3. Cartesian Product and Natural Join
    4. Selection and Particularization
    5. Renaming and Projection
    6. Extension Principle
    7. Reorder and extra methods
  3. Translation Rules
    1. Collapsing DiscreteFuzzySets
    2. Type I (Modification): Apply Linguistic Modifiers
    3. Type II (Composition): Cylindrical Extension
    4. Type III (Quantification): Normal / Mean Cardinality and Proportion
    5. Type IV (Qualification): Consistency and Compatibility
  4. Some Continuous Fuzzy Set facilities:
    1. Standard Membership Functions
    2. Temporary Implementation of some methods

WARNING: A python version higher than 3.11 is required.

Installation

Installing pyPRUF is straightforward. You can install it via pip:

pip install pyPRUF

License

pyPRUF is open-source and distributed under the GNU Lesser General Public License (LGPL) - see the LICENSE file for details.

Contributing

We welcome contributions from the community! If you'd like to contribute to pyPRUF, contact us.

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

pypruf-0.0.3.tar.gz (23.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyPRUF-0.0.3-py3-none-any.whl (23.3 kB view details)

Uploaded Python 3

File details

Details for the file pypruf-0.0.3.tar.gz.

File metadata

  • Download URL: pypruf-0.0.3.tar.gz
  • Upload date:
  • Size: 23.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for pypruf-0.0.3.tar.gz
Algorithm Hash digest
SHA256 752f69fa9643ad70e29d4f14ffbe0a63e0054704fce4ef75a51dacd80640e93a
MD5 b33c765387210471bab1e6dc4c73992c
BLAKE2b-256 0fa65eb970e505aff9ae0eb41dfed6466f964511650926f893f93cfb7fd78378

See more details on using hashes here.

Provenance

The following attestation bundles were made for pypruf-0.0.3.tar.gz:

Publisher: python-publish.yml on ashkihotah/pyPRUF

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyPRUF-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: pyPRUF-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 23.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for pyPRUF-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 2f51b3b67fe0e3c2f6efbecc2bd053dd1ba0e70ff5947afc02da0e50fb51493b
MD5 4f67283d7305a7fc8204e242de15c1d7
BLAKE2b-256 256e60c8f686dafd6d9e4b0e91e136ec905b2270b1ad4401d1f3a6dcd0d03b34

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyPRUF-0.0.3-py3-none-any.whl:

Publisher: python-publish.yml on ashkihotah/pyPRUF

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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