I'd try some probabilistic approach: Lets define the forest as a
k array of trees.
At the beginning, each tree has the same probability
1/(n * k) of accomodating the monkey.
After each shot, you can recalculate the probability for each tree by looking at all of its neighbour trees and calculating the product of the previous probability and the probability of the monkey jumping from that tree to the current one. Summing up all these products gives the new probability for the current tree.
Note, that after the first shot, the probabilities aren't equal anymore: The "corner trees" will be less probable, because the probability of the monkey jumping away from them is one, but the probability of him jumping back is only
2/3 (because each of the two neighbours of the corner has three neighbours).
Also, you'll have to set the probability for each tree you shot at to zero (if the shot was unsucessful), because clearly the monkey wasn't there. Again, this "zero" will "propagate" somehow, I guess.
Now my strategy would be to shoot at the tree with the highest probability. But it might also be a good tactic to try to first maximize the probability at some point and then shoot there. I would have to implement this for being sure :).
Note that no algorithm can guarantee that you get the monkey (if the forest is big enough). Assume the monkey was intelligent and knowing your algorithm, he can always escape (since he would be able to predict the next tree you're shooting at, he can always decide to not jump on this tree, assuming each tree has at least two neighbour trees). And the "random" monkey always can just randomly act like an intelligent one and so randomly escape (or btw. accidentially write all of Shakespeare's work on a typewriter ;) ...)