Category Archives: Uncategorized

12 February 2014

 

Attendance: Omri, Tom, Jake, Lee, Karthik, Lee, Frode, Bill

discussed Claire Le Goues talk

Moshe Sipper visiting Wednesday February 26 – Sunday March 2

GP Theory and Practice meeting in May
– Idea for submission: work with Moshe
– human competitive results for
– taxonomize past results
– Humies: winners are already categorized
– use visit to characterize human competitive results and write literature review
– trying to schedule February 28th visit
– tentative: 10-2:30 working meeting, 2:30 talk

ULTRA parens study
– random program generator seems to produce reasonable numbers of parentheses
– ULTRA operator adds parens
– removing first and last parens before alternation helps parentheses numbers
– no alignment deviation lowers parens
– still seems like there is parenthesis bloat coming from ULTRA

Kwaku
– Auto-construction
– trying to engineer emergent diversity
– agent-based
– natural environment with disease agents that provide selection pressure

Linear Push
– how to implement begins and ends with functions that require chunks of code
– push with no parentheses and ends: no begins
– other idea: implement second chromosome with ends / no ends

Claire Le Goues

Normal
0

false
false
false

EN-US
X-NONE
X-NONE

/* Style Definitions */
table.MsoNormalTable
{mso-style-name:”Table Normal”;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:””;
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-para-margin:0in;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.0pt;
font-family:”Times New Roman”,”serif”;}

29 January 2014

Bill, Thom, Karthik, Frode, Jake, Kwaku, Omri

 

Karthik – geometric semantic programming, once have parents, change to likely make better
– potentially better way for information, not as random
– creates full programs which are much bigger, could be good to use with Lexicase, or just traditional GP
– What problems? Multiplexer (or other pure boolean function), Digital multiplier (problem: produces multiple outputs – purely boolean with output instructions)
– What to call it? Genetic programing legs

Simplifier – unable to move external parenthesis with other important parens inside.

Omri – Idea to have command to grab/look at bottom of stack. Or flip stack to go through opposite

 

04 December 2013

Present

Lee, Tom, Omri, Bill, Frode

Statistics

Ways to measure success rates in GP:

Koza – computational effort

Charles O’Fria recommend Fisher’s Exact Test

Lee’s calculator problem

Trying to solve calculator problem by adjusting ULTRA parameters, tag spaces

Down a rabbit hole and considering auto-reconstruction (eyebrows raised)

Running one with the tag space of the other, which is kind of a form of auto-construction

Rule out direct clones

Tom thinks there are problems other than the genetic operators that are affecting the results

Need to use ULTRA with bushy trees to get more parentheses

Or linear Push

Epigenetics and Mutation Hotspots

Bill’s Dev approach

Use developmental fitness and size to determine mutation/crossover pressure and/or intron assignment in binary vector of same length as genome

Discussed biological occurences of epigenetics and mutation hotspots

Tom’s Lexicase investigations

Best individual assignment needs to be rerun/checked, reporting wrong thing

ULTRA runs look even better, maybe subtree ones too

Need corrected versions of graphs

GECCO

Tom, Bill working on papers

Find good example problems to demonstrate infrastructure

Frode and Eddy?

22 January 2014

Attending: Lee, Omri, Frode, Tom (hangout, scribe), Kwaku (hangout), Karthik (hangout)

Business

  • We should think about what to do for GPTP.
  • No concrete plans for Moshe Sipper.

Omri Div III

Will involve QGame and using it for educational purposes.

Simplification

May or may not use WC data depending on space constraints.

Calc Thoughts

  • Last gasp for trying to get Calc to work
  • Tried, didn’t work:
    • Simplified instruction set
    • “behaviors” = “domains” test case generation
    • Put “old” test cases at front of lexicase order
  • New things to try:
    • Two alignment deviations: most of the time use 0, but sometimes use large (like 100)
    • ULTRA tags by running one parent program, and then when run second, when it tags something instead ULTRA what it would tag with whatever is already tagged there.
    • Similarly, could take each parent and create its tagspace, and then re-create a program from the tagspace, lining up positions of tagging instructions for the same tag by padding with ‘ultra-padding, which will be removed after ULTRA.
    • Maybe try trivial geography with lexicase.

15 January 2014

Present

Tom, Omri, Bill, Karthik (scribe)

Administrative stuff

Meeting times – Wednesdays 10-12 Starting 22nd January 2014
29th – GECCO deadline.

ULTRA stuff

Bug with ULTRA-padding and push simplification fixed.
Single symbol program issues.
Potentially solve with making all programs sequences.
Single instruction to ULTRA where ULTRA does nothing. #New issue

Push Licensing

Push licensing currently unresolved.
The Eclipse Public License ? The one Clojure uses for now.

GECCO paper stuff

– Differential equations
– Word count
– Push simplification
– (Abstract on calc)
– Finite algebras
Random stuff : Source code addition to GECCO ? Anonymous everything – tricky.
Fischer’s exact test – potential statistical significance test.
Justifications for why some particular statistics were used.
Program self reference interference with simplification.

George

Searching for Quantum algorithms to use GP on. Qgame used? Possibly depends on the need for complex numbers.

Karthik

Lexicase + GSX. Lexicase currently done without push. Possible extension of some GSX stuff to also use Lexicase.

Calc problem updates

Complimentary mate selection.
Reversed lexicase selection.
Errors, Pass/Fail, and Novelty
The Genetics : Recombination for correct functionality.
Tag modifications for combining functionality correctly ?
Small deviations vs Large deviations with ULTRA.
ULTRA causing program size to increase because of the program size average

Clojush simplifcation

Simplifcation at the end of the run
Simplification for reporting
Simplification during run – where simplification is a genetic operator. (Messy courtesy fitness evaluation being built IN to a genetic operator)

Bill

Different differential equation models.
“Non inheritable epigenesis”
Hill climbing and improvement.
Eventual plan to shift away from MATLAB to write code.

More random stuff

Turing completeness vs non turing complete languages for evolution.
Generative testing + Lexicase selection.

8 January 2014

Present

Lee, Thom, Bill, Karthik, Omri (scribe)

Spring meeting time

Provisionally Wednesdays 10-12am (Karthik will vid-chat in for half of it)

Starting with January 22nd

GECCO

Abstract deadline January 15th

Paper deadline January 29th

Workshop paper deadline sometime in March maybe

Finite algebra paper

Lee is working on this with David Clark and Maarten Keijzer

Maarten has come up with an awesome algorithm, but it is domain specific

On the calculator problem

Lee has been trying or thinking about a bunch of new things…

  • Augmentive test cases
  • Complementary lexicase selection (opposites attract)
  • Concatenative tagging
  • Maybe pass/fail?
  • Maybe novelty search?
  • How do we ensure generalization?

…But nothing seems to be working

Thom’s update

On the word count problem paper…

  • General solutions greater than 0 and less than 10 percent of the time, independent of parameters
  • What statistics to use? Maybe Fisher’s Exact Test? Maybe look at Luke’s Meta-heuristics book, the chapter on stats?

On the auto-simplification paper…

  • To what extent does is hill-climbing program simplification effective?
  • Which problems: Pagie-1? Digital multiplier? WC? Odd?

Karthik’s update

He’s very interested in satisfiability module theory

Looking into Z3 (from Microsoft)

Thinking about combining GSX and lexicase

Next meeting

Friday January 17th 10-12am

18 December 2013

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

Bill

Discussion of GP stats. Basically, it depends on what problem you’re working on, but something like MBF, computational effort, or number of successes may be what you’re looking for. None of them are perfect, and we’re not sure whether or not Fisher’s Exact Test can be applied to success rates since it may require a number of samples.

Simplification

  • Maybe a paper related to simplification of evolved Push programs?
  • Tom can do experiments, Lee can write up?
  • Even more interesting given context of recent work on semantic genetic operators.

Documentation (Frode)

After some discussion, we decided to try Sphynx for documenting Push (the language), and some sort of automatic tool for documenting Clojush.

WC Problem

  • Some discussion of maybe also evolving “front end”/main method of WC program to more closely mimic the utility.
  • Tom will try some runs not using no-paren-mut + yes bushy code.
  • It may be worth trying some different ULTRA parameters once we know what seems best out of ()-padding/’ultra_padding and no-paren-mut/bushy-code.
  • May be worthwhile to try ULTRA with a range of parameters.
    • It may be worthwhile to make this a logarithmic range. Tom’s intuition says yes, but doesn’t have a good explanation yet.
    • Lee will implement this.

Omri Div III

Sounds like it will involve Ventpods!

11 December 2013

Present

Lee, Tom, Frode, Kwaku, Karthik, Eddie, Omri (scribe)

Reminders

Lee: send out a CI Lab email about Zeke’s webgp thing

GECCO deadlines: Jan. 15th for abstracts, 29th for papers, and they seem very serious about sticking to these deadlines

Administrative stuff

There will probably be a meeting next Wednesday, regular time, last of the semester

Proposed Clojush changes

All println calls to prn

Option to report percent of parens in a given program or population

Separate out “report-best”, so that it can be independent from “fitness”

Pysh

It works (yay!)

Some of the syntax is different

Next steps are to include tags and/or any kind of genetic programming functionality

Lee recommends aiming to make it usable for next semester’s Genetic Programming students

Clojush documentation

Frode has been working on this, with a lot of good documentation and tutorials that can be seen in the Clojush wiki

Lee is unsure where we should go from here: where to host documentation and tutorials of Clojush and/or of Push in general

Evolving GUIs and “reactive” Push REPL

Frode has been thinking about doing experiments related to both of these

Lee pointed out that these are separable projects, and that one possible off-shoot is to look into some Excel/Clojush integration

Parameter tweaking in evolutionary runs

Bill has been trying to solve a harmonic oscillation problem

He has a number of interesting non-standard genetic operators that he’s been working with, and is having difficulty knowing/finding the right parameters

Lee suggested taking a step back and trying more standard genetic operators, and also just “seeing what works”

Modules

Karthik would like to do some experiments here, possibly related to the calculator problem

Lee described a lot of recent efforts around automatic modularity, and the various issues surrounding modularity in general

Kwaku has been working on identifying modularity at run-time, hoping to find good metrics for modularity in arbitrary programs (which reminds Lee of some old experiments testing the “compressibility” of execution traces in Push programs)

Word count problem

Thom thinks he’s recently come upon some general solutions to the word count problem (yay!)

Training cases and test cases

Tom’s using training AND test cases, where training cases are seen during evolution, and test cases are only used to test the generality of solutions that arise from the evolutionary loop

Lee has a sort of rotating-auto-generation training case thing, but notes that he doesn’t know what’s going on between generations because of the set of cases shifting under his feet

Tom suggests making one large auto-generated list of cases, choosing a random subset for evolutionary selection, and using the whole thing for comparing different generations

Non-elite lexicase

Lexicase seems to have issues with errors measured in floating point, because selection here will be too elite

So Tom has been experimenting with a non-elite lexicase based on relative ranking (“ranked lexicase”): notably, on the bioavailability problem, it was better than normal lexicase, but equal to standard tournament selection

qgame

There is now a working qgame API, and a GUI in the works

20 November 2013

Present

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.

 

Calc

Seems to be an issue with recombination.

13 November 2013

Present

Lee, Tom, Frode, Kwaku, Karthik, Omri (scribe)

Events & news

New web framework for Clojure, Caribou, may be exciting.

We have missing notes from October 23rd…anybody have those to post?

The standalone counterclockwise is weird but still maybe what we should generally use by default.

Biomath event next Wednesday, November 20th. Among others, Lee and Omri will be presenting.

Discussion 

Multiplicative (as opposed to additive) fitness is an interesting idea! It is widely used in biological evolutionary simulations, and it could have useful implications for our problems.

On Push forth, Kwaku and Omri defended some of its virtues, while Lee and Tom took more neutral or critical stances. Ultimately, we decided that although it may have interesting features that are of potential use, none of them have any meaningful bearing on current projects, so it makes no sense to shift gears at this point.

We had a productive start of a discussion on linear GP and more specifically linear Push. The only opinions voiced were in favor. So while it looks promising, we will need to continue this discussion next week.