[Push] Random code generation

Thomas Helmuth thelmuth at cs.umass.edu
Sun Jun 20 09:26:11 EDT 2010


On Sun, Jun 20, 2010 at 9:00 AM, PerPlex Ed <edperplex at yahoo.com> wrote:

>
> Since the number of instruction is 2 order of magnitude bigger than
> then number of all possible kinds of ephemeral random constants (which is
> the number of activated "value types"), I get code that will fail in most
> of the cases because the instructions have no inputs on the stack.
> So this can't be the correct procedure. How do I have to read that?
>
>
It sounds like you don't have anything on the stacks at the beginning of
your program, which should not be the case. At the bare minimum, both the
Exec and Code stacks should contain the program itself, and any other inputs
should be pushed onto their respective stacks. For example, if you are
running a floating point symbolic regression problem with input x, x should
be pushed onto the Float stack before execution.

Another problem you may be having is that it appears that you are not
constraining the instruction set in any way. Though not strictly necessary,
it often speeds up the evolutionary process to restrict Push to only
instructions that may be necessary during evolution. For example, if you are
running a problem that deals with boolean satisfiability, it doesn't help to
have float or int instructions in your instruction set.

-Tom
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.hampshire.edu/pipermail/push/attachments/20100620/10325f21/attachment.htm>


More information about the Push mailing list