Repeated games. Think relationships. Once you have an accurate grasp of the 'character' of your playmate you can approach optimal results.
For example, the character with the flower hat is a 'detective'. We can assume the initial encounter is a coin-toss choice for her and the rest of her choices determined by 'character'. Of course even her first choice is 'in character' (she is 'testing') but if you know her, even if she starts off with a 'cheat' on her first choice, you start off with a 'cooperate'. After that, there is little mystery as to her choices. Or consider the 'grudger'. If for whatever reason you end up choosing 'cheat' once, you know they will never 'forgive' you. etc.
I don't know if this is the official term for it, but that just sounds like metagaming[1], i.e. incorporating knowledge of the opposing player (or of trends among a group of opposing players) into how you play the game.
For example, the character with the flower hat is a 'detective'. We can assume the initial encounter is a coin-toss choice for her and the rest of her choices determined by 'character'. Of course even her first choice is 'in character' (she is 'testing') but if you know her, even if she starts off with a 'cheat' on her first choice, you start off with a 'cooperate'. After that, there is little mystery as to her choices. Or consider the 'grudger'. If for whatever reason you end up choosing 'cheat' once, you know they will never 'forgive' you. etc.