I said that it needed to cooperate with FairBot and with itself (and not for gerrymandered reasons the way that CliqueBots do).
You missed a criteria: That it wouldn’t miss out on a cooperation it could achieve if its strategy were different.
This is impossible to guarantee without thereby being exploitable. Say that there are agents which cooperate iff their opponent cooperates with DefectBot.
Part of the trick is figuring out exactly what kind of optimality we’re looking for, and I don’t have a good definition, but I tend to think of agents like the ones you defined as “not really trying to win according to their stipulated payoff matrix”, and so I’m less worried about optimizing my strategy for them. But those sort of considerations do factor into UDT thinking, which adds entire other layers of confusion.
I said that it needed to cooperate with FairBot and with itself (and not for gerrymandered reasons the way that CliqueBots do).
This is impossible to guarantee without thereby being exploitable. Say that there are agents which cooperate iff their opponent cooperates with DefectBot.
Part of the trick is figuring out exactly what kind of optimality we’re looking for, and I don’t have a good definition, but I tend to think of agents like the ones you defined as “not really trying to win according to their stipulated payoff matrix”, and so I’m less worried about optimizing my strategy for them. But those sort of considerations do factor into UDT thinking, which adds entire other layers of confusion.