CSCI 446
Artificial Intelligence
Fall 2015

Montana Tech
Computer Science & Software Engineering



SEMESTER PROJECT

Environment: As we discussed in class, each agent will attempt to find the "gold" in a Wumpus World maze. Each agent will be a Lego NXT robot that will attempt to find the gold before other agents.

The game maze will be set up using reams of paper as walls, and electrical tape outlines on the floor to designate rooms in the "cave". If the room has no characteristics, the floor will be white. The cave dimensions will be 8x8. (I originally said 16x16, but realized this is a *lot* of paper reams, and a *lot* of floor space.) There may be walls within the cave, but these will be minimal (not too much like a maze).

Pits will be randomly placed in the cave, with a probability of 0.2 per square. Agents will also be randomly placed in the cave, with the guarantee that the initial square will be safe (though it may be smelly or breezy).

"Breezy" rooms will have a blue floor. "Smelly" rooms will have a red floor. "Glittery" rooms will have a yellow floor.

Rooms with a combination of these characteristics will combine those colors --
Breezy and smelly = blue and red = purple,
Breezy and glittery = blue and yellow = green,
Smelly and glittery = red and yellow = orange,
Breezy and smelly and glittery = brown.

There will be exactly one wumpus in the cave, and the wumpus will not move. Bats will randomly "pick up" agents and place them in another random square. This square is not guaranteed to be safe.

As we discussed in class, the environment will be partially observable, multi-agent, stochastic, sequential, dynamic, discrete, and known. You will need to determine your own agent architecture and performance measure.

Sensors will include those available on the standard NXT robots - color, distance, and touch. There may be other (nonstandard) sensors available, and I will see what we have. Actuators include what you can build with the three motors. These may not only be used to move from room to room, but also to shoot a wumpus if need be. (You only get one shot.)

It is assumed that once an agent reaches the room with the gold, it picks it up and the game is won. We will distribute robot kits in class in the coming week or two.

In the near future, a sample room will be set up in the museum lab on the table so that you can practice. This will be a 3x3 room with a sampling of all colors.

Competition: In the past we have set this up as a double elimination tournament with agents competing one on one, winners progressing, and losers getting a second chance to remain in the competition. For the first part, then, we will compete two agents at a time. The cave setup will be the same for each round in this part of the competition, although agents may end up being placed in different squares. The final competition will be with all players competing at the same time. As discussed in class, there will only be one wumpus, we can use a button press to signal if that wumpus is killed, and players are not allowed to murder each other and use those corpses for utilitarion or monetary gain.

Implementation:
Each agent should have its own method for playing the game. Approaches that can be used include:
	Rule Based Reasoning		
	Case Based Reasoning		
	Genetic Algorithms			
	Artificial Neural Networks		
	Fuzzy Logic				
	Game Search (using heuristics)
A strategy that requires learning, such as case based reasoning, genetic algorithms or artificial neural networks should be trained prior to the competition, perhaps using randomly generated games and/or opponents. If you have a different AI technique that you would like to try that is not on the list, talk to me. In any case, let me know ahead of time which approach you would like to try so we have a variety of approaches.

TO BE TURNED IN: The final project to be turned in includes: 1. Write up of the method you chose and how you used it to make your agent more effective as a Wumpus World agent. 2. Printed copy of your code. 3. An executable copy of the code along with all the source files required to build the executable and any special instructions needed to build the executable. Have fun!

Submission. Submit the electronic version of your source code via Moodle. Also be sure to print your code and write up and turn in the hardcopy!

Page last updated: November 18, 2015