Page 77 -
P. 77

72                                                     E. Norling et al.

            until you have experimented with it, which necessitates being able to control it to a
            considerable extent. However, since modelling complex social phenomena requires
            (at least usually and probably always) complex models, complete understanding
            and/or control is often unrealistic. Nevertheless, understanding your model as much
            as is practical is key to useful modelling. This is particularly true for exploratory
            modelling because it is the feedback between trying model variations and building
            an understanding of what these variations entail that makes this approach useful.
              Understanding one’s model is a struggle. The temptation is to try shallow
            approaches by only doing some quick graphs of a few global measures of output,
            hoping that this is sufficient to give a good picture of what is happening in a complex
            social simulation. Although information about the relationship of the setup of a
            simulation and its global outcomes can be useful, this falls short of a full scientific
            understanding, which must explain how these are connected. If you have an idea
            of what the important features of your simulation model are, you might be able to
            design a measure that might be suitable for illustrating the nature of the processes
            in your model. However, a single number is a very thin indication of what is
            happening—this is OK if you know the measure is a good reflection of what is
            crucial in the simulation—but can tend to obscure the complexity if you are trying
            to understand what is happening.
              To gain a deeper understanding, one has to look at the details of the interactions
            between the parts of the simulation as well as the broader picture. There are two
            main ways of doing this: case studies using detailed traces/records and complex
            visualisations.
              A case study involves choosing a particular aspect of the simulation, say a
            particular individual, object or interaction, and then following and understanding
            it, step by step, using a detailed trace of all the relevant events. Many programming
            environments provide tracing tools as an inbuilt feature, but not all social simulation
            toolkits have such a feature. In this latter case, the modeller needs to embed the
            tracing into the model, with statements that will log the relevant data to a file for
            later analysis. This “zooming in” into the detail is often very helpful in developing a
            good understanding of what is happening and is well worthwhile, even if you don’t
            think you have any bugs in your code. However, in practice, many people seek to
            avoid this mundane and slightly time-consuming task.
              The second way to gain an understanding is to program a good dynamic
            visualisation of what is happening in the model. What exactly is “good” in this
            context depends heavily on the nature of the model: it should provide a meaningful
            view of the key aspects of the model as the simulation progresses. Many social
            simulation toolkits provide a range of visualisation tools to assist this programming,
            but the key is identifying the relevant processes and choosing the appropriate
            visualisation for them—a task that is not amenable to generic approaches. Thus, you
            could have a 2D network display where each node is an individual, where the size,
            shape, colour and direction of each node all indicate different aspects of its state,
            with connections drawn between nodes to indicate interactions, and so on. A good
            visualisation can take a while to design and program, but it can crucially enhance the
   72   73   74   75   76   77   78   79   80   81   82