-
Notifications
You must be signed in to change notification settings - Fork 122
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Puppets share state in Scenarios #70
Comments
I'll add some additional interpretation of how to understand this issue, and what has changed now that it is fixed. The puppet bots for The bug was that multiple puppet bots playing in the same episode would share state with one another instead of maintaining their own state. So, while it was in effect, when any player defected on any puppet bot then ALL puppet bots would share that state change and consequently start defecting indiscriminately. So, these situations were even more grim than we had intended. As a result, we expect scores will likely increase on the affected For |
More principled fix for #70 PiperOrigin-RevId: 469493212 Change-Id: I3f1ab3917911a03b02b42f50ee40bd03684767fe
Certain puppeteer functions (e.g.
GrimTwoResourceInTheMatrix
) are not pure functions, but areCallable
objects that maintain their own state between__call__
and update it as a side-effect. This means that puppeteer state is not exposed in thePuppetPolicy
state returned byinitial_state
and transformed bystep
.PuppetPolicy
, multiple puppets running in the same Scenario will erroneously share a single puppeteer state between multiple puppets.Both of these issues will cause undefined behavior when running the affected scenarios.
Affected bots:
Affected scenarios:
No other scenarios were affected by this bug.
NOTE: This bug did not affect the evaluations run on these scenarios in the Melting Pot paper.
The text was updated successfully, but these errors were encountered: