Skip to content

Fixes uncoupled generator to behave like legacy - #149

Open
micahwoodard wants to merge 3 commits into
mainfrom
fix-uncoupled-generator
Open

Fixes uncoupled generator to behave like legacy#149
micahwoodard wants to merge 3 commits into
mainfrom
fix-uncoupled-generator

Conversation

@micahwoodard

Copy link
Copy Markdown
Collaborator

Fixes uncoupled generator to behave like legacy. When fed the same animal response and patched to return the same block length and reward probability, both system behave identically. Some notable updates:

  • Added minimum-probability perseveration handling: if the animal keeps choosing the side currently at the minimum reward probability for a configured streak, both block lengths are extended (and perseveration counters are reset after extension).
  • Updated dominance streak reset behavior: when a side’s reward probability changes after hitting the max dominance streak, dominance streak counters are explicitly reset so streak history does not leak into later blocks.
  • Changed block-switch condition from strict greater-than to greater-than-or-equal (>=), so a block can switch as soon as trial count reaches the block length.
  • Reworked reward-probability redraw logic: instead of sampling from a pre-truncated candidate list, it now redraws from the full probability set until it differs from the previous value (via a dedicated redraw helper).

@micahwoodard

micahwoodard commented Aug 16, 2026

Copy link
Copy Markdown
Collaborator Author

Also the uncoupled generator file name is mis typed and curriculum tests are failing due to stage names being mismatched but I will fix later to make the changes clearer in this pr

@micahwoodard

Copy link
Copy Markdown
Collaborator Author

Also some pretty graphs that show they are doing the same thing :)

run 1:
image

run 2:
image

run 3:
image

run 4 for good luck:
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant