Category Archives: Uncategorized

Lab Notes 01.22.16

CI Lab Notes – 01-22-16CI Lab Notes


Present: Lee, Tom, Bill L, Bill T, Mike (Scribe), Nic, Eva, Eddie, George, Julian




You could win $$$!

Deadline in Spring

Very few entries in the past,

Probably not Auto Construction,

Mike Project idea


Fitness tests and birthing process are bottleneck

Check out Tozier’s Push interpreter

Andy tractor GUI  

Lee send this out to the group!

GUI to launch jobs.


Looking for mentors

Contact Eddie, Mike, or Lee if you’d like to be involved

CEC Niching Competition

Multimodal stuff.

Lexicase selection could be a good candidate for other

GECCO Paper    


                                Abstracts due Jan 27, Full Papers due Feb 3.

GECCO Poster    (Nic)


Poster about visualization

Tournament vs. Lexicase

Maybe turn it into a book?


Two solutions on the newest set of runs

One solved in 40 generations

2nd solved in 203 generations


Chris Hill  

Bill and Lee met with Chris

He works on ocean currents and turbulence. Large scale fluid dynamic simulations

From MIT, works with UMass as well.

Observation and Selection  

Foundational Questions institute


Quantum processing with QGAME

Evolve push programs that when run compile a QGAME script

Lack of complex numbers in Clojure is an issue

Does it need to be implemented in Clojure to make it run faster

It’s definitely running too slow at this point

Nic – Could Garbage collection be an issue? We should look into memory.


Lab Notes 10.21.15

attendees: Bill, Lee, Tom, Nic, Eva, Eddie, Saul, Ben

GECCO tutorials

  • discussed Nic doing a graph database tutorial. maybe better to make it GP analytics type of tutorial
  • Might be worth making Expressive GP more of a group tutorial with demos from recent work

Lee working on his Robust AI grant

  • future work: AI ethics
  • make grant a collaborative project with Nic and Tom

Autoconstructive runs

  • not many successes after 2000 generations
  • more successes than before
  • 23 is not the issue!
  • Nic’s students will now poke around in results to see what there is to see
  • Nic: in current results, variation is happening and contributing to the finding of solutions

Tom offered to have guest speakers for his class next spring (late April – late May)


  • we are human competitive with 1st year programmers with Tom’s results
  • needs to be something done in the last year
  • maybe use Push in an actual programming class online
  • coursera automatically grades software
  • can push bytecode be reverse assembled into java?
  • use Push in a hackathon or programming challenge?

next week: talk about GECCO,

11/4: Bill’s practice talk for UPenn

Eddie: how to generate subsets of data sets for testing/ store and move test cases / generate new test cases for generalization?

  • Lee and Nic: do cross-fold validation, and look at Tom’s thesis for test domains

Tozier does not like “keep number reasonable” restriction on  integers, thinks it should not be restricted in this way. Wants someone to work with him on fixing this.

  • Saul: I’ll reach out to Tozier to work on this

Lab Notes 03.25.15

Notes 3/25/15


*Hampshire Advising Day*















Activity on GPTP papers

Submit something

Hampshire Students wrap up

Talk at Smith, post doc at Harvard


GPTP, working with Thom

Helping Bill with Gecco, videos


GPTP 2014




Produce; idea of style, where things go, accessible to newcomers


Compare Bill’s regression to just diffusion in the tube

Lee says using curves as proxy

Bill says diffusion in a pipe equation

Lance made a possible equation


Calc seems to be working

Doesn’t crash

Lee says next step is create github branch


Wind turbine modeling paper

Identifying close loop dynamics of wind turbine…


Tomorrow guest at UMass


Programs as Polypeptides


Lab Notes 3/11/15

3/11/2015 Lab Notes

Present: Tom, Nic, Bill, Wren, Frode, Eddie (Scribe)

No meeting next week for spring break!

– Calc problem is broken again
– Tests returns number, and boolean for error flag
– Currently error flag boolean logic is not being found by Push

– Transfers between pucks depends on either the bids and asking matching, or a function comparing the two.
– There may, or may not, be loss currently in the transactions.
– How to determine if Pucks are showing emergent behavior?
– Perhaps the answer is with Mutual Information and Entropy
– Plundering
– – What determines the probability of success?
– – What should the cost of plundering be?
– – Can multiple pucks gang up on another puck?
– – – Split results of transactions between multiple parties.
– – How to decide if a puck should attempt a plunder?
– – A puck can only get back the amount of energy out of a plunder, is how much “damage” it managed to do to its victim.

– Lexicase has much higher diversity, and is more consistent.
– Lexicase has many more clusters.
– Bottom line: Lexicase promotes diversity and clustering.
– Visualization problems when runs are of different length.
– – Cannot turn x axis of graphs into percentage of run length, because drawing conclusions between successful and unsuccessful runs becomes problematic.
– Graphs can be seen at Tom’s Rpubs (with source code)
– –

Have a nice break!

Lab Notes 3.4.15

Attendance: Lee, Tom, Nic, Bill, Wren, Beryl, Mike (Scribe), Karthik, Frode




Project Updates

GPTP Deadline

Paper Discussion


GPTP: Clustering, Post-run simplification for generalization,

Lee has funding (May 14 – 16 in Ann Arbor)


Project Updates:

Karthik – Working with search. Functions that can take an object as input and an object as                     output.

Beryl Will be meeting with Herb later this week to discuss math.

Wren – Using fitted data to make a test point to see what that generates with Bill and his                      system

Bill – Wind cases. Original results were for 14 different wind cases, they are better models than what have been published. Getting results on just operational data. Having Issues with bloat

Nic – Markdown in R is super easy and makes pretty stuff. Creates a static HTML file.

Working on clustering with Tom. Trying to get Tom’s data into Neo4J.

Tom – Clustering

Frode – Fixed Calc. Changed the push args to fix it. Tom suggests having the data generated from data domains.

Looking at simplification.

Lee – Eddie is working with Pucks for A Life simulations. Working on implementing violence

(involuntary transactions). Stronger pucks can currently take from weaker pucks. Next, the ability to plunder should be probabilistic rather than absolute.

Time to come back to auto-construction. Variation in reproduction should evolve. Next some instructions in the program manipulate plush genomes. Anyone want to help?


Clustering – Kristoff Kravich Paper: Growing k gradually and using clustering from previous


Use lexicase selection with these clustering methods?


Clustering is good. Let’s combine it with lexicase instead of Hypervolume.


Tom – Discovering how many clusters there are in every generation.

20 bits have to be different to be in different clusters.

150 clusters appear in 1000 cases.

Compared clustering vs diversity.

While clustering plateaus, diversity increases.



Lee’s Note: *Consider effect of relative bid sizes for plundering.




Meeting Notes 2/25/2015

Present: Eddie, Frode, Beryl, Wren, Lee, Tom, Bill, Nic, George, Herb


Krzysztof Krawiec paper distributed by Tom

Quantum computing projects

Status updates


Progress with pucks

  • Emergence of evolutionary dynamics with pucks
  • Getting rid of java script-difficulty in the browser difficulties
  • Workflow not too problematic
  • Debugging clojure script difficult


  • Simplification process to generalization
  • Calc-evolve push button calculator


  • Avoiding over fitting to noise
  • Curve fitting/test data


  • Test sets
  • Paper
  • Portugal


  • No collisions-trace lineages
  • History-vector of single parent error
  • 2 parents get exponentially big
  • Data compresses well

Quantum computing


  • Simulations use for things that no one knows how to do, not impossible
  • Omri found difficulties with irrational numbers in matrices
  • Smaller unsolved questions
  • Java script complex number library
  • Complex numbers available in C#. Use ClojureCLR
  • No need for a visualization in this case.
  • Beryl trying to find a Clojure Complex number library
    • This would allow for quantum simulations to be done in pure Clojure.
  • Nic found a way to inter-opt to Python (Jython) from Clojure that could be used for Complex Numbers.
  • Nic also found clojure libraries to inter-opt R and use that for Complex Numbers.

Lab Notes 2/11/15

Attendance: Nic, Wren, Bill, Frode, Karthik, Mike, Eddie (scribe)


  • Use GP regression plus more traditional engineering techniques in a wide range of applications.
  • EHC
    • New benchmarks with tournament selection show that EHC is still much better
    • 5 iterations of EHC create average program sizes that are similar to basic GP with tournament selection.

    Finite Algebras with GP

  • Lee has system that works with no evolutions
  • Lee’s new system has come the analysis of which Finite Algebras GP could and could not find solutions.


  • GPTP
    • Genetic Programming Theory and Practice
    • On graph database
  • Working with Tom on simplification (and its effect on generalization)


  • Unclear what is noise and what is crucial
  • Possibly going to smooth data


  • coming back


  • Searching over Java objects


  • Pucks
    • Pucks blog:
    • Bonding is functional
    • involuntary transactions coming soon
  • Arcadia
    • Planetary Orbits


  • Documentation of Clojush
    • blog post 1 almost ready
    • Could be posted on GitHub Wiki
  • Computational Criminology
    • looking into Cynthia Rudin’s work

Lab Notes 1/28/15

January 28, 2015













Gecco Papers -3

Thom, Bill, Nic



Asymmetry on parents

Collaboration with David Clark on math-finite terms and finite algebra, Clark has algorithms that are not evolutionary

Pucks; bonding, will then be able to do push based



Crossover revised paper; 2 problems, crossover bias and tournaments


Lee and Nic-

Measurement of success in systems, best approximation, best fitness

Both metrics are potentially useful, and when you don’t know…


Thom and Nic-

Generalization or how well matches the training set-over fitting?

No validation, but spot-check via graphs; stable, solid approximations over test area

Adding crossover bias-fitness becomes larger



Generalization and how to promote it in GP runs


Lee, Thom and Bill-

Papers from journal; collectively read and discuss

Trade of fitness and validation of fitness

How different system generalize-but not making better at generalization



Promoting generalization in symbolic regression

Smaller programs generally generalize better with better fitness

Random mate selection, survival step-fitness and fitness generality


Lee, Thom and Bill-

2 fitness cases,

Survival-how well fitness to 1, and how well fitness’s compare

2 sets similar-performance on one dependent on other

Size connects to post run simplification

Simplify with hill climber after

Each step turns some genes off (remove sub-expression)



Trees; mutations with replacement of sub tree with parent tree

Preserve syntax


Lee, Bill and Thom-

Post run simplification

Instead of pure hill climbing

Turn off two genes and turn one gene back on

Higher probability of turning things off then on

Frode tried to do systematic testing; same simplification but as genetic operator and how it works with size and generalization; all a wash, simplifying during a run has all sorts of repercussions

Post run simplification for generalization


Bill, Nic and Lee-

Epigenetic paper; danger of varying multiple things and their repercussions and relations within the system

What is the epigenetics contributing? Is it just turning off your other additions?

Tough sell without solving some unsolvable problems

Clarity about base system and what is being changed

Explanation of the nuances of ideas

Rational for starting point

2 stack based systems; epigenetics is easier to do in stack-based systems

What happens when stuff gets turned off?



Push for hill climbing; doesn’t take secondary

Keeps child if better at every test case, even with out lexicase



More LatB data

Calc concentration eq; relates to what the cell looks like

Models with Sarah



Documentation; example programs, how to put in your own data

Java version of push

Unwitting GP, Parasitic computing

Zeke’s tree based GP

Quill, Gorilla repl

Outsiders get started with out intensive tutorial

Cleaner; FourPush?




Trying inductive synthesis with Sketch (having trouble with strings)

Running Tom’s Benchmarks



Thinking about using simplification before parent selection.

Unclear whether this would help.



GECCO Papers



-In tree based GP, the root node is more important.
-Biological Reproduction is generally asymmetric


*GPTP wants “something” by 2/7.

*Gecco Workshop deadlines: 4/3

Lab Notes – 21 January 2015

Present: Lee, Tom (scribe), Nic, Mike, Tim (hangouts)

GECCO Submissions

  • Nic: Xover bias
  • Tom: Benchmarks
  • Bill: EHC


  • Talk about who might be attending
  • What should we write up?
    • Maybe simplification as post-run generalization improver?
      • Maybe in trees?
      • Maybe non-hill climbing using silencing?


  • Binding
  • Involuntary transactins

Finite Algebras

Lee reimplemented

Notes – 1/7/15

CI Lab Meeting Notes – 1/7/15

Attendance: Lee, Tom, Karthik (Hangouts), Mike (Scribe)

     GECCO Papers: Abstracts due January 21st, Full papers on February 4th


               Benchmarks – Data is assembled, Tom is putting together the outline.

Estimate of 2 Weeks to finish runs.

               Parameter Sets – Instructions, Max Size, Push-eval limit, Max # of runs

List which parameters/instructions are being used for each problem.

               Homology – along with Bill?


How does simplification percentage affect generalization

Incorporate simplification into selection? (Probably a bad idea)

How does it apply outside of Push?


      Pucks bonding has been implemented


      Lee is working on re-implementing finite algebras algorithm



      Next week’s possible Agenda Items:

                Uncle Bob continued

Homology Discussion

More GECCO Submissions?

**Next Week’s Meeting will be on Tuesday, January 13th 10:00AM – 12:00PM Location: TBD