Checking and understanding Simulation Behaviour Bruce Edmonds Centre for Policy Modelling Manchester Metropolitan University.

Slides:



Advertisements
Similar presentations
C81MPR Practical Methods (Lab 3) How to write-up a lab report
Advertisements

An Abstract Agent-based Simulation – the “relative agreement” opinion dynamics model Bruce Edmonds Centre for Policy Modelling Manchester Metropolitan.
Some Future Directions in Social Simulation Bruce Edmonds Centre for Policy Modelling Manchester Metropolitan University.
Stephen McCray and David Courard-Hauri, Environmental Science and Policy Program, Drake University Introduction References 1.Doran, P. T. & Zimmerman,
Case Tools Trisha Cummings. Our Definition of CASE  CASE is the use of computer-based support in the software development process.  A CASE tool is a.
Game Design Serious Games Miikka Junnila.
Learning Networks connecting people, organizations, autonomous agents and learning resources to establish the emergence of effective lifelong learning.
Chapter 14: Usability testing and field studies. 2 FJK User-Centered Design and Development Instructor: Franz J. Kurfess Computer Science Dept.
Tags and Image Scoring for Robust Cooperation By Nathan Griffiths Presented at AAMAS 2008.
Knowledge Acquisitioning. Definition The transfer and transformation of potential problem solving expertise from some knowledge source to a program.
Discrete-Event Simulation: A First Course Steve Park and Larry Leemis College of William and Mary.
1 Validation and Verification of Simulation Models.
Experimental Psychology PSY 433
An offline look at TIF data David Stuart UC Santa Barbara May 2, 2007.
Strategies to Promote Motivation in the Mathematics Classroom
2-Day Introduction to Agent-Based Modelling Day 2: Session 5 Variables and Debugging.
Research Methods for Computer Science CSCI 6620 Spring 2014 Dr. Pettey CSCI 6620 Spring 2014 Dr. Pettey.
© Curriculum Foundation1 Section 2 The nature of the assessment task Section 2 The nature of the assessment task There are three key questions: What are.
CSE 486/586 CSE 486/586 Distributed Systems PA Best Practices Steve Ko Computer Sciences and Engineering University at Buffalo.
2-Day Introduction to Agent-Based Modelling Day 1: Session 1 Introduction, commands, loops, conditionals.
Verification & Validation
Developing Business Practice –302LON Using data in your studies Unit: 5 Knowledgecast: 2.
2-Day Introduction to Agent-Based Modelling Day 2: Session 8 Exploring Model Collections, NetLogo Lists, Further Resources.
CRITICAL APPRAISAL OF SCIENTIFIC LITERATURE
Dr Tina Balke Dr Thomas Centre for Research in Social.
Critically assessing and analysing simulation results Bruce Edmonds Centre for Policy Modelling Manchester Metropolitan University.
15 June 2010ABM Workshop -Leeds Salem Adra and Phil McMinn Automated Discovery of Emergent Misbehaviour in Agent-Based Models.
Big Idea 1: The Practice of Science Description A: Scientific inquiry is a multifaceted activity; the processes of science include the formulation of scientifically.
A Look Inside Some NetLogo Simulations Bruce Edmonds Centre for Policy Modelling Manchester Metropolitan University.
Using the Experimental Method to Produce Reliable Self-Organised Systems, B. Edmonds, ESOA 2004, New York, July 2004, slide-1 Using.
Implementation and process evaluation: developing our approach Ann Lendrum University of Manchester Neil Humphrey University of Manchester Gemma Moss Institute.
Example Department of Computer Science University of Bologna Italy ( Decentralised, Evolving, Large-scale Information Systems (DELIS)
Rationality meets the tribe: Some models of cultural group selection David Hales, The Open University Hales, D., (2010) Rationality.
How to read a scientific paper
Multi-Patch Cooperative Specialists With Tags Can Resist Strong Cheaters, Bruce Edmonds, Feb 2013, ECMS 2013, Aalesund, Norway, slide 1 Multi-Patch Cooperative.
1 Chapter 10: Introduction to Inference. 2 Inference Inference is the statistical process by which we use information collected from a sample to infer.
2-Day Introduction to Agent-Based Modelling Day 2: Session 6 Mutual adaption.
Model to Model Workshop, EHESS, Grequam/CNRS, Marseille 2003, slide-1 Model  Model Workshop - relating simulation models At EHESS,
School of Education, CASEwise: A Case-based Online Learning Environment for Teacher Professional Development Chrystalla.
Game Theory, Social Interactions and Artificial Intelligence Supervisor: Philip Sterne Supervisee: John Richter.
Introduction to Earth Science Section 2 Section 2: Science as a Process Preview Key Ideas Behavior of Natural Systems Scientific Methods Scientific Measurements.
Evolving cooperation in one-time interactions with strangers Tags produce cooperation in the single round prisoner’s dilemma and it’s.
Research Proposal The Alignment between Design, Implementation and Affordances, in Blended and Distance Learning.
1 Comparing multiple tests for separating populations Juliet Popper Shaffer Paper presented at the Fifth International Conference on Multiple Comparisons,
Objectives Targets & Indicators for Adaptation to Climate Change A presentation to the expert meeting on climate change vulnerability and adaptation indicators,
Comparing Snapshots of Networks Shah Jamal Alam and Ruth Meyer Centre for Policy Modelling 28 th March, 2007 – CAVES Bi-annual Meeting, IIASA,
Social Networks: Agent-based Modelling and Social Network Analysis with PAJEK ESRC Research Methods Festival, Oxford, 17 th-20th July 2006, & Oxford Spring.
Project funded by the Future and Emerging Technologies arm of the IST Programme From Selfish Nodes to Cooperative Networks – Emergent Link-based Incentives.
The Evolution of Specialisation in Groups – Tags (again!) David Hales Centre for Policy Modelling, Manchester Metropolitan University, UK.
Bruce Edmonds, Centre for Policy Modelling 1 of 57 Supporting Social Simulation Physics vs. Biology Paradigms CPM’s approach to Social Simulation How SDML.
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Case Studies and Review Week 4 NJ Kang. 5) Studying Cases Case study is a strategy for doing research which involves an empirical investigation of a particular.
INF oktober Conversations and interviews INF October 2005.
2-Day Introduction to Agent-Based Modelling Day 2: Session 7 Social Science, Different Purposes and Changing Networks.
Writing a Formal Lab Report Mrs. Storer Chemistry.
Experimental Psychology PSY 433 Chapter 5 Research Reports.
Scientific Method (Inquiry). What is the scientific method….. ? The scientific method is a ______ for answering questions. process.
Projection and the Reality of Routines – reflections of a computational modeller Bruce Edmonds Centre for Policy Modelling Manchester Metropolitan University.
Evolving Specialisation, Altruism & Group-Level Optimisation Using Tags – The emergence of a group identity? David Hales Centre for Policy Modelling, Manchester.
Evolving Specialisation, Altruism & Group-Level Optimisation Using Tags David Hales Centre for Policy Modelling, Manchester Metropolitan University, UK.
Emergent Group Selection: Tags, Networks and Society David Hales, The Open University ASU, Thursday, November 29th For more details.
What is a software? Computer Software, or just Software, is the collection of computer programs and related data that provide the instructions telling.
Investigate Plan Design Create Evaluate (Test it to objective evaluation at each stage of the design cycle) state – describe - explain the problem some.
Writing Scientific Research Paper
Workshop to develop theories of change
Section 2: Science as a Process
Modelling Dr Andy Evans In this lecture we'll look at modelling.
Evolving cooperation in one-time interactions with strangers
Building Valid, Credible, and Appropriately Detailed Simulation Models
Presentation transcript:

Checking and understanding Simulation Behaviour Bruce Edmonds Centre for Policy Modelling Manchester Metropolitan University

Verification and Validation Checking and understanding Simulation Behaviour. Bruce Edmonds, ISS Course, 2011, slide 2 Verification Validation

Case Study 1: Where the authors did not understand their own code!

A Brief History Idea of tags comes from (Holland 1993) (Riolo at al. 2001) publish a simple model in Nature purporting to show evolution of cooperation without reciprocity Praised by eminent academics (Sigmund and Nowak 2001) Turns out model was extremely brittle (Roberts and Sherratt 2002) Double replication and analysis reveals original results due to a process not understood by original authors (Edmonds and Hales 2003) Checking and understanding Simulation Behaviour. Bruce Edmonds, ISS Course, 2011, slide 4

Basic Idea A population of agents, each with a “tag” (a value in [0, 1]) and a tolerance Each iteration agents randomly paired If other’s tag is within the tolerance of an agent’s tag (i.e. its close enough) it donates to that other Donating costs the donor – it gets no direct benefit Agents with more value are preferentially reproduced And yet those that donate seem to thrive, forming an apparently cooperative group Checking and understanding Simulation Behaviour. Bruce Edmonds, ISS Course, 2011, slide 5

Illustration of tag mechanism Donation occurs if: | mytag – otherstag | ≤ mytolerance Checking and understanding Simulation Behaviour. Bruce Edmonds, ISS Course, 2011, slide 6

Their Results and Conclusion Strategies of donating to others who have sufficiently similar heritable tags... can establish cooperation without reciprocity. (Riolo et al. 2001, page 443) Checking and understanding Simulation Behaviour. Bruce Edmonds, ISS Course, 2011, slide 7

However… …if donation criteria is changed to: | mytag – otherstag | < mytolerance Checking and understanding Simulation Behaviour. Bruce Edmonds, ISS Course, 2011, slide 8

Further investigation showed… That the reported effect depended upon the donation of individuals with identical tags With the original donation criteria agents are ‘forced’ to donate (i.e. they do even with zero tolerance) if the criteria is changed, so that agents can evolve/‘choose’ to be completely selfish cooperation disappears Tolerance in model turns out to only be important as a symmetry-breaking mechanism given the (slightly odd and non-standard) selection mechanisms used in the original Though tag-based cooperation can be made to work without ‘forcing’ it (Edmonds 2006) Checking and understanding Simulation Behaviour. Bruce Edmonds, ISS Course, 2011, slide 9

Conclusions changed… From: Strategies of donating to others who have sufficiently similar heritable tags... can establish cooperation without reciprocity To: Compulsory donation to others who have identical heritable tags can establish cooperation without reciprocity in situations where a group of tag clones can replicate themselves exactly Checking and understanding Simulation Behaviour. Bruce Edmonds, ISS Course, 2011, slide 10

What went wrong? The authors clearly did not understand their own model and how and why it worked I suspect… –They only tried a few variations of their model –They only looked at their results using aggregate outcome measures & graphs –They did not test their hypotheses about what was happening using simulation experiments –No one else had inspected and replicated it –The over-interpreted their model –They rushed to print Checking and understanding Simulation Behaviour. Bruce Edmonds, ISS Course, 2011, slide 11

References Holland, J. (1993) The Effect of Labels (Tags) on Social Interactions. SFI Working Paper Santa Fe Institute, Santa Fe, NM, USA. Riolo, R. L., Cohen, M. D. and Axelrod, R. (2001) Evolution of cooperation without reciprocity. Nature, 411: A reproduction of the (Riolo et al 2001) model including the modifications described in (Edmonds & Hales 2003) is: model.nlogohttp://cfpm.org/ISS/models/Riolo model.nlogo Sigmund, K. and Nowak, M. A. (2001) Evolution - Tides of tolerance. Nature 414:403. Roberts, G. and Sherratt, T. (2002) Does similarity breed cooperation? Nature 418: Edmonds, B. and Hales, D. (2003) Replication, Replication and Replication - Some Hard Lessons from Model Alignment. Journal of Artificial Societies and Social Simulation 6(4): Edmonds, B. (2006) The Emergence of Symbiotic Groups Resulting From Skill-Differentiation and Tags. Journal of Artificial Societies and Social Simulation, 9(1):10. A version of the model described in (Edmonds 2006) is: of Symbiosis.nlogo of Symbiosis.nlogo Checking and understanding Simulation Behaviour. Bruce Edmonds, ISS Course, 2011, slide 12

A Brief Analysis of the Stages in the Development of Simulations and Some Suggestions about Checking Them

The Difficulties in Verification Simulation code is alien and unnatural! Simulation code is complicated and its easy to make mistakes Simulation outcomes are not always easy to understand from its set-up (emmergence) You might have multiple goals for a simulation You might not have enough time to really understand your own simulation There might be an intermediary between you and the simulation (e.g. a programmer) There are, actually, lots of different representations of the simulation in use! Checking and understanding Simulation Behaviour. Bruce Edmonds, ISS Course, 2011, slide 14

Some of the Different Representations of a Simulation Your intention for the simulation Your description of your design for a simulation A specification of the simulation The (current) simulation code Your understanding of how the code works at the micro- level The outcomes from running the simulation Representations of the outcomes (stats, graphs, visualisations, traces etc.) Your understanding of what emerges from the complex interactions within the simulation Hypotheses about what happens in the simulation Your interpretation of the outcomes and hypotheses in terms of the observed social phenomena How to plan and build a simulation. Bruce Edmonds, ISS Course, 2011, slide 15

Possible Stages of Verification (from Galán et al JASSS) Checking and understanding Simulation Behaviour. Bruce Edmonds, ISS Course, 2011, slide 16 Theories Model Specification Code Outcomes Analysis Interpretation Application

Model Checking Suggestions Develop different models for the same theories/ideas Explore the outcomes over the parameter space intended for the model Try the model for well understood situations/settings Check against mathematical abstractions Visualise the processes in the model Follow case studies of individual agents Checking and understanding Simulation Behaviour. Bruce Edmonds, ISS Course, 2011, slide 17

Program Checking Suggestions Try the simulation in different systems or using different languages/libraries Try ‘turning off’ features and check the residual behaviour is as suggested Check smaller chunks of the simulation that they are behaving as they should Represent the code’s behaviour in as many different ways as possible Build in internal checks, even if you don’t thing they are necessary Checking and understanding Simulation Behaviour. Bruce Edmonds, ISS Course, 2011, slide 18

Community Strategies Get outside expert opinion on the results coming from your model – are they reasonable? Have others play with your simulation (make it available e.g. openabm.org) If there is a programmer learn something about the program and get the programmer to learn about the domain area Ultimately get someone else to independently replicate your simulation Checking and understanding Simulation Behaviour. Bruce Edmonds, ISS Course, 2011, slide 19

References Axtell, R., Axelrod R., J.M. Epstein and M.D. Cohen (1996), "Aligning Simulation Models: A Case Study and Results", Computational and Mathematical Organization Theory 1(2), pp Galán, J. M. et al. (2009). 'Errors and Artefacts in Agent-Based Modelling'. Journal of Artificial Societies and Social Simulation 12(1)1. Handbook of Simulating Social Complexity (soon, really!) Checking and understanding Simulation Behaviour. Bruce Edmonds, ISS Course, 2011, slide 20

Case Study 2: Trying to understand and check a complex simulation

Trying to Check a Complex Simulation A complex model that attempts to integrate as much of the evidence as possible within a coherent framework (a “Data Integration Model”) Developed over time in close conjunction with domain experts First version just reaching the validation stage Intermediate programmer (me!) trying to incorporate design of experts Checking and understanding Simulation Behaviour. Bruce Edmonds, ISS Course, 2011, slide 22

Different ways of checking Lots of different views/gra phs of what is happening Visualisation of the detail Individual case story Built in checking Different trace and tracking tools

Other steps taken to check code Documenting the evidence, motivations and intentions of the model in detail Rapid prototyping, showing early versions of the model and with frequent meetings discussing its implementation and behaviours Multiple validation against many different criteria planned Feedback from many others as to the specification and outcomes of the model Checking the model against others (e.g. population models) planned Checking and understanding Simulation Behaviour. Bruce Edmonds, ISS Course, 2011, slide 24

Conclusion: General Strategies Be as clear and as specific about the various representations/goals as possible and document them! Try to check things in lots of different ways Look and check at various levels Build checks into your procedures and code Gold Standard: Independently replicated simulations Checking and understanding Simulation Behaviour. Bruce Edmonds, ISS Course, 2011, slide 25

The End Introduction to Social Simulation Course Page Bruce Edmonds Centre for Policy Modelling Manchester Metropolitan Business School NeISS Portal