Skip to content
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

Heat transfer is stochastic #33

Open
MarcCote opened this issue Nov 4, 2022 · 2 comments
Open

Heat transfer is stochastic #33

MarcCote opened this issue Nov 4, 2022 · 2 comments
Labels
bug Something isn't working help wanted Extra attention is needed
Milestone

Comments

@MarcCote
Copy link
Collaborator

MarcCote commented Nov 4, 2022

Some times running the same sequence of commands in ScienceWorld leads to different outcome (here making steam or not).

Steps to reproduce:

  • Load a ScienceWorld game with taskName=task-1-boil, variationIdx=0, and simplificationStr='teleportAction'.
  • Enter the commands: teleport to kitchen, pour counter into sink, activate sink, use lighter on drawer, and look around
  • Expect to see "a sink, which is turned on. In the sink is: a bowl (containing a red apple, a banana, an orange, a potato, a substance called water), a burned drawer, a substance called steam."

Running that procedure 8 times in a given Python instance, I got

6/8 runs that are missing steam!

Doing it a second time, I got

4/8 runs that are missing steam!

0/8 runs was expected.

@aphedges I'd love to see your changes to fix non determinism in the Scala code.

@MarcCote MarcCote added the bug Something isn't working label Nov 4, 2022
@PeterAJansen
Copy link
Collaborator

Hmm, given that EnvObject uses a Set() instead of an Array() for a storage class for objects (and most of the downstream functions in the e.g. object parser, etc., assume Sets() instead of ordered arrays), it would likely be a significant refactor to switch everything over to Arrays. I think the previous patch for determinism was limited to just showing the objects in the same order in the description text, which was solved with a call to sort the objects by name or object ID in the object description function.

@aphedges
Copy link
Contributor

aphedges commented Nov 4, 2022

@MarcCote, as @PeterAJansen stated, removing all non-determinism would be a large refactor, so I didn't attempt to fix most of it. I would have tried to fix a non-deterministic action if I were aware of it, but the only remaining non-determinism that I knew about was in gold path generation. For that, I only fixed a single task, and the fix interferes with our generation of training data, so I never tried to upstream my patch.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

3 participants