Olaaaf is a general adaptation prototype based on belief revision whose long-term aim is to cover a broad range of adaptation processes. It is based on a formalism that covers both attribute-value pairs (often used for representing cases) and taxonomies (often used for representing domain knowledge).
Please note that each dependency might work with an earlier version. However, they haven't been tested and aren't officialy supported.
- Python v3.10.13 or higher.
- tqdm v4.65.0 or higher.
- Pyparsing v3.0.9 or higher.
- SciPy v1.11.4 or higher.
- LPSolve v5.5.2.0 or higher.
- Since LPSolve isn't officially available for Python 3, Chandrasekhar Atina's wrapper is used.
- matplotlib v3.8.0 or higher.
To install Olaaaf, first download the latest release here (although a .tar.gz is available if necessary, The .whl file is recommended)
Once downloaded, install the package using pip:
pip install ./olaaaf-1.0.whl
Once installed, you can import olaaaf from anywhere like a standard Python package
from olaaaf import *
For in-depth examples, feel free to look at the Examples and Video Demonstration sections.
As of right now, four examples are availabe for you to go through. Namely:
- Example 1 is the adaptation of a banana milkshake recipe to obtain a kiwi milkshake recipe.
- Example 2 is the adaptation of a banana milkshake recipe to obtain a kiwi milkshake recipe, with no banana.
- Example 3 is the adaptation of a banana milkshake recipe to obtain a kiwi milkshake recipe, while conserving the same number of fruit types between the two recipes.
- Example 4 is the adaptation of a carrot and cabbage salad to remove the vinegar, using an adaptation rule.
The execution of Example 3 can be watched in this video:
example3.videDemonstration.mp4
Olaaaf's documentation is available here.
Olaaaf is published under the MIT License.