What programs (preferably open source) offer play against a computer with fine-grained difficulty-related adjustments? My last serious attempt to get into chess ran into a basic difficulty with the program: with a bit of work, I got to a point where I could beat difficulty 1 or 2 on a scale of 10, but got consistently clobbered when I took on difficulty 3. I have subsequently looked, but not found, chess programs where I can normally find a difficulty that lets me win, say, 40%-60% of the time, and this remains true when I incrementally learn to improve my game.

What, if any, chess engines out there offer finer gradations in the level of difficulty? It would be nice to have engines that offer more than one realistic way of offering an easier opponent. And ideally make mistakes that would make actual sense as an understandable mistake in a game of chess, not arbitrarily weakening the opponent by e.g. having a 1 out of n chance of making a random legal move.

Thanks,
My favorite program for this is Chess Tiger Pro This is a paid app.

You can set difficulty in 50 elo point increments.  Some programs, such as shredder, allow you to set exact rating number.  I like Chess Tiger Pro because it seems to play poorly better than other programs.  I mean more human like mistakes.