Author Archives: erp12

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!

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

19 November 2014

Attendance: Karthik, Wren, Tom, Bill, Tim, Mike, Beryl, Nic, Lee, Eddie (scribe)

GECCO abstracts due in January. Papers in February.

Pucks bonding in the future. Significance of improved efficiency still under investigation.

Mike has solid crime data.

Beryl working on building linear algebra clojure library that includes complex numbers.



Use post run simplification to generalize.

1. How well works on training data

2. How well it generalized to test data

3. How well it generalized after simplification

Data for above is available.


Karthick Presentation

  • SMT
    • Used for model checking, program verification, and function synthesis given constrains.
  • Semantic code search
    • Using I/O pairs as opposed to keyword searches
  • Can prove generalization of synthesized functions by converting the function into its constrains.
  • Constraints become effective way describe function’s semantics

29 October 2014

Attendance: Wren, Tom, Bill, Eddie (Scribe), Tim, Mike, Beryl, Nic

Wren’s Project

Hoping to find equation of curve from data averages extracted from videos.

Might try simpler regression techniques before using GP.

EHC in Clojush/Bill’s Results

Non-significant improvement using EHC with lexicase. Very significant improvements using EHC with more traditional GP techniques.

Different number of point evaluations make it hard to compare.

Pagie problem improvements. Added a 1 to the constants, which allowed for solutions to be found, thus success rates compared. Seemed to be an improvement of baseline tests and EHC tests.

Nic discussed ways of looking at the statistically significance of results of a run. (Pairwise tests)

Tom’s Diversity/Homology Results

Lexicase increases the diversity of the population a lot.

Not clear if lexicase significantly lowers Homology or not.

Higher diversity = individuals are very different in population

Higher homology = population has higher average edit distance

Higher diversity generally result in lower homology. Is this bad?

Program sizes increased much more with lexicase selection.

Graphs become less informative as number of runs find solutions. Possibly change opacity or thickness of plot lines as success rates improve.

17 September 2014

Present: Lee, Tom, Lance, Nic, Mike, Tim, Ben, Wren, Karthik, Eddie (scribe)

**Hampshire students bring ideas of what you would like to work on this semester for next week’s meeting**

Clojush Issues

JVM settings in project.clj.

  • Could that be changed?


Revert big child


  • If child is bigger than some limit, what should happen?
    • Default was to replicating parent.
    • Default changed to random child for now.
    • Could later be changed to delete parts of the child to get under size limit.

More benchmark problems

  • About 18 problems
  • Stacks for a few kinds of vectors implemented
  • Automatically uses instructions for included stacks

Mutual information theory

To evolve general solutions to problems, pick cases that are most informative? Boost fitness if candidates provide valuable information?

(My notes on this topic were pretty spotty and chaotic because my math skills are very lacking. For those who missed the meeting, Lance mentioned notes on his website and I found this presentation on the topic, I suspect it will be much more helpful than what I originally wrote.)

Add test to lexicase that will use mutual information to test how well programs generalize from training tests to validation tests in the hopes that it will encourage programs to evolve so that the final solution is sufficiently generalized.

20 November 2013


Tom, Omri, Eddie(Scribe), Frode, George, Bill


Wed. 20th Presentations:

Lee: Bio-math and GP

Omri: Auto-contruction and adaptive complexity


Use-Clojush in Clojush.ns

Way to make simple examples. Discouraged use for anything but simple examples.


Kathryn Stolee Talk

Give her system takes input/output pairs of what programmers want their code to accomplish. System returns answers to similar questions posted online.


Linear Push

Push is not utilizing blocks of code as well as it could if Push was linear. Ultra would be cleaner. Instructions that require blocks of code and will push blocks of code. (Ex. Start loop statements, and end loop statements with block of code in between.)


Question of having end statement of all statements, or a different end for each statement (ex. end_if, end_for, end_loop). Leaning towards universal end deliminator. Possibility of forcing Push to have same number of end statements as statements that start blocks.



Seems to be an issue with recombination.

11 September 2013

Uncompromising Problem

Term used for problems where Lexicase Selection is needed.


Geo-Lexicase Selection

Seems to be working well on Lee’s tests.



Tom still looking for simple programming problems to solve.


Sports Betting

The idea of creating a program that will intelligently bet on sports games was discussed as a possible next project.


Flea Markets and Meta-GP

Making a GP system that finds the most efficient GP system was discussed as a possibility.

To move forward with this idea we would need a simple enough game/market to attempt this.


Cluster Tutorial

At the end of the meeting we learn how to run our test on the cluster.