Add agent activation, event scheduling and time progression tutorials#3280
Add agent activation, event scheduling and time progression tutorials#3280
Conversation
New Tutorial Lineup 1AgentSet (new)get, select, agg, groupby, set, sort, to_list — all about querying and inspecting agents2Agent Activation (new)do, shuffle_do, map — making agents act. Covers random/sequential/simultaneous/staged/type-based/conditional activation. Includes a predator-prey example combining patterns.3Event Scheduling & Time (new)run_for/run_until, schedule_event (at/after), schedule_recurring with Schedule, Priority, cancellation. Complete central bank economy example combining steps + events.
There was a problem hiding this comment.
Can you update the Next Steps at the end as the tutorials have all changed.
|
@EwoutH You have done some incredible work with Mesa, it is really great! I had some minor comments. I am going to hit approve so I don't slow down the process. When we get to Mesa 4 we will probably need to look holistically at the tutorials, but for another day. |
|
Thanks a lot for your extensive review! Will process your comments. @quaquel could you also give this a look, from your professional background? |
|
The new tutorials are not all shown in the docs because |
|
I will do all the updating, renaming and referencing once after the rest is settled |
and fix the reference in 5 to 6
|
I fixed all the numbers, links and references. They are now also rendered in Readthedocs: |
b17d427 to
1054561
Compare
|
Updating/adding tutorials is quite cumbersome with the current numbering systems. Open to ideas on how to improve this. For now, some pointers, if anyone needs to do this in the future:
|
|
A couple of high-level remarks:
|
I first tried it in one but it got quite long. I choose for this order because then you first learn about selections and subsets of agents, and then on letting them do stuff. On the other points, I agree, I will try to find some time. Otherwise it can be a follow-up PR. |
|
Merging, I think this is a net improvement. Any follow-up PRs are welcome. |
I did an attempt to write some tutorials for Agent activation, event scheduling and time progression.
shuffle_do,run_forget,select,agg,groupby,set,sort,to_list— all about querying and inspecting agentsdo,shuffle_do,map— making agents act. Covers random/sequential/simultaneous/staged/type-based/conditional activation. Includes a predator-prey example combining patterns.run_for/run_until,schedule_event(at/after),schedule_recurringwithSchedule,Priority, cancellation. Complete central bank economy example combining steps + events.What I found quite hard is:
step()is deeply embedded in ABM. Not only in Mesa, but in the field in general (NetLogo ticks, etc.). How far do we want to wander from there?We build a lot of ways to Rome, the question is which do we advice by default, and which are a nice bonus?
For now, I think this tutorial strikes an acceptable balance, and it better than not having one at all. But I'm really curious about your thoughts on this.
Rendered in Readthedocs: