Skip to content

Latest commit

 

History

History
15 lines (9 loc) · 1.72 KB

README.md

File metadata and controls

15 lines (9 loc) · 1.72 KB

LazyPredator

Genetic programming, negative selection, genetic drift.

LazyPredator is a framework for genetic programming — a type of genetic algorithm — with an emphasis on negative selection, genetic drift, and relative tournament-based fitness. It is intended for population-based evolutionary optimization. Unlike gradient descent methods, evolutionary computation does not use gradient so does not require differentiablity.

It is written in C++ and structured as a “header only” library. Simply copy (or git clone) its source files and include LazyPredator.h in your code.

LazyPredator supports genetic programming (GP: [Koza 1992], [Cramer 1985]) more specifically, the varient called strongly typed genetic programming (STGP: [Montana 1995]).

LazyPredator was initially used to optimize programs to perform procedural texture synthesis based on the TexSyn library. That combination of LazyPredator and TexSyn was a large component of the research project described in the paper Coevolution of Camouflage published at the Artificial Life Conference 2023, in Sapporo, Japan, then in a poster at SIGGRAPH 2023 in Los Angeles, USA.

There is a bit of a LazyPredator development notebook. Much deeper discussion of its initial use for the camouflage project is in TexSyn's devo blog.

Please contact the author if you have questions about using LazyPredator.