Wumpus World
By Fu Chai, Dmitri Lopez, and Matthew Mosley
The Wumpus World problem is for an Artificial Intelligence to find treasure in an area while avoiding pitfalls and the Wumpus monster. Once the treasure is found the AI must return to its starting location safely.
![Robot](https://static.wixstatic.com/media/f1d5689280c6462ea92b06c169b00597.jpg/v1/fill/w_490,h_327,al_c,q_80,usm_0.66_1.00_0.01,enc_auto/f1d5689280c6462ea92b06c169b00597.jpg)
Log Book
Meeting 1 (11/23)
For the first day of the project, we broke down the requirements and began prototyping algorithms for each part. The sections we broke them into were adjacent square search and pathfinding sections. Over the course of the meeting, we fleshed out more complete versions of the algorithms and wrote some pseudocode to see how it looked. At the end of the meeting, we created a GitHub repository to store our code in.
Log Book
Meeting 2 (11/30)
We met again to discuss adjustments to the algorithm that would be necessary for it to function properly. We also added the python function that would contain the robot's memory of the maze, as well as what it had found on each square. In addition to this, we began working on this website.
Log Book
Between Meetings 2 and 3
In the time between the second and third meeting, we implemented a simple pathfinding algorithm and discovered that in order for it to function it needed more complex decision-making abilities and worked to modify it. In order to implement these changes, we modified the robot’s memory storing class to add weights to each of the possible tile states and told the robot how to interpret them. This gave the robot surprisingly good execution of most puzzles.
Log Book
Meeting 3 (12/03)
During this meeting, we solidified a plan to add decision making for the shoot function of the robot and continued working on the website. We also began serious testing of the robot’s pathfinding abilities. After coming to these decisions we then began writing our discussion of the project.
Log Book
Between meetings 3 and 4
During this time continued testing and bug fixing the agent as well as adding code to account for some edge cases. We also optimized the pathfinding algorithm to increase the robot’s efficiency and continued to write the project discussion. The robot also gained the ability to more quickly pinpoint where the Wumpus is and shoot it.
Log Book
Meeting 4 (12/7)
During this meeting, we cleaned up the remaining major bugs in the robot and uploaded a finalized version. After that, we continued writing and began editing the project discussion.
The Algorithm
We used a fairly basic algorithm to solve the Wumpus World problem. When the robot lands on a tile, it marks adjacent tiles with potential dangers or the possibility of treasure. Our robot will search out all safe tiles, furthering its knowledge of the board. If the robot has enough information to determine the location of the Wumpus, the Wumpus will be shot and killed. If the robot can not determine an absolutely safe path it will choose the path that has the least risk. Once the robot finds the gold, the robot will take a path among visited tiles to return home.