home .. forth .. misc mail list archive ..

by way of an explanation




by way of an explanation...

It seems in the recent past I have made some quite outrageous
(at least to some people) seeming remarks concerning maspar
scientific simulations here in MISC. I think I owe you some
explanations elucidating my particular way of doing things as it
is distinctly different from simulation mainstream. (I don't
have too much to lose, looking quite the fool already :) Tell me
when I start to babble, and I'll quit.

They are mostly two flavours of simulation: one focusing on
predicting the exact region of statespace (below more on that)
at maximum possible precision, and one in learning more the
large-scale (collective/abstracted) properties of system. The
nonstatistical emulation. i.e. looking at the future or the past
of the solar system, predicting the weather/climate, etc. would
be an instance of the first and finding out, where e.g. phase
transitions in a water/ion box exactly occur an instance of the
second. (We ignore each individual particle's contribution but
concentrate on some few large-scale system properties).

In both cases the conservative approach is 1) capture essential
(don't laugh) aspects of the real system by differential
equations. As they cannot be solved analytically but for most
trivial systems, 2) we have to solve them by numerical
approximation, which expands into 3) a system of linear
equations, which 4) is solved by means of matrix algebra by a
computer. Essentially, we are looking for an global or local
extremum (minimum or maximum) in a (very) high dimensional
parameter space (=set of all allowed parameter combinations). As
the energy landscape can (and very often gets) modulated in the
course of system's evolution (not exactly true, read below), we
have to do iterate the above method, the step size being
dictated by the slope of energy function's modulation unless we
want to arrive at completely wrong results. (We only very rarely
know the Hamiltonian explicitly (we ain't God, after all) but
have to derive the the right region-local vector(s) from a
(large) set of constraints, which arise from the system's
current statespace position... has anyone just said "what a
mess"?)

While straightforward from a concervative scientist's view (I
consider above approximation pipeline with the final stage a
horrible mismatch with both the original system and featuring a
very poor mapping upon the underlying hardware), above modeling
paradigma (alas, it _is_ one) suffers from quite a number of
very serious problems.

The first and most trivial lies in the essence of the method.
Even piffling problems expand into really breathtaking matrices.
There are several matrix solving algorithms, but all of them
need very high number of matrix multiplications and store
accesses. The classical monomaniac vector computer architecture
is a brute force approach to tackle above challenges. Typically,
one single very fast dedicated vector (hardware matrixmult,
parallelism at instruction window level) processor has a very
large amount (hundres of MBytes) of very fast (ns and sub-ns
range) memory and a very large (many GBytes) virtual memory on
hard disk. A middle-aged monoprocessor Cray is a typical
instance of above architecture. Obviously, this a highly
dedicated (=not of much use for anything else) and pricey (=many
megabucks) way of doing things. Because of high costs the system
has to run continously at full steam (an elaborate job
scheduler/load leveler is used), typically serving several users
simultaneously, thus further reduces the power available to a
fraction of the paper GFlops value. Of course, matrix algebra
can also be mapped upon a maspar computer, though very high
communication bandwidth it needs results in demand for few
high-end vectorish nodes. It is this fact which causes most
scientists to outright negate the usability of fine-grained
maspar machines. No wonder: matrix algebra does not map very
well to them.

Thus the predominance of vector architectures in the recent past
is an artefact of a biased perception of reality.

The second reason constraining the usability of above method is
much more serious. The computational resources (both time and
space) rise exponentially with the degrees of freedom
(essentially the size of the simulation) the system has. Though
quantum theory even of the 30's adequately describes any
molecular system, breakthrough was possible only in the 60's and
70's when raw computer power became available. Since then, very
little progress has been accomplished without using
semiempirical approximations, which produce results of limited
applicability, a stagnation de facto. Modeling small
high-symmetry metal clusters or trivial organic molecules is the
end of the line: the resource demand explosion can run rings
around technological progress. So this is not merely "we need a
faster computer to solve it". If we turn the whole Moon into a
computer, we still couldn't model e.g. a protein in a water box
with QM.

On the whole, wherever there is a system with 1) lots of knobs
to play with and relatively few constraints 2) rugged energy
landscapes (lots of attractors and small minimax deviations, the
classical approach is in deep sh**. Instead of producing at
least a plausible result it hits very wide of the mark.
Unfortunately, most physical systems are 1)+2). What to do?

Though I am going to discuss one particular system en detail, I
should point out the fact that in principle the arguments will
hold equally for any physical system. Though newer quantum
theories introduce intrinsic nonlocality, the maximul velocity
at which information can propagate is the speed of light (you
can't tell nonlocal interferences from random local noise).
Considering an ensemble of subsystems this means that a local
reference system has no direct way to influence or to be
influenced by a spatially distant subsystem. It has to wait
until the information (interaction) traveling through space
arrives. In most cases, like hydrodynamics (fluid flow modeling)
or finite elements (solid deformation by stress modeling) the
propagation velocity is limited to supersonic and even to well
below subsonic speeds if we don't want to model shock waves. In
neural nets the propagation velocity is limited to max 120 m/s
in mammals. (Though neuron cell bodies are aligned upon a noisy
3d grid, topologically (graph theory) they occupy points of a
high dimensional lattice, edge (connection) distribution
function peaking locally, though having a strong vertical
polarization concerning their physical location in the
neocortex. Hence the neuro light cone base at t is the
excitatory state of the "self" neuron body and one-edge-distance
separated cells (topologically direct neighours), some 10k of
them. Hence, a bioNN is a cellular automaton of very high
dimensionality or, better, an automaton network).

If we model an essentially continous system by an iterative
sequence of discrete states, each local system can influence
only the subsystems in the immediate vicinity and, in turn, be
influenced by them. In a sense we can equate the reference
subsystem + it's surroundings as the base of the light cone at
t, while the future state of the reference system at t+1 is the
tip of the light cone. This is not a random fact why I use
cellular automata (CA) theory lingo here. The universe is an
asynchronous ensemble of subsystems, which interact only
locally, i.e. the unverse is an CA, not a von Neumann. This is
trivial, yet it has profound implications.

The relatively recent (mid 70's) very powerful statespace theory
describes the entire physical system as a point in (usually) a
very high dimensional space, called the system's statespace. As
the system evolves in time, it's representative point describes
a smooth trajectory, a path in this statespace. A Hamiltonian, a
vector field upon statespace (this means that for every point of
statespace at t, there is a vector (arrow) pointing to another
point of statespace for t+1). The system's future is totally
determined as is system's past, if we invert the direction of
the vector, thus applying the inverse Hamiltonian. (Note that we
can also use future light cone as the maximum set of all
system's futures argumentation here which also leads to
interesting results, but... skip that).

I won't harp upon hierarchical subsystem clustering, (strange)
attractor kinetics & all that good shit. I point out merely few
intuitive insights: the system has a speed in statespace at
which it evolves. To define it, we can apply the euclidian
distance metric, the square root of the sum of delta squares of
the individual vector components at two times t1 and t2 as a
fraction over (t2-t1). Mean v=(s2-s1)/(t2-t1) (dv=ds/dt). As our
computer integers have a limited number of bits and our time
steps are discrete and quite large due to limited patience, we
are making an approximation (of course). As our observable's
precision is quite limited, too, this does not pose any too
grave problems.

Now if we know a point (a region, actually) of statespace our
system is at t and the Hamiltonian, we can predict the point at
t+1, by iterating above at t+n. This is, in a nutshell, what I
call Explicit Statespace Traversal Simulation (ESTS).

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

All this has probably been very boring and has absolutely no
links to MISC, on the first glance. Have I wasted bandwidth,
again? 8O

In the next post(s) I'd like to show how digital sequential and
parallel computers can be described in terms of statespace, how
a physical system (a gas box; a constrained particle system)
performs in statespace, how an abstract computational index both
for natural and artificial systems can be defined, what an
ergodic system is, what an attractor/separatrix is, why energy
landscapes of most natural systems are rugged, what that means
and how, the heck! does one write efficient code for an ESDS
code, illustrated on the protein folding problem.

Any comments?

-- Eugene