ArchiKludge is a project by Pablo Carranza that explores the automated design of architecture. Completed in 2004, the project is not technically innovative, but it is a simple and rare example of a genetic algorithm being used in the design of architecture.
The genetic algorithm used by ArchiKludge belongs to a family of algorithm known as search algorithm. These algorithm have been developed by computer scientists to search for solutions to problems, and recently architects like Pablo Carranza have appropriated them for use in digital morphogenesis. The way the genetic algorithm finds architectural solutions in ArchiKludge is as follows:
- A population is generated: The population is made up of individuals and each individual is an architectural solution. The individuals all have genomes associated with them. In ArchiKludge the genome is a string of 64 numbers. Each number is connected to a cube in a 4*4*4 structure, when the number is set to 1 a room is created in this location, when it is set to 0, there is a void.
- Individuals are measured: All the individuals are measured to find the best. In ArchiKludge the individuals score is a the sum of the average distance between connected rooms.
- Breeding: The best individuals are breed together to form a new generation. It is not explained how this happens in ArchiKludge, but typically what happens is two parents are selected and a child is made from half of each parents genome.
- Solution selected: ArchiKludge continues indefinitely, but presumably an individual could be selected as the final design.
The process used in ArchiKludge is made to look more complex through a fairly slick interface. Notably the cubes have been pushed and pulled a little bit to make the buildings look more interesting than the cubes the program is really designing. How individuals are measured is also cleaver because it produces unconventional buildings with voids, where as if the measurement was gross area it would quickly become a solid cube.
Being so basic I do not think ArchiKludge is particularly useful. The problem lacks the scope to find any surprising solutions – when I tested it, I could produce results of similar measures manually. There is also no point for the architect to interact with ArchiKludge and relying on one method of problem solving (computational) impoverishes the result. ArchiKludge suffers from problems typical with digital architecture: how to represent a building on the computer; and how to measure the success of that building. It is a cleaver diagram of a genetic algorithm, and at times it hints at an architectural application, but in my opinion it does not suffice as a way to produce architecture.
I recreated ArchiKludge in Processing, see it and download the source here. Incidentally I found ‘sketching’ a digital project in this way a really useful way of understanding the project.