swarm-support
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]