swarm-modeling
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Q: ActivityGroup Class & Land Uses


From: Kevin S. Lim
Subject: Q: ActivityGroup Class & Land Uses
Date: Wed, 24 Nov 1999 16:53:02 -0500

I'm confused!!! hehe =)

I'm currently developing an ABM to simulate household deforestation patterns
in a region of the Amazon for my MES thesis.  In short, household agents
deforest patches of land in order to implement some type of land use
strategy.  Within the system, patches of land can be used continuously for a
maximum of 3 years before it must be returned to a fallow stage for a
minimum of 2 years.  Ideally, settting a MAX_CULTIVATION parameter equal to
2 and similarly a MIN_FALLOW parameter equal to 2, should result in two
patches of land cycling back and forth from each other with respect to land
uses.

My problem is that I can't seem to generate the above expected results.
Instead of 2 patches of land cycling back and forth with the above described
parameter values, 3 patches are cycled.  Now if I set the MAX_CULTIVATION
parameter to a value of 3, then I get the anticipated cycling of two patches
(kinda!=)).  What I'm trying to figure out is what order actions are
processed within an actiongroup, or better yet, when transactions are
committed (i.e. when an action is performed, are the results not committed
until all actions are performed within the actiongroup?).

Here is a *snip* of my actiongroup structure:

[modelActions createActionForEach: environmentList message: M(update)];
[modelActions createActionForEach: householdList message:
M(calcSubistenceNeeds)];
[modelActions createActionForEach: householdList message:
M(calcHectares4Subsistence)];
[modelActions createActionForEach: householdList message: M(goSubsistence)];

Tracing my code by stepping through the simulation with MAX_CULTIVATION = 3
and MIN_FALLOW = 2, generates the table below (hopefully the table layout is
readable):

EVENT   PATCH1  PATCH2
     0             rice         free
     1             rice         free
     2             rice         free
     3            fallow      rice
     4            fallow      rice
     5             free         rice
     6             rice         fallow
   ... etc.

So 3 years of rice (i.e. 3 years of continuous cultivation is replaced by 2
years of fallow).  Two patches of land are cycled back and forth.  There is
a glitch... at event 5, when patch1 is free, it should be used as opposed to
patch2 since within the spatial model, preference is for closer patches
(i.e. free should be rice in patch 1, and rice should be free in patch2).

Tracing my code by stepping through the simulation with MAX_CULTIVATION = 2
and MIN_FALLOW = 2, generates the table below:

EVENT   PATCH1   PATCH2   PATCH3
     0            rice            free            free
     1            rice            free            free
     2           fallow         rice            free
     3           fallow         rice            free
     4            free           fallow         rice

What was expected was the the rice grown in patch3 would have been in the
space of patch1 (similar to the first table).  To clarify, patch1 is
available for use, so why is patch3 called upon (question to myself!)?

Comparing the two tables, the only things I can deduce is that when a new
patch of land is selected for use, the results of the previous time event is
examined rather than the current time event.  Hence my question about when
actions were committed -- if value (free) of patch1 in the second table is
not committed until the end of the the actiongroup, then that would explain
why patch3 is called since there are no other patches available.

I would have expected that each action is committed "instantaneously" during
each time event.  Am I completely wrong or off on a tangent????  I've
checked my code and the logic works, but would appear to be 1 time event
*behind*!!!  Arg...

If anyone could clarify some of my questions presented above, I'd really
appreciate it!!!  Thanks so much for any input from the Swarm collective!

Cheers,
Kevin Lim

MES Candidate
Department of Geography
University of Waterloo
Waterloo, ON N2L 3G1
Canada
www.fes.uwaterloo.ca/u/klim



                  ==================================
   Swarm-Modelling is for discussion of Simulation and Modelling techniques
   esp. using Swarm.  For list administration needs (esp. [un]subscribing),
   please send a message to <address@hidden> with "help" in the
   body of the message.
                  ==================================


reply via email to

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