1. A method of providing learning capability to a computer game, comprising: identifying a move performed by said game player; selecting one of a plurality of game moves based on a game move probability distribution comprising a plurality of probability values corresponding to said plurality of game moves; determining an outcome of said selected game move relative to said identified player move; updating said game move probability distribution based on said outcome; maintaining a relative score value between said game player and said computer game; determining a current skill level of said game player relative to a current skill level of said computer game based on said maintained relative score; modifying one or more of said game move selection, said outcome determination, and said game move probability distribution update; and repeating the foregoing steps to modify said current skill level of said computer game to continuously and dynamically match said current skill level of the said game player.