Page 82 -
P. 82

5 Informal Approaches to Developing Simulation Models           77

            • Programming paradigm: Different programming paradigms are more appropriate
              to different types of modelling problems. If, for example, you think of things in
              terms of “if-then” statements, a rule-based system might be the most appropriate
              for your modelling. If instead you visualise things as series of (perhaps branch-
              ing) steps, a procedural one might be more appropriate. In practice, most systems
              these days are not purely one paradigm or another, but they still have leanings one
              way or another, and this will influence the way you think about your modelling.
            • Timing: How will time be handled in the simulation? Will it be continuous or
              stepped or perhaps event-driven? Will all agents act “at once” (in practice, unless
              each agent is run on a separate processor they will be executed in some sense
              sequentially, even if conceptually within the model they are concurrent), or do
              they strictly take turns? Will it be necessary to run the simulation in real time or
              (many times) faster than real time?
              Once one has considered these questions, and decided on the answers for
            the particular model in mind, the list of potential systems will be considerably
            shortened, and one should then be able to make an informed choice over the
            available options. The temptation, particularly when one is beginning to write
            models, is to go for the option that will produce the quickest results, but it is
            important to remember that sometimes a small initial investment can yield long-
            term benefits.



            5.8 Conclusion


            It is easy to try and rationalise bad practice. Thus, it is tempting to try and prove
            that some of the more formal techniques of computer science are not applicable to
            building social simulations just because one cannot be bothered to learn and master
            them. It is true however that not all the techniques suggested by computer scientists
            are useful in an exploratory context, where one does not know in advance precisely
            what one wants a simulation to do. In these circumstances, one has to take a looser
            and less reliable approach but follow it with consolidation once one has a more
            precise idea of what one wants of the simulation. The basic technique is to mix bits
            of a more careful approach in with the experimentation in order to keep sufficient
            control. This has to be weighed against the time that this may take, given one does
            not know which final direction the simulation will take. There is a danger of this
            approach: that the modeller will be tempted by apparently significant results to
            rush to publication before sufficient consolidation has occurred. There may be times
            when the exploratory phase may result in useful and influential personal knowledge,
            but such knowledge is not reliable enough to be up to the more exacting standards
            expected of publicly presented results. This is particularly true if the model is to
            be applied in a critical way that has real impacts upon people or the environment.
            Thus, it is only with careful consolidation of models that this informal approach to
            building simulations should be undertaken.
   77   78   79   80   81   82   83   84   85   86   87