I have implemented wumpus problem by prolog by goal-based agent.
I have my original of rules of shooting are not good.
My first version:
if and only if the agent can be sure that the "wumpus" is in front of
him, He will shoot.
The shooting condition is too restrict, that in most time, it is
impossible for agent to collect so much facts to make inference.
3. Because the "arrow(bullet)" quantity is more than 1, I think it is
possible to lower "shooting" condition.
My second version:
If and only if the agent are in the position of "stench" and "wumpus"
doesn't idea, (it means that "wumpus" is near of "wumpus", there is
25% possibility of chance that shooting will kill the "wumpus"), the
The rule seems ok, but in actual implementation, I found the agent
always shooting even the "shooting" fails. I mean "repeated". It
involves in the dead loop.
3. It means that the "shooting" operation should consider "percept",
whether the "wumpus" dies or not. The shooting rule's condition
should be more strict. In addition, the location's "OK(no wumpus and
not pit)" condition should be adjusted. It means "If shooting doesn't
kill the wumpus, it means there is no wumpus" in the position, the
agent can pass it safely (if no pit in the position).
I think even I improve the above "version 2" to "version 3", if there
are many pits in the wumpus world, in many case, the agent can't find
the "gold" and return safely.
Thank you for your attention.