ブロックの世界は、人工知能の最も有名な計画領域の 1 つです。このアルゴリズムは、テーブルの上に置かれたさまざまな形や色の木のブロックのセットに似ています。目標は、1 つ以上の垂直方向のブロックのスタックを構築することです。一度に移動できるブロックは 1 つだけです。テーブル上に置くか、別のブロックの上に置くことができます。このため、ある時点で別のブロックの下にあるブロックは移動できません。また、ブロックの種類によっては、その上に他のブロックを重ねることができないものもあります。
このおもちゃの世界の単純さは、世界を推論できる抽象的なシンボルのセットとしてモデル化する、古典的な記号的人工知能のアプローチに容易に役立ちます。
これは、さまざまな種類のアルゴリズムを備えた Blocks World パズル ゲーム ソルバーです。このプロジェクトは、大学の人工知能コースの課題として作成されました。
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 ---