DATT4950/DIGM5950 Artificial Life, Generative Art
Synopsis: This course addresses computation as a creative medium from a biologically-inspired standpoint to develop artworks, adaptive media and simulations approaching the fascinating complexity of nature.
Instructor: Graham Wakefield
Zoom ID: 947 9296 5671 (requires passcode that you received via Teams/email)
Class Microsoft Team
Lecture Recordings: In the MS Teams folder Files/Class Materials
Artists, composers, designers and architects have always drawn inspiration from nature. In this course we do so by translating mechanisms inspired by biology (or theories of biology) into digital/computational media. That is, using bio-inspired computational techniques to leverage or approach the creative capacities of nature.
The course has a strongly practical emphasis, exploring frameworks through applications implemented both in-class and through student projects. Frameworks explored in the course may include complex dynamical systems, fractals, cellular automata, agent-based systems, evolutionary and developmental programming, artificial chemistries and ecosystems. These are critically examined by interweaving the history, theory and landmark works in the literature of generative art, evolutionary music and art, and process art, as well as artificial life, systems biology, and bioinformatics research, and philosophies of process, creativity, and the aesthetics of nature.
Rationale: Autonomous complexity is one of the fundamental hallmarks of computational art; an integral message of the medium. Biologically-inspired methods of digital media formation have found wide applications in art, film, music, video games, robotics, and other computationally-facilitated experiences, frequently drawing upon scientific models of pattern formation, system dynamics, and symbol processing in large populations. Art has always been deeply concerned with its relationship to nature, though the forms of the relationship have changed many times. Likewise, from its origins computing has also found biological inspiration in pattern formation, self-construction and reproduction, intelligence, autonomy and collective behaviour. This course understands such developments from their arts and science foundations in both theory and practice.
Weekly Schedule
- Introduction Sep 14
- Cellular Automata II
- Cellular Automata III
- Sharing CA variants
- Action items:
- Agents I Oct 5
- Today's scripts:
- Action items:
- Reading Week
- Action items: Begin developing a new agent-based simulation
- Agents II
- Agents III
- Evolution II Nov 2
- Neuro-Evolution I
- Neuro-Evolution continued
- Final project discussions
- Final project support
- Materials by request toward final projects, reviewing earlier materials or development / primordial soups
- Action items:
- Due Dec 7: Final project presentation
- Please add your presentation slides to this Google Slides document here
- Do not delete or change any existing slides!
- 2-5 slides total per project
- Be sure to include your name(s) and project title
- Be sure to embed or link to your working project (or link to a video of it)
- Please include any references (academic, inspirational, etc.) along with full name and citation or link accordingly
- Final Presentations Dec 7
In 2020 this course will be remotely delivered in a mixture of synchronous and asynchronous learning. Lectures and lab practice sessions will be held every Monday morning via Zoom. Lectures focus on the introduction of theoretical, aesthetic and conceptual content of the course. Labs focus on the application of lecture material in the form of instructor-led reconstructions, excercises/studies, and larger projects.
All Zoom sesions will be recorded and posted online using MS Teams.
Learning outcomes / objectives: At the completion of the course students will:
- Show strong grounding in multiple methodologies of bio-inspired computation, including demonstrating understanding of mathematical, theoretical as well as aesthetic aspects.
- Be able to apply methodologies effectively in creative practice to a diversity of digital and interactive media, as evidenced in a project portfolio.
- Be able to interpret and reflect critically on a variety of adaptive and generative media.
- Leverage experience in the application of cutting-edge creative coding in generative and interactive arts in order to intelligently extrapolate into future culture technologies.
- Have refined advanced coding skills.
Evaluation
Assignments: 40%. Exercises will assigned throughout the course. Exercises develop essential practice-informed critique and experiential learning. For each assessed exercise you will be asked to submit your code. Be sure to read & follow the instructions below regarding formatting.
Assignment video: 20% (undergraduate students only). For one assignment only (you can choose which), please self-record a video that shows your desktop screen and captures your voice explaining your work. (In previous years we had students present their work to the group, but with the class size being so large we can't really afford the time to do this; hence videos.) These videos can be around 3 minutes each. The video should show the work and the code, and while recording your screen, please record your voice talking through the work.
- Talk about your initial ideas and inspiration. Was there a core question you wanted to address? Did you have an idea that you wanted to evaluate?
- Explain in depth your implementation.
- Be sure to focus on the most complex, innovative, or otherwise interesting parts of the code, beyond what we cover in class.
- Evaluate the result. Are there significant variable changes that can produce different behaviour (if so, show them!) Did you try several variations of your system (if so, show them!) If you had an idea that you explored, but it didn't work as expected, show that too -- and offer your ideas about why you think it didn't. This is valid research! Talk about what you might do next.
- You can record a video using Zoom, Quicktime, OBS, or several other options. Recording with a cellphone is not acceptable. If you are having difficulties with screen recording, we can schedule a session in-class to do this live instead.
- Submit via the Assignments tab in Teams
Final Project: 30%. Realized individually or in groups, demonstrate the effective application of understanding through the course in novel expressions of adaptive media and art. Projects will be presented to the class at the end of the term and will be in the form of a critical discussion that reflects on the results of the experience gained over duration of the course.
- Projects typically involve two or more of the major themes of the course. Consider the Learning outcomes / objectives as outlined above as a guideline.
- Final projects can build upon work in prior assignments, but should be a significant advancement on them.
- Expect to spend twice as much time on the final project as you did on an assignment.
- Evaluation will follow the same principles as for assignments.
- For groups: I will require a submission from each member. The submission must include an account of what each member was responsible for. Talk about what you learned or developed most significantly through the project.
- For presentation:
- Talk about your initial ideas and inspiration. Was there a core question you wanted to address? Did you have an idea that you wanted to evaluate?
- Show the work
- Explain in depth your implementation.
- Be sure to focus on the most complex, innovative, or otherwise interesting parts of the code, beyond what we cover in class.
- Evaluate the result. Are there significant variable changes that can produce different behaviour (if so, show them!) Did you try several variations of your system (if so, show them!) If you had an idea that you explored, but it didn't work as expected, show that too -- and offer your ideas about why you think it didn't. This is valid research! Talk about what you might do next.
Final project report: 20% (graduate students only).
- Please prepare a written report (2-4 pages) on your project, including significant references (citations and/or related works), with appropriate scholarly quality to be considered as a submission to an academic conference such as EvoMusArt, ISEA, GA, ECAL, IEEE ALIFE, IEEE CEC, GECCO, ALEA, EA. etc.
Readings and participation: 10%. Readings are short selections from books or landmark papers, chosen to directly support the assignments and tutorial discussion. Participation incorporates contributions to tutorial discussions, awareness of issues in readings, and the ability to relate tutorial issues to the broader concerns of the course.
Labs
The examples we will work though in class, and for assignments, will use the JavaScript programming language, embedded in web browsers. To make this easier, I have prepared a starter template and library in Codepen.io's online editor. This starter-kit will be used in all labs. The features provided by this kit are documented here
Suggested Readings
Highly recommended:
- Floreano, Dario, and Claudio Mattiussi. Bio-inspired artificial intelligence: theories, methods, and technologies. MIT press, 2008.
- Flake, Gary William. The computational beauty of nature: Computer explorations of fractals, chaos, complex systems, and adaptation. MIT press, 1998.
- Whitelaw, Mitchell. Metacreation: art and artificial life. Mit Press, 2004.
- Artificial Life Volume 21, Issue 3 - Summer 2015 - Artificial Life Art and Creativity
Further reading:
- Adami, Christoph. Introduction to artificial life. Vol. 1. Springer Science & Business Media, 1998.
- Bedau, Mark A., et al. "Open problems in artificial life." Artificial life 6.4 (2000): 363-376.
- Boden, Margaret A., and Ernest A. Edmonds. "What is generative art?." Digital Creativity 20.1-2 (2009): 21-46.
- Braitenberg, Valentino. Vehicles: Experiments in synthetic psychology. MIT press, 1986.
- Brownlee, Jason. On Biologically Inspired Computation aka The Field. Technical Report 5-02, Swinburne University of Technology, 2005.
- Holland, John Henry. Emergence: From chaos to order. Da Capo Press, 1999.
- Samuel Butler. "Erewhon, Chapter 24, The book Of the Machines".
- Cohen, Harold. "The further exploits of AARON, painter." Stanford Humanities Review 4.2 (1995): 141-158.
- Driessens, Erwin, and Maria Verstappen. "Natural processes and artificial procedures." Design by Evolution. Springer Berlin Heidelberg, 2008. 101-120.
- Dorin, Alan, et al. "A framework for understanding generative art." Digital Creativity 23.3-4 (2012): 239-259.
- Dorin, Alan. "A survey of virtual ecosystems in generative electronic art." The Art of Artificial Evolution. Springer Berlin Heidelberg, 2008. 289-309.
- Etxeberria, Arantza. "Artificial evolution and lifelike creativity." Leonardo 35.3 (2002): 275-281.
- Langton, C., Taylor, C., Farmer, J., Rasmussen, S. eds. Artificial Life II (Santa Fe Institute Studies in the Sciences of Complexity Proceedings). Westview Press, 2003.
Whitelaw, Mitchell. Metacreation: art and artificial life. MIT1 Press, 2004.
- McCabe, Jonathan. "Cyclic Symmetric Multi-Scale Turing Patterns."Proceedings of Bridges 2010: Mathematics, Music, Art, Architecture, Culture. Tessellations Publishing, 2010.
- McCormack, Jon, and Alan Dorin. "Art, emergence and the computational sublime." Proceedings of Second Iteration: A Conference on Generative Systems in the Electronic Arts. Melbourne: CEMA. 2001.
- McCormack, Jon, et al. "Ten Questions Concerning Generative Computer Art."Leonardo 47.2 (2014): 135-141.
- McCormack, Jon. "Open problems in evolutionary music and art." Applications of Evolutionary Computing. Springer Berlin Heidelberg, 2005. 428-436.
- von Neumann, John (1966). A. Burks, ed. The Theory of Self-reproducing Automata. Urbana, IL: Univ. of Illinois Press.
- Pearson, John E. "Complex patterns in a simple system." Science 261.5118 (1993): 189-192.
- Penny, Simon. "Art and artificial life–a primer." Digital Arts and Culture 2009(2009).
- Poli, R., Langdon, W. B., McPhee, N. F., & Koza, J. R. (2008). A field guide to genetic programming. Lulu. com.
- Rafler, Stephan. "Generalization of Conway's" Game of Life" to a continuous domain-SmoothLife." arXiv preprint arXiv:1111.1567 (2011).
- Reynolds, Craig W. "Steering behaviors for autonomous characters." Game developers conference. Vol. 1999. 1999.
- Sims, Karl. "Evolving virtual creatures." Proceedings of the 21st annual conference on Computer graphics and interactive techniques. ACM, 1994.
- Sims, Karl. Artificial evolution for computer graphics. Vol. 25. No. 4. ACM, 1991.
- Sommerer, Christa, and Laurent Mignonneau. "The application of artificial life to interactive computer installations." Artificial Life and Robotics 2.4 (1998): 151-156.
- Sommerer, Christa, and Laurent Mignonneau. "A-Volve-an evolutionary artificial life environment." Artificial Life VC Langton and C. Shimohara Eds., MIT (1997): 167-175.
- Stocker, Gerfried, Christa Sommerer, and Laurent Mignonneau, eds. Christa Sommerer and Laurent Mignonneau: Interactive Art Research. Springer, 2009.
- Turing, Alan Mathison. "The chemical basis of morphogenesis." Philosophical Transactions of the Royal Society of London. Series B, Biological Sciences237.641 (1952): 37-72.
- Turk, Greg. Generating textures on arbitrary surfaces using reaction-diffusion. Vol. 25. No. 4. ACM, 1991.
- Walker, Matthew. "Introduction to genetic programming." Tech. Np: University of Montana (2001).
- Whitelaw, Mitchell. "System stories and model worlds: A critical approach to generative art." Readme 100 (2005): 135-154.
- Whitelaw, Mitchell. "Morphogenetics: generative processes in the work of Driessens and Verstappen." Digital Creativity 14.1 (2003): 43-53.
- Wolfram, Stephen. A new kind of science. Vol. 5. Champaign: Wolfram media, 2002.
- Zuse, Konrad. Calculating space. Cambridge, MA: Massachusetts Institute of Technology, Project MAC, 1970.