[comp.software-eng] Chaos theory for software engineering?

psrc@pegasus.ATT.COM (Paul S. R. Chisholm) (10/02/89)

Yeah, I know, the last thing software people need is more chaos.-)  But
seriously, I'm partway through CHAOS:  THE MAKING OF A NEW SCIENCE by
Gleick, and some of it sounds a lot like what we do.  Chaos theory
deals with dynamic systems, consisting of many bodies whose behavior is
too complex to model, and where small changes in the initial conditions
can lead to enormous changes in the final state.  Yup, sounds like the
software *I'm* responsible for.-)

My first impression is that this stuff isn't applicable to software
engineering.  Rough approximations or general descriptions of our
systems aren't much help.  But I'm not the brightest person in the
field.

Has anyone found any references to applying chaos theory to software?

Paul S. R. Chisholm, AT&T Bell Laboratories
att!pegasus!psrc, psrc@pegasus.att.com, AT&T Mail !psrchisholm
I'm not speaking for the company, I'm just speaking my mind.
(I'm too busy to edit summaries; just post on this one, please.)

demon@thor.wright.edu (Brett Kottman) (10/04/89)

	Since software design is usually the transfer of control from
one known state to another, this seems to be quite illogical.

childers@avsd.UUCP (Richard Childers) (10/04/89)

psrc@pegasus.ATT.COM (Paul S. R. Chisholm) writes:

>Has anyone found any references to applying chaos theory to software?

Well, I don't know if this fits your bill, but my dad shared a favorite
chapter of a book of his with me. The book is called ...

		Introduction to Operations Research

	A Kaufman, Institute Polytechnique de Grenoble, Grenoble, France
		R. Faure, Paris Transport Authority, Paris, France

		( translated from French by Henry C. Sneyd )
		Academic Press, 1968, New York and London

... and the one particular chapter my dad copied for me is called ...

			Dinner A La Francaise
	( in which we may see that the theory of Graphs and Boolean
		Algebra may be useful in the kitchen )

... where one of the authors uses a significant portion of his expertise
at analyzing hideously complex and massively interdependent systems, to
help a friend chart an economical and aesthetically pleasing path through
a dinner made more complicated than it might otherwise need to be by the
presence of about three dozen excellent and diverse wines, none of which
quite go with any of the others without considerable management of the
order and context of their presentation.

The story, which is perhaps a dozen pages long, uses truth charts to look
at the combinatorial possibilities, flow charts to analyze sequential
aspects of the meal ( IE, which wines _must_ follow which other wines, in
the context of a multiple-course meal which is equally problematic ), and
even a few Venn diagrams to clarify which things just can't go together,
in a way that was simple for his friend to accept as accurate, and which
expedited the process of planning the meal considerably.

Is this Chaos theory ? I don't know, I still haven't read much on Chaos,
but from what I understand Chaos Theory is a way of approaching very large
and complex problems, using tools derived from Operations Research and
General Systems Theory. The problem isn't chaotic, but if you added a few
opinionated French chefs to the problem, it might be ...	(-:

Be that as it may, this book is an excellent introduction to the application
of Vast Organizational Laws to the petty problems of everyday life, as each
chapter illustrates sophisticated use of organizational approaches to simple
problems in a way that is very friendly. IE,

	Chapter 1	Story of a News Vendor
			( A problem of stock )

	Chapter 2	How Should Investments Be Distributed ?
			( A combinatorial problem of allocation )

	Chapter 3	The Puppet Manufacturer
			( Markov chains, a problem of sequential decisions )

	Chapter 4	Patience In The Face Of Delays
			( Tool distribution, theory of waiting-line phenomena )

... et caetera.

I've found the methods within applicable to many of the set-oriented problems
I face on a daily basis as a WAN administrator, and I'd guess they could be
coded as software for network management, as well. So, if Chaos Theory isn't
applicable to software engineering yet, I'm sure it will be. Certainly,
queueing theory is relevant to computer programming, especially in these
network-intensive days ...

( I tried to turn two bosses onto this methodology, but they kind of turned
off at the prospect of hideously detailed intellectualizing of what they
regarded as simple problems, easy to resolve ... )


>Paul S. R. Chisholm, AT&T Bell Laboratories

-- richard

-- 
 *    "Domains constitute a futile attempt to defeat anarchy and otherwise    *
 *     retard progress." (Steve Bellovin, Peter Honeyman, pathalias(l))       *
 *                                                                            *
 *        ..{amdahl|decwrl|octopus|pyramid|ucbvax}!avsd.UUCP!childers         *

gcj@maths.qmc.ac.UK (Gordon Joly) (11/17/89)

> From: "Paul S. R. Chisholm" <dptg!pegasus!psrc@rutgers.edu>
>   Chaos theory deals
> with dynamic systems, consisting of many bodies whose behavior is too
> complex to model, and where small changes in the initial conditions can
> lead to enormous changes in the final state.  Yup, sounds like the
> software *I'm* responsible for.-)

Chaos can be seen in very simple systems. The iron ball pendulum with
*three* magnets on the plate below is an example. Agreed sensitivity
to small changes in initial conditions is a characteristic of chaotic
behaviour, for example some weather patterns (with Lorentz attractors).

AI is research is trying to *introduce* chaos into systems. Has chaos
has only been observed in analogue physical systems?

Gordon Joly.

ARPA: gjoly@nfs.ac.uk
BITNET: gcj%@uk.ac.qmc.maths@AC.UK

Academic Department of Psychiatry,
University College Middlesex School of Medicine,
Middlesex Hospital, LONDON W1N 8AA, U.K.

PAAAAAR@CALSTATE.BITNET (11/27/89)

Gordon Joly of Middlesex Hospital, LONDON W1N 8AA, U.K.
 asked:
> Has chaos
> only been observed in analogue physical systems?
I can give a definitive NO to this question.

Population dynamics (biological, discrete) exhibits "Chaos".

There is a tendency for the following kind of procedure to be "Chaotic"
when the effect of A;B is different to B;A.
procedure engima(A,B,C,D); begin while C do if D then A else B end;

We tripped over a couple examples
at a university near you in the 60's and 70's.

One of these was a generalisation of Pitteway's Conic Algorithm
and the other a silly and well known problem called "3n+1, divide by 2".

Whether anyone (a) remembers those days, (b) noticed the Chaotic connection
is another matter.

Try contacting M L V Pitteway, at Brunel University, Uxbridge, Middx, UK.

One day, when I have time I will publish a paper on "3n+1, divide by 2"
(probably under the head of Recreational Mathematics)

Dick Botting.
-------------------------------------------------------------------------
Richard J. Botting,  Department of computer science,
California State University, San Bernardino,
5500 State University Parkway, San Bernardino CA 92407
PAAAAAR@CCS.CSUSCC.CALSTATE
paaaaar@calstate.bitnet
PAAAAAR%CALSTATE.BITNET@CUNYVM.CUNY.EDU
---------------------------------------------------------------------------
Even Users have a right to pursue happiness
---------------------------------------------------------------------------