The design uses a knowledge base to store known information about each location. A rule set is then used to determine what actions the agent should take based upon the information known. The knowledge base uses a forward chaining concept on its tell(percepts) function to add new information to its array of locations. It then uses a backward chaining concept on the ask(location) function to find all possible information about a particular location.
While the knowledge base is somewhat stable, the functionality of the agent can be changed quite drastically by manipulating the rule set. For now, I have the agent programmed to choose its next action based on a random function that is run on a weighted set of possibilities. For example, if the agent’s first choice of move location would be a location that has not been visited that is in the same direction currently being traveled.
The wumpus world program also included a player view of the wumpus world, so that the user can play the part of the agent. The program still has some buggy behavior, but the agent consistently finds the gold in the case that it is not forced to choose between two unknown locations.