Algorithmisches Denken

6
See discussions, stats, and author profiles for this publication at: http://www.researchgate.net/publication/277801691 Algorithmisches Denken CHAPTER · OCTOBER 2014 DOWNLOADS 4 VIEWS 7 2 AUTHORS, INCLUDING: Wolfgang E. Lorenz Vienna University of Technology 28 PUBLICATIONS 12 CITATIONS SEE PROFILE Available from: Wolfgang E. Lorenz Retrieved on: 23 July 2015

Transcript of Algorithmisches Denken

Seediscussions,stats,andauthorprofilesforthispublicationat:http://www.researchgate.net/publication/277801691

AlgorithmischesDenken

CHAPTER·OCTOBER2014

DOWNLOADS

4

VIEWS

7

2AUTHORS,INCLUDING:

WolfgangE.Lorenz

ViennaUniversityofTechnology

28PUBLICATIONS12CITATIONS

SEEPROFILE

Availablefrom:WolfgangE.Lorenz

Retrievedon:23July2015

E259.1 kleines Entwerfen 2014 brickster style – Seite 7

Der Algorithmus

Das RezeptEin Algorithmus lässt sich am einfachsten mit ei-nem Kochrezept vergleichen. Jede Zeile in einem Kochbuch beschreibt eine genaue Handlungsan-weisung:

Für einen Schinken-Käse Toast eine Scheibe Toast mit einer Scheibe Schinken, einer Schei-be Käse und einer weiteren Scheibe Schinken belegen. Danach folgt eine zweite Scheibe Toast. Den Ofen auf die Funktion Grillen stellen und den Schinken-Käse Toast solange grillen bis er eine hellbraune Farbe hat, dann wenden ...

Das Kochrezept beschreibt einen Vorgang bei dem eine Person zur schrittweisen Befolgung von Anweisungen aufgefordert wird. Diese Schritte müssen im Sinne eines Algorithmus abgeschlossen und durchführbar sein. Im Gegensatz zum Koch-rezept wird beim Programmieren keine Person angewiesen etwas zu tun, sondern ein Rechner.1

Der AlgorithmusDer Begriff Algorithmus kommt aus der Mathe-matik und leitet sich vom Namen Al-Chwarizmi, ei-nem persischer Mathematiker, ab. Sein Werk Über das Rechnen mit indischen Ziffern (um 825) enthält nicht nur maßgebliche Rechenvorschriften, son-dern Al-Chwarizmi führte außerdem die aus dem

1 Wurzer G. 2008

indischen bekannte Ziffer Null in das arabische Zahlensystem ein. Ein Algorithmus bezeichnet ein Lösungsverfah-ren, bei dem ein Problem durch genau definierte Handlungsvorschriften beantwortet wird.

Vom Algorithmischen DenkenDas algorithmische Denken verlangt nach Be-schränktheit. Das bedeutet, dass ein Lösungsver-fahren aus einem oder mehreren bearbeitbaren Teilen bestehen muss, wobei jeder Teil für sich lösbar (berechenbar) ist. Der Fokus des algorith-mischen Denkens liegt in dem Problem selbst, für das ein Algorithmus gesucht wird. Eine solche Denkweise ist problemzentriert und unterschei-det sich vom lösungszentrierten Denken. Diesen Unterschied hat Bryan Lawson in seinem Buch How Designers Think2 beschrieben. In einem Experiment stellte er zwei Gruppen dieselbe Auf-gabe. Die erste Gruppe bestand aus Architekten im letzten Studienjahr, die zweite aus Dissertan-ten naturwissenschaftlicher Disziplinen. Gesucht war die korrekte Anordnung von Holzbausteinen mit unterschiedlichen Farben auf einem vorge-gebenen Grundriss. Bei der Aufgabe wurde den Probanden nicht verraten welche beziehungs-weise warum bestimmte Kombinationen erlaubt oder nicht erlaubt waren. Wurde eine Lösung als korrekt erachtet, konnte diese in den Computer

2 Lawson B. 2005

Algorithmisches Denken

Wolfgang E. Lorenz und Gabriel WurzerDigitale Architektur und Raumplanung

Seite 8 – Algorithmisches Denken

eingegeben werden, der lediglich über die Richtig-keit der Lösung urteilte. Nachdem es zirka 6000 mögliche Antworten gab, war die richtige Strategie zur Lösungsfindung gefragt. D.h. die Fülle an Möglichkeit musste ein-gegrenzt werden um eine gute Lösung zu finden. Die Aufgabe lag also vor allem darin, die internen Regeln zu erkennen. Die beiden Gruppen verfolgten unterschiedliche Strategien. Während die Gruppe der Architektur-studenten eine lösungsorientierte Strategie ver-folgte, widmete sich die Gruppe der Dissertanten einem problemorientierten Lösungsansatz. Die Gruppe der Architekten wählte die Holz-klötzchen nach dem Kriterium einer passenden Farbe. Wenn diese Kombination akzeptiert wurde, kam die nächste favorisierte Farbkombination an die Reihe. Dieses Prozedere wurde solange wie-derholt, bis eine Lösung akzeptabel war. Dagegen entwickelte die zweite Gruppe aus Dissertanten eine Technik mit der eine Serie von unterschiedli-chen Designs untersucht wurde, die so schnell wie möglich nicht nur möglichst viele unterschiedliche Holzbausteine beinhaltete sondern auch mög-lichst viele unterschiedliche Kombinationen ent-wickelte. Das entsprach einer Maximierung der Information über die erlaubten Möglichkeiten. Die Strategie lag im Erkennen der Regeln die hinter der Versuchsanordnung lagen. Es war die Suche nach den erlaubten Kombinationen um schließlich die verlangte Farbe im Design zu optimieren. Zusammenfassend wollten die Dissertanten der naturwissenschaftlichen Disziplinen die Kriterien verstehen, während die Architekturstudenten von dem Gedanken geleitet waren, die Lösung zu er-reichen. Aufgrund des unterschiedlichen Ansatzes zur Lösungsgenerierung lässt sich vermuten, dass es auch eine sprachliche Diskrepanz zwischen den beiden Gruppen gibt

Eine Frage der KommunikationEine sprachliche Barriere gibt es auch zwischen Architekten und Informatikern. Es ist nicht zu er-warten, dass alle Teilnehmer von Lehrveranstal-tungen die generative Entwurfsmethoden zum Inhalt haben tatsächlich programmierende Archi-tekten werden und noch weniger ist zu erwarten, dass Informatiker Gebäude planen. Deshalb steht im Zentrum solcher Lehrveranstaltungen vor al-lem die Kommunikation zwischen Designern und Informatikern zu fördern, indem zunächst die Sprache und die Denkweise der Programmie-rer erlernt wird. Während ein Studierender der Richtung Architektur eine Vorstellung des finalen Designs, oder zumindest des Konzepts im Kopf haben mag, interessiert sich der Informatiker aus-schließlich für die Problemstellung.

Programmieren im EntwurfDer Entwurfsprozess selbst ist ein Verfahren zur Problemlösung mit der Entwurfsaufgabe als Prob-lemstellung. Der Prozess wird geprägt durch un-terschiedliche Parameter. Diese reichen von den Anforderungen die sich aus der Nutzung ergeben, über Einflüsse aus dem Ort bis hin zu statisch konstruktiven und bauphysikalischen Überlegun-gen. Die Komplexität lässt sich nur durch das Wissen und die Erfahrung eines Architekten be-handeln. Ein nahezu unverzichtbares Element im Büroalltag ist der Computer geworden. Abgese-hen von Computerprogrammen zur Berechnung und Auswertung von Daten (vom Energiebedarf bis zur Massenauswertung) sind es vor allem Zei-chenprogramme für die Planerstellung und für die Visualisierung des Entwurfes die zum Einsatz kom-men. Letzteres bedeutet konkret, dass das jeweils eingesetzte CAD-Programm (Computer Aided De-sign) ausschließlich der Visualisierung des Entwur-fes dient. Mit dem Wissen über Algorithmen und

E259.1 kleines Entwerfen 2014 brickster style – Seite 9

mithilfe von (selbstgeschriebenen) Programmen lässt sich ein solches Einsatzgebiet erweitern. Das CAD-Programm dient dann auch der Lösung von Fragestellungen, sowohl hinsichtlich Formfindung als auch entwurfsbeeinflussender Faktoren.

Vom Input zum OutputAm Beginn der Programmierung steht die Frage welches Problem gelöst werden soll. Das Problem kann etwa die Frage nach dem Grad der Verschat-tung eines Bauplatzes durch die gebaute und/oder natürliche Umgebung sein. Der Input, also jener Teil den das Programm als minimale Information benötigt, umfasst im konkreten Fall neben dem Ort an dem sich das Gebäude befindet, die drei-dimensionale Darstellung der Umgebung und der Tag für die eine Analyse erfolgen soll. Durch ei-nen spezifischen Sonneneinstrahlwinkel kann die Verschattung auf dem Bauplatz abgebildet werden. Eine mögliche Erweiterung bietet die Abbildung durch eine Analyse für ein ganzes Jahr (Abb.1). Der Output kann schließlich eine Darstellung nach dem Grad der Beschattung sein, indem stark und dauerhaft beschattete Flächen eine andere Färbung erhalten als weniger stark beschattete Flächen. Nachdem Räume in Abhängigkeit ihres zu erfüllenden Zwecks unterschiedliche Sonnen-intensitäten verlangen, bietet eine solche Farb-karte dem Architekten eine Entscheidungshilfe beim Entwurf. Eine Berechnung per Hand wäre in

diesem Fall zeitaufwändiger als eine computerge-stützte.

Bewertung des OutputsEin weiteres Beispiel soll die Anwendbarkeit eines Algorithmus in der Architektur verdeutlichen. Bei der Planung von Schallschutzwänden für Autobah-nen müssen verschiedene Parameter eingehalten werden. Darunter fallen die Mindesthöhe der Bau-teile für die Wirksamkeit als Schallschutz, die Ab-stände der Stützen, die Breiten der eingehängten Elemente, die Mindesthöhen des Rammschutzes

Abb.1 Verschattung infolge eines bestimmten Sonnen-einfallswinkels

Abb.2 Vom Input zum Output

Seite 10 – Algorithmisches Denken

aus Betonfertigteilen oder ähnliches. Diese Pa-rameter sind von dem System abhängig, das ein-gesetzt wird. Die Autoren haben sich im Zuge einer noch nicht veröffentlichten wissenschaft-lichen Arbeit mit der Frage auseinandergesetzt, worin die Vorteile einer generierten Planung von Lärmschutzwänden liegen. Um die Anwendbarkeit überprüfen zu können, kamen sowohl die Vorga-ben der Parameter als auch das Planlayout aus der Praxis. Auf Grundlage dieser Daten wurde ein Skript in VBA (Visual Basic for Application) für Auto-CAD (grafischer Zeichnungseditor von AutoDesk)3 geschrieben, das alle gewünschten Parameter berücksichtigt und nach vordefinierten Kriterien optimierte Entwürfe erstellt. Eine solche Opti-mierung erfolgte entweder hinsichtlich des ge-ringsten Betonbedarfs für den Rammschutz, des geringsten Bedarfs an Stahl oder der geringsten Anzahl an Höhensprüngen im Fall einer Steigung beziehungsweise eines Gefälles der Straße (siehe Abb.2). Der Vorteil des Computerprogrammes lag somit nicht nur in einer enormen Zeitersparnis beim Generieren der Ergebnisse, sondern auch in der Optimierung nach vordefinierten Kriterien.

Brickster Style

Generatives EntwerfenEin generatives Entwerfen geht davon aus, dass das Ergebnis des Entwurfsprozesses zu Beginn noch nicht klar erkennbar ist. Sowohl der Input (die Parameter) als auch der Code beeinflussen schließlich den Output. Das im Code definierte Regelwerk führt zu einer oder mehreren Lösun-gen. Im ersten Fall handelt es sich um ein eng ge-stecktes Korsett, bei dem jeder einzelne Schritt immer nur eine definitive Lösung zulässt. Kann es zu mehreren Lösungen kommen, erfolgt eine Gra-

3 de.wikipedia.org/wiki/AutoCAD (01.09.2014)

duierung nach guten oder schlechten Lösungen aufgrund wohldefinierter Kriterien (vergleiche Bewertung des Outputs).

Die Arbeiten der StudierendenBeim generativen Entwerfen Brickster style lag unser Fokus weniger in der Umsetzung von Al-gorithmen zur Formengenerierung, sondern viel-mehr im Lösen der Komplexität des Entwurfspro-zesses selbst. Im Zentrum stand die Suche nach Varianten und/oder Optimierungen von (Teil-)Problemstellungen. Basierend auf einer Bedarfsanalyse und der Aus-einandersetzung mit dem Ort wurde von den Studierenden zunächst ein Konzept erstellt. Die-ses Konzept wurde dahingehend analysiert, ob es Bereiche im Entwurfsprozess gibt, bei der eine al-gorithmische Unterstützung Vorteile bringt. Einen solchen Bereich sahen die Studierenden vor allem bei der Verteilung der Funktionen im Bestand. Ein Lösungsansatz beinhaltete folgerichtig die Erfas-sung aller Räume samt minimalem Raumbedarf und basierend auf deren Zweck die entsprechen-den Adjazenz (Nah/Fern/Neutral). Mögliche wei-tere Parameter waren die Ausrichtung zur Sonne (Belichtung/Verschattung) oder die gegenseitige Lärmbelastung beziehungsweise jene von Außen. Unterschiedliche Strategien der Studierenden führten mitunter zu unterschiedlichen Ergebnisse, sowohl was die Performance als auch den Output betrifft. Die Resultate sind in dieser Broschüre bei den einzelnen Studentenbeiträgen angeführt.