[Push] minor push3 updates

Lee Spector lspector at hampshire.edu
Sat Jul 31 21:06:39 EDT 2004


FYI I just made a couple of minor changes to the push3 files I posted 
yesterday, spelled out below. On the factorial example (now the default 
example in pushgp3.lisp), check out the following (simplified) evolved 
factorial function:

(1 INTEGER.MAX 1 EXEC.DO*RANGE INTEGER.*)

This now replaces the example that was in push3-description.html -- I 
had neglected to notice that that one (which was identical except that 
it lacked the initial "I INTEGER.MAX") gave the wrong answer for the 
special case of input=0.

Also, I've uploaded my "auto-simplify.lisp" utility to the same 
directory. This is a simple "hill-climber" that tries random deletions, 
replacements with junk symbols, and flattenings, accepting every change 
that maintains fitness. Simple but very handy. For the above case it 
simplified it from a fairly big beast to exactly what you see except 
that in place of "1" in both places it had "INTEGER.STACKDEPTH" -- 
since I could see that the stack depth was always 1 in both cases, I 
could make the substitution.

  -Lee



push3-description.html:
20040731: - Fixed typos, added "Pushkin," other minor fixes.
           - Fixed factorial examples for input of zero.

push3.lisp:
20040731: Changed *TOP-LEVEL-PUSH-CODE* *TOP-LEVEL-POP-CODE* to take 
TRUE/FALSE
             rather than T/NIL. This required a tweak to 
defpushparameter.
           Added generate-full-config-code function.
           Prevented ENV.TYPES and ENV.INSTRUCTIONS from appearing in 
automatically
             generatied configuration files.

pushgp3.lisp:
20040731 - Added "flatten" mutation method.
          - Made the factorial example (elaborated with configuration 
code)
            the default (since it can now be solved!)
--
Lee Spector
Dean, Cognitive Science + Professor, Computer Science
Cognitive Science, Hampshire College, Amherst, MA 01002
lspector at hampshire.edu, http://hampshire.edu/lspector/
Phone: 413-559-5352, Fax: 413-559-5438





More information about the Push mailing list