https://geneticprogramming.com/
https://en.wikipedia.org/wiki/Genetic_programming
https://en.wikipedia.org/wiki/Schema_(genetic_algorithms)
A great small-ish science community:
http://gpbib.cs.ucl.ac.uk/
Show basics, traversals, print tricks, etc.
../../DataStructures/Content.html
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
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 )"
GP in clojure:
https://www.youtube.com/watch?v=HWMJdO4klIE
18-GeneticProgramming/MyTree.py
https://geneticprogramming.com/about-gp/tree-based-gp/
https://geneticprogramming.com/about-gp/stack-based-gp/
https://en.wikipedia.org/wiki/Grammatical_evolution
https://en.wikipedia.org/wiki/Cartesian_genetic_programming
https://en.wikipedia.org/wiki/Linear_genetic_programming
https://en.wikipedia.org/wiki/Multi_expression_programming
https://en.wikipedia.org/wiki/Genetic_improvement_(computer_science)
http://www0.cs.ucl.ac.uk/staff/ucacbbl/gismo/
https://en.wikipedia.org/wiki/Eurisko
https://geneticprogramming.com/software/
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
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
A very simple implementation in Clojure:
https://github.com/lspector/propel
https://geneticprogramming.com/benchmarks/
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
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