Re: [livecode] live genetic programming

From: Dave Griffiths <dave_at_pawfal.org>
Date: Fri, 1 Apr 2005 12:58:09 +0100

On Fri, 1 Apr 2005 13:01:45 +0200, Julian Rohrhuber wrote
> >I thought initialy an easy way to construct the
> >fitnnes function would be:
> >Each programm would have a probability of survival. At
> >the end of a turn a random mechanism would decide if a
> >programm would survive to reproduce or die according
> >to the probability..
> >If the programmer does not set a probability of
> >survival to a programm then we can do lots of things
> >like it inherits an average of its parents
> >probabilities...
> >
> >Usualy the fitness function is refered as an important
> >part of the "enviroment" where the indiviuals are
> >living. We could say that in a "live coding gp system"
> >
> >(lcgps(hehehe)) the enviroment would be the
> >music-programmer! He can edit a given proggram, he can
> >kill anyone that's bothering....
>
> Generally speaking, I think combining interactive programming with
> genetic programming is interesting because of a certain
> incongruousness they seem to have. GP really comes from the
> tradition of problem-solving automata, interactive programming more
> from the side of expressing problems. If a gp algorithm has found a
> 'good' solution, it might not express a problem clearly, it is still
> a good solution (and maybe a better one than one could have found by
> thinking about it). A question to you who have a certain experience
> with this 'breeding' practise: can you still follow the (textual)
> output of your algorithms - I mean do they "make sense"?

Not really - no. They can contain large amounts of code that does not get
executed, or is irrelevant. This can be minimised by scoring code length, but
it's generally there to some extent. This can be seen as being "junk dna" and
may be important to have around - but more on the dodgy biological parallels
below. They can also employ ways of doing things that are truely arcane and
hard to follow.

> Another side of this is that the terminology of genetics (and
> immunology) is full of metaphors with a very political taste,
> usually neo-liberal: competition, survival, defence etc. This
> terminology also naturalizes certain behaviours - like hereditary
> descendence - which should nearly automatically be challenged by a
> process of live coding. How does literature and nature metaphors "interbreed"?

The use of biological language in these cases is more than little misleading,
as I am constantly reminded by my geneticist girlfriend. There is really no
parallel between the methods of GP, genetic algorithms or any of these
techniques and real life genetics. They take a certain aspect of adaption and
steal a lot of the terminology for processes that we really understand little
about yet even in current biology.

It would be great to be able to seperate this language between the biology,
computer science and social politics, as they really share very little
meaning. It's really important to get this message through to people, I think.

> >If a fitness function for scoring music was programmed to score fast melodies
> >highly, the selected individuals would favor speed, and the population as a
> >whole would be slowly filled with programs that create faster melodies. If you
> >could change the fitness function on the fly, your population would react to
> >the changing pressures and adapt further to gain high marks.
> >
>
> Writing programs on the fly, I got the impression that the relation
> between statistical and deteministic properties of the algorithm
> gets quite relevant. If there is too much randomness, modifying the
> program does not yield any new insight in the process. But this is
> the case for a certain durational range - very fast changes are
> overlooked easily enough. I would guess that gp + ip is really good
> for these ranges.

I'm not sure I follow you, but it would be possible, if only viewing the best
code for the latest poplation, to watch the development, and improvement in a
way that would be almost understandable I think - maybe not in specifics, but
in a general sense.

The thing that GP and livecoding share in opposition to the traditional act of
writing software, is that they are more concerned with the program being part
of a dynamic process. Nothing is ever finished.

cheers,

dave
Received on Fri Apr 01 2005 - 12:02:41 BST

This archive was generated by hypermail 2.4.0 : Sun Aug 20 2023 - 16:02:23 BST