Fun! Note that the “automatic recognition of self” and “group, not individual fitness” rules are different from many such contests. I think it’s likely that this allows super-simple bots to win, if the initial mix allows them to get past the first few iterations.
I’d predict three-bot is the most likely simple winner—it gets full value against itself (as does everyone), and gets some points for all opponents’ probes and complex signaling (that includes bidding 0, 1, or 2). It NEVER gives an opponent more points than it gets.
When you add in truly sophisticated bots, who exploit each other based on knowledge of the mix of opponents, they can do enough better in early rounds for three-bot to never get critical mass. Likewise for coordinated bots who can accurately detect each other, getting full value for more cases than non-coordinated ones.
edit: after reading Zvi’s old posts, I realize two things:
auto-self-recognition (but not auto-partner recognition) is weird, and probably changes the correct explore-exploit strategy significantly. Perhaps not as far toward the simple as I propose, above—partner recognition is going to be important.
starting mix matters a whole lot. it’ll be a very different game with 100,000 initial programs than with 50. And there will be a groupthink component—there’s no way to avoid the meta-game of un-enforced partnerships.
I’d predict three-bot is the most likely simple winner
I hope not too many other clique members submitted 3-bot (we will destroy each other then, assuming multicore hasn’t already taken over by the showdown time).
Wouldn’t three-bot only get a few points against tit-for-tat bots? I agree it can’t do worse than its opponent (meaning it would at worst tie if it is one of the last two bots), but bots that can cooperate or even two-bot could be raking in a lot more points as long as the population of bots isn’t dominated by three-bot.
For example, in a given round if three-bot is versing tit for tat, it might get a few points right away and then no more, but in that same round, two tit for tat bots or a tit for tat and a two-bot are getting a comparatively large amount of points meaning they will dominate later rounds so I think two-bot is a better simple strategy than three-bot (granted it will not win).
Auto-self-recognition is trivial when you have the ability to read opponent’s source code. You can detect you’re playing against a copy of yourself and your ‘opponent’ will do the same. Although in this case you will lose a small amount of points randomly deciding which bot will choose 3 and the other 2 assuming there is no deterministic way to differentiate the clones.
ETA: I see that you posted your comment before Isusr said you could view opponent’s source.
Fun! Note that the “automatic recognition of self” and “group, not individual fitness” rules are different from many such contests. I think it’s likely that this allows super-simple bots to win, if the initial mix allows them to get past the first few iterations.
I’d predict three-bot is the most likely simple winner—it gets full value against itself (as does everyone), and gets some points for all opponents’ probes and complex signaling (that includes bidding 0, 1, or 2). It NEVER gives an opponent more points than it gets.
When you add in truly sophisticated bots, who exploit each other based on knowledge of the mix of opponents, they can do enough better in early rounds for three-bot to never get critical mass. Likewise for coordinated bots who can accurately detect each other, getting full value for more cases than non-coordinated ones.
edit: after reading Zvi’s old posts, I realize two things:
auto-self-recognition (but not auto-partner recognition) is weird, and probably changes the correct explore-exploit strategy significantly. Perhaps not as far toward the simple as I propose, above—partner recognition is going to be important.
starting mix matters a whole lot. it’ll be a very different game with 100,000 initial programs than with 50. And there will be a groupthink component—there’s no way to avoid the meta-game of un-enforced partnerships.
I hope not too many other clique members submitted 3-bot (we will destroy each other then, assuming multicore hasn’t already taken over by the showdown time).
Wouldn’t three-bot only get a few points against tit-for-tat bots? I agree it can’t do worse than its opponent (meaning it would at worst tie if it is one of the last two bots), but bots that can cooperate or even two-bot could be raking in a lot more points as long as the population of bots isn’t dominated by three-bot.
For example, in a given round if three-bot is versing tit for tat, it might get a few points right away and then no more, but in that same round, two tit for tat bots or a tit for tat and a two-bot are getting a comparatively large amount of points meaning they will dominate later rounds so I think two-bot is a better simple strategy than three-bot (granted it will not win).
Auto-self-recognition is trivial when you have the ability to read opponent’s source code. You can detect you’re playing against a copy of yourself and your ‘opponent’ will do the same. Although in this case you will lose a small amount of points randomly deciding which bot will choose 3 and the other 2 assuming there is no deterministic way to differentiate the clones.
ETA: I see that you posted your comment before Isusr said you could view opponent’s source.