MASON-INTEREST-L Archives

July 2012

MASON-INTEREST-L@LISTSERV.GMU.EDU

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
Sean Luke <[log in to unmask]>
Reply To:
MASON Multiagent Simulation Toolkit <[log in to unmask]>
Date:
Thu, 19 Jul 2012 18:45:38 -0400
Content-Type:
text/plain
Parts/Attachments:
text/plain (17 lines)
On Jul 19, 2012, at 11:43 AM, Chris Hollander wrote:

> For the simulation I am current working on, we need to schedule agents
> to act based on certain probability distributions (in particular,
> exponential)... Now, I know that I can do this manually by repeatedly
> calling scheduleOnce, or make a wrapper agent to execute an action N ~
> Poi(L) times each step, but I was wondering if it might be possible in
> a future release to get a schedule method that takes in a distribution
> (based off the CERN libraries, maybe) and reschedules the associated
> agent based on that.

I think it should be very easy to make a utility Steppable wrapper (like Sequence or TentativeStep) which does this automatically for you, and would be useful too.  I do *not* think it should be a method in the Schedule: only prosaic things should go there.

There's a few gotchas.  First, this would be the first time that a MASON core class would rely on the distributions package, and I cannot guarantee that CERN's code was right.  Second, CERN's code has an unfortunate misfeature: some of the distributions are function calls, and others are classes.  This makes it problematic to create a consistent API in which someone could plug in any distribution they saw fit.  Maybe by overriding a method, though that's an ugly approach.

Sean

ATOM RSS1 RSS2