“Achieving insight, innovative design, and informed decision-making through systems thinking.”
Dr. Margaret (Maggie) J. EppsteinAssociate Professor in Computer Science
Director, Complex Systems Center
B.S. Biology (after astrophysics, anthropology, biochemistry, …)M.S. Computer Science
Ph.D. Environmental Engineering
These examples are different in many ways: biotic/abiotic, natural/engineered, molecular/cosmic spatial scale, nanosecond/cosmic
timescale… so what is similar about them?
•Lots of independently acting component parts (no global control);•Components interact locally (in space and time);•Results in Self-organization (in space and time);•“Emergence” – qualitatively different system properties arising at higher scales in time and/or time;•Nonlinear dynamical systems:
•Semi-stable states correspond to attractor basins (fixed point or periodic); •Negative feedbacks are stabilizing and tend to keep system in the same basin of attraction (homeostasis)•Positive feedbacks are destabilizing and can move system to a “tipping point” where it leaves the current basin of attraction.•Dynamics may be chaotic (bounded non-repeating fluctuations, sensitivity to initial conditions, difficult to predict into the future)
These are the hallmarks of “Complex Systems”
Example of a negative feedback loop (stabilizing)
Example of a positive feedback loop (destabilizing): Earth’s Albedo
Why Study Complex Systems?:1) To learn about them
•For basic science, e.g.,Understanding brain function, intelligenceOrigins of life, evolutionEarth science
•For our health, e.g.,Cancer biologyEpidemiology
•To interface with them, e.g.,Engineer orthopedic devicesRational Drug Design
•For our planet, e.g., Engineer sustainable systemsUnderstand impacts of interventions
(intentional or unintentional)
•To exploit them, e.g.,Engineer bioremediation schemesGenerate efficient algae-based biofuels
Why Study Complex Systems?:2) Steal ideas/components from them
•In artificial intelligence, e.g.,Artificial neural networksEvolutionary ComputationSwarm intelligence
•In molecular nanotechnology, (use self-organization as a design principle), e.g.,
Molecular motorsSmart materials Nanobot swarmsDNA computing
•In designing distributed control of systems, e.g., Substation control in electrical gridWireless sensor networks
•to copy them, e.g.,Copy insect flight for mini UAVsCopy gecco wall-gripping technology
Fortunately, many principles of complex systems (as well as methods for studying them) apply to systems at widely different scales in space and time.
“Universality”; very different underlying mechanisms can result in very similar system behaviors.
e.g., scaling laws, LALI, phase transitions, self-organization, etc.
Many diverse complex systems can be modeled and analyzed using the same types of mathematical and computational abstractions.
Modeling self-organized complex fluids at multiple scales;e.g., blood coagulation, synovial fluids
Yves Dubief, Mechanical Engineering Program, UVM
Modeling self-organized particulate flows with particle collision and adhesion at multiple scales:
e.g., for algae biofuels, blood flow through artificial heart valves, gastro-intestinal flow, particle clogging of vehicle cooling systems, and sediment entrainment modeling
Jeff Marshall, Mechanical Engineering Program, UVM
A light programmable biofilm made by the UT Austin / UCSF team during the 2004 Synthetic Biology competition
Synthetic Biology is a new branch of Bioengineering:Engineers are learning how to “program” DNA itself, with the goal of designing and building engineered biological systems that process information, manipulate chemicals, fabricate materials and structures, produce energy, provide food, and maintain and enhance human health and our environment.
The Registry of Standard Biological Parts now includes ~3200 genetic parts (DNA sequences that code for specific actions) that can be mixed and matched to build synthetic biology devices and systems
New UVM bioengineering faculty, Mary Dunlop, plans to sponsor a UVM Synthetic Biology Team and wants to engineer Genetic Regulatory Networks for efficient bio-fuel conversion.
Engineering “intelligent systems”:Try to engineer flexible systems that can adapt on-the-fly to changing conditions.
e.g., Robot uses an evolutionary algorithm to artificial neural network to create an internal “self-image” of how itself; if a limb is removed, the robot can figure out alternative ways to locomote using remaining body parts.
Josh Bongard, Computer Science Program, UVM
Engineering swarms:Borrow ideas from self-organized swarming behaviors and evolution of cooperation in nature for applications ranging from animation (e.g. battle scenes in Lord of the Rings) to swarms of cooperating autonomous robots or UAVs.
Modeling chaotic systems:e.g., improving weather prediction, solar system orbits, blood coagulation, population dynamics, etc.
Chris Danforth, Mathematics Program, UVM
Studying Complex Social Networks;e.g., information exchange, robustness of organizational networks, “social contagion”, etc.
Peter Dodds, Mathematics Program, and Maggie Eppstein, Computer Science, UVM
Evolutionary Algorithms:Borrow ideas from evolution to create computer programs that “evolve” good solutions to a wide range of engineering problems.
Maggie Eppstein and Josh Bongard, Computer Science Program, UVM
(e.g., designing optimal management of stormwater run-off, evolving strategies for robot maneuvering, evolving architecture of neural networks for environmental sound recognition, etc.)
Donna Rizzo, Environmental Engineering Program, UVM
Artificial Neural Networks:Borrow ideas from neurobiology to create computer programs for a wide range of problems (e.g., assessing groundwater contamination, predicting stream flows from climate data, in general pattern recognition, data mining, etc)
Optimize_price_to_consumer()
Optimally_Change_Vehicles()
Optimal_Vehicle_Usage()
Optimize_vehicle_production()
Optimize_building_stations()Optimize_price_to_supplier()
Optimize_Fuel_Production()
Fuel_Price_to_consumer
Fuel_Price_to_Supplier
Cost_to_Produce_Fuel
Number_vehicles_sold
Amount_of_fuel_purchased
Amount_of_fuel_produced
Number_of_filling_stations
Number_vehicles_produced
Optimize_vehicle_price()Cost_to Produce_vehicles
Vehicle_Price_to_consumer
Climate
Attitudes/values
Fuel_efficiency taxes/rebates
mandates
Research breakthroughs
LEGENDState variables in blueAgent-based rules in redExternal inputs in black
Complex systems are “Computationally Irreducible”
Maggie Eppstein, CS; Donna Rizzo Envr. Engr; Jeff Marshall, ME, UVM
"Computing has become the third pillar of
science, along with theory and experiment"
-Daniel A. Reed, Director, Renaissance Computing
Institute
Regardless of whether you’re interested in computer science, mathematics, engineering, or science computing is a necessary and important tool for modeling and analysis of systems.
Agent-Based Models (ABM)Computer programs where we model individual components of a system as “autonomous agents”, which interact with their local environments (including other agents) based on internal rules. Agents can represent anything from molecules, to humans, to planets, etc.
ABMs are often necessary to give us insight into self-organization and emergence observed in real systems.
Developing and using computer models is critical for understanding/engineering complex systems.
Grid-based ABMs (cellular automata): In some agent-based models, agents are modeled as living on a cell in a “grid” and interact only with the agents in surrounding grid cells.
E.g., modeling population dynamics in annual plant communities to understand invasiveness/biodiversity.
0 200 400 600 800 1000 12000
10
20
30
40
50
603x3: run #1
1
23
4
5
6
78
9
Maggie Eppstein, CS; Jane Molofsky, Plant Biology; UVM
Real-space ABMs:In other models, agents are located in 2D space and interact with those around them based on angle and distance; e.g., computer animations of simulated swarms (Reynold’s “boids” algorithm).
e.g., CG crowd scenes in LOTR, Avatar; crowd modeling for designing fire escape routes, etc.
Network based ABMs:In other agent based models, there may be a fixed interaction topology that determines which agents can interact. E.g., modeling cascading failures in the electrical grid.
Paul Hines, Electrical Engr; Maggie Eppstein, Computer Science Program, UVM
Calculus Linear algebraComputer
programming Statistics
Physics
Chemistry
Biology Social sciences
Economics
Engineering
Complex systems
Tackling today’s complex problems will require integrative thinkers that can develop and effectively apply quantitative, computational, and systems thinking. This is what will distinguish 21st century engineers, computer scientists, and mathematicians.
HumanitiesEarth Sciences