1. Variants
A variant is a form or version of something that differs in some respect from other forms of the same thing. One systematic process to produce a variant, is to keep part of the information of the original to form a more ʻabstractʼ representation. This procedure produces a 1:many relationship between the original and the representation. The information can then be used to evaluate other objects: If their relevant properties are close enough, then they can be classified as variants of the original.
Depending on the information that is kept, variants that share different properties are produced.
Representation of the information is critical because it dictates what types of properties should be kept and how easy it is to make efficient and meaningful changes, in combination with the process of generation.
In the case of this project spaces within a building volume and relations between them are of primary significance. Therefore, variants produced by the tool should primarily be close to the original in terms of spatial character. How exactly 'spatial character' is interpreted will be discussed further later on.
2. Process
The process is two-fold, separated into analysis and generation:
First, user input is abstracted to form a profile of it's significant properties. This step requires that either the input data is presented to the computer in a recognizable format, or that a recognition engine is built in, e.g. since we are concerned with volumes, if a volume or connection-specific diagram is presented no further processing is required, the profile can be derived immediately, however, if a floor plan or other form of representation is used, a recognition engine should be used to extract the significant volume and connection-specific properties.
![]() |
| Steps of the Analysis Process |
Following this step, an iterative generation-evaluation process begins. Based on a generation algorithm, populations of spatial configurations are put together and their profile is evaluated against the original. If the pattern is similar, the candidate receives a good fitness value. Additional performance factors may be considered at this stage, in order to enable possible improvement of an aspect of the building/arrangement.
![]() |
| Steps of the Generative Process |
3. Encoding and Representation
The fundamental representative entity is a 3D grid. Each cell of this grid references a different space. Therefore, spaces may correspond to one or more grid cells. Depending on the outcome of the analysis and generative processes, spatial entities may appear on the grid in different forms, e.g. if a volumetric representation is chosen the number of grid cells referencing a single space is equal to the space's volume, however if a connective representation is chosen, the number of grid cells is the minimum required to satisfy the space's connections. So, in the second case, if a space has at most one connection per side, it's mostly possible that it will be referenced by only one cell within the grid.
The 3D grid is therefore the 'meeting point' between analysis and generation. From this grid further information can be extracted, forming a profile of each configuration that can be used as an evaluation index.
From the generative part, each grid is produced from a 'constructive' graph, which dictates the orientation of the combination actions between spaces and their sequence. In turn, the graph is encoded as a string of integer numbers, a suitable form to apply evolutionary operators onto.
4. Generation
For the generation of population members (connective grids, volumetric grids and profiles) a GA-based approach is chosen. GA seems suitable for a case like this one because it requires no knowledge of the topography of the solution space. Other approaches sharing this characteristic (such as Particle Swarm Optimization) may also be suitable and will be investigated in the future.
5. Evaluation consists of:
A core that comprises of spatial analysis techniques and specifically techniques related to Space Syntax. Space syntax, according to Hillier "is a set of techniques for the representation, quantification, and inter- pretation of spatial configuration in buildings and settlements. Configuration is defined in general as, at least, the relation between two spaces taking into account a third, and, at most, as the relations among spaces in a complex taking into account all other spaces in the complex. Spatial configuration is thus a more complex idea than spatial relation, which need invoke no more than a pair of related spaces."
Supplementary/ Plugin evaluators that may refer to various building properties e.g. energy, daylight, view, privacy, building envelope.
The basic evaluation profile, which is used to compare the original and the variants, consists of an Integration Matrix. An integration matrix for n different spaces it is a n*n symmetric matrix that contains, for each space, values holding the number of spaces that an agent has to walk, to get to another.
![]() |
| Example of how an Integration Matrix would look like |
6. Extensions
One principle of the project should be that it's various methods and algorithms should be interchangeable, i.e. while the basic process outline may remain the same, the various modules performing generation, evaluation, translation from encoding to representation etc. should be interchangeable. In order for that to be accomplished, the process should be implemented into a 'framework' of sorts, with basic structure built-in and plugin additions that affect functionality.
The basic structure will be implemented into a series of JAVA library classes, on top of which interaction and secondary classes will be implemented in Processing.



I am a student, I joined the blog to make friends with the lava away from the liver around the world. I want to learn many things about the country, people, life, culture ... of your country.
ReplyDelete