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