Abstract
In this contribution I present a kata called “GP As If You Meant It”, aimed at advanced users of genetic programming. Inspired by code katas that are popular among software developers, it’s an exercise designed to help participants hone their skills through mindful practice. Its intent is to surface certain unquestioned habits common in our field: to make the participants painfully aware of the tacit justification for certain GP algorithm design decisions they may otherwise take for granted. In the exercise, the human players are charged with trying to “rescue” an ineffectual but unstoppable GP system (which is the other “player”), which has been set up to only use “random guessing”—but they must do so by incrementally modifying the search process without interrupting it. The exercise is a game for two players, plus a Facilitator who acts as a referee. The human “User” player examines the state of the GP run in order to make amendments to its rules, using a very limited toolkit. The other “player” is the automated GP System itself, which adds to a growing population of solutions by applying the search operators and evaluation functions specified by the User player. The User’s goal is to convince the System to produce “good enough” answers to a target supervised learning problem chosen by the Facilitator. To further complicate the task, the User must also provide the Facilitator with convincing justifications, or warrants, which explain each move she makes. The Facilitator chooses the initial search problem, provides training data, and most importantly is empowered to disqualify any of the User’s moves if unconvinced by the accompanying warrants. As a result, the User is forced to work around our field’s most insidious habit: that of “stopping it and starting over again with different parameters”. In the process of working within these constraints, the participants—Facilitator and User—are made mindful of the habits they have already developed, tacitly or explicitly, for coping with “pathologies” and “symptoms” encountered in their more typical work with GP.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
I imagine there is an Engineering Studies thesis in this for some aspiring graduate student: Genetic programming and agile development practices arose in the same period and more or less the same culture, and both informed by the same currents in complex systems and emergent approaches to problem-solving.
- 2.
In this the sensibility reminds me of the constraint-driven art collective Oulipo (Becker 2012), who are perhaps most famous for the lipogram, a literary work which cannot use a particular letter of the alphabet.
- 3.
Braithwaite’s participants (Braithwaite 2012) often acknowledge they know and use TDD as it’s formally described, but rarely take the time to do so unless “something goes wrong”. I imagine many GP users will say they know and use all the innumerable design and setup options of GP, but treat them as adjustments to be invoked only when “something goes wrong”. I offer no particular justification for either anecdote here, but the curious reader is encouraged to poll a sample of participants at any conference (agile or GP).
- 4.
And not just Genetic Programming as such, but also the broader discipline to which I claim it belongs and which is not obliged to be either “genetic” or “programming”. I prefer to call this looser collection of practices “generative processing”, and will also abbreviate it “GP”; assume I mean the latter in every case.
- 5.
Paul Veyne’s excellent Did the Greeks Believe in Their Myths? (Veyne 1988) might be an interesting starting point, I suspect.
- 6.
Pickering’s word “mangle” and the way he came to choose it are a recursive example of the framework itself:
…I find “mangle” a convenient and suggestive shorthand for the dialectic because, for me, it conjures up the image of the unpredictable transformations worked upon whatever gets fed into the old-fashioned device of the same name used to squeeze the water out of the washing. It draws attention to the emergently intertwined delineation and reconfiguration of machinic captures and human intentions, practices, and so on. The word “mangle” can also be used appropriately in other ways, for instance as a verb. Thus I say that the contours of material and social agency are mangled in practice, meaning emergently transformed and delineated in the dialectic of resistance and accommodation….
References
Adzic G (2009) Tdd as if you meant it – revisited. http://gojko.net/2009/08/02/tdd-as-if-you-meant-it-revisited/
Beck K (2002) Test driven development: by example. Addison-Wesley, New York
Becker DL (2012) Many subtle channels: in praise of potential literature. Harvard University Press, Cambridge, MA
Braithwaite K (2011) Tdd as if you meant it. http://cumulative-hypotheses.org/2011/08/30/tdd-as-if-you-meant-it/
Braithwaite K (2012) Tdd as if you meant it (workshop recording). http://www.infoq.com/presentations/TDD-as-if-You-Meant-It
Hornby GS (2009) A steady-state version of the age-layered population structure EA. In: Riolo RL, O’Reilly UM, McConaghy T (eds) Genetic programming theory and practice VII. Genetic and evolutionary computation, chap 6. Springer, Ann Arbor, pp 87–102. doi:10.1007/978-1-4419-1626-6_6
Koutalos Y (2008) The docile body of the scientist. In: Andrew P, Keith G (ed) The mangle in practice: science, society, and becoming. Duke University Press, Durham. https://www.dukeupress.edu/the-mangle-in-practice
Pickering A (1995) The mangle of practice: time, agency, and science. University of Chicago Press, Chicago, IL
Ryan C, Nicolau M (2003) Doing genetic algorithms the genetic programming way. In: Riolo RL, Worzel B (eds) Genetic programming theory and practice, chap 12. Kluwer, Dordrecht, pp 189–204. doi:10.1007/978-1-4419-8983-3_12. http://www.springer.com/computer/ai/book/978-1-4020-7581-0
Spector L (2012) Assessment of problem modality by differential performance of lexicase selection in genetic programming: a preliminary report. In: McClymont K, Keedwell E (eds) 1st workshop on understanding problems (GECCO-UP). ACM, Philadelphia, PA, pp 401–408. doi:10.1145/2330784.2330846. http://hampshire.edu/lspector/pubs/wk09p4-spector.pdf
Thomas D (2013) Codekata: how it started. http://codekata.com/kata/codekata-how-it-started/
Veyne P (1988) Did the Greeks believe in their myths?: an essay on the constitutive imagination. University of Chicago Press, Chicago, IL
Winkler P (2003) Mathematical puzzles: a connoisseur’s collection. A K Peters/CRC Press, Natick, MA/Boca Raton
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2016 Springer International Publishing Switzerland
About this chapter
Cite this chapter
Tozier, W.A. (2016). GP As If You Meant It: An Exercise for Mindful Practice. In: Riolo, R., Worzel, W., Kotanchek, M., Kordon, A. (eds) Genetic Programming Theory and Practice XIII. Genetic and Evolutionary Computation. Springer, Cham. https://doi.org/10.1007/978-3-319-34223-8_4
Download citation
DOI: https://doi.org/10.1007/978-3-319-34223-8_4
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-34221-4
Online ISBN: 978-3-319-34223-8
eBook Packages: Computer ScienceComputer Science (R0)