I wrote an applescript that examines the play and skip counts that iTunes and iPods keep track of to do two things. The first is to estimate the rating (you can set it manually if you want it to converge more quickly). The more important thing it does is to weight how likely a song is to play by not only its rating, but also how long it's been since it has been attempted (ie played or skipped). This means that if you skip a song, it'll play less often on average, and if you let it play, it plays more often. There's a bit more to the details, but I won't go into it here. I was able to steal most of the relevant math from existing statistical techniques.
If you have a mac (needed to run applescript) and use an iPod or iTunes to listen to music (needed as other players don't track skip and play counts) and want to get a copy of the script (it's freeware), let me know. I've been using it for about seven months now and it's ready for further distribution. I've got pretty detailed directions (with pictures), but that's a big thing I want feedback on.
: a psychological condition or a relationship in which a person is controlled or manipulated by another who is affected with a pathological condition (as an addiction to alcohol or heroin) ; broadly : dependence on the needs of or control by another