ProbabilisticReasoning#

class braintools.cogtask.ProbabilisticReasoning(t_fixation=Quantity(500., 'ms'), t_cue=Quantity(100., 'ms'), t_delay=Quantity(100., 'ms'), num_cues=8, t_response=Quantity(500., 'ms'), num_choices=2, cue_evidence=(-0.08, -0.04, -0.02, -0.01, 0.01, 0.02, 0.04, 0.08), **kwargs)[source]#

Probabilistic Reasoning task.

Agent accumulates log-likelihood evidence from multiple cues. Each cue provides probabilistic evidence for one of two choices.

Structure: Fixation >> (Cue >> Delay) * N >> Response

Parameters:
  • t_fixation (Quantity) – Fixation duration (default: 500ms).

  • t_cue (Quantity) – Duration of each cue (default: 100ms).

  • t_delay (Quantity) – Delay between cues (default: 100ms).

  • num_cues (int) – Number of evidence cues (default: 8).

  • t_response (Quantity) – Response duration (default: 500ms).

  • num_choices (int) – Number of choices (default: 2).

  • cue_evidence (Sequence[float]) – Possible log-likelihood ratios (positive = choice 1) (default: (-0.08, -0.04, -0.02, -0.01, 0.01, 0.02, 0.04, 0.08)).

  • seed (int, optional) – Random seed.

Examples

>>> task = ProbabilisticReasoning()
>>> task = ProbabilisticReasoning(num_cues=12, t_cue=150*u.ms)
>>> X, Y, info = task.sample_trial(0)
define_features()[source]#

Define input and output features.

Override in subclass for class-based task definition.

Return type:

Tuple

Returns:

  • input_features (Feature or FeatureSet) – Input feature definitions.

  • output_features (Feature or FeatureSet) – Output feature definitions.

define_phases()[source]#

Define the phase structure.

Override in subclass for class-based task definition.

Returns:

The task phase structure (single phase or composition).

Return type:

Phase

trial_init(ctx)[source]#

Initialize trial-level state.

Override in subclass to set up trial parameters like ground_truth, stimulus indices, etc.

Parameters:

ctx (Context) – Trial context to populate with state.

Return type:

None