Solving the ABC block problem using Human
Level Artificial Intelligence
Note: To make this website free to the public
please click on an ad to support my sponsors or you
can make a tax-deductable donation using Paypal
(click on the donation icon on the left).
Solving the ABC block
problem is a very popular problem for AI researchers.
I don't think that anyone has built a robot that can
solve the ABC block problem in a universal way (not
that I know of -- 2013). There are lots of expert
programs specifically designed to solve this problem.
The ABC block problem is a robot sitting on the floor
and he has to stack up 3 blocks (ABC) in alphabetical
order.
What I'm trying to
demonstrate here is a robot that can stack ABC blocks
based on any instructions. Someone might ask the
robot to stack up the blocks from A-Z backwards or to
stack up the blocks horizontally or diagonally or
stack the blocks up based on rules.
In modern AI (2013),
researchers are still using hierarchical recursive
planning programs in order to solve the ABC block
problem. The strip program is very popular because
the software breaks up a task into sub-tasks and
solves the little problems first before solving the
bigger problems. These researchers has to understand
that they have to build a robot that can not only
stack up blocks, but can do any human task. Using
recursive planning programs isn't the answer.
My robot doesn't use
hierarchical recursive planning programs or heuristic
searches to stack up the blocks. My robot can stack
up the ABC blocks using any stacking instructions.
You can tell the robot to stack up the blocks
backwards or stack up the blocks alphabetically with
missing letters. This robot can follow any
instructions to stack ABC blocks.
This video was tough
to make because I had provide the details of how the
robot thinks when he is stacking the blocks. For
example, the robot uses the ABC song to understand
the order of alphabets. If the robot wanted to know
what letter comes before P, he will sing the ABC song
in his mind to know what letter comes before P.
Also, there are some
things that are very difficult to understand. When
the robot wants to grab the A block, but the C block
is stacked on the A block, the robot has to know he
must take the C block and put it on the floor in
order to grab the A block.
All information to
stack blocks are learned from teachers. The robot
goes through trial and error with the guidance of a
teacher. And stacking ABC blocks require
understanding prior knowledge, like the order of
alphabets and object properties, which are also
learned from teachers.