To my knowledge, most modern chess programs use some kind of minimax algorithm, effectively choosing the best moves for both sides. So, no matter how poorly I play, at every new move Stockfish expects me to make the strongest possible one. This approach guarantees the strongest, if more conservative, game and makes total sense.
Is there a program that would instead try to build a model of its opponent, assuming the most probable move (based on prior games and knowledge) instead of the strongest possible move?