v1.15.0
SubAgent
contrib and minor QOL upgrades
This release adds save_fig()
kwargs which aer passed directly to matplotlib.save_figure
function so you can modify how figures are saved.
Also adds SubAgent
class in the controls. SubAgent
s take as input, and are "subservient" to, another Agent
(the LeadAgent). The key thing idea is that the SubAgent
may have an update() function which relies heavily on the state of the LeadAgent. Examples included are:
DumbAgent
a noisy version ofLeadAgent
ThetaSequenceAgent
theta sweeps around theLeadAgent
s positionReplayAgent
occasional short replay events
The API is as follows
Env = Environment()
Ag = Agent(Env) # the lead agent
DumbAg = DumbAgent(LeadAgent=Ag, params = {'drift_distance':0.1})
while Ag.t < 60:
Ag.update()
DumbAg.update()
DumbAg.animate_trajectory()
then returns something like:
trajectory_1317.mp4
Full Changelog: v1.14.1...v1.15.0