15.08.2015 Views

Introduction to the Modeling and Analysis of Complex Systems

introduction-to-the-modeling-and-analysis-of-complex-systems-sayama-pdf

introduction-to-the-modeling-and-analysis-of-complex-systems-sayama-pdf

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

448 CHAPTER 19. AGENT-BASED MODELS19.4 Ecological <strong>and</strong> Evolutionary ModelsIn this very final section <strong>of</strong> this textbook, we will discuss ABMs <strong>of</strong> ecological <strong>and</strong> evolutionarydynamics. Such ABMs are different from <strong>the</strong> o<strong>the</strong>r examples discussed so far in thischapter regarding one important aspect: Agents can be born <strong>and</strong> can die during a simulation.This means that <strong>the</strong> number <strong>of</strong> state variables involved in a system can changedynamically over time, so <strong>the</strong> traditional concepts <strong>of</strong> dynamical systems don’t apply easily<strong>to</strong> those systems. You may remember that we saw a similar challenge when we made atransition from dynamics on networks <strong>to</strong> dynamics <strong>of</strong> networks in Chapter 16. A dynamicincrease or decrease in <strong>the</strong> number <strong>of</strong> system components violates <strong>the</strong> assumption that<strong>the</strong> system’s behavior can be represented as a trajec<strong>to</strong>ry within a static phase space. Inorder <strong>to</strong> study <strong>the</strong> behaviors <strong>of</strong> such systems, <strong>the</strong> most general, practical approach wouldprobably be <strong>to</strong> conduct explicit simulations on computers.Simulating an ABM with a varying number <strong>of</strong> agents requires special care for simulatingbirths <strong>and</strong> deaths <strong>of</strong> agents. Because agents can be added <strong>to</strong> or removed from<strong>the</strong> system at any time during an updating process, it is a little tricky <strong>to</strong> implement synchronousupdating <strong>of</strong> agents (though it isn’t impossible). It is much simpler <strong>and</strong> morestraightforward <strong>to</strong> update <strong>the</strong> system’s state in an asynchronous manner, by r<strong>and</strong>omlychoosing an agent <strong>to</strong> update its state <strong>and</strong>, if needed, directly remove it from <strong>the</strong> system(simulation <strong>of</strong> death) or add a new agent <strong>to</strong> <strong>the</strong> system (simulation <strong>of</strong> birth). In what follows,we will adopt this asynchronous updating scheme for <strong>the</strong> simulation <strong>of</strong> ecologicalABMs.An illustrative example <strong>of</strong> ecological ABMs is <strong>the</strong> preda<strong>to</strong>r-prey ecosystem, which wealready discussed in Section 4.6 <strong>and</strong> on several o<strong>the</strong>r occasions. The basic idea <strong>of</strong> thismodel is still simple: Prey naturally grow but get eaten by preda<strong>to</strong>rs, while <strong>the</strong> preda<strong>to</strong>rsgrow if <strong>the</strong>y get prey but o<strong>the</strong>rwise naturally die <strong>of</strong>f. When we are <strong>to</strong> implement this modelas an ABM, <strong>the</strong>se ecological dynamics should be described at an individual agent level,not at an aggregated population level. Let’s design this ABM step by step, again goingthrough <strong>the</strong> six design tasks.1. Design <strong>the</strong> data structure <strong>to</strong> s<strong>to</strong>re <strong>the</strong> attributes <strong>of</strong> <strong>the</strong> agents. The preda<strong>to</strong>r-preyecosystem is obviously made <strong>of</strong> two types <strong>of</strong> agents: prey <strong>and</strong> preda<strong>to</strong>rs. So <strong>the</strong> informationabout agent type must be represented in <strong>the</strong> data structure. Also, if we are <strong>to</strong> simulate<strong>the</strong>ir interactions in a space, <strong>the</strong> information about <strong>the</strong>ir spatial location is also needed.Note that <strong>the</strong>se attributes are identical <strong>to</strong> those <strong>of</strong> <strong>the</strong> agents in Schelling’s segregationmodel, so we can use <strong>the</strong> same agent design, as follows:Code 19.14:

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!