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
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
- Fuzzy Logic
- t-norms, t-conorms and negations
- Linguistic Modifiers
- Fuzzy Relational Algebra
- Discrete Fuzzy Sets as Fuzzy Relations
- Union, Intersection and Difference
- Cartesian Product and Natural Join
- Selection and Particularization
- Renaming and Projection
- Extension Principle
- Reorder and extra methods
- Translation Rules
- Collapsing DiscreteFuzzySets
- Type I (Modification): Apply Linguistic Modifiers
- Type II (Composition): Cylindrical Extension
- Type III (Quantification): Normal / Mean Cardinality and Proportion
- Type IV (Qualification): Consistency and Compatibility
- Some Continuous Fuzzy Set facilities:
- Standard Membership Functions
- 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
752f69fa9643ad70e29d4f14ffbe0a63e0054704fce4ef75a51dacd80640e93a
|
|
| MD5 |
b33c765387210471bab1e6dc4c73992c
|
|
| BLAKE2b-256 |
0fa65eb970e505aff9ae0eb41dfed6466f964511650926f893f93cfb7fd78378
|
Provenance
The following attestation bundles were made for pypruf-0.0.3.tar.gz:
Publisher:
python-publish.yml on ashkihotah/pyPRUF
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pypruf-0.0.3.tar.gz -
Subject digest:
752f69fa9643ad70e29d4f14ffbe0a63e0054704fce4ef75a51dacd80640e93a - Sigstore transparency entry: 164894404
- Sigstore integration time:
-
Permalink:
ashkihotah/pyPRUF@fc72feb42b7612e32f19eeab30dfba871a880342 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/ashkihotah
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@fc72feb42b7612e32f19eeab30dfba871a880342 -
Trigger Event:
push
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2f51b3b67fe0e3c2f6efbecc2bd053dd1ba0e70ff5947afc02da0e50fb51493b
|
|
| MD5 |
4f67283d7305a7fc8204e242de15c1d7
|
|
| BLAKE2b-256 |
256e60c8f686dafd6d9e4b0e91e136ec905b2270b1ad4401d1f3a6dcd0d03b34
|
Provenance
The following attestation bundles were made for pyPRUF-0.0.3-py3-none-any.whl:
Publisher:
python-publish.yml on ashkihotah/pyPRUF
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pypruf-0.0.3-py3-none-any.whl -
Subject digest:
2f51b3b67fe0e3c2f6efbecc2bd053dd1ba0e70ff5947afc02da0e50fb51493b - Sigstore transparency entry: 164894408
- Sigstore integration time:
-
Permalink:
ashkihotah/pyPRUF@fc72feb42b7612e32f19eeab30dfba871a880342 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/ashkihotah
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@fc72feb42b7612e32f19eeab30dfba871a880342 -
Trigger Event:
push
-
Statement type: