Re: [stack] Evolutionary Programming

"chris glur" <[email protected]>
Newsgroups gmane.comp.lang.concatenative
Message-ID <[email protected]>
> The idea is to write a program that writes Joy programs,
> tests them for fitness against samples of the task data,
> where the task is do something like handwriting recognition.
--snip--
>3. Execute each generated program on the test data and measure
>fitness based on the results. Save the programs with the highest
>fitness rating and discard all the rest.

Having just read 75% of 'The collapse of chaos' by Cohen &
Ian Stew[au]rt I'm less believing than when I read of some
claimed successes in this scheme previously.

I see now that my previous extention of neural-nets
concepts, where the state space searched is continuous
and 'hill climbing' is aimed at; is completely misplaced.

The author starts by looking at Mandelbrot fractals ..etc.
where even with infinitesimal errors the output is still
unpredictable. Ie. effectively discontinuity.

>Sticking closely to the evolutionary paradigm can mean that
>one must start with truly simple versions of the task, such
>as distinguishing between two values of a variable. If we
>start with samples of the full task, such as recognizing full
>documents of text correctly, we won't be able to provide any
>fitness tests that are both meaningful and useful, and it could
>be billions of years before anything works. Narrowing the task
>down to something completely simple allows for some fitness to
>be discovered early on (then we increase the difficulty of the
>task a little).

OK, this sound plausible.
But then only the micro-modules evolve, and the intelligent
human uses them to build the complete algorithm.
Or you can automate the combinations of the modules, but
the human has designed the initial intelligent module
partitioning first.

>It's interesting that Joy code is more like the genetic code
>of DNA than ordinary programming languages are, in that DNA
>doesn't have much in the way of syntax, and it doesn't have
>any explicit looping or other typical control constructs.
I suspect these claims are mostly intuitive ?

IMO 'looping' can only apply in a digital computer.
Whereas DNA is digital, I think the functions which it
'controls' are analog-like. Ie. "DO x UNTIL enough".
So you could say 'the molecules of water evaporated
until the cup was dry", but it that really 'looping'.

I suspect that the 'divide by zero' is only one of [possibly
infinite] many discontinuities in the scheme, as I understand
your description of it.

You can simulate an analog-system in your output, but
your input is discontinuous/chaotic ?
OTOH you could simulate all the analog-processes, with
your digital computer ?

Can you give any mathematical insight into why:
 run M*N should be closer to a goal than run N ?

 It seems like one of these schemes which sound
 plausible on a first superficial consideration, but
 fails on deeper analysis.


 An fascinating can-O-worms ?

 It would be nice to be able to consult biologist-Cohen
 & mathematician-Stewart on this ?

 == Chris Glur.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.