Le monde des blocs est l’un des domaines de planification les plus connus de l’intelligence artificielle. L’algorithme est similaire à un ensemble de blocs de bois de différentes formes et couleurs posés sur une table. Le but est de construire une ou plusieurs piles verticales de blocs. Un seul bloc peut être déplacé à la fois : il peut être soit placé sur la table, soit placé au-dessus d'un autre bloc. De ce fait, tout bloc qui se trouve, à un moment donné, sous un autre bloc ne peut pas être déplacé. De plus, certains types de blocs ne peuvent pas être empilés sur d’autres blocs.
La simplicité de ce monde de jouets se prête facilement aux approches classiques de l’intelligence artificielle symbolique, dans lesquelles le monde est modélisé comme un ensemble de symboles abstraits sur lesquels on peut raisonner.
Il s'agit d'un solveur de jeu de puzzle Blocks World, avec différents types d'algorithmes. Ce projet est créé dans le cadre d'un devoir du cours universitaire d'Intelligence Artificielle.
python main.py
[START] # starting state
size=3,3 # grid size
a=0,2 # starting state of block a
b=1,2 # starting state of block b
agent=2,2 # starting state of agent
[GOAL]
a=1,1 # goal state of block a
b=1,2 # goal state of block b
a ('0, 2')
b ('1, 2')
----------
Nodes expanded: 1
----------
a ('0, 2')
b ('1, 2')
----------
Nodes expanded: 2
.
.
.
----------
a ('1, 1')
b ('1, 2')
----------
Nodes expanded: 242
----------
--- Execution time (seconds): 0.006296873092651367 ---