Monthly Archives: October 2014

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.

22 October 2014

Lab Meeting Notes October 22, 2014

Present: Bill, Tom, Lee, Ben (Scribe), Tim, Eddie, Mike, Lance

Unity

New library that allows people to integrate clojure in Unity.

This is awesome for AI and virtual worlds stuff.

Unity already can integrate C#, javascript, boo (?)

Eddie will look more into the clojure integration in Unity.

Push

Push doesn’t have information protected at all so scaling up might be difficult.

The idea of “Names” became cumbersome.

“Tags” though with inexact matching might help.

Difficult to figure out if “Tags” accomplishes true modularity.

Eventually came up with “Environments” but have not tested it much.

Also developed “Environments” for geometric semantic operators

What happens is that when calling “environment” the current state gets stored somewhere and the thing you want to run gets run. Then when returning the state you can consume code that you had just run and create code that was the result of the run.

Should we be including “Tags”?

Should we be including “Environments”? (thinking about them separately)

Lee: Send Lance Tagspace machine paper.

Pucks

Lee is updating transactions so that the “bid” and “ask” system can be more strongly developed.

In order for transaction to occur each “bid” should satisfy each “ask.”

Lee wants:

Double check the neighborhood implementation.

New complex worlds

New worlds that will be slightly different each run.

Also needs scalability.

BioMath

Fitting a decision tree to the data

Should we remove duplicates?

Change the current paradigm since data seems to conflict with itself.

Bills Results

Results of new hill climbing algorithm and trying to find new efficient methods.

Crossover does seem to be pretty good

algorithm is not effected by number of iterations.

For next meeting

Make sure to include some Wren and Tom time

Come back to Uncle Bob.

15 October 2014

Lab meeting notes 15 October 2014

Present: Lee, Lance, Karthik(Scribe), Ben, Tim, Mike

 

The pucks environment. 

– Testing of the neighbor finding algorithm.

– Scale up the world and check for the efficiency of the newer neighbor finding algorithm.

– Add a potential scaling factor setting?

– Building more worlds that are somewhere in between completely random and completely deterministic.

 

Clojush documentation – outstanding issue for a very long term. 

– Evolving things with say, 3 inputs.

– Use a Wiki for documentation.

– Handling documentation for things that are highly dynamic.

 

– Talk about environments, either today/sometime soon

– Tim’s decision tree results: Current success rate ~62%, which isn’t necessarily better than just guessing “no” on the problem.

– Parameters that can potentially improve generalization?

 

Uncle Bob piece. 

 

(Long term) : Presentation on Satisfiability Modulo Theory, constraints, etc.

8 October 2014

Attendance: Lee, Tom, Bill, Kwaku (yay!), Wren, Eddie, Noah, Tim, Karthik, Nic, Mike (scribe)

 

  • FLY was down due to power outages
  • Pucks – Shooters have been added, discussion of possibly using pixel data for proximity detection
  • Introductions for new people, individual project discussions.
    • Wren has data from her images of pollen tubes!
    • Tim implemented a decision tree in the Bladder Cancer dataset.
    • Bill has been using the UMASS computing cluster, can we use it?
  • Kwaku – Evolution and ecology in software engineering. Learning how diversity occurs. Embedded systems. May collaborate with Karthik?
  • Homology – How much of the population exhibits similarity structurally.
    • Background
      • Only takes structure and sequence into account, not function.
      • Comes out of ULTRA in hopes of finding structurally similar individuals
      • Plush replaced ULTRA
    • Only doing crossover on the same parts of a program
    • Want to measure how homology occurs/changes over time.
    • Tom has been testing out using edit distance to measure homology (Levenshtein) only using instructions.
    • Can we measure homology properly without executing the programs?
      • We want to measure fitness and homology, some changes benefits may not benefit until further generations
    • Should epigenetic markers influence homology? Probably.
      • Could look at the push programs rather than the plush genome.
      • Genomes are more important to look at.
      • Tom want to start without epigenetic markers for simplicity’s sake.
      • Can we use tags to assist us?
      • Padding is used to normalize.
    • Uncle Bob – SOSIES Paper code transformations, discuss next time.
    • Databases – To implement in Push, we need to figure out the root parent issue or an alternative representation to make Ancestry linear so we can find clades.
      • Find a way to eliminate duplicates?
      • Using ancestry change crossover parameters.

Link to Uncle Bob Blog Post

 

1 October 2014

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

Finishing some Student Project Ideas from Last Week

Eddie – He’s tried some stuff with Brevis and Quill. He might next work some with Pucks.

Ben – Not sure yet. Maybe something A-Life-y?

Tom’s Benchmark Problems

Should we include problems beyond iJava and Yuriy’s paper?

  • We should have a citable source outside our work for the problem — i.e. not “we made it up”. Otherwise, probably “yes”.
    • FizzBuzz (kata) – yes
    • Bowling (kata) – maybe
    • Factorial – maybe (too easy?)
    • WC – yes
    • US Change – maybe (need citable source)
  • Tom will consult rest of committee.

Pollen Tubes

Wren is going to try some things and consult others to try to see if a solution already exists.

Homology of Population

  • Levenshtein distance of pairs of programs seems like good measurement.
  • Likely can’t test all pairs, since this will usually be about 1 million Levenshtein distance computations. This will probably be too slow.
  • Instead, sample random pairs of individuals — maybe on the order of 1000 to 10000.
    • May need to do validation to make sure the sample results really reflect the population.
    • Report: median, quartiles, mean, standard deviation.

Nic McPhee Presents: Analysis of Ancestry in GP with a Graph DB

  • Using Neo4j – a graph database – to store ancestry info throughout a GP run.
  • Makes ancestry info easy to collect and query.
  • NeoCons – Clojure with Neo4j
  • Cool stats can be queried from the database!
  • Could be neat to look at common ancestries using different parent selection methods!