October 2006


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
Maciej M Latek <[log in to unmask]>
Reply To:
MASON Multiagent Simulation Toolkit <[log in to unmask]>
Tue, 10 Oct 2006 00:48:08 -0400
text/plain (70 lines)
Professor Luke, Gabriel

The console thingy is the way I've already tried (it is so brutal that one can't really miss it, :-)), but I see I did it the wrong way. Doloops are very intriguing indeed.

Nevertheless, the objective is to get it to work with GUI-less version. I will definitely get up earlier tomorrow to play with your suggestions. Now I have to finish writing up Joey's nemesis.

Thanks for suggestions, I will report tomorrow.

Best regards,

Maciek Latek

----- Original Message -----
From: Sean Luke <[log in to unmask]>
Date: Tuesday, October 10, 2006 0:28 am
Subject: Re: Scheduling a restart

> On Oct 8, 2006, at 9:50 PM, Maciej M Latek wrote:
> > I need to solve a problem concerning stopping and restarting a
> > simulation. My bless point is to have a function on a schedule,
> > which in each step checks a condition for ending a given run, if
> > false does nothing, if true does some reporting, resets
> simulation
> > parameters to some new values and restarts the simulation.
> >
> > Now, the condition checking, reporting and resetting values
> works
> > fine, unfortunately I'm not able to get simulation started once
> > again after finishing the first run (I'm using the start()
> SimState
> > method).
> If you're using the command line, it's fairly straightforward:
> write
> your on top-level MASON loop.
> A basic loop is really pretty simple; I think we cover it in one
> of
> the tutorials. All you have to do
> is write a version of it that repeats, something like:
> 1. Make a SimState
> 2. loop as long as you want
> 3. set up your parameters, reset your SimState variables as
> you
> see fit
> 4. start()
> 5. loop while schedule.step() is true
> 6. finish()
> If you need to do this with a GUI, then I have to think about how
> best to hack MASON to do this. Probably the right thing is to
> hack
> the Console a little, along the lines of how the Console can
> restart
> with a new seed upon pressing stop.
> One gotcha lies in movies and time series -- they won't update
> unless
> the timestamp is smaller than they've seen before (of course).
> Since
> you're restarting, the timestamp is now small again. You'll need
> to
> reset them as well, or else do a little hacking there too.
> Sean