Generative Strategies for Graphic Design

We discuss a method for generating graphic design based on a "survival of the fittest approach". Paramount is the algorithm for fitness.


Reasons for choosing genetic algorithms

In graphic design, there is no absolute, "right", solution for any given problem. There are always an infinite set of better and worse solutions.

Also, the algorithm mimics the way designers work, iteratively improving the solution (or solutions) based on feedback.


In short: the algorithm

From Wikipedia:

Choose initial population
  Repeat
    Evaluate the individual fitnesses of a certain proportion of the population
    Select pairs of best-ranking individuals to reproduce
    Apply crossover operator
    Apply mutation operator
Until terminating condition




Algorithm for fitness

Central in the process is defining objective criteria for rating the design's survival rate. Factors as "prettiness" are important, as is "relevancy to the subject matter".

However, these factors are hard to evaluate in code. After all, the results are just a visual composition. We can, with some difficulty, asses factors as readibility or contrast, but those tell us nothing about the inherently subjective matter of "beauty". The differences between good and less good compositions are sometimes extremely subtle.

As of now, we propose to replace the evaluator with manual labor: real persons training the system on good and bad.


References