Reversal adaptation
What changes during a trial?
reversal_adaptation runs 96 rounds by default. Each round has eight cue ticks,
eight response ticks and eight feedback ticks. One neural frame is one world tick,
so the default full-session horizon is 2,304.
The initial binary cue-to-action mapping is random. It flips at a randomly selected round from 32 through 64 inclusive. The correct mapping is never supplied directly to the controller.
Eight receptors carry cue-left, cue-right, go, feedback-phase, chosen-left, chosen-right, correct and incorrect. Feedback describes the controller’s actual preceding choice. The cue remains visible through response; two effectors choose an action, with ties selecting left.
from brainlesslab import TaskSpecfrom brainlesslab.tasks import definition, resolve
task = TaskSpec("reversal_adaptation", options={"rounds": 96, "reversal_range": [32, 64]})print(resolve(task))print(definition(task))Expect eight inputs, two effectors and horizon 2,304. The reversal range must leave 16 scored rounds; at least 48 total rounds are required.
Keep adaptation within the session
There is no neural reset between rounds. Full reset occurs between independent
sessions. feedback_mode="hidden" removes feedback observations while retaining
the world choices and reversal schedule.
With visible feedback, the observation-based oracle infers the mapping, then updates after a reversal error. Its expected scored result is 15/16 because the first reversed round is unpredictable from previous observations. A fixed-mapping reference does not adapt from feedback. Neither this reference nor the upper bound 1 is a claim about reservoir performance.
Read the primary window
adaptation_accuracy scores the first 16 rounds starting at reversal, including
the first reversed round. It does not average all 96 rounds.
Analytic binary chance is 0.5; the adjusted score is signed. Warm-up is zero.
The current result does not expose historical pre-reversal accuracy or recovery-round metrics as separate primary outcomes. The offline single-episode decoder excludes this task because feedback depends on actions and a session contains multiple rounds.
Use paired interventions for a mechanism question, and treat sessions or fixed-wiring blocks as the independent units.