300 likes | 460 Views
Engineering Emergent Social Phenomena. Laszlo Gulyas AITIA International Inc. lgulyas@aitia.ai. Motivation. Software is not as it used to be. Traditional methodologies are aimed at a single, monolithic program with well-defined and controllable input streams.
E N D
Engineering Emergent Social Phenomena Laszlo GulyasAITIA International Inc. lgulyas@aitia.ai
Motivation • Software is not as it used to be. • Traditional methodologies are aimed at a single, monolithic program with well-defined and controllable input streams. • Today’s software is almost always situated in a dynamic environments. • Computers are networked, but even on a single computer, many programs are running simultaneously. • The software designer/engineer can no longer enumerate or control the state(s) of the environment. • More importantly, the expected behavior of the software is most often not independent of the non-controlled components. • For example, the success of an autonomous agent negotiating a deal on an auction site clearly depends on the performance of other similar agents, programmed by unknown parties. • We need methods, techniques and tools for engineering emergent complex (software) systems.
Engineering from the Bottom-Up • Example: Generating robust networks L. Gulyas: “GENERATION OF ROBUST NETWORKS: A BOTTOM-UP MODEL WITH OPTIMIZATION UNDER BUDGET CONSTRAINTS “, 5th International Workshop on Emergent Synthesis (IWES’04). • The problem: generating networks that are robust against random failures. • An agent-based model. • Agents connect to one another aiming to maximize their connectivity. • Each agent can build a fixed number of links. • Information about the existing network is costly, the agents optimize under budget constraints (i.e., only based on information about a limited number of nodes). • Generates robust networks under a wide range of conditions. • The pattern of information access (determined by information pricing) is pivotal.
Gaining Inspiration from Complex Social Systems • Complex Social Systems • IT Tools for Social Science Modeling • Agent-Based Modeling and Simulation • Participatory Simulation • Novel Tools: MASS/FABLES
Gaining Inspiration from Complex Social Systems • Complex Social Systems • IT Tools for Social Science Modeling • Agent-Based Modeling and Simulation • Participatory Simulation • Novel Tools: MASS/FABLES
Social System: • Complex interaction of • a high number of • complex actors.
Statistical Physics versus Social Sciences • People are not as simple as molecules, butmolecules are also much more complex than suggested by thermodynamics… • Scientific Thinking Methodological simplification Modeling
On Social Science Methods I. • Herbert Simon: “The social sciences are, in fact, the »hard«sciences.” • Problems with experiments • Human subjects • Unique events. • Problem Complexity (e.g., in GT) • The number of actors. • Interaction/communications topologies. (Everybody knows it all.) • Dynamic populations. (Cannot exist.) • Unlimited rationality. • Methodology • Equilibrium versus Trajectory.
On Social Science Methods II. • Developments in IT technology enables novel approaches. • “In Silico”models and experiments • „If you didn’t grow it, you didn’t explain it.”(J. M. Epstein) • Numerical simulations • Grounded in mathematics.
Gaining Inspiration from Complex Social Systems • Complex Social Systems • IT Tools for Social Science Modeling • Agent-Based Modeling and Simulation • Participatory Simulation • Novel Tools: MASS/FABLES
Agent-Based Modeling (ABM) • One of the novel (in silico) methods. • Aims at creating complex (social) behavior “from the bottom up”. • Complex interactions of • A high number of • (Complex) individuals. • A generative and mostly theoreticalapproach: • Computational “thought experiments”, • Existence proofs, etc.
Agent-Based Modeling (ABM) • Capable of • Studying trajectories. • Heterogeneous populations. • Dynamic populations. • Bottom-up approach cognitive limitations to rationality. • Explicit modeling of interaction topologies. • No explicit model for cognitive abilities & interaction topologies, no model.
Main IT tools for ABM • Open-Source versus Proprietary. • Generality versus Ease of Use. • Component-based versus Custom code. • Major general-purpose OSS tools:
Swarm, 1996 • “Father of all ABM tools”. • Simulation package. • Object-oriented, discrete-event design. • Introduces the main concepts and “ABM design patterns”. • Experimental, hard-to-use system. • Strong user community. • Major impact in spreading the methodology.
MAML, 1999 • First special-purpose programming language for ABM. • Layered over Swarm. • Thus following the main design and concepts. • Easier to use system. • Aspect-Oriented: separation of modeling and observational concerns. • Still, unfortunate “borrowing” of many problems from Swarm. (E.g., installation's “hard way to heaven”.)
RePast, 2001 • Re-designed and re-worked version of Swarm. • Maintains all the major concepts and patterns. • Simulation package in Java. • Easy to use, but still general system. • Growing user community • Major impact in showing the ‘maturity’ of ABM technology.
Gaining Inspiration from Complex Social Systems • Complex Social Systems • IT Tools for Social Science Modeling • Agent-Based Modeling and Simulation • Participatory Simulation • Novel Tools: MASS/FABLES
Experimental Economics • Controlled laboratory experiments with human subjects. • The effect of human cognition on economic behavior. • Learning and adaptation. • Social traps (Tragedy of Commons, etc.) • Typical tools: • Observation (Videotaping) • Questionnaires, etc. • An experimental approach.
Participatory Simulation (PS) • A computer simulation, in which human subjects also take part. • Agent-based simulations are well suited: • Individuals are explicitly modeled, with • Strict Agent-Environment and Agent-Agent boundaries. • Bridges the theoretical and experimental approaches. Can help both of them: • Testing assumptions and results of an ABM. • Generating specific scenarios (e.g., crowd behavior) for laboratory experiments.
General Purpose Participatory Architecture for RePast (GPPAR) • First toolset for participatory ABM. • Developed in 2003 at AITIA, Inc., Budapest, Hungary. • Supports the transformation of any RePast model into a participatory simulation. • Distributed, web-based user interfaces.
Example Application of GPPAR • Replication of a famous ABM in finance. • Replication of results is a most important step in science! • Conversion to a PS. • Partly as a demonstration of our General-Purpose Participatory Architecture for RePast (GPPAR). • Initial Experiments, testing: • Original results’ sensitivity to human trading strategies. • Human versus computational economic performance. • The effect of human learning between runs.
Practices of ABSSREPLICATION above everything • Scientific experiments (tests and replicas) • True (uncontrolled) parallelism is ruled out. • Probabilistic models: • Pseudo RNGs • Control over the seed • Independent variables, Separate RNGs • Full specification • E.g. Standard practice of random choice among equal maxima.
Practices of ABSSGenerating and Handling of Results • Statistical nature of results: • One go is ‘no go’. • Sensitivity Analysis and Confidence Intervals. • Parameter Sweep • Non-Linear Dependencies • Tricks like Active Non-Linear Tests (ANTs)
Practices of ABSSSeparating Model and Observer(s) • Basic idea in science, • but in computational practice it’s only been around since Swarm (1994) • Several observers • GUI • Batch1 • Batch2 • … • Independence of the Observers’ RNGs from the Model’s RNGs.
Gaining Inspiration from Complex Social Systems • Complex Social Systems • IT Tools for Social Science Modeling • Agent-Based Modeling and Simulation • Participatory Simulation • Novel Tools: MASS/FABLES
AITIA’s Multi-Agent Simulation Suite Participatory Extension (PET) The FABLESSimulation Definition Language* Integrated Modeling Environment** Multi-Agent Core (MAC)
Participatory Extension (PET) The FABLESSimulation Definition Language* Integrated Modeling Environment** Multi-Agent Core (MAC) The Functional Agent-Based Language for Simulation (FABLES) • Interactive tools for observation(in IME – planned). • Functional definitions for • relations, • sets, and • state-transitions. • Objects for agents. • Imperative language for • Scheduling and • Agent creation/destruction. • An executable formalism close to the language of publications. • Building on the knowledge of mathematical calculus. • Standardization among ABM tools?
Summary • Towards engineering complex (emergent) phenomena. • Inspiration from the practice of agent-based social simulation. • Overview of agent-based modeling & simulation • As a means to engineer emergent phenomena in complex software systems. • Older and Novel tools for ABM/S.
Thank you! Comments are welcome at lgulyas@aitia.ai