Re: our work (fwd)

Darren Kelly (kelly@x4u2.desy.de)
Tue, 14 Apr 1998 22:44:10 +0200 (MET DST)

Hey, this is cool. Finally some real "tech" on dance-tech:

On Tue, 14 Apr 1998, STUART JOSHUA MICHAEL wrote:

> and I'll try to address it. I agree with you in the sense that
> your approach is asthetically and theoretically pleasing. It's just
> hard for me to think of a practical way to implement it, and for
> that reason I haven't pursued it.

At the risk of playing devil's advocate: "asthetically and theoretically
pleasing" always lead to an easier (elegant) implementation. It's when you
have theoretically "broken" methods that you end up having to patch things
after-the-fact, which is what you are doing be reimposing nice transitions
onto uncomfortable ones.

> What you described is exactly analogous to the random walk of a markov
> process.

I'd have never thought I'd end up discussing Markov processes (which I use
as a physicist) here; I'll have to tell my boss reading dance-tech is
helping DESY !

Yes, the finger holding the stick up is driving system (possibly noisy)
acting on a constrained dynamic system. The dynamic system can be
integrated given a non-noisy driving term (in that case the stick falls
over !). In the case of a noisy driving finger motion, you can no longer
integrate the differential equations describing the noisy system to find
out exactly where the coordinates of the stick will be after a given time,
but you can integrate the PROBABILITY DISTRIBUTIONS for the coordinates,
i.e. you can show exactly where the top of the stick will be on average,
and indeed that for certain types of noisy motion the stick will stay "up"
(always and forever).

One can not predict exactly where the top of the stick will be (it
moves chaotically) only it's average behaviour. But you CAN say
where it will not be ! You can thus find systems that prevent you
breaking dancers limbs :)

If I look to my left as I type I see a plots of the spin probability
distribution for electrons evolving in time in the HERA particle
accelerator. The electrons emit photons as they travel around bends, which
forces the spin of the particles to change. The photons are emitted
randomly, so the whole thing can be well-modelled as a Markov process:

The electron spins are the driven dynamic variable.

The photon emissions are the driving random variable.

> One difficulty is to really make the decision genuinely chaotic
> and not disguised randomness.

Yes, complete "randomness" is simply irritating, like white noise on the
radio, or a child stomping on a piano with the fists. On the other hand,
entirely predictable is boring. Somewhere in between is nice.

> Even if we can represent all
> possible successor states of a given body position, how should
> we order them? If their order is random then we're already lost.

The driving random variable is random. The coordinates (the driven
variables) ARE ordered. The snapshots of the coordinates are chaotically
distributed, possess however smooth transitional information, which an
audience will perceive as somehow connected yet somehow random.

Try it out on something simpler like the pitch of a note. Attach a random
generator to the MIDI pitch bend controller and you get something
irritating. Attach a randomly DRIVEN variable to the MIDI pitch bend
controller and you get something "recognisable", perhaps interesting (like
wind chimes driven by the "random" wind). Attach a smooth pendulum to the
MIDI pitch bend controller and you get techno ! (Hardy ha ha :) giggle
yoho giggle smurf).

> Now, to realize
> the decision aspect of the walk we simply map points from a
> chaotic trajectory into the interval [1,N] and let the chaos choose
> between the N ordered next states.

No, map the randomly driven smooth variables to OFFSETS in the future
possible states grid.

> There only remains the question of determining
> the successors of some body position. Since we could
> never represent the entire space of body positions we would need to
> come up with the successor states on-the-fly, which means we need
> a function that takes in the state of the body as a parameter and
> returns a list of possible next states.

No, you don't need to feed the current configuration back in. The chaotic
variable (not the random driving variable) yield the CONSTRAINED OFFSET
from the current position. It need not know the current position. This
imposes smooth motion FROM one possible state to ANOTHER possible state,
the "magnitude" of that change being chaotic.

> The rules we use cannot
> treat joints independantly of one another since they would ignore
> aspects of coordination and since the number of possible states they
> would come up with would still be too large to handle (for instance,
> if we're modelling a body that has 20 joints and each joint
> can stay in its current possition or move to only one other position,
> then we'd have 2^20 = milliion possible successor states even for this
> limited "move/dont-move" character).

_You_ don't have 2^20 possible successor states. The universe does.
Your calculation needn't keep track of these states, it only has to move
through one set of them. I still suspect you are doing something
redundant.

> If you wanted to use more
> realistic models, you'd probably want to generate successor states
> based also on the *history* of movement leading up to the current
> position, not just the current position itself.

Aha, this is it. The chaos doesn't even KNOW where it's going ! Why
on earth would it care where it came from ? This is the cool thing
about chaos, you can't integrate it backwards:

(1) Store the complete state of your dynamic system
(something like a few hundred positions or independent vars).
The system doesn't know it is about to get hit by a chaotic
change.

(2) Calculate a few hundred chaotic variables (possibly independent
of (1) and past (1)s !) according to a dynamically chaotic model
such as the stick example.

(3) Move to (1)+(2) subject to the contraints you impose.

(4) Go back to Step (1).

You have a choice in step (2). You can in some form feed the current
configuration (the driven variables) back into the system, much like
the f(x,a(x))=0 method. In this case you at most need to store
the very last configuration. Or you can let the chaotic system live
as a completely unrelated chaotic system - if possible a dynamic one
like the driven stick, or if you like separate 1D f(x,a(x))=0 equations.
In any case, you should use the chaotic variables as OFFSETS to contrained
state variables.

If I get energetic this week I might make some examples available in
a web page,

regards

Darren

*****************************************************************
Darren Kelly | | |
| \ 0 / |
DESY -MPY- (Deutsches Elektronen-Synchrotron) | * o |
Notkestr.85 | - D E S Y - |
22603 Hamburg | o * |
Germany | / O \ |
| | |
phone: +49-40-8998-4569 | |
fax: +49-40-8998-4305 <--Note change | |
e-mail: kelly@x4u2.desy.de | |
****************************************************************
Amandastr.40a, | HOME |
20357 Hamburg | zu Hause |
phone: +49-40-4322602 | The PLAYhouse |
*****************************************************************