Skip to content
Snippets Groups Projects
README.md 1.64 KiB
Newer Older
Berard Paul's avatar
Berard Paul committed
# 🤖 Automatic Planning Project (PO)
Verwaerde Alice's avatar
Verwaerde Alice committed

Automated planning, also known as AI planning or automated plan generation, is a subfield of artificial intelligence that focuses on developing algorithms and techniques for generating plans or sequences of actions to achieve specific goals or objectives. The goal of automated planning is to build systems that can reason about complex tasks, generate plans to achieve them, and execute those plans in a real-world environment.
Verwaerde Alice's avatar
Verwaerde Alice committed

Berard Paul's avatar
Berard Paul committed
In this project, we focus on deterministic automatic planning, where the effects of actions are known with certainty. We implement a general purpose $A^{*}$ algorithm, built to adapt to any automatic planning problem and domain.
Verwaerde Alice's avatar
Verwaerde Alice committed

Berard Paul's avatar
Berard Paul committed
The problems and domains must be defined in the PDDL format. Examples of such files are given in the ```pddl_files``` folder.
We defined several heuristic functions that can be used interchangeably as inputs to the algorithm.
Verwaerde Alice's avatar
Verwaerde Alice committed

## 🏁 Getting started
Verwaerde Alice's avatar
Verwaerde Alice committed

Berard Paul's avatar
Berard Paul committed
Create a Python environment and activate it. After that, you need to use the following command to install all the required packages and dependencies:

Verwaerde Alice's avatar
Verwaerde Alice committed
```
pip install -r requirements.txt
Verwaerde Alice's avatar
Verwaerde Alice committed
```

Berard Paul's avatar
Berard Paul committed
Then, run the ```main.py``` file with the arguments of your choice.
Verwaerde Alice's avatar
Verwaerde Alice committed

Berard Paul's avatar
Berard Paul committed
## 🗂️ Structure of the repository
Verwaerde Alice's avatar
Verwaerde Alice committed

Berard Paul's avatar
Berard Paul committed
- ```parser_files``` folder: contain the Python parser used in the code
- ```pddl_files``` folder: contains PDDL files for domain and problems
- ```.gitignore```: used for Git to ignore some files
- ```a_star_algorithm.py```: implementation of the A* algorithm along with other functions
- ```main.py```: file to run the code
- ```README.md```
- ```requirements.txt```: contains the packages and dependencies requirements