[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.
==================================
- Q: ActivityGroup Class & Land Uses,
Kevin S. Lim <=