There was a long discussion on this topic of more "human defense" and how to make the generator do that, a couple months ago in this forum:
http://chesstempo.com/chess-forum/site_feedback/better_defense-t179.0.htmlMaking the search depth very short will not really work to make defenses more human. Programs have all kinds of search extensions for checks, captures, threats, etc. It is not just a simple matter of using a small search depth, but you have to also find a way to disable all the search extensions too, and that gets really messy and produces unpredictable results. For example, Rybka running on depth 2 WILL see a mate in 5 because of the search extensions.
The best way is probably to just look at all defensive moves, count material in those variations produced by the computer, and have the problem play the defense that keeps the most material for the most moves.
For the special cases of mates, you would have to make some heuristics, such as: it is better to allow a mate-in-4 than to lose the queen for a knight on the first move. After making a list of those heuristics, the more "human" defenses could be chosen from all the possible moves by the computer.
But of course then those human defenses have to pass all the tests for acceptable problems (no more than 3 winning moves for the user, 1.0 difference between best and second-best user moves, etc). You don't want to throw a problem out just because the human defense doesn't pass the tests, when the "computer" defense does.