The background of this project is an alternative thread that has existed parallel to the mainstream history of 'modern' architecture, a thread that understands that meeting human need is an important property of buildings. site
YOUTUBE mjr9fQ3za0o Uploaded on Apr 3, 2015.
A good introduction to this thread would be to read an excellent series of articles on Pattern languages and evidence based design by Michael Mehaffy and Nikos Salingaros for Metropolis Magazine. search
Our population initially consists of simple individuals; these individuals are just empty space, or a plot containing a basic one room house. This population is then ready for evolution.
One way to drive evolution is to throw in some random mutations, tinkering with the genetic code of individuals: splitting a room in two, moving a partition, or adding another storey. But most mutation has a negative influence, the main driver of evolution is recombination.
Recombination is sex, the creation of a new individual that inherits from two parents. Recombination can create new possibilities from old, it allows different genes to exist in parallel within a population, whereas evolution entirely through mutation has to happen sequentially.
The process of recombination for our house is a crossover, where rooms, groups of rooms, or entire storeys are simply swapped.
.
Eric and I have enough perl chops between us to read the Homemaker code. Here are interesting places we found on his recent visit to Portland. source
Adding shuffle. commit
Nested make for quarter example. make
DOM Abstraction. pm
Canonical Genetic Algorithm. cpan
Compounded exploration and improvement?
Crossover: Recombination. pm
.
Bruno did publish a paper on the software, a while ago, 2013, An Adaptive Approach to Domestic Design. The code has gained some features since (notably the daylight model), but the basic mechanism remains the same. pdf