top of page

The Walker’s program describes how it explores the map, assimilating as much information as possible from what it senses. One of the biggest challenges was figuring out how to go about this information processing. Eventually, we decided to give the robot two separate maps: one that stores what was sensed from each square and one that stores what exists at each square. Combining the information from these two maps would give the robot a good picture of its surroundings.

 

However, the key insight that really got the program started was that if the Walker senses, for example, a chill and nothing else from a particular square, it can immediately rule out the possibility of the adjacent squares containing the wumpus or gold. If they did, the robot would have sensed a stench or glimmer. It may seem trivial, but this idea greatly simplified the problem for us and led to the algorithm’s basic idea of finding the possibilities of each square’s surroundings and eliminating them through further exploration.

 

From there, we tried to think of additional ways a human would think about the problem and implemented them in the algorithm. For example, if the wumpus is sensed from two squares on either side of it, we know it must be in the square between them.

 

Because we spent almost all our time on the logic of the information processing, our directions for the Walker’s movement are fairly simple and do not work. The idea was for it to search for known safe squares it has not yet visited and chart a safe path to them. If it has visited all of them and still doesn’t have the gold, it knows it has to kill the wumpus to keep going.

 

Overall, I think our algorithm was pretty good. However, its actual implementation in python code was too complicated and long to refine and get fully working in the time we had.

bottom of page