diff --git a/schema/coupled_baiting.json b/schema/coupled_baiting.json index 0355c58..130d59d 100644 --- a/schema/coupled_baiting.json +++ b/schema/coupled_baiting.json @@ -1,7 +1,7 @@ { "pkg_location": "aind_behavior_dynamic_foraging_curricula.coupled_baiting", "name": "Coupled Baiting", - "version": "0.0.3", + "version": "0.0.4", "graph": { "nodes": { "0": { @@ -61,11 +61,11 @@ }, "bias_intervention_parameters": { "threshold": { - "upper": 0.7, - "lower": 0.3 + "upper": 0.5, + "lower": 0.0 }, "intervention_interval": 10, - "maximum_water_corrections": 5, + "maximum_water_corrections": 2, "bias_window_length": 200, "lickspout_offset_delta": 0.05, "reward_fraction": 0.8 @@ -138,14 +138,14 @@ }, "bias_intervention_parameters": { "threshold": { - "upper": 0.7, - "lower": 0.3 + "upper": 0.5, + "lower": 0.0 }, "intervention_interval": 10, - "maximum_water_corrections": 5, + "maximum_water_corrections": 2, "bias_window_length": 200, "lickspout_offset_delta": 0.05, - "reward_fraction": 0.8 + "reward_fraction": 0.5 }, "is_baiting": true, "reward_probability_parameters": { @@ -243,14 +243,14 @@ }, "bias_intervention_parameters": { "threshold": { - "upper": 0.7, - "lower": 0.3 + "upper": 0.5, + "lower": 0.0 }, "intervention_interval": 10, - "maximum_water_corrections": 5, + "maximum_water_corrections": 2, "bias_window_length": 200, "lickspout_offset_delta": 0.05, - "reward_fraction": 0.8 + "reward_fraction": 0.5 }, "is_baiting": true, "reward_probability_parameters": { @@ -346,14 +346,14 @@ }, "bias_intervention_parameters": { "threshold": { - "upper": 0.7, - "lower": 0.3 + "upper": 0.5, + "lower": 0.0 }, "intervention_interval": 10, - "maximum_water_corrections": 5, + "maximum_water_corrections": 2, "bias_window_length": 200, "lickspout_offset_delta": 0.05, - "reward_fraction": 0.8 + "reward_fraction": 0.5 }, "is_baiting": true, "reward_probability_parameters": { @@ -449,14 +449,14 @@ }, "bias_intervention_parameters": { "threshold": { - "upper": 0.7, - "lower": 0.3 + "upper": 0.5, + "lower": 0.0 }, "intervention_interval": 10, - "maximum_water_corrections": 5, + "maximum_water_corrections": 2, "bias_window_length": 200, "lickspout_offset_delta": 0.05, - "reward_fraction": 0.8 + "reward_fraction": 0.5 }, "is_baiting": true, "reward_probability_parameters": { @@ -548,14 +548,14 @@ "autowater_parameters": null, "bias_intervention_parameters": { "threshold": { - "upper": 0.7, - "lower": 0.3 + "upper": 0.5, + "lower": 0.0 }, "intervention_interval": 10, - "maximum_water_corrections": 5, + "maximum_water_corrections": 2, "bias_window_length": 200, "lickspout_offset_delta": 0.05, - "reward_fraction": 0.8 + "reward_fraction": 0.5 }, "is_baiting": true, "reward_probability_parameters": { @@ -655,14 +655,14 @@ "autowater_parameters": null, "bias_intervention_parameters": { "threshold": { - "upper": 0.7, - "lower": 0.3 + "upper": 0.5, + "lower": 0.0 }, "intervention_interval": 10, - "maximum_water_corrections": 5, + "maximum_water_corrections": 2, "bias_window_length": 200, "lickspout_offset_delta": 0.05, - "reward_fraction": 0.8 + "reward_fraction": 0.5 }, "is_baiting": true, "reward_probability_parameters": { diff --git a/schema/uncoupled.json b/schema/uncoupled.json index fdd4a50..85951f7 100644 --- a/schema/uncoupled.json +++ b/schema/uncoupled.json @@ -1,7 +1,7 @@ { "pkg_location": "aind_behavior_dynamic_foraging_curricula.uncoupled", "name": "Uncoupled Without Baiting", - "version": "0.0.3", + "version": "0.0.4", "graph": { "nodes": { "0": { @@ -61,11 +61,11 @@ }, "bias_intervention_parameters": { "threshold": { - "upper": 0.7, - "lower": 0.3 + "upper": 0.5, + "lower": 0.0 }, "intervention_interval": 10, - "maximum_water_corrections": 5, + "maximum_water_corrections": 2, "bias_window_length": 200, "lickspout_offset_delta": 0.05, "reward_fraction": 0.8 @@ -138,14 +138,14 @@ }, "bias_intervention_parameters": { "threshold": { - "upper": 0.7, - "lower": 0.3 + "upper": 0.5, + "lower": 0.0 }, "intervention_interval": 10, - "maximum_water_corrections": 5, + "maximum_water_corrections": 2, "bias_window_length": 200, "lickspout_offset_delta": 0.05, - "reward_fraction": 0.8 + "reward_fraction": 0.5 }, "is_baiting": true, "reward_probability_parameters": { @@ -243,14 +243,14 @@ }, "bias_intervention_parameters": { "threshold": { - "upper": 0.7, - "lower": 0.3 + "upper": 0.5, + "lower": 0.0 }, "intervention_interval": 10, - "maximum_water_corrections": 5, + "maximum_water_corrections": 2, "bias_window_length": 200, "lickspout_offset_delta": 0.05, - "reward_fraction": 0.8 + "reward_fraction": 0.5 }, "is_baiting": true, "reward_probability_parameters": { @@ -346,14 +346,14 @@ }, "bias_intervention_parameters": { "threshold": { - "upper": 0.7, - "lower": 0.3 + "upper": 0.5, + "lower": 0.0 }, "intervention_interval": 10, - "maximum_water_corrections": 5, + "maximum_water_corrections": 2, "bias_window_length": 200, "lickspout_offset_delta": 0.05, - "reward_fraction": 0.8 + "reward_fraction": 0.5 }, "is_baiting": false, "reward_probability_parameters": { @@ -446,14 +446,14 @@ }, "bias_intervention_parameters": { "threshold": { - "upper": 0.7, - "lower": 0.3 + "upper": 0.5, + "lower": 0.0 }, "intervention_interval": 10, - "maximum_water_corrections": 5, + "maximum_water_corrections": 2, "bias_window_length": 200, "lickspout_offset_delta": 0.05, - "reward_fraction": 0.8 + "reward_fraction": 0.5 }, "is_baiting": false, "trial_generation_end_parameters": { @@ -532,14 +532,14 @@ "autowater_parameters": null, "bias_intervention_parameters": { "threshold": { - "upper": 0.7, - "lower": 0.3 + "upper": 0.5, + "lower": 0.0 }, "intervention_interval": 10, - "maximum_water_corrections": 5, + "maximum_water_corrections": 2, "bias_window_length": 200, "lickspout_offset_delta": 0.05, - "reward_fraction": 0.8 + "reward_fraction": 0.5 }, "is_baiting": false, "trial_generation_end_parameters": { @@ -618,11 +618,11 @@ "autowater_parameters": null, "bias_intervention_parameters": { "threshold": { - "upper": 0.7, - "lower": 0.3 + "upper": 0.5, + "lower": 0.0 }, "intervention_interval": 10, - "maximum_water_corrections": 5, + "maximum_water_corrections": 2, "bias_window_length": 200, "lickspout_offset_delta": 0.05, "reward_fraction": 0.8 diff --git a/schema/uncoupled_baiting.json b/schema/uncoupled_baiting.json index ddfa5ce..20e059f 100644 --- a/schema/uncoupled_baiting.json +++ b/schema/uncoupled_baiting.json @@ -1,7 +1,7 @@ { "pkg_location": "aind_behavior_dynamic_foraging_curricula.uncoupled_baiting", "name": "Uncoupled Baiting", - "version": "0.0.3", + "version": "0.0.4", "graph": { "nodes": { "0": { @@ -61,11 +61,11 @@ }, "bias_intervention_parameters": { "threshold": { - "upper": 0.7, - "lower": 0.3 + "upper": 0.5, + "lower": 0.0 }, "intervention_interval": 10, - "maximum_water_corrections": 5, + "maximum_water_corrections": 2, "bias_window_length": 200, "lickspout_offset_delta": 0.05, "reward_fraction": 0.8 @@ -138,14 +138,14 @@ }, "bias_intervention_parameters": { "threshold": { - "upper": 0.7, - "lower": 0.3 + "upper": 0.5, + "lower": 0.0 }, "intervention_interval": 10, - "maximum_water_corrections": 5, + "maximum_water_corrections": 2, "bias_window_length": 200, "lickspout_offset_delta": 0.05, - "reward_fraction": 0.8 + "reward_fraction": 0.5 }, "is_baiting": true, "reward_probability_parameters": { @@ -243,14 +243,14 @@ }, "bias_intervention_parameters": { "threshold": { - "upper": 0.7, - "lower": 0.3 + "upper": 0.5, + "lower": 0.0 }, "intervention_interval": 10, - "maximum_water_corrections": 5, + "maximum_water_corrections": 2, "bias_window_length": 200, "lickspout_offset_delta": 0.05, - "reward_fraction": 0.8 + "reward_fraction": 0.5 }, "is_baiting": true, "reward_probability_parameters": { @@ -346,14 +346,14 @@ }, "bias_intervention_parameters": { "threshold": { - "upper": 0.7, - "lower": 0.3 + "upper": 0.5, + "lower": 0.0 }, "intervention_interval": 10, - "maximum_water_corrections": 5, + "maximum_water_corrections": 2, "bias_window_length": 200, "lickspout_offset_delta": 0.05, - "reward_fraction": 0.8 + "reward_fraction": 0.5 }, "is_baiting": true, "reward_probability_parameters": { @@ -446,14 +446,14 @@ }, "bias_intervention_parameters": { "threshold": { - "upper": 0.7, - "lower": 0.3 + "upper": 0.5, + "lower": 0.0 }, "intervention_interval": 10, - "maximum_water_corrections": 5, + "maximum_water_corrections": 2, "bias_window_length": 200, "lickspout_offset_delta": 0.05, - "reward_fraction": 0.8 + "reward_fraction": 0.5 }, "is_baiting": true, "trial_generation_end_parameters": { @@ -532,11 +532,11 @@ "autowater_parameters": null, "bias_intervention_parameters": { "threshold": { - "upper": 0.7, - "lower": 0.3 + "upper": 0.5, + "lower": 0.0 }, "intervention_interval": 10, - "maximum_water_corrections": 5, + "maximum_water_corrections": 2, "bias_window_length": 200, "lickspout_offset_delta": 0.05, "reward_fraction": 0.8 @@ -618,14 +618,14 @@ "autowater_parameters": null, "bias_intervention_parameters": { "threshold": { - "upper": 0.7, - "lower": 0.3 + "upper": 0.5, + "lower": 0.0 }, "intervention_interval": 10, - "maximum_water_corrections": 5, + "maximum_water_corrections": 2, "bias_window_length": 200, "lickspout_offset_delta": 0.05, - "reward_fraction": 0.8 + "reward_fraction": 0.5 }, "is_baiting": true, "trial_generation_end_parameters": { diff --git a/src/aind_behavior_dynamic_foraging/task_logic/interventions/bias_intervention.py b/src/aind_behavior_dynamic_foraging/task_logic/interventions/bias_intervention.py index ddb5e9b..fe6a8cd 100644 --- a/src/aind_behavior_dynamic_foraging/task_logic/interventions/bias_intervention.py +++ b/src/aind_behavior_dynamic_foraging/task_logic/interventions/bias_intervention.py @@ -88,7 +88,7 @@ def are_antibias_conditions_met(self, bias: float) -> bool: return True # bias intervention only when the spout is currently off-center. - if abs(bias) <= self.parameters.threshold.lower and self.total_lickspout_offset != 0: + if abs(bias) < self.parameters.threshold.lower and self.total_lickspout_offset != 0: logger.debug("Bias calculated below threshold: %s." % bias) return True self.trials_in_bias_intervention += 1 @@ -130,7 +130,7 @@ def determine_antibias_intervention(self, bias: float) -> tuple[Optional[bool], self.water_corrections = 0 elif ( - abs(bias) <= self.parameters.threshold.lower and self.total_lickspout_offset != 0 + abs(bias) < self.parameters.threshold.lower and self.total_lickspout_offset != 0 ): # bias below lower threshold, move back towards center logger.debug("Moving lickspout back toward center.") delta = min(self.parameters.lickspout_offset_delta, abs(self.total_lickspout_offset)) diff --git a/uv.lock b/uv.lock index 7a187f3..4ed556f 100644 --- a/uv.lock +++ b/uv.lock @@ -105,7 +105,7 @@ docs = [ [[package]] name = "aind-behavior-dynamic-foraging-curricula" -version = "0.0.3" +version = "0.0.4" source = { editable = "workspace/aind_behavior_dynamic_foraging_curricula" } dependencies = [ { name = "aind-behavior-curriculum" }, diff --git a/workspace/aind_behavior_dynamic_foraging_curricula/pyproject.toml b/workspace/aind_behavior_dynamic_foraging_curricula/pyproject.toml index c4e791e..3464275 100644 --- a/workspace/aind_behavior_dynamic_foraging_curricula/pyproject.toml +++ b/workspace/aind_behavior_dynamic_foraging_curricula/pyproject.toml @@ -10,7 +10,7 @@ authors = [ {name = "Micah Woodard", email = "micah.woodard@alleninstitute.org"} ] license = "MIT" -version = "0.0.3" +version = "0.0.4" requires-python = ">=3.11" classifiers = [ "Programming Language :: Python :: 3.11", diff --git a/workspace/aind_behavior_dynamic_foraging_curricula/src/aind_behavior_dynamic_foraging_curricula/coupled_baiting/stages.py b/workspace/aind_behavior_dynamic_foraging_curricula/src/aind_behavior_dynamic_foraging_curricula/coupled_baiting/stages.py index 12eae5b..0f28006 100644 --- a/workspace/aind_behavior_dynamic_foraging_curricula/src/aind_behavior_dynamic_foraging_curricula/coupled_baiting/stages.py +++ b/workspace/aind_behavior_dynamic_foraging_curricula/src/aind_behavior_dynamic_foraging_curricula/coupled_baiting/stages.py @@ -3,6 +3,10 @@ AindDynamicForagingTaskLogic, AindDynamicForagingTaskParameters, ) +from aind_behavior_dynamic_foraging.task_logic.interventions.bias_intervention import ( + BiasInterventionParameters, + BiasThreshold, +) from aind_behavior_dynamic_foraging.task_logic.trial_generators import ( CoupledTrialGeneratorSpec, CoupledWarmupTrialGeneratorSpec, @@ -59,6 +63,14 @@ def make_s_stage_1_warmup(): autowater_parameters=AutoWaterParameters( min_ignored_trials=0, min_unrewarded_trials=0, reward_fraction=0.8 ), + bias_intervention_parameters=BiasInterventionParameters( + threshold=BiasThreshold(upper=0.5, lower=0.0), + intervention_interval=10, + maximum_water_corrections=2, + bias_window_length=200, + lickspout_offset_delta=0.05, + reward_fraction=0.8, + ), ), CoupledTrialGeneratorSpec( reward_size=RewardSize(right=4.0, left=4.0), @@ -94,6 +106,14 @@ def make_s_stage_1_warmup(): autowater_parameters=AutoWaterParameters( min_ignored_trials=3, min_unrewarded_trials=3, reward_fraction=0.5 ), + bias_intervention_parameters=BiasInterventionParameters( + threshold=BiasThreshold(upper=0.5, lower=0.0), + intervention_interval=10, + maximum_water_corrections=2, + bias_window_length=200, + lickspout_offset_delta=0.05, + reward_fraction=0.5, + ), ), ] ), @@ -143,6 +163,14 @@ def make_s_stage_1(): autowater_parameters=AutoWaterParameters( min_ignored_trials=5, min_unrewarded_trials=5, reward_fraction=0.5 ), + bias_intervention_parameters=BiasInterventionParameters( + threshold=BiasThreshold(upper=0.5, lower=0.0), + intervention_interval=10, + maximum_water_corrections=2, + bias_window_length=200, + lickspout_offset_delta=0.05, + reward_fraction=0.5, + ), ), ), ), @@ -190,6 +218,14 @@ def make_s_stage_2(): autowater_parameters=AutoWaterParameters( min_ignored_trials=7, min_unrewarded_trials=7, reward_fraction=0.5 ), + bias_intervention_parameters=BiasInterventionParameters( + threshold=BiasThreshold(upper=0.5, lower=0.0), + intervention_interval=10, + maximum_water_corrections=2, + bias_window_length=200, + lickspout_offset_delta=0.05, + reward_fraction=0.5, + ), ), ), ), @@ -237,6 +273,14 @@ def make_s_stage_3(): autowater_parameters=AutoWaterParameters( min_ignored_trials=10, min_unrewarded_trials=10, reward_fraction=0.5 ), + bias_intervention_parameters=BiasInterventionParameters( + threshold=BiasThreshold(upper=0.5, lower=0.0), + intervention_interval=10, + maximum_water_corrections=2, + bias_window_length=200, + lickspout_offset_delta=0.05, + reward_fraction=0.5, + ), ), ), ), @@ -278,6 +322,14 @@ def make_s_stage_final(): reward_consumption_duration=3.0, kernel_size=2, autowater_parameters=None, + bias_intervention_parameters=BiasInterventionParameters( + threshold=BiasThreshold(upper=0.5, lower=0.0), + intervention_interval=10, + maximum_water_corrections=2, + bias_window_length=200, + lickspout_offset_delta=0.05, + reward_fraction=0.5, + ), ), ), ), @@ -319,6 +371,14 @@ def make_s_stage_graduated(): reward_consumption_duration=3.0, kernel_size=2, autowater_parameters=None, + bias_intervention_parameters=BiasInterventionParameters( + threshold=BiasThreshold(upper=0.5, lower=0.0), + intervention_interval=10, + maximum_water_corrections=2, + bias_window_length=200, + lickspout_offset_delta=0.05, + reward_fraction=0.5, + ), ), ), ), diff --git a/workspace/aind_behavior_dynamic_foraging_curricula/src/aind_behavior_dynamic_foraging_curricula/uncoupled/stages.py b/workspace/aind_behavior_dynamic_foraging_curricula/src/aind_behavior_dynamic_foraging_curricula/uncoupled/stages.py index b228de9..0a08c83 100644 --- a/workspace/aind_behavior_dynamic_foraging_curricula/src/aind_behavior_dynamic_foraging_curricula/uncoupled/stages.py +++ b/workspace/aind_behavior_dynamic_foraging_curricula/src/aind_behavior_dynamic_foraging_curricula/uncoupled/stages.py @@ -3,6 +3,10 @@ AindDynamicForagingTaskLogic, AindDynamicForagingTaskParameters, ) +from aind_behavior_dynamic_foraging.task_logic.interventions.bias_intervention import ( + BiasInterventionParameters, + BiasThreshold, +) from aind_behavior_dynamic_foraging.task_logic.trial_generators import ( CoupledTrialGeneratorSpec, CoupledWarmupTrialGeneratorSpec, @@ -74,6 +78,14 @@ def make_s_stage_1_warmup(): is_baiting=True, response_duration=5.0, reward_consumption_duration=1.0, + bias_intervention_parameters=BiasInterventionParameters( + threshold=BiasThreshold(upper=0.5, lower=0.0), + intervention_interval=10, + maximum_water_corrections=2, + bias_window_length=200, + lickspout_offset_delta=0.05, + reward_fraction=0.8, + ), ), CoupledTrialGeneratorSpec( reward_size=RewardSize(right=4.0, left=4.0), @@ -109,6 +121,14 @@ def make_s_stage_1_warmup(): response_duration=5.0, reward_consumption_duration=1.0, kernel_size=2, + bias_intervention_parameters=BiasInterventionParameters( + threshold=BiasThreshold(upper=0.5, lower=0.0), + intervention_interval=10, + maximum_water_corrections=2, + bias_window_length=200, + lickspout_offset_delta=0.05, + reward_fraction=0.5, + ), ), ] ), @@ -129,6 +149,14 @@ def make_s_stage_1(): autowater_parameters=AutoWaterParameters( reward_fraction=0.5, min_ignored_trials=5, min_unrewarded_trials=5 ), + bias_intervention_parameters=BiasInterventionParameters( + threshold=BiasThreshold(upper=0.5, lower=0.0), + intervention_interval=10, + maximum_water_corrections=2, + bias_window_length=200, + lickspout_offset_delta=0.05, + reward_fraction=0.5, + ), trial_generation_end_parameters=CoupledTrialGenerationEndConditions( max_trial=1000, max_time=4500, @@ -176,6 +204,14 @@ def make_s_stage_2(): autowater_parameters=AutoWaterParameters( reward_fraction=0.5, min_ignored_trials=7, min_unrewarded_trials=7 ), + bias_intervention_parameters=BiasInterventionParameters( + threshold=BiasThreshold(upper=0.5, lower=0.0), + intervention_interval=10, + maximum_water_corrections=2, + bias_window_length=200, + lickspout_offset_delta=0.05, + reward_fraction=0.5, + ), trial_generation_end_parameters=CoupledTrialGenerationEndConditions( max_trial=1000, max_time=4500, @@ -223,6 +259,14 @@ def make_s_stage_3(): autowater_parameters=AutoWaterParameters( reward_fraction=0.5, min_ignored_trials=10, min_unrewarded_trials=10 ), + bias_intervention_parameters=BiasInterventionParameters( + threshold=BiasThreshold(upper=0.5, lower=0.0), + intervention_interval=10, + maximum_water_corrections=2, + bias_window_length=200, + lickspout_offset_delta=0.05, + reward_fraction=0.5, + ), trial_generation_end_parameters=UncoupledTrialGenerationEndConditions( max_trial=1000, max_time=4500, @@ -277,6 +321,14 @@ def make_s_stage_final(): is_baiting=False, response_duration=1.0, reward_consumption_duration=3.0, + bias_intervention_parameters=BiasInterventionParameters( + threshold=BiasThreshold(upper=0.5, lower=0.0), + intervention_interval=10, + maximum_water_corrections=2, + bias_window_length=200, + lickspout_offset_delta=0.05, + reward_fraction=0.5, + ), ), ), ), @@ -293,6 +345,14 @@ def make_s_stage_graduated(): trial_generator=UncoupledTrialGeneratorSpec( reward_size=RewardSize(right=2.0, left=2.0), autowater_parameters=None, + bias_intervention_parameters=BiasInterventionParameters( + threshold=BiasThreshold(upper=0.5, lower=0.0), + intervention_interval=10, + maximum_water_corrections=2, + bias_window_length=200, + lickspout_offset_delta=0.05, + reward_fraction=0.8, + ), trial_generation_end_parameters=UncoupledTrialGenerationEndConditions( max_trial=1000, max_time=4500, diff --git a/workspace/aind_behavior_dynamic_foraging_curricula/src/aind_behavior_dynamic_foraging_curricula/uncoupled_baiting/stages.py b/workspace/aind_behavior_dynamic_foraging_curricula/src/aind_behavior_dynamic_foraging_curricula/uncoupled_baiting/stages.py index 22e0a78..f3a5ea6 100644 --- a/workspace/aind_behavior_dynamic_foraging_curricula/src/aind_behavior_dynamic_foraging_curricula/uncoupled_baiting/stages.py +++ b/workspace/aind_behavior_dynamic_foraging_curricula/src/aind_behavior_dynamic_foraging_curricula/uncoupled_baiting/stages.py @@ -3,6 +3,10 @@ AindDynamicForagingTaskLogic, AindDynamicForagingTaskParameters, ) +from aind_behavior_dynamic_foraging.task_logic.interventions.bias_intervention import ( + BiasInterventionParameters, + BiasThreshold, +) from aind_behavior_dynamic_foraging.task_logic.trial_generators import ( CoupledTrialGeneratorSpec, CoupledWarmupTrialGeneratorSpec, @@ -74,6 +78,14 @@ def make_s_stage_1_warmup(): autowater_parameters=AutoWaterParameters( reward_fraction=0.8, min_ignored_trials=0, min_unrewarded_trials=0 ), + bias_intervention_parameters=BiasInterventionParameters( + threshold=BiasThreshold(upper=0.5, lower=0.0), + intervention_interval=10, + maximum_water_corrections=2, + bias_window_length=200, + lickspout_offset_delta=0.05, + reward_fraction=0.8, + ), ), CoupledTrialGeneratorSpec( reward_size=RewardSize(right=4.0, left=4.0), @@ -109,6 +121,14 @@ def make_s_stage_1_warmup(): autowater_parameters=AutoWaterParameters( reward_fraction=0.5, min_ignored_trials=3, min_unrewarded_trials=3 ), + bias_intervention_parameters=BiasInterventionParameters( + threshold=BiasThreshold(upper=0.5, lower=0.0), + intervention_interval=10, + maximum_water_corrections=2, + bias_window_length=200, + lickspout_offset_delta=0.05, + reward_fraction=0.5, + ), ), ] ), @@ -158,6 +178,14 @@ def make_s_stage_1(): autowater_parameters=AutoWaterParameters( reward_fraction=0.5, min_ignored_trials=5, min_unrewarded_trials=5 ), + bias_intervention_parameters=BiasInterventionParameters( + threshold=BiasThreshold(upper=0.5, lower=0.0), + intervention_interval=10, + maximum_water_corrections=2, + bias_window_length=200, + lickspout_offset_delta=0.05, + reward_fraction=0.5, + ), ), ), ), @@ -205,6 +233,14 @@ def make_s_stage_2(): autowater_parameters=AutoWaterParameters( reward_fraction=0.5, min_ignored_trials=7, min_unrewarded_trials=7 ), + bias_intervention_parameters=BiasInterventionParameters( + threshold=BiasThreshold(upper=0.5, lower=0.0), + intervention_interval=10, + maximum_water_corrections=2, + bias_window_length=200, + lickspout_offset_delta=0.05, + reward_fraction=0.5, + ), ), ), ), @@ -242,6 +278,14 @@ def make_s_stage_3(): autowater_parameters=AutoWaterParameters( reward_fraction=0.5, min_ignored_trials=10, min_unrewarded_trials=10 ), + bias_intervention_parameters=BiasInterventionParameters( + threshold=BiasThreshold(upper=0.5, lower=0.0), + intervention_interval=10, + maximum_water_corrections=2, + bias_window_length=200, + lickspout_offset_delta=0.05, + reward_fraction=0.5, + ), ), ), ), @@ -277,6 +321,14 @@ def make_s_stage_final(): response_duration=1.0, reward_consumption_duration=3.0, autowater_parameters=None, + bias_intervention_parameters=BiasInterventionParameters( + threshold=BiasThreshold(upper=0.5, lower=0.0), + intervention_interval=10, + maximum_water_corrections=2, + bias_window_length=200, + lickspout_offset_delta=0.05, + reward_fraction=0.8, + ), ), ), ), @@ -312,6 +364,14 @@ def make_s_stage_graduated(): response_duration=1.0, reward_consumption_duration=3.0, autowater_parameters=None, + bias_intervention_parameters=BiasInterventionParameters( + threshold=BiasThreshold(upper=0.5, lower=0.0), + intervention_interval=10, + maximum_water_corrections=2, + bias_window_length=200, + lickspout_offset_delta=0.05, + reward_fraction=0.5, + ), ), ), ),