Arbeitspapier 09

Generierung von Grundriss-Layouts mithilfe von Evolutionären Algorithmen und K-dimensionalen Baumstrukturen

Katja Knecht

K-dimensionale Bäume, im Englischen verkürzt auch K-d Trees genannt, sind binäre Such- und Partitionierungsbäume, die eine Menge von n Punkten in einem multidimensionalen Raum repräsentieren. Ihren Einsatz finden K-d Tree Datenstrukturen vor allem bei der Suche nach den nächsten Nachbarn, der Nearest Neighbor Query, und in weiteren Suchalgorithmen für beispielsweise Datenbankapplikationen. Im Rahmen des Forschungsprojekts Kremlas wurde die Raumpartitionierung durch K-d Trees als eine Teillösung zur Generierung von Layouts bei der Entwicklung einer kreativen evolutionären Entwurfsmethode für Layoutprobleme in Architektur und Städtebau entwickelt. Der Entwurf und die Entwicklung von Layouts, d.h. die Anordnung von Räumen, Baukörpern und Gebäudekomplexen im architektonischen und städtischen Kontext stellt eine zentrale Aufgabe in Architektur und Stadtplanung dar. Sie erfordert von Architekten und Planern funktionale sowie kreative Problemlösungen. Das Forschungsprojekt beschäftigt sich folglich nicht nur mit der Optimierung von Grundrissen sondern bindet auch gestalterische Aspekte mit ein. In der entwickelten Teillösung dient der K-d Tree Algorithmus zunächst zur Unterteilung einer vorgegebenen Fläche, wobei die Schnittlinien möglichen Raumgrenzen entsprechen. Durch die Kombination des K-d Tree Algorithmus mit genetischen Algorithmen und evolutionären Strategien werden Layouts hinsichtlich der Kriterien Raumgröße und Nachbarschaften optimiert. Durch die Interaktion des Nutzers können die Lösungen dynamisch angepasst und zur Laufzeit nach gestalterischen Kriterien verändert werden. Das Ergebnis ist ein generativer Mechanismus, der bei der kreativen algorithmischen Lösung von Layoutaufgaben in Architektur und Städtebau eine vielversprechende Variante zu bereits bekannten Algorithmen darstellt.

Weimar, September 2011, ISSN 2191-2416
Die Datei ist als PDF (1,3 mb) erhältlich:
Download