Saturday, June 21, 2008

The Interactive Approach to Genetic Architecture





As discussed in Evolutionary Computing Applications in Architecture design, the genetic algorithm's fitness function could take into consideration three different aspects of architecture (structural integrity, functionality and aesthetic).

After I put a lot of thought into it, I made two important decisions.

1. In my research, I will limit the fitness function to only one of the aspects. While the ultimate genetic algorithm for architectural design could and should include all three aspects, I strongly believe that each aspect should be studied first in a partial experiment. Combining different (Vitruvius') aspects in GA before each of them would be fully studied and understood, would only mess things up.

2. I decided that I should choose the aesthetic value aspect. It's the key aspect which differentiates an architecture from a building. GA searching the optimal structure could proove very efficient, however, it falls more in the field of structural engineering.

I wrote a program which displays 9 "subjects" in a 3x3 matrix. The subjects are simple cubic compositions, made of randomly sized and randomly positioned cubic prisms.

The users selects some of those prisms in order to favor them in the evolutionary process (selection, recombination, mutation...). To emphasize the inheritance trace of specific genotype codes (and phenotype features), I colored the subjects at the begining of the evolution. After each new generation is produced, one may observe how the genotype-phenotype properties are passed to the subjects of the next generation.

I was somewhat disapointed that I won't be able to demonstrate "real" genetic algorithm processing with huge populations (several thousands subjects) and lots of (thousands of) generations.

I even risk that the evolutional principle won't be achieved in such a small population (only 9 subjects!) and within relatively small number of generations (limited to duration of user interaction).

But at this moment this is the only solution. The two decisions described earlier in this post, are certainly the right ones and I should proceed in this way.

No comments: