Download Using Multi-Agent Strategies to Solve a Blocks

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Philosophy of artificial intelligence wikipedia , lookup

Intelligence explosion wikipedia , lookup

AI winter wikipedia , lookup

Ethics of artificial intelligence wikipedia , lookup

Multi-armed bandit wikipedia , lookup

Existential risk from artificial general intelligence wikipedia , lookup

History of artificial intelligence wikipedia , lookup

Histogram of oriented gradients wikipedia , lookup

Embodied cognitive science wikipedia , lookup

Transcript
Using Multi-Agent Strategies to Solve a BlocksWorld Artificial Intelligence Problem
Aaron Fetterman1 and Dr. Susan Conry2
Department of Software Engineering
Blocks World is a simple artificial intelligence problem which is used for exercise in
planning artificial intelligence solutions. In Blocks World, the goal is to convert all the stacks of
blocks from an initial configuration to another configuration of blocks stacked upon one another.
They are moved by a robot arm, which can only move one block at a time, from the top of one
stack, to the top of another (or to the table to start a new stack). There is no limit to the number
of stacks which can be made on the table. There has been little research into how distributed,
multi-agent strategies might transform the problem. Distributed methods may bring a new level
of scalability to the problem, with each agent able to act for its self. However, the limiting factor
of a single robot arm to move blocks may severely cripple scalability.
Three different plans for solving Blocks World problems will be used for a comparative
analysis of efficiency: unstack-stack, stack-based, and block-based. Efficiency will be
determined by number of moves, and the time it takes for the program to execute. The unstackstack plan serves as the base line; in it, every block is unstacked and placed on the table. Then,
the stacks are rebuilt from the bottom up. It is the least efficient method because it involves
moving almost every block twice. A stack-based plan determines what blocks to move based on
the configuration of each stack. In this way, each stack acts like a coalition of boxes, the box on
the bottom acting as the leader and spokesman for the entire stack. The further a stack is from
being in the configuration it should be, the more likely the robot arm is to unstack from it. In the
block-based plan, each block calculates its own suitability individually, but also inherits the
scoring from all the blocks below it, in a one-parent-one-child hierarchical setup. In this way, a
block that is ready to be placed, but buried beneath a stack of blocks, will promote the
importance of the blocks above it. Both the stack-based and the block-based plans are more
efficient than unstack-stack because the blocks keep track of how well towards their final
configuration they are, and blocks that are ready to be placed can be moved only once instead
of twice.
The plans will be tested with randomly generated initial and final configurations of
blocks. The configurations will range in size from twenty-five to fifty-thousand blocks, with
1 Class of 2008, Software Engineering, Clarkson University. Honors Program research with Dr. Conry.
Oral presentation.
2 Professor, Electrical and Computer Engineering
varying average stack heights. The multi-agent systems will be simulated with object oriented
programming.
Further research could expand upon the solutions or the problem. Although the plans will be
tested by how much time they take to complete the problem (a measure of how efficient the plan
is in how long it takes to decide the right move), efficiency of the programs could be improved
for speed. Currently, the plans are built for flexibility, to accommodate changes and
improvements to the plan, but parts, in particular messages, could be sped up significantly
through a variety of measures. By changing the parameters of the problem, it could be redefined
as a more conventional distributed problem. With multiple robot arms, the blocks could be
moved much quicker and with more efficiency, and each robot arm could manage sections of
the table on its own. Further research could also be expanded to use an agent architecture to
have the block agents exist totally separately, instead of the simulated separation that happens
in the object oriented programming. This would also improve the speed of the solutions.