Monthly Archives: September 2013

25 September 2013

Present

Lee, Tom, Bill, Omri (scribe), Kwaku, Jake, George

Grants, collaborations, visits

We have funding for collaborative projects aiming at human-competitive GP with Moshe Sipper (and his group) over at Ben-Gurion University. The funding alots for travel expenses for quite a few round trips to Israel. We should keep this opportunity in mind.

Lee will also be applying for Templeton funding for looking at “big” questions about life and its origins. Ventpods may come into play here.

Chris and Conner will be coming to visit sometime in the upcoming weeks. They will join for a research group meeting, and Lee may also try to set up a time and place for them to give a talk.

Status updates and such

Tom’s been working with the coin problem, and clojush doesn’t require anything beyond integer instructions to find a solution. So, it may not be quite the right problem for trying to get at “replacing the programmer”. Either way, now it’s an example problem in clojush.

Tom has also done some tests with “bagging” (ensemble voting) and it doesn’t look promising.

Jake’s been working on brevis with Kyle, and there will be a demo next week!

Omri has been looking into SIMD integer factorization algorithms.

Lee has been doing experimenting with “bushy” or “deep” program generation, and also experimenting with increasing no-op usage in the calculator problem.

Possible threads to follow

Evolving SIMD parallel algorithms.

Analyzing why no-ops seem to help the evolutionary dynamics in the calculator problem. More generally, considering experiments with adaptive representations.

Generating random code shapes.

Linear Push, some ideas for how to maintain recursion and expressive “chunking of stuff”:

  • instructions with “baked-in” arguments
  • instructions with structural taken from the stack like regular arguments
  • some instructions scan for keywords like “end”
  • some instructions scan for patterns
  • make the execution environment dense with tags
  • revisit tag space machines
  • incorporate GOTOs
  • recursion through environments

New ways to deal with parentheses and mutation in ULTRA:

  • no mutation
  • no mutation of parentheses (including no ability for things to mutate into parentheses)

Reading for next week

Maarten Keijzer’s Push-forth paper.

Library of Babel by Borges.

 

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

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.

18 September 2013

Meeting Notes

Present: Lee, Tom (scribe), Dave, Omri, Frode

Dave

Dave is moving on šŸ™

Frode

Frode will be working on getting used to doing Clojush runs and getting back into writing Clojure code.

Omri

  • Omri is trying some things related to using Xerox machines for SIMD parallelism using stacked transparencies.
  • Unfortunately, adding new stacks in Clojush for just one example file is difficult, and therefore the easiest thing to do is to just change the global definition of the stacks.

Lee

  • ULTRA with many noops. This sounds interesting and potentially useful for allowing evolution to determine the correct amounts of noops.
    • Adding noops effectively increases the alternation rate so that it can be set lower.
    • Tom suggests using a fixed program size to encourage homology.
    • A good project would be to look at evolving populations to see how much homology exists, especially comparing something like ULTRA with normal genetic operators.
  • If anyone wants to work on calc or other software projects, talk to Lee!

Tom

  • Implemented the change problem, which isn’t as difficult as it first appeared, since it may be possible to do without exec stack manipulations and only integer arithmetic.
    • Tom will try some runs with only integers.
    • Tom is interested in general in doing some sort of Linear Push with ULTRA, which may help with matching instructions that need structure with the right connections.
  • Bagging and other ensemble techniques are potentially interesting!

Pre-Meeting Agenda

Things Tom wants to discuss:

  • Using ML ensemble techniques to combine solutions from multiple GP runs into single solution
  • Feature selection might be useful, especially for lexicase!
  • The US Change Problem
    • implemented and started testing
    • no solutions so far, but some very close misses, such as some that miss 2 to 5 cases out of every 25
    • It seems that ULTRA is having a hard time using semantic parentheses for instructions that need them, such as exec_y, exec_if, and exec_do*times.
      • I would be interested in trying some paren-free PushGP, where instruction groupings are somehow baked into instructions that need them. Or maybe, those instructions always start a paren, and only the ending paren can vary.
  • I’ve been timing the US Change runs, and am starting to get results as to which nodes of the cluster they are most efficient for.

Lee adds:

  • Noops and ULTRA.
  • Results for CREST/COW

4 September 2013

Present

Lee, Tom, Jake, Dave, Dan, Frode, Bill, Eddie, Omri (scribe)

Events

  • Lee will be attendingĀ COW in LondonĀ (October 14-15)
  • ClojureCupĀ (September 28-30) signup is now open. We all agree that GP and/or Clojush webapps would be a good idea regardless, for the purposes of garnering general public interest

Grants

We discussed various possible grant proposals, including one to the Templeton Foundation. The Robust Intelligence grant will be due by October 15th.

Lexicase essay

Currently a priority and still some data to accumulate. We bounced around ideas for phrasing choices to frame why lexicase selection is important or different. Some different ways to describe the types problems that it solves: “test case ideal”, “multivariable regression”, “uncompromising”.

Geo-lexicase

Somewhat promising so far, but only using medium population and radius sizes. So it seems to be more effective, but not faster.

Brevis

…Is coming along.

Finding good problems

Tom is looking for good problems for GP to tackle. Specifically ones that could highlight automatic software development. Some problems discussed were I/O file manipulation, change decider, a simplified automated accountant, and a tic-tac-toe judge. The tic-tac-toe judge was our favorite.

Next meeting

September 11 2013 (no paper to read)