O mundo dos blocos é um dos domínios de planejamento mais famosos da inteligência artificial. O algoritmo é semelhante a um conjunto de blocos de madeira de vários formatos e cores sobre uma mesa. O objetivo é construir uma ou mais pilhas verticais de blocos. Apenas um bloco pode ser movido por vez: ele pode ser colocado na mesa ou em cima de outro bloco. Por causa disso, quaisquer blocos que estejam, em um determinado momento, sob outro bloco não podem ser movidos. Além disso, alguns tipos de blocos não podem ter outros blocos empilhados sobre eles.
A simplicidade deste mundo de brinquedo presta-se facilmente às abordagens clássicas de inteligência artificial simbólica, nas quais o mundo é modelado como um conjunto de símbolos abstratos sobre os quais se pode raciocinar.
É um solucionador de jogos de quebra-cabeça Blocks World, com diferentes tipos de algoritmos. Este projeto é criado como uma tarefa do curso universitário de Inteligência Artificial.
python main.py <search_method> <input_file> <output_file>
[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 ---