Download presentation source
Download
Report
Transcript Download presentation source
What is a Complex System?
an1
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(RR)) (y nil C(RR)))
(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(ZR)) (y nil C(ZR)))
(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