Argh, I didn’t even think about the “it should be simple to be visibly cooperating” bit. Trying to do static analysis on Scheme (with its conds and cases and quasiquotes) is enough to make my program complicated. Maybe I should just submit a MimicBot instead.
Does MimicBot run the opponent and then return the same result? If so then I suggest a timeout/defect feature. Any bot that fails against itself has problems!
Are there going to be CooperateBots in the competition? If that is a possibility then consider a simple tweak “If my opponent does not make use of its opponent variable then defect else Mimic”. (Failing against unobfuscated CooperateBot is at least as embarrassing as failing against self.)
Btw, just in case anyone was thinking of doing such a thing after the declarations so far: If you do any redefining of syntax, I’m defecting on you.
Anyone who tries that must and doesn’t expect defection must seriously hold the opposition in contempt!
Does MimicBot run the opponent and then return the same result? If so then I suggest a timeout/defect feature. Any bot that fails against itself has problems!
By MimicBot I mean the strategy given in this comment. It’s not great, but it’s better than not ever finishing.
Are there going to be CooperateBots in the competition? If that is a possibility then consider a simple tweak “If my opponent does not make use of its opponent variable then defect else Mimic”. (Failing against unobfuscated CooperateBot is at least as embarrassing as failing against self.)
Hm, that’s not a bad idea. My current program is essentially trying to measure to what extent their output depends on mine, but if I can’t finish that in time, that’s a simple tweak that can be added...
Does MimicBot run the opponent and then return the same result? If so then I suggest a timeout/defect feature. Any bot that fails against itself has problems!
Are there going to be CooperateBots in the competition? If that is a possibility then consider a simple tweak “If my opponent does not make use of its opponent variable then defect else Mimic”. (Failing against unobfuscated CooperateBot is at least as embarrassing as failing against self.)
Anyone who tries that must and doesn’t expect defection must seriously hold the opposition in contempt!
By MimicBot I mean the strategy given in this comment. It’s not great, but it’s better than not ever finishing.
Hm, that’s not a bad idea. My current program is essentially trying to measure to what extent their output depends on mine, but if I can’t finish that in time, that’s a simple tweak that can be added...