Delayed XOR
What relation is scored?
delayed_xor presents two independently chosen binary cues in separate receptor
banks. The correct response is left when the cues are equal and right when they
differ. This binary relation motivates the XOR name; the response coding is explicit.
The five receptors are first-left, first-right, second-left, second-right and go. Two effectors vote during response only, with ties selecting left. There is one neural frame per world tick.
first cue (8) → gap (32) → second cue (8) → go / response (8)from brainlesslab import TaskSpecfrom brainlesslab.tasks import definition, resolve
task = TaskSpec("delayed_xor", options={"gap": 32})print(resolve(task))print(definition(task))The resolved options include transient cues and eight response ticks. The definition reports five inputs, two effectors and horizon 56. Four presets use gaps 0, 8, 32 and 128.
Exclude simpler solutions
cue_mode="transient" removes each cue after its window.
"persistent" leaves the first bank visible after the first cue and the second bank
visible after the second cue. Both are then available during response, allowing a
memoryless relation computation. "hidden" suppresses both banks while retaining
the episode’s random choices and timing.
The observation-based oracle retains both cues. Last-cue and constant policies cannot in general recover their relation from a transient second cue alone. Pair the visibility conditions with declared world identities.
probe_accuracy gives one binary result per full trial. Chance is 0.5, the
upper bound is 1 and warm-up is zero. A successful delayed relation task does not
establish general symbolic reasoning.
Continue with decoding to separate recoverable cue information from native response success.