Re: [stack] Evolutionary Programming

John Meacham <[email protected]>
Newsgroups gmane.comp.lang.concatenative
Message-ID <[email protected]>
On Sat, Nov 22, 2008 at 02:35:05PM -0800, William Tanksley, Jr wrote:
> chris glur <[email protected]> wrote:
> > If it's to run as an auto-evolving machine, then decoding,
> > analysing & reverse-engineering the results is not realistic.
> > And not a goal.
> 
> You do have to decide the relative fitness of the results, so some
> amount of decoding results is needed.

I should say, the main reason I recommended 'floy' instead of joy was
not for easy interpretation of the results, but rather to have a more
convinient base to use as a genetic code. Imagine your language has 16
basic primitives, when using floy, you need only consider those 16
primitives and the quoted versions of each. You have a straight up
linear language of 32 primitives you can cut-up and paste all you want
and still have a valid program. you can consider a length n program as a
base 32 number of length n if that suits you. If you allowed arbitrary
quoting, then you have to make sure quotes are balanced, you no longer
have a linear reppresentation of the language, but a tree-like one,
where each node is a primitive or a quote of an arbitrary list of
primitives or quotes themselves. Not that this is fatal, but it might
make things less convinient depending on how your algorithm works. for
instance, OOPS likes to extend its programs a single instruction at a
time, which is easier for the linear style. 

Note that when talking about 'linear genetic programming' many will
assume you mean a first order imperative language, but a higher order
concatenative language like the floy variant of joy is just as linear.
but when communicating with others it is good to keep in mind. perhaps a
better term is in order 'concatenative linear genetic programming'
'functional linear genetic programing' maybe?


> > Similarly the concept of "loop" is just a human construct,
> > invented for manageability purposes.
> 
> No, it's a machine concept.

I would go a bit further and say it is a fundamental mathematical
concept if we are talking about what computational "power" loops give
you over not having them. by loops I am including equivalent
(computationally) constructions such as recursion or fixed point
combinators.

http://en.wikipedia.org/wiki/Recursion_theory is the study of this.

        John

-- 
John Meacham - ⑆repetae.net⑆john⑈
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.