[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Swarm-Support] Grouping agents in an on demand fashion
From: |
Paul Johnson |
Subject: |
Re: [Swarm-Support] Grouping agents in an on demand fashion |
Date: |
Fri, 12 Jun 2009 11:13:55 -0500 |
User-agent: |
Thunderbird 2.0.0.21 (X11/20090409) |
Kyle Hanson wrote:
What I was hoping for was an "on demand" swarm model. For example, if a user changes their profile information it regroups them, but it doesnt bother grouping users that havent been active on the site.
In the Swarm simulation system libraries--which are different from the
term "Swarm Intelligence"--we use the term "dynamic scheduling" to refer
to the kind of "on demand" triggering of actions that you describe. In
the swarmapps-objc, the most notable demonstration of that concept is
mousetrap. Several years ago I became very curious to understand the
details of this and i wrote up some little stand alone demonstrations.
http://pj.freefaculty.org/SwarmFaq/WorkingExampleCode/objc/DynamicScheduling.txt
http://pj.freefaculty.org/SwarmFaq/WorkingExampleCode/objc/pjrepeater.m
http://pj.freefaculty.org/SwarmFaq/WorkingExampleCode/objc/pjrepeater2.m
http://pj.freefaculty.org/SwarmFaq/WorkingExampleCode/objc/pjrepeater3.m
http://pj.freefaculty.org/SwarmFaq/WorkingExampleCode/objc/pjrepeater4.m
http://pj.freefaculty.org/SwarmFaq/WorkingExampleCode/objc/pjrepeater5.m
http://pj.freefaculty.org/SwarmFaq/WorkingExampleCode/objc/pjrepeater6.m
I think you will find the following. Conceptually speaking, using
dynamic scheduling is good. However, it is not necessarily "faster"
than the ordinary "loop through all of the agents" approach. The speed
difference reflects whether or not you have optimally organized your
"loop through all of the agents", actually.
The most "conceptually meaningful" scheduling approach might be to have
a Schedule object for each agent, but that makes the whole model run
more slowly because of the need to interleave the actions of all the
schedules.
On the other hand, it is "almost as conceptually good" to throw actions
onto the schedule at various times and then let the single schedule run
through those accumulated actions. Things will happen in the right order.
pj
--
Paul E. Johnson email: address@hidden
Professor, Political Science http://pj.freefaculty.org
1541 Lilac Lane, Rm 504
University of Kansas Office: (785) 864-9086
Lawrence, Kansas 66044-3177 FAX: (785) 864-5700