1 18-GeneticProgramming


1.1 Genetic programming the movie

Koza’s old introductory videos as a historical perspective:

Part 1:
https://www.youtube.com/watch?v=tTMpKrKkYXo

Part 2:
https://www.youtube.com/watch?v=pRk6cth7Bpg

Part 3:
https://www.youtube.com/watch?v=8DY7akqFvfw

Part 4:
https://www.youtube.com/watch?v=ordtzUccs2s

1.2 Clojure / lisp

https://www.clojure.org/guides/getting_started
https://www.clojure.org/guides/learn/clojure

Why clojure?
https://www.youtube.com/watch?v=C-kF25fWTO8

You can evolve this:

clojure -e "(float ( + ( * -10 ( / 9 5 ) ) 32 ))"
clojure -e "( + ( * -10 ( / 9 5 ) ) 32 )"

1.3 PushGP

Lee Spector’s talk on clojure, push, lexicase selection, gp as a modern perspective:
https://www.youtube.com/watch?v=HWMJdO4klIE

The GP suite and API he develops:
https://faculty.hampshire.edu/lspector/push.html

Quick intro
https://www.youtube.com/watch?v=ryW9w5cAwaI

Even quicker
https://www.youtube.com/watch?v=VGJWlSC0gl4&t=13s

1.3.1 PyshGP

http://erp12.github.io/pyshgp/html/index.html
https://github.com/erp12/pyshgp

Examples (show and run these)
https://github.com/erp12/pyshgp/tree/master/examples
https://github.com/erp12/pyshgp-demo

Show this for example functions (integer_+ integer_add)
pyshgp/pyshgp/push/instructions/numeric.py
propel/src/propel/core.clj

1.3.2 Propel

A very simple implementation in Clojure:
https://github.com/lspector/propel

1.4 PSB

What does a benchmark suite look like for GP?
What does a test suite look like for your code?
My autograder?
Other code-judge programming competion sites?
A test suite for code is just IO pairs, or unit tests.
Show the bowling problem, clojure code, and dataset, for example
https://cs.hamilton.edu/~thelmuth/PSB2/PSB2.html
https://www.youtube.com/watch?v=p5qtiD3q8_A&t=50s
https://github.com/thelmuth/psb2-python
https://github.com/thelmuth/program-synthesis-benchmark-datasets
https://github.com/thelmuth/Clojush/releases/tag/psb2-v1.0
http://thelmuth.github.io/GECCO_2015_Benchmarks_Materials/

Show:
https://raw.githubusercontent.com/thelmuth/GECCO_2015_Benchmarks_Materials/master/GECCO-slides.pdf

pip3 install --upgrade psb2 --user

1.5 Code

18-GeneticProgramming/MyTree.py