Having a known number of rounds seems like a problem to me. Everybody wants to defect on the last round. It might be interesting to retry with a number of rounds chosen randomly from 100 to 110 or where after 100 each round has a 25% chance of being the final round. However a large number of matches might be needed to offset the advantages of playing in some matches with a higher than average number of rounds.
The way it goes now, we’re basically playing rock-paper-scissors.
“Tit-for-tat until round 100” is beat by “tit-for-tat until 99“, which is beat by “tit-for-tat until 98”, which is beat by “tit-for-tat until 97” ect. At some point, “tit-for-tat until 100” becomes a winning strategy again, but only once the “tit-for-tat until [some arbitrarily low number]” strategies have become predominant.
If I do a random-length tournament, I’d rather use an exponential distribution of the number of rounds. A little variance in 100 + Random(10) doesn’t make a big difference from the fixed-length matches.
If they are allowed to know the history of the bot they are playing against (that is, what it has done to them) then they have to know how many rounds they’ve played.
Having a known number of rounds seems like a problem to me. Everybody wants to defect on the last round. It might be interesting to retry with a number of rounds chosen randomly from 100 to 110 or where after 100 each round has a 25% chance of being the final round. However a large number of matches might be needed to offset the advantages of playing in some matches with a higher than average number of rounds.
The way it goes now, we’re basically playing rock-paper-scissors.
“Tit-for-tat until round 100” is beat by “tit-for-tat until 99“, which is beat by “tit-for-tat until 98”, which is beat by “tit-for-tat until 97” ect. At some point, “tit-for-tat until 100” becomes a winning strategy again, but only once the “tit-for-tat until [some arbitrarily low number]” strategies have become predominant.
If I do a random-length tournament, I’d rather use an exponential distribution of the number of rounds. A little variance in 100 + Random(10) doesn’t make a big difference from the fixed-length matches.
Perhaps the bots could be scored on their average number of points earned per round?
This would also allow a new option of ‘pay N points to end the match’, which could add some interesting realism.
Or just prohibit the bots from knowing which round they are playing.
If they are allowed to know the history of the bot they are playing against (that is, what it has done to them) then they have to know how many rounds they’ve played.
Sure, but you could have a limit on how many rounds back they remember, or you could fill in the history with some rule.