dibujo automático de distribuciones en planta a partir de un grafo de

Anuncio
DIBUJO AUTOMÁTICO DE DISTRIBUCIONES EN PLANTA A
PARTIR DE UN GRAFO DE ADYACENCIAS
Resumen Trabajo de Investigación
Doctorado en Lenguajes, Sistemas Informáticos e Ingeniería del Software
Autor: Mónica San José Benito
Tutora: Marina Álvarez Alonso
Doctorado 2004-2005
Resumen
En el trabajo de investigación realizado se presentan algoritmos capaces de automatizar el
desarrollo del proyecto arquitectónico por ordenador, llegando hasta la generación automática
de esquemas adimensionales de distribución del espacio en las dos dimensiones de la planta
de un edificio a partir de las condiciones impuestas por el proyectista.
La búsqueda de soluciones para el trazado de esquemas adimensionales de distribución de
edificios en planta se ha realizado tratando de reconstruir el proceder del hombre ante este tipo
de cuestiones mediante el desarrollo de dos algoritmos: uno para el trazado de los locales
exteriores, basado en la división en partes iguales de los lados de la planta. Y un segundo
algoritmo para el trazado de locales interiores, basado en una técnica de búsqueda heurística
en profundidad, con evaluación de nodos intermedios y vuelta atrás (backtracking).
Introducción
Desde el comienzo del uso de los ordenadores y a lo largo de toda su historia se ha mostrado
un gran interés por la aplicación que los mismos pudieran tener en la automatización del
proyecto arquitectónico, aunque los logros han sido limitados hasta el momento.
La mayoría de las aplicaciones prácticas, que han ido apareciendo, están dirigidas al cálculo de
estructuras, confección de mediciones y presupuestos, dibujo, etcétera. Estos programas de
CAD/CAE son capaces de realizar el almacenamiento, recuperación y manipulación de los
datos introducidos lo que automatiza el desarrollo de un proyecto concreto, pero sin embargo
no permiten la automatización del estudio de soluciones alternativas.
Desde la década de los 60 han sido numerosas las propuestas de métodos para abordar el
problema de generación de esquemas de edificios en planta. En general el proceso se plantea
mediante la solución de dos fases sucesivas:
•
Generación de esquemas adimensionales
•
Dimensionamiento
A la hora de abordar la primera de las fases, el problema de generación de esquemas
adimensionales de edificios en planta, existen esencialmente 2 planteamientos: el de
optimización y el combinatorio.
En el planteamiento de optimización, se intenta buscar la mejor distribución de los espacios
definiendo la disposición óptima mediante una función objetivo que expresa, bien recorridos
entre dos actividades, bien adyacencia entre espacios.
En el planteamiento de tipo combinatorio, se intenta generar soluciones posibles que cumplan
unas
condiciones
determinadas
debidas
a
características
espaciales,
tales
como
interrelaciones geométricas entre locales, orientaciones y limitaciones dimensionales.
En general, la teoría de grafos, [Roth88] [Schwarz94] [Recuero96] [Gross99], ha sido el
instrumento matemático utilizado para representar de forma abstracta los distintos tipos de
relaciones entre los diferentes recintos que constituyen una planta.
Un grafo es un conjunto de nodos y aristas que los unen. Si hacemos corresponder a cada
recinto un vértice y consideramos las relaciones de adyacencia entre ellos como las aristas que
unen dichos vértices, tendremos un grafo simple, comúnmente denominado “grafo de
adyacencia”.
De este grafo diremos que la distribución en planta que lo origina es una realización del grafo.
A cada distribución le corresponde un único grafo, pero a cada grafo le pueden corresponder
distintas distribuciones sobre una planta.
La posibilidad de poder plasmar los grafos que reflejan las condiciones de diseño prefijadas
sobre la planta del edificio es lo que se denomina realizabilidad del grafo [Recuero00]
[Recuero04]. Las distintas soluciones de este problema representan las diferentes alternativas
que pueden ser consideradas en el proceso de proyecto arquitectónico.
En la mayor parte de los casos las plantas de los edificios son de lados paralelos o
perpendiculares y las habitaciones o recintos son rectangulares. Resulta pues, de gran interés,
el disponer de algoritmos que permitan comprobar primero, si es posible realizar los
mencionados grafos sobre la planta disponible, y en caso afirmativo, generar todas las posibles
distribuciones.
El problema básico puede reducirse al caso de una planta rectangular recubierta por
habitaciones rectangulares, pudiendo posteriormente generalizarse a plantas de lados
paralelos o perpendiculares entre sí.
No existe un algoritmo que resuelva completamente este problema. Los autores han
presentado un procedimiento heurístico [Recuero00] [Recuero04] que parece resolverlo puesto
que no se han encontrado excepciones, pero no han podido demostrar concluyentemente que
sea condición suficiente. En los distintos trabajos de otros autores que utilizan la teoría de
grafos para generar distribuciones de plantas, no lo hacen sobre plantas prefijadas y además
obligan a tomar decisiones previas sobre posiciones relativas de los rectángulos. Sin embargo,
hay requerimientos que pueden cumplirse de varias formas, tal como que dos habitaciones
pueden ser contiguas en cualquier dirección. El método propuesto por los autores de este
trabajo es más general, pues no impone condiciones a priori sobre las posiciones relativas
entre habitaciones, si bien, en principio, es válido para plantas rectangulares, que son las
únicas convexas que pueden ser cubiertas por rectángulos.
El planteamiento para el proceso de generación automática de plantas se realiza en 4 etapas
sucesivas:
1. Determinar la realizabilidad de los grafos o grafo sobre una planta elegida.
2. En caso afirmativo, generar todas las posibles soluciones topológicamente correctas.
3. Generar la realización adimensional de las soluciones topológicamente correctas.
4. Imponer el cumplimiento de las condiciones dimensionales, etc.
De las cuales, las tres primeras cubren la primera fase (generación de plantas de forma
adimensional) y la 4 corresponde a la 2ª fase (dimensionamiento de la planta).
El algoritmo completo se ha estructurado en los siguientes pasos:
1. En caso de planta no rectangular reducir la misma a planta rectangular mediante la
adición de recintos ficticios adecuados, que a su vez deben ser incluidos en los grafos
a comprobar.
2. Comprobar la realizabilidad del grafo sobre la planta rectangular.
3. Generar las posibles soluciones topológicamente correctas sobre plantas
rectangulares.
4. Dibujar en forma adimensional las soluciones topológicamente correctas.
5. Imponer las condiciones dimensionales, de orientación, etc para dibujar las plantas
dimensionadas.
La descripción de los pasos 1-3 ya ha sido presentada de forma teórica en trabajos anteriores.
En el presente trabajo se aborda la solución del paso 4 del algoritmo (etapa 3). Para ello se
plantean dos algoritmos: uno para el trazado de los locales exteriores, basado en la división en
partes iguales de los lados del rectángulo principal (a partir de ahora la planta), y un segundo
algoritmo para el trazado de locales interiores, basado en una técnica de búsqueda heurística
en profundidad, con evaluación de nodos intermedios y backtracking.
Descripción del algoritmo
El algoritmo para el trazado de locales exteriores se ejecuta colocando los locales clasificados
por tipos, dependiendo de la dificultad de cada tipo, de mayor a menor complejidad. Así se
colocan primero los locales que tienen tres lados exteriores en la planta, luego los de dos y
finalmente los de un solo lado exterior. Cada lado exterior se divide entre el número de locales
que lo componen, en partes iguales, mientras que el espacio interior lo ocuparán los locales de
cada lado alternativamente para generar diferentes soluciones.
Dependiendo de qué locales con un lado exterior ocupen el espacio interior de la planta, se
generan 5 raíces para los futuros árboles estado-acción, que constituyen la entrada al algoritmo
para el trazado de locales interiores. A continuación se corrigen los huecos y solapamientos
que se hayan producido entre locales exteriores de cada una de las plantas.
El principio básico para el trazado de los locales interiores es el siguiente, se tratará de “colocar
los locales interiores en locales con un solo lado exterior o dentro de los locales interiores
previamente trazados” siempre que no sean locales verticales al local interior a colocar. Esta es
la razón por la que se ha ocupado el espacio interior de la planta con los locales de un lado
exterior en la generación de raíces.
El algoritmo para el trazado de locales interiores consta a su vez de tres procesos:
1. Búsqueda. Va generando los distintos nodos del árbol
2. Corrección. Opera sobre los nodos generados en la búsqueda
3. Evaluación de cada uno de los nodos. Poda y retroceso (backtracking) cuando
corresponda
El proceso de búsqueda empleado va generando los diferentes caminos de cada árbol a partir
de las 5 raíces generadas anteriormente. Los nodos intermedios se van generando a medida
que se colocan los locales interiores, siguiendo el principio de colocación de los locales
interiores, por lo que cada nivel intermedio del árbol se corresponde con la colocación de un
local interior en la planta.
El algoritmo de corrección trata de encaminar las soluciones potenciales hacia una solución
final de modo que cumpla el mayor número de adyacencias de entrada entre los locales ya
colocados. De este modo será necesario por un lado hacer que locales que NO deben ser
adyacentes en la planta y se han trazado como adyacentes dejen de serlo. Por otro lado será
necesario que locales que deben ser adyacentes se hayan trazado como no adyacentes y haya
que corregirlos.
Si durante el proceso de corrección se solapa por completo algún local, la rama actual se poda
(backtracking) y se sigue por otra rama. En caso contrario se continúa por esta rama hasta
encontrar una solución final. Se obtienen así 5 espacios de soluciones formados por los nodos
hoja de los 5 árboles estado-acción.
Conclusiones y Resultados
El algoritmo para el trazado automático de esquemas adimensionales en planta presentado en
este documento es una primera aproximación para conseguir automatizar el proceso de diseño
de planos de edificios en planta a partir de un grafo de conexiones.
Por un lado el algoritmo logra filtrar y encaminar la búsqueda de forma que no sea una
búsqueda aleatoria o de “ fuerza bruta” , si no que sea una búsqueda guiada por las
adyacencias entre locales dadas en el grafo inicial. Esto hace que sea un algoritmo más
potente o más fuerte dentro de los algoritmos heurísticos vistos hasta el momento sin alejarse
de ser un algoritmo general.
El algoritmo propuesto como solución al problema de generar trazados adimensionales de
plantas arquitectónicas es, por tanto, un algoritmo potente y bastante general, a pesar de que
se hace un refinamiento exhaustivo en la búsqueda, pero no está probado que sea válido para
cualquier problema inicial que sirva como entrada a los pasos previos. A pesar de esto, deja
abierto un camino optimista para retomar los métodos heurísticos como solución al problema
arquitectónico.
Abstract
Algorithms to automate the architectural design development are presented. Starting from the
conditions imposed by the designer they automatically generate the a-dimensional 2D space
distribution.
The search for the solutions of a-dimensional 2D distributions tries to reproduce man wise
procedure by means of two algorithms: one deals with the drawing of the external spaces and is
based on the equal part division of the plan sides. The other one deals with the drawing of the
internal spaces and is based on an heuristic search in depth with backtracking.
Introduction
One of the areas that has contracted constant interest every since computers came into general
use is their potential for automating architectural design, although to date the achievements
have not lived up to expectations.
Most of the practical applications that have come to market focus on structural engineering, the
formulation of bills of quantities and budgets, drawing and the like. These CAD/CAE programs
can store, retrieve and handle the data entered and thus automate the development of a
specific design, but they make no provision for automating the study of alternative solutions.
Any number of methods has been proposed since the nineteen sixties to address the problem
of generating building floor plans. The process is generally broken down into two successive
phases: i) Generation of not measure schemes and; ii) Sizing.
There are essentially two possible approaches to the problem of generating no measure floor
plans for buildings: optimisation and combinatorial. In optimisation, the best area layout is
sought with a target function based either on distances between two activities or room
adjacencies. Under the combinatorial approach, the aim is to generate possible solutions that
meet certain conditions deriving from spatial characteristics, such as geometric interrelationships between rooms, or positional or dimensional limitations.
Graph theory [Roth88] [Schwarz94] [Recuero96] [Gross99] is the mathematical tool used for the
abstract representation of the various types of relationships between the enclosed spaces on
any given floor plan of a building.
A graph is a series of nodes or vertices and edges joining pairs of nodes. If each enclosed
space is assigned a vertex and the adjacency relationships between them are considered to be
the edges joining the vertices, the result is a simple graph generally known as an “adjacency
graph”.
The floor plan underlying any given graph is called the graph realisation. Each layout
corresponds to a single graph, but each graph may correspond to several floor plans.
The possibility of associating a graph reflecting pre-established design conditions with the
respective building floor plan is known as graph realisability [Recuero00] [Recuero04]. The
different solutions to this problem represent the different alternatives that may be considered in
the architectural design process.
The floor plans of most buildings have parallel or perpendicular sides and the rooms or
enclosed spaces are rectangular. It is, then, very useful to have algorithms with which to verify
whether the graphs such as described above can be realised for any given plan and, if this is
the case, to generate all the floor layouts possible.
The basic problem may be reduced down to a building with a rectangular floor plan divided into
rectangular rooms, which can then be generalised to plans with parallel or perpendicular sides.
There is no algorithm that solves this problem entirely. The authors have presented a heuristic
procedure [Recuero00] [Recuero04] that appears to do so, inasmuch as no exceptions have
been found, but have been unable to conclusively prove its sufficiency. In papers by other
authors using graph theory to generate floor plans, no provision is made for designing the layout
to pre-established conditions and the procedures call for prior decisions regarding the relative
positions of the rectangles. There are requirements that may be met in various manners,
however, such as the requirement that two given rooms must be allowed to be adjacent in either
direction. The authors of the present paper [Recuero00] [Recuero04] propose a more general
method that imposes no a priori conditions on the relative positions of rooms, although it is valid
for rectangular floor layouts only, as the only convex plans that can be covered by rectangles.
The procedure for the automatic generation of floor plans is divided into four successive stages:
1. Determine whether the graphs or graph are realisable on the plan.
2. If realisable, generate all the topologically correct solutions possible.
3. Generate the no measure realisation of the topologically correct solutions.
4. Impose measure and like conditions.
Stages one to three correspond to the first phase mentioned above (no measure generation of
layouts) and stage four to the second phase (measuring).
The entire algorithm is built around the following steps:
1. Where the floor plan is not rectangular, make it rectangular by adding any necessary
fictitious spaces, which must also be included in the graphs to be verified.
2. Verify whether the graph is realisable on the rectangular plan.
3. Generate all topologically correct solutions for rectangular plans.
4. Draw adimensional, topologically correct solutions.
5. Impose any pertinent conditions: dimensional, positional, etc., to draw the plans to the
required dimensions.
The theoretical description of phases 1-3 is given in. The present paper addresses the solution
of step 4 of the algorithm. This involves formulating two algorithms: one for positioning exterior
rooms, which entails dividing the sides of the main rectangle (hereafter the floor plan) into equal
sections, and a second algorithm for positioning interior rooms, based on a technique consisting
of a heuristic depth-wise search, together with intermediate node evaluation and backtracking.
The Algorithm
The exterior room mapping algorithm is executed, whereby the rooms are positioned by type in
order of difficulty, from greater to lesser. Hence, exterior rooms with three outer side are
positioned first, followed by exterior rooms with two and one outer side. The roots of the stateaction trees are subsequently generated and any gaps or overlaps between exterior rooms are
corrected.
The basic principle for mapping interior or type interior rooms is “position interior rooms inside
exterior rooms with one outer side or inside previously positioned interior rooms”, providing they
are not rooms vertical to the interior room to be positioned.
The algorithm consists, in turn, of three processes:
1. Search: generates the different nodes of each state-action tree
2. Correction: acts as necessary on the nodes generated during the search procedure
3. Node evaluation: backtracking as appropriate
The search procedure used generates the different paths on each tree from the five previously
generated roots; that is, a depth-wise search is conducted to obtain five state-action trees. The
root is the floor plan on which the exterior rooms, some of which occupy the interior space, have
already been mapped. The intermediate nodes are generated as the interior rooms are
positioned, which means that each intermediate level of the tree corresponds to the positioning
of an interior room on the floor plan.
The correction algorithm attempts to steer the potential solutions towards a final solution
compliant with the largest possible number of adjacency conditions initially established, once
the rooms are positioned. On the one hand, this means that rooms that should not be adjacent
but which have been drawn in as adjacent should be duly corrected. On the other hand, rooms
that should be adjacent but which appear as non-adjacent should be duly corrected.
After partial correction of each intermediate node it is necessary to make an evaluation of its
floor plan to determine if it will be a future final solution. The node is then corrected to meet
initial adjacency conditions and, if during this process some one of the rooms is completely
over-run by another, the respective branch is pruned and another branch is explored.
Otherwise, the procedure continues along the first branch until a final solution is found. The leaf
nodes of the five state-action trees form the five solution spaces ultimately obtained.
Conclusions and Results
The algorithm for the automatic mapping of no measure floor plans introduced is a first attempt
to automate the floor plan design process for building floor plans from an adjacency graph.
On the one hand the algorithm is able to screen and steer the search in such a way that the
result is not a random or “brute force” search, but rather one guided by the room adjacency
conditions given in the initial graph. This makes it more powerful than the heuristic algorithms
seen to date, without detracting from its general applicability.
The algorithm proposed as a solution to the problem of mapping no measure architectural floor
plans in buildings is, therefore, a powerful and rather general algorithm, despite the fact that the
search procedure entails exhaustive refining. Nonetheless, it has not been proven to be valid for
any and every initial problem giving way to the preliminary steps. Despite this reservation, it
affords an optimistic view of the potential of heuristic methods in the quest for solutions to
architectural problems.
Bibliografía / Bibliography
[Roth88] J. Roth and R. Hashimshony. Algorithms in graph theory and their use for solve
problems in Architectural design. Computer Aided Design, 2 (1988), 373-381.
[Schwarz94] Schwarz, D.M. Berry, E. Shabib. Representing and solving the automatic building
design problem. Computer Aided Design, 26.9 (1994), 689-698.
[Recuero96] A. Recuero, M. Álvarez and O. Río. Grafos en el proyecto arquitectónico. Partición
de un rectángulo en rectángulos. R.I. Métodos numéricos para el cálculo y diseño en ingeniería,
12,2 (1996), 187-213.
[Gross99] J. Gross and J. Yellen. Graph Theory and its Applications. CRC Press (1999).
[Recuero00] A. Recuero, O. Río, M. Álvarez. Heuristic method to check the realisability of a
graph into a rectangular plan. Advances in Engineering Software, 31 (2000), 223-231.
[Recuero04] A. Recuero, O. Río, M. Álvarez. Realisations of a Graph into Rectangles covering
a Rectangle: Building floor Plan Design. CST2004, Lisboa, Portugal (Sep 2004). In press.
Descargar