# Evolutionary Methods in House Floor Plan Design
## 1 Introduction  
Architectural designs of buildings are contemporarily created with the use of specialized CAD tools (like ArchiCAD by Graphisoft, Allplan by ALLPLAN, or Revit by Autodesk). However, most of these tools are not very efficient in the conceptual stage of design, in which the understanding of design requirements is often associated with visualization of early conceptual solutions. As design problems are usually open-ended and ill-defined, this design phase should be supported by a computer system which facilitates decision making based on the initial visualization of users' requirements and provides the design knowledge required for reasoning concerning design solutions. Over the past 50 years, a great deal of research has been conducted in the field of computer-aided architectural design with the main goal of automatically generating floor plans, which would be treated by designers as preliminary layouts to be further modified and adapted by them [1; 2; 3]. In most existing approaches, the graph-based representation of floor layouts is used [2; 4; 5]. In [6], an evolutionary technique based on a graph representation of genotypes was proposed as a method for generating new design solutions. In all these cases, floor plans are generated for given adjacency graphs, which is computationally demanding. Obtaining visualizations of such graphs requires specifying a geometric interpretation, which assigns geometric primitives to graph nodes, and then arranging them in a way that preserves the graph adjacency relations. Moreover, the proper arrangement of rooms may not exist, or the generation can result in layouts which may not be architecturally and aesthetically meaningful. Modifying the obtained floor plans according to the needs of the users and maintaining specific architectural requirements requiring modification of the adjacency relations in the corresponding graphs. Another well-known approach to automate the generation of floor plans is based on shape grammars [7; 8; 9; 10; 11; 12]. In [13], an agent system combined with shape grammars was used to support floor layout designs. However, shape grammar interpreters are difficult to implement, as matching parametric shapes is still a challenging problem [14; 15]. Moreover, this approach does not give much possibility for designer interaction, thus losing the human-centered perspective of the design. Thus, there is still a gap between the proposed research and its practical aspects. In recent years, many approaches to the automation of floor plan design based on artificial intelligence and machine learning methods have been developed. In [16], stochastic optimization and a supervised learning algorithm based on Bayesian networks for generating residential building layouts is presented. In [17], another data-driven technique for constructing residential layouts is described, while in [18], a graph neural network generating floor plans is presented. In [19], an evolutionary strategy which generates a feasible layout solution, which incorporates complex requirements, is described, but the implementation of the proposed approach is not presented. The construction of floor plans using simulated annealing is discussed in [20], while in [21], reinforcement learning based on a heuristic search technique called Monte Carlo tree search was used to generate a feasible dimensionless rectangular floor plan corresponding to an adjacency graph given by the user. A generative expert system for the design of building layouts is proposed in [22]. Most of the above-mentioned methods are restricted to a single layout generated for the specified constraints, are limited to rooms with rectangular boundaries or are not suitable for complex layouts design, as their time complexity is very high due to the stochastic nature of the algorithms used. In methods where graphs describing layouts are represented within deep networks, the networks first map the graphs into feature vectors, which are then transformed into floor plans.