CPE/CSC 480 F03 Fall 2003 Assignment 3: Wumpus World Agent
The goal for this task is to build an agent that can navigate the Wumpus World
successfully: It should find a safe path to the gold if there exists one,
pick up the gold, return to the exit, and leave the cave. Use the characteristics
for the Wumpus World as discussed in the class and described in the textbook.
You can make the following assumptions:
there is only one Wumpus in the world
the world is rectangular, and your agent knows this
your agent does not know the size of the world
a square may contain multiple objects and agents,
provided that the semantics fit (e.g. a pit can't
contain anything else, or an agent in the same square
as a wumpus gets eaten)
An important aspect of this task is the representation of the knowledge the
agent has (e.g. the state of the Wumpus World), and the reasoning the agent
performs in order to decide about the safety or risk of squares.
It is also advisable for your agent to indicate its internal world model to the user.
This could be an additional display showing the agent's knowledge of the Wumpus World
at a particular point, or a text-based printout of the current status.
Part 1: Knowledge Representation and Reasoning
This task is to be performed in two parts. In the first part,
you determine the methods and techniques you use for the representation
of knowledge about the Wumpus World and for reasoning, e.g. about the properties
of the squares, or the location of the wumpus.
Describe your knowledge representation and reasoning methods in your README file,
and submit the README file as the first part of the assignment
and make sure that the corresponding source code is documented.
In the implementation for this part, your agent needs to determine
the properties of a given square, based on the direct information
received from the environment, and on previously gathered information.
So for each of the adjacent squares of the current square the agent should determine
the following conditions:
is safe (empty)
[E]
contains an obstacle (including walls)
[X]
may contain a pit (possibly with a risk factor)
[P? 0.9]
is known to contain a pit
[P!]
may contain the Wumpus (possibly with a risk factor)
[W? 0.9]
is known to contain the Wumpus
[W!]
contains the gold
[G]
Please use the notation as indicated above.
I will use the following grading guidelines for Part 1:
5 points: Knowledge representation
5 points: Reasoning abilities of the agent
3 points for the README file and documentation of the source code
Part 2: Going for the Gold
Based on your first part, the agent now has to find a path to the square with the gold,
pick up the gold, return to the starting square, and exit the Wumpus world.
The performance of the agent is scored as follows:
P(A) = Gold-Value - Search-Cost - Path-Cost
The search costs for the agent are similar to the ones for the previous assignment:
1 for each interaction with the manager
(e.g. for each query about a tile, and for each update
from the agent to the environment)
3 for each distance hint from the manager
5 for each direction hint from the manager
The path costs for the agent are:
20 for a move from one tile to the next,
10 for shooting the arrow.
The configuration for the Wumpus world with the location of the gold, pits, wumpus, and obstacles
will be provided through the environment. Your agent is expected to work not only with sample environments,
but with any environment that adheres to the Wumpus World specification as provided in the textbook
and in the description of this assignment.
Grading Guidelines
I will use the following grading guidelines for Part 2:
5 points: Successful completion of the task
5 points: Performance of the agent
2 points for the README file and documentation of the source code
Wumpus World Team Option
If you want to tackle a more challenging problem, you can also team up
with a class mate and implement a version with multiple agents and
wumpuses, or where both the agent and the wumpus can move.
In this case it is advisable to slightly modify the rules
in order to increase the chances for the agent.
For example, the smell of the wumpus could be perceivable from a larger distance,
and stronger in the adjacent squares. You could also give the agent
the capability to shoot more than one arrow, but with a significant
cost for each shot.
Some of these modifications may require changes to the environment.
Before you spend significant time on this, it is advisable to check
with John Clayton about the compatibility with the environment,
and with me for the suitability of your approach in general.
Make sure to describe your modified rules and regulations
for the Wumpus World in the README or a help file.