When something is repeatedly copied with occasional mistakes (with the copies making further copies of themselves), and the differences (copying mistakes) in the new copies affect their copiability positively or negatively, evolution happens. If that something is a molecule, life evolves. If it is a graphical layout, graphic design evolves. This is the algorithm of evolution, and it works for every something that fulfills those conditions.
Gráphagos is an evolutionary environment for graphic design. Technically, it is a program that:
- initially generates random layouts with the given textual content,
- offers them to a human user for selection,
- takes the selected ones, slightly and randomly change them to create the next generation of products, and then returns to step 2.
With this cycle of step 2 and 3, the program navigates an endless space of designs, being created on-the-go. (It doesn’t use any ready templates.)
Gráphagos uses a genetic algorithm: Every graphago (individual design product) has a genome and Gráphagos translates these four-letter sequences (“CATCGATCTGGA…”) into visual products with typography, lines, shapes, colors, images and filters. The genomes of the first generation are completely random; when the user selects and clicks Regenerate, the program makes a few random mutations in the genomes of the products selected by the user (substituting an “A” for a “T”, adding “GCA” to some place, etc.), translates them into new visual products, and offers them for selection again.
Gráphagos was mainly an academic project trying to tailor a detailed model for the creative process of a designer. In the end, it turned out it can be used as a tool: It can help designers (and some other people) make graphic design. Technically it cannot replace the desktop publishing programs yet (it doesn’t work at 300 DPI, for one thing) but it offers a new process of making graphic design just by doing selection, after which a designer can replicate the result with fine-tuning in a desktop publishing program for print purposes. Gráphagos doesn’t know anything about design (its moves are random), so it creates better design when a designer is selecting.
There are many examples of evolutionary art software in the literature. Gráphagos, however, differs from those in that it aims to generate functional visual design products (which can work as posters, book covers, etc.) with different elements such as text, lines, shapes, photographs and textures, rather than creating good-looking abstract images.
Since Gráphagos records the evolutionary histories in the purely textual format of genomes, it can also be used for an analysis of patterns of sequences that are universally favored by human selectors – or specific demographic groups such as college students or middle-aged housewives, to deduce their idiosyncratic preferences. This may well be a step towards a population memetics of visual design.
I (Deniz Cem Önduygu) conceived Gráphagos in 2008 as a project for my Master of Arts thesis (2010) and created the program in Processing with the gracious help of Eser Aygün. I’m also thankful to Amaç Herdağdelen and Elif Ayiter for their precious input. Amaç also helped with the code transformation (from Processing to Processing.js) so that the program can be embedded in this website on the Try It page.
Frequently Asked Questions
What does “Gráphagos” mean?
It’s “Graphic” + “Galápagos”. Galápagos Islands are the archipelago where Charles Darwin made important observations which contributed to his formulation of the theory of evolution. The products of the software are called “graphago”s (without the accent) – as in “this graphago was evolved by Charles”.
Were these designed by somebody beforehand?
No, you are not navigating within a predefined and finite archive; it is an endless design space being created on-the-go. They become more and more unique to your taste as generations pass by.
How does it know what to create next?
It doesn’t. The changes are completely random. There is no constraint handling prevention or correction mechanisms in Gráphagos. Mutations are not conditional; they are not guided by visual design rules. There are no built-in preferences concerning positions of the elements, or color harmony: objects can completely bleed out of the canvas, and every ‘ugly’ color combination can arise. Gráphagos keeps an open mind about everything and relies on selection. It’s your selection that guides the process.
Where do the fonts/photos/brushes come from?
Gráphagos makes use of image and font pools, just like a human designer. Which font/image it uses on a graphago is determined according to the genome of that graphago, which changes with mutations. The content of these pools can be changed according to the project in hand before evolution starts. (Shapes and lines, on the other hand, are drawn real-time in the program; there isn’t a shape pool.)
Sometimes I get designs that vary a lot from their parent. Why?
Mutation rates in general randomly vary at every regeneration in Gráphagos, causing some generations to have more variety than others, just like environmental factors having stochastic effects on mutation rates in nature.
A lot of the children are not different from their parent at all. Are they not mutants?
They may really have the exact same genome with their parent; mutations rates are also random and no-mutation is a possibility. But a lot of them should have silent mutations: genomic mutations that are not expressed (i.e. with no visible results) in the visual design product.
When I select more than one design, do they mix?
No. For the time being, there is no crossover of parents in Gráphagos. Choosing more than one graphago will create separate, non-interbreeding groups of offspring.
When does the evolution end?
There is a popular misunderstanding which can be summed up by the phrase “to complete the evolution”. In fact, evolution is not something that can/should be completed. (Except for some idealized cases of digital evolutionary algorithms.) It is not a linear progress towards a specific long-distance goal, or an ideal ‘perfect’ design. Three facts help clarify this truth: (1) the nature of selection hardly stays the same; (2) there usually are multiple alternative solutions to a problem; (3) the necessary mutations for a type of solution may not always arise. So in Gráphagos, the process ends when you think it’s good enough for you – or when you get bored.
Does it replace graphic designers?
No, it does not, because it still needs a person to do the selection for ‘good design’ and this person should be able to distinguish good mutations from bad ones (i.e. should apply the memetic selection pressures obtained by design education). When non-designers select, the result is rarely good graphic design. Plus, even when designers are selecting, the products of Gráphagos mostly are not finished enough; the amount of text on a real poster, for instance, is usually bigger than what Gráphagos works with, and a decent typographical treatment of it requires a graphic designer. Last but not least, graphic designers have a much larger job description than creating one-page layouts: they design corporate identity systems, they set multi-page documents, etc. So no, Gráphagos won’t take graphic designers’ jobs away – it can be a tool for them. On the other hand, it can also help people who do know about design but cannot / do not use visual design software for some reason, to generate/explore ideas.
Why can’t it do the selection itself and give us a final design with one click?
The automatization of the selection process is the most difficult part of evolutionary art/design, and Gráphagos has no such function for now. I predict that modelling selection in graphic design should be easier than modelling selection in generative art because design products, in contrast with artworks, need to have particular functions and to satisfy predetermined criteria by definition. These characteristics of design give us more definable fitness functions and selection criteria to model, and maybe in the future Gráphagos can have an upgrade in that direction.
Curious for more?
You can read the theories behind and the technical details of Gráphagos in my master’s thesis “Evolutionary Algorithm as a Model for the Creative Process and as a Tool to Create Graphic Design Products”. You can also check out the detailed blog I wrote throughout the development of this project, Evolving Graphic Design.
The first generation filled with random layouts; the user likes and selects the one in the upper left corner and clicks Regenerate.
The program creates the next generation by randomly and slightly changing the selected one, and offers them for selection again.
With only selection and blind mutation repeated (here, generation 75), we are seeing things that look designed.
A design from generation 86, along with its genome.