Advertisement

Assembly-Language Script Evolution

Started by August 19, 2007 06:04 AM
10 comments, last by Vorpy 17 years, 6 months ago
Quote:
call routine by searching forward for the matching label


How would it search for the matching label? What would the instruction call look like?


Quote:
If the jump address is specified in the instruction itself then programs will have difficulty jumping into the code of other programs, or even just randomly combining in a somewhat meaningful way. Or maybe it would still work, I don't know.


Yeah, true, the search space would be too big.


What if I used a Scheme-like language for the scripts.

For example: (+ 2 (- 4 5))


Which in diagram form would be:

   +  / \ 2   -    / \   4   5


This would resolve the issue of having too big a search space because the program could only be recombined in meaningful ways. But I don't knot about how reproduction would be done. There would have to be some system that traverses the entire tree and copies each node? I might as well make a 'reproduce' command, but then the whole script would be pointless. I have to break it into steps that could be recombined in other ways to serve useful purposes...

[Edited by - polyfrag on August 21, 2007 2:20:00 AM]
Linear assembly code is really no less meaningful than a tree. It is the instructions themselves that determine what can happen. Although a tree does offer some advantages for genetic algorithms, and I think it is used for that sort of thing sometimes.

Searching for templates is done by simply scanning the memory for the matching template. You can use whatever instruction name you want. Look at the instruction sets in Tierra and Avida to see what they did.

This topic is closed to new replies.

Advertisement