Transcript Slide 1
Dr. Margaret (Maggie) J. Eppstein
Associate Professor in Computer Science
Director, Complex Systems Center
B.S. Biology (after astrophysics, anthropology, biochemistry, …)
M.S. Computer Science
Ph.D. Environmental Engineering
“Achieving insight, innovative design, and informed decision-making through systems thinking.”
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, intelligence
Origins of life, evolution
Earth science
•For our health, e.g.,
Cancer biology
Epidemiology
•For our planet, e.g.,
Engineer sustainable systems
Understand impacts of interventions
(intentional or unintentional)
•To exploit them, e.g.,
Engineer bioremediation schemes
Generate efficient algae-based biofuels
•To interface with them, e.g.,
Engineer orthopedic devices
Rational Drug Design
Why Study Complex Systems?:
2) Steal ideas/components from them
•In artificial intelligence, e.g.,
Artificial neural networks
Evolutionary Computation
Swarm intelligence
•In designing distributed control of systems, e.g.,
Substation control in electrical grid
Wireless sensor networks
•In molecular nanotechnology, (use self-organization as a
design principle), e.g.,
Molecular motors
Smart materials
Nanobot swarms
DNA computing
•to copy them, e.g.,
Copy insect flight for mini UAVs
Copy 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
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
A light programmable biofilm
made by the UT Austin / UCSF
team during the 2004 Synthetic
Biology competition
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 “selfimage” 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.
(e.g., designing optimal
management of stormwater runoff, evolving strategies for robot
maneuvering, evolving architecture
of neural networks for
environmental sound recognition,
etc.)
Maggie Eppstein and Josh Bongard, Computer Science 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)
Donna Rizzo, Environmental Engineering Program, UVM
Complex systems are “Computationally Irreducible”
Research breakthroughs
Cost_to Produce_vehicles
Optimize_vehicle_price()
mandates
Number_vehicles_produced
Optimize_vehicle_production()
Number_vehicles_sold
Vehicle_Price_to_consumer
Attitudes/values
Optimally_Change_Vehicles()
Fuel_Price_to_consumer
Amount_of_fuel_purchased
Optimal_Vehicle_Usage()
Optimize_price_to_consumer()
Number_of_filling_stations
Fuel_efficiency
taxes/rebates
Fuel_Price_to_Supplier
Climate
Optimize_building_stations()
LEGEND
State variables in blue
Agent-based rules in red
External inputs in black
Optimize_price_to_supplier()
Optimize_Fuel_Production()
Cost_to_Produce_Fuel
Amount_of_fuel_produced
Maggie Eppstein, CS; Donna Rizzo Envr. Engr; Jeff Marshall, ME, UVM
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.
"Computing has become
the third pillar of
science, along with
theory and experiment"
-Daniel A. Reed, Director,
Renaissance Computing
Institute
Developing and using computer models is critical
for understanding/engineering complex 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.
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.
3x3: run #1
60
1
2
3
4
5
6
7
8
9
50
40
30
20
10
0
0
200
400
600
Maggie Eppstein, CS; Jane Molofsky, Plant Biology; UVM
800
1000
1200
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
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.
Calculus
Computer
programming
Linear algebra
Complex systems
Statistics
Physics
Engineering
Chemistry
Economics
Social
sciences
Biology
Earth Sciences
Humanities