Platzierung - Algorithmen von Breuer & Lauther; SA & GA-Verfahren -

Slides:



Advertisements
Ähnliche Präsentationen
Algorithmentheorie 08 – Dynamische Programmierung (1)
Advertisements

Fast Fourier Transformation
Rekursion: Rekurrenz: Algorithmen rufen sich selbst (rekursiv) auf.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (26-Graphenalgorithmen: Wiederholung und Übung) Prof. Th. Ottmann.
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
WS Prof. Dr. Th. Ottmann Algorithmentheorie 09 - Suche in Texten KMP, BM.
10. Grundlagen imperativer Programmiersprachen
Genetische Algorithmen für die Variogrammanpassung
Fakultät für informatik informatik 12 technische universität dortmund Specifications Peter Marwedel TU Dortmund, Informatik 12 Graphics: © Alexandra Nolte,
Genetische Algorithmen
Genetische Algorithmen
Der Einstieg in das Programmieren
Informierte Suche.
Heuristiken Automatic Problem Solving Institut für Informatik
Algorithmentheorie 6 – Greedy-Verfahren
Prof.Dr.S. Albers Prof. Dr. Th. Ottmann
WS Algorithmentheorie 02 - Polynomprodukt und Fast Fourier Transformation Prof. Dr. Th. Ottmann.
Dynamische Programmierung (2) Matrixkettenprodukt
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (13 – Offenes Hashing) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Tobias Lauer.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (03 – Verschiedene Algorithmen für dasselbe Problem) Prof. Dr. Th. Ottmann.
WS Algorithmentheorie 08 – Dynamische Programmierung (2) Matrixkettenprodukt Prof. Dr. Th. Ottmann.
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 4 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 2 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Genetische Algorithmen
Universität Dortmund, Lehrstuhl Informatik 1 EINI II Einführung in die Informatik für Naturwissenschaftler und Ingenieure.
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Kapitel 7 Claudio Moraga, Gisbert Dittrich FBI Unido
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
Vorlesung: 1 Betriebssysteme 2007 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebssysteme Hochverfügbarkeit (Einführung) 3. Quartal.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik I Vorlesung Listen-
PKJ 2005/1 Stefan Dissmann Rückblick auf 2005 Was zuletzt in 2005 vorgestellt wurde: Klassen mit Attributen, Methoden und Konstruktoren Referenzen auf.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Vorwoche Methoden sind mit einem Namen versehene Programmabschnitte besitzen Rückgabetyp, Namen, Parameterliste.
Differentieller Stromverstärker
Einführung in die Programmierung Datensammlung
Heute: Scherenzange zeichnen
Ralf KüstersDagstuhl 2008/11/30 2 Ralf KüstersDagstuhl 2008/11/30 3.
17 Personalzeiterfassung
Extended multistep outflow method for the accurate determination of soil hydraulic properties close to water saturation W. Durner und S.C. Iden, SS2012.
PRJ 2007/1 Stefan Dissmann Verkettete datenstruktur: Liste Problem: Liste, die eine beliebige Zahl von Elementen verwaltet Operationen: Erzeugen, Anfügen,
Bild 1.1 Copyright © Alfred Mertins | Signaltheorie, 2. Auflage Vieweg+Teubner PLUS Zusatzmaterialien Vieweg+Teubner Verlag | Wiesbaden.
20:00.
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Die Geschichte von Rudi
1 Ein kurzer Sprung in die tiefe Vergangenheit der Erde.
Evolutionäre Algorithmen AS1-7
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Polynome und schnelle Fourier-Transformation
Animation von Dijkstra
Einführung in die Programmierung Wintersemester 2009/10 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Animation von Dijkstra
Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Programmierung Wintersemester 2009/10 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Programmierung
Managemententscheidungsunterstützungssysteme (Ausgewählte Methoden und Fallstudien) ( Die Thesen zur Vorlesung 3) Thema der Vorlesung Lösung der linearen.
LOD Levels of Detail Oliver Gassner Christian Troger.
Analyseprodukte numerischer Modelle
2014 Januar 2014 So Mo Di Mi Do Fr Sa So
Schutzvermerk nach DIN 34 beachten 20/05/14 Seite 1 Grundlagen XSoft Lösung :Logische Grundschaltung IEC-Grundlagen und logische Verknüpfungen.
Fakultät für informatik informatik 12 technische universität dortmund Standard Optimization Techniques 2010/12/20 Peter Marwedel TU Dortmund, Informatik.
1 Mathematical Programming Nichtlineare Programmierung.
Evolutionäre Algorithmen AS1-7
Numbers Greetings and Good-byes All about Me Verbs and Pronouns
Noch mehr Funktionen Prof. Dr. Dörte Haftendorn, Leuphana Universität Lüneburg,
Extended Pascal ( Erweitreung von Pascal) Name: Mehmet CELIK Matr :
 Präsentation transkript:

Platzierung - Algorithmen von Breuer & Lauther; SA & GA-Verfahren - Peter Marwedel Universität Dortmund, Informatik 12 2007/06/27

Grundidee von Mincut-Algorithmen

Beispiel für das Verfahren nach Breuer

Algorithmus von Breuer

Teilprobleme

Min-Cut-Verfahren für beliebige Zellen

Darstellung von n Flächen neben Beziehung ℓ(ey1)= ℓ(ey2)) hier per Konstruktion; kann später entfallen.

Flächenberechung mittels Polargraphen Ziel der Verwendung von Polargraphen ist die rasche Berechung der Abmessungen des umgebenden Rechtecks: x ℓ(ex1) ℓ(ex2) ℓ(ex3) ℓ(ey3) ℓ(ey1) ℓ(ey2) ℓ(ex4) ℓ(ey4) Im Lauf des Verfahrens möglicherweise entstehende Leerflächen x= max(ℓ(ex1),ℓ(ex2))+ max(ℓ(ex3),ℓ(ex4)) y=max((ℓ(ey1)+ ℓ(ey2)), (ℓ(ey3)+ ℓ(ey4)))

Algorithmus von Lauther (1)

Algorithmus von Lauther (2)

Algorithmus von Lauther (3) ℓ(ex1) ℓ(ex2) ℓ(ex3) ℓ(ey3) ℓ(ey1) ℓ(ey2) ℓ(ex1) ℓ(ex2) ℓ(ex3) ℓ(ey3) ℓ(ey1) ℓ(ey2) ℓ(ex4) ℓ(ey4)

Algorithmus von Lauther (4) ℓ(ex1) ℓ(ex2) ℓ(ex3) ℓ(ey3) ℓ(ey1) ℓ(ey2) ℓ(ex4) ℓ(ey4) ℓ(ey1) ℓ(ey2) Nach mehrfachem Schneiden:

Einschränkung auf Slicing trees

Pin Wheels

Orientierung (1) Die Zellen müssen jetzt die richtigen Längen-/Breiten-verhältnisse annehmen; anschließend Orientierung ….

Orientierung (2) … die längste Seite der Zellen wird parallel zur längsten Seite der ihr zugeteilten Teilfläche gelegt.  Leerflächen:

Nutzung der Polargraphen Im Lauf des Verfahrens möglicherweise entstehende Leerflächen =max((ℓ(ey1)+ ℓ(ey2)), (ℓ(ey3)+ ℓ(ey4))) ℓ(ex1) ℓ(ex2) ℓ(ex3) ℓ(ey3) ℓ(ey1) ℓ(ey2) ℓ(ex4) ℓ(ey4)

Verbesserungen: Rotation *: Gedrehte Zellen; dadurch horizontale Verkürzung. Zusätzlich E/A-Zellen eingezeichnet. Flächeneinsparung wegen vorheriger Orientierung meist gering.

Verbesserungen: Squeezing (1) Ausgangssituation Flächenaufteilung a) zeigt einen kritischen Pfad durch einen Polargraphen. Dieser entsteht durch eine Schnittlinie in der Flächenaufteilung (siehe b)).

Verbesserungen: Squeezing (2) Die Schnittlinie ist für das weitere Verfahren unerheblich, die Zellen können verschoben werden. Im Polargraphen kann die resultierende neue Länge einfach durch Einführung einer Kante der Länge 0 bestimmt werden: Flächenaufteilung ℓ=0

Berücksichtigung von Netzanschlüssen außerhalb der gegenwärtigen Fläche (1) Grundproblem der bislang vorgestellten fortgesetzten Bipartitionierung: Netzanschlüsse außerhalb der zu teilenden Fläche nicht berücksichtigt:

Berücksichtigung von Netzanschlüssen außerhalb der gegenwärtigen Fläche (2)

Quadripartitionierung (1)

Quadripartitionierung (2)

Quadripartitionierung (3)

Simulated Annealing General method for solving combinatorial optimization problems. Based the model of slowly cooling crystal liquids. Some configuration is subject to changes. Special property of Simulated annealing: Changes leading to a poorer configuration (with respect to some cost function) are accepted with a certain probability. This probability is controlled by a temperature parameter: the probability is smaller for smaller temperatures.

Simulated Annealing Algorithm procedure SimulatedAnnealing; var i, T: integer; begin i := 0; T := MaxT; configuration:= <some initial configuration>; while not terminate(i, T) do while InnerLoop do begin NewConfig := variation(configuration); delta := evaluation(NewConfig,configuration); if delta < 0 then configuration := NewConfig; else if SmallEnough(delta, T, random(0,1)) then configuration := Newconfiguration; end; T:= NewT(i,T); i:=i+1; end; end;

Explanation Initially, some random initial configuration is created. Current temperature is set to a large value. Outer loop: Temperature is reduced for each iteration Terminated if (temperature  lower limit) or (number of iterations  upper limit). Inner loop: For each iteration: New configuration generated from current configuration Accepted if (new cost  cost of current configuration) Accepted with temperature-dependent probability if (cost of new config. > cost of current configuration).

Behavior for actual functions 130 steps 200 steps [people.equars.com/~marco/poli/phd/node57.html] http://foghorn.cadlab.lafayette.edu/cadapplets/fp/fpIntro.html

TimberWolf Anwendung von simulated annealing zur Platzierung und Verdrahtung. TimberWolf 3.2: 2 Methoden zur Erzeugung neuen Konfigurationen Zufällige Auswahl/zufällige Platzierung einer Zelle Zufällige Vertauschung zweier Zellen Entfernung größer bei hohen Temperaturen; Feste Zahl von Iterationen der inneren Schleife. Heute (2008) verfügbar: TimberWolf 6.2 (public domain: opencircuitdesign.com/magic/download.html) Kommerziell von itools (www.internetcad.com)

Genetische Algorithmen Genetische Algorithmen sind eine allgemeine Technik zur Lösung von kombinatorischen Optimierungsproblemen. Beginn mit einer Menge zulässiger Lösungen. Jede Lösung nennt man in diesem Zusammenhang ein Individuum. Die Menge der aktuellen Lösungen heißt Population . Jedes Individuum wird als String von Symbolen dargestellt. Die Symbole heißen Gene und der String heißt Chromosom. Alle Individuen einer Population werden anhand einer Fitness-Funktion beurteilt. Paare von leistungsfähigen Individuen werden als Eltern der nächsten Generation von Individuen ausgewählt.

Genetische Operatoren Chromosomen der Kinder werden mittels dreier genetischer Operatoren aus den Chromosomen der Eltern abgeleitet. Diese sind: Die Kreuzung (engl. cross-over): Aus den Chromosomen der Eltern wird jeweils ein Teil übernommen. Die Mutation: Im Chromosom des Kindes wird zufallsgesteuert ein Gen geändert. Die Selektion: Mittels einer Funktion wird aus den Kindern und der Elterngeneration die neue Generation ausgewählt.

Anwendung auf Platzierungsprobleme, Eigenschaften Jedes einzelne Symbol repräsentiert i.d.R. die Platzierung einer Zelle (Zellname und Koordinaten). Vorteile: in einer Population stets eine Menge guter Lösungen der Optimierungsaufgabe verfügbar ist. Es muss mit einer gewissen Wahrscheinlichkeit stets auch eine weniger gute Lösung akzeptiert werden. Beim SA-Verfahren ist dies dann die einzige gespeicherte Lösung. Bei genetischen Algorithmen bleiben weitere Lösungen erhalten. aus guten Lösungen können mittels komplexer Operatoren noch bessere Lösungen generiert werden. Genetische Algorithmen bilden daher eine viel versprechende Optimierungstechnik. Benötigen mehr Speicherplatz als SA-Verfahren.

Chip-Planning Bisherige Verfahren: Längen-/Breitenverhältnisse der Zellen fest. Bei komplexen Zellen: i.d.R. eine Vielzahl von Alternativen. Günstig: Wahl einer Alternative anhand der Umgebung im Layout. Chip-Planning- oder floor planning Algorithmen Beispielsweise Abkehr von konstant breiten Kanälen  Erheblich kompaktere Layouts (bis 50% Einsparung).

Zusammenfassung Min-cut Algorithmus von Breuer Min-cut Algorithmus von Lauther Erweiterungen Netzanschlüsse außerhalb des Schnittbereichs Quadripartitionierung Simulated Annealing Genetische Algorithmen (kurz) Floor planning (kurz)