Download presentation source

Download Report

Transcript Download presentation source

What is a Complex System?
an1
0
 3an  1, if odd

k
a
/
2
, if even
 n
5
10
15
• Type I: Lots of components,
intricate interconnections
 World economy
 Fluid flow, avalanche
 Bandwidth on the internet
• Type II: Single components
with complex behavior (may
be composed of many type I
systems)
 Non-linear, chaotic
systems
 Collatz iteratation
© Richard Zippel
Abstraction
Understanding complexity requires reducing the
number of components in the system
Two basic approaches:
 Partitioning—aggregating components
 Ignoring details—approximations
Ignoring details requires a principled way of restoring
them.
© Richard Zippel
Polynomial Arithmetic
Many algorithms are expressed in simplified
environments and refined/elaborated to be useful.
x 2 y3  x  z  1
Polynomial algorithms are often expressed assuming:
 The polynomials are monic
x2  x  z 1
 Only involve one variable
x2  x 1
 General techniques convert simplified algorithms to
more sophisticated algorithms
© Richard Zippel
DRAM
Row select
Memory
Memory
Cell
Cell
Memory
Memory
Cell
Cell
Column select
Sense amps
Data out
Basic model is simple, but inaccurate
100-200 clocks used for timing:
 Processing and temperature skews
 Allow more time for sense  squeeze everything
before and after
© Richard Zippel
Program Transformations
(defprogram LinearODE (end)
(bind ((x nil C(RR)) (y nil C(RR)))
(constrain (x y) (" t e [0, 
dx
dy
(t   x (t   y(t , (t   x (t  - 2y(t
dt
dt
x(0) = 1, y(0) = 1)
(bind ((s 0))
Loop: (if s  end (goto End))
(print x(s)2 + y(s)2)
(s  0.1 + s)
(goto Loop)
End:
))))
(defprogram LinearODE (end)
(bind ((x nil C(ZR)) (y nil C(ZR)))
(x[0] (y[0] 
(bind ((n 0))
Loop:
(if s  end (goto End))
Forward Euler
Program Transformation
x[n  1  (1  h x[n   h  y[n
y[n  1  2h  x[n   (1 - h   y[n 
(print x[n]2 + y[n]2)
(n n + 1)
End:
(goto Loop)
))))
SPL language
 Variables can be continuous functions
 Constraint language with differential equation
constraints—natural way of describing physical situations
Program Transformations
 Capture mathematical techniques
 Blends compiler optimizations and mathematical analysis
© Richard Zippel
System Approximations
Research questions in systems approximations
 How does one define a “distance metric” for
systems? How close is one approximation to
another?
 Systems are evaluated along different dimensions
(fidelity, safety, performance, etc.). The distance
between two models will depend upon the
dimensional along which the system is being
evaluated.
 How does one create an approximation to a complex
system?
 How does one combine system models?
© Richard Zippel