Systempartitionierung Evol. Algorithmen

Ähnliche Dokumente
Survival of the Fittest Optimierung mittels Genetischer Algorithmen

Proseminar Genetische und Evolutionäre Algorithmen Evolutionsstrategien

Evolutionsstrategien

Optimale Produktliniengestaltung mit Genetischen Algorithmen

Synthese Eingebetteter Systeme. 16 Abbildung von Anwendungen: Optimierung mit DOL

Exkurs Modelle und Algorithmen

Aufbau und Operatoren evolutionärer Verfahren

ReCoNets Entwurfsmethodik für eingebettete Systeme bestehend aus kleinen Netzwerken hardwarerekonfigurierbarer Knoten und -verbindungen

Seminararbeit zum Thema Genetische Algorithmen

Genetische Algorithmen

Evolutionäre Algorithmen Genetische Programmierung

Genetische Algorithmen

Genetische Algorithmen und Evolutionsstrategien

4 Genetische Algorithmen

Hochschule Regensburg. Übung 12_3 Genetische Algorithmen 1. Spezielle Algorithmen (SAL) Lehrbeauftragter: Prof. Sauer

Genetische Programmierung

Systemtheorie 1. Einführung Systemtheorie 1 Formale Systeme 1 # WS 2006/2007 Armin Biere JKU Linz Revision: 1.4

Entwicklung integrierter HW/SW-Systeme Integrierte Hard- und Softwaresysteme 2 Seminar

Evolutionäre Algorithmen Software

Dynamisches Huffman-Verfahren

Genetische Algorithmen und Evolutionäre Strategien

Datenstrukturen und Algorithmen. Christian Sohler FG Algorithmen & Komplexität

Referat zum Thema Huffman-Codes

Scheduling-Theorie. Mathematische Modelle und Methoden für deterministische Scheduling-Probleme. LiSA - A Library of Scheduling Algorithms

Hardware/Software-Codesign

Evolutionäres Programmieren

Flussdiagramm / Programmablaufplan (PAP)

Genetische Algorithmen

Grundlagen und Basisalgorithmus

Evolutionäre Algorithmen. SS 2015 Woche 01

A. Anhang Daubechies-Wavelets General characteristics: Compactly supported wavelets with extremal phase and highest number of vanishing moments for a

Proseminar Genetische und Evolutionäre Algorithmen

Grundlagen und Aufbau von neuronalen Netzen

Computational Intelligence

Wiederholung zu Flüssen

Wissensbasierte Systeme

Biologische Optimierung

Verbesserungsheuristiken

Vortrag zum Hauptseminar Hardware/Software Co-Design

Institut für Statistik und Mathematische Wirtschaftstheorie Universität Augsburg OPTIMIERUNG II. Aufgaben und Lösungen

Diskrete Optimierung mit der Evolutionsstrategie auf parallelen Systemen

Vorlesung Datenbanktheorie. Church-Rosser-Eigenschaft der Verfolgungsjagd. Berechnung von chase(t, t, Σ) Vorlesung vom Mittwoch, 05.

Vorlesung Evolutionäre Algorithmen

Structurally Evolved Neural Networks for Forecasting

Optimierungsprobleme in der Industrie

Dank. Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Probleme über Sprachen. Teil II.

Evolutionäre Algorithmen kurz gefasst 1

Vorlesung 1: Einleitung

Optimierung mit Genetischen Algorithmen und eine Anwendung zur Modellreduktion

Verteilte Systeme. Verteilte Systeme. 5 Prozeß-Management SS 2016

Kapitel 3: Untere Schranken für algorithmische Probleme Gliederung

Kapitel 5: Dynamisches Programmieren Gliederung

Algorithms for Regression and Classification

Kapitel 13. Evolutionäre Spieltheorie. Einleitung. Evolutionäre Biologie. Übersicht 2. Alternative: Biologische Evolutionstheorie

Approximationsalgorithmen: Klassiker I. Kombinatorische Optimierung Absolute Gütegarantie Graph-Coloring Clique Relative Gütegarantie Scheduling

Einführung in die Programmierung mit VBA

Andreas Scherer. Neuronale Netze. Grundlagen und Anwendungen. vieweg

Informatik. Teil 1 Wintersemester 2011/2012. Prof. Dr.-Ing. habil. Peter Sobe Fachkultät Informatik / Mathematik

Streaming Data: Das Modell

Diplomarbeit. Bülent Ulas. Entwicklung einer Software für Online-Befragungen mit interaktiven evolutionären Algorithmen

Datenstrukturen & Algorithmen

Ranking by Reordering Tobias Joppen

Kombinatorische Optimierung

Programmierte Evolution

Synthese Eingebetteter Systeme. 17 Abbildung von Anwendungen: Entwurfsraumerkundung und Beispiele

Evolutionäre Algorithmen in der Spracherkennung

Population und Stichprobe: Wahrscheinlichkeitstheorie

Diskrete Strukturen Kapitel 2: Grundlagen (Relationen)

9. Heuristische Suche

Pollards Rho-Methode zur Faktorisierung

Besprechung des 3. Übungsblattes MIMA-Interpreter MIMA-Aufgabe: Primzahltest Weitere MIMA-Aufgaben online

Entwurfsablauf. Entwurfsmethodik. Beispiel Wasserfall-Modell. Beispiel Wasserfall-Modell. Prozess des Entwurfs

Very simple methods for all pairs network flow analysis

Randomisierte Algorithmen 2. Erste Beispiele

3: Zahlentheorie / Primzahlen

Vergleichende Analyse von Genetischen Algorithmen und der Particle Swarm Optimization für den Evolutionären Strukturtest

Kontrollstrukturen und Funktionen in C

Einführung in die Informatik Algorithms

2. Optimierungsprobleme 6

4 Greedy-Algorithmen (gierige Algorithmen)

Automatisierung mit Hilfe einer rekonfigurierbaren FPGA-Hardwareplattform

Projekt Systementwicklung

4. Kreis- und Wegeprobleme Abstände in Graphen

Instruktionssatz-Architektur

Ausarbeitung zum Modulabschluss. Graphentheorie. spannende Bäume, bewertete Graphen, optimale Bäume, Verbindungsprobleme

Evolutionäre Algorithmen

Genetic Algorithms. Seminar KE und Lernen in Spielen. Bearbeitet von: Felix Becher. Leiter des Seminars: Prof. Dr. Johannes Fürnkranz

Kapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung

Inhaltsverzeichnis. Einführende Bemerkungen 11. Das Fach Informatik 11 Zielsetzung der Vorlesung Grundbegriffe

Zusammenfassung Mathe II. Themenschwerpunkt 2: Stochastik (ean) 1. Ein- und mehrstufige Zufallsexperimente; Ergebnismengen

Eine Analyse des Effektes von Lernen auf Populationsfitness und Diversität in einer NK-Fitnesslandschaft. Lars Melchior

= 7 (In Binärdarstellung: = 0111; Unterlauf) = -8 (In Binärdarstellung: = 1000; Überlauf)

Topologische Optimierung von Permanentmagnetund Reluktanz- Synchronmotoren mit FEMAG

Stochastik I. Vorlesungsmitschrift

Vorlesung 4 BETWEENNESS CENTRALITY

Newton-Verfahren zur gleichungsbeschränkten Optimierung. 1 Gleichungsbeschränkte Optimierungsprobleme

Automatische Generierung von Bildoperationsketten mittels genetischer Programmierung

Syntax von LOOP-Programmen

Rechnergestützter VLSI-Entwurf

Grundlagen von Datenbanken. 4. Übung: Algebraische Optimierung

Transkript:

Systempartitionierung Evol. Algorithmen Hw-Sw-Co-Design Übersicht Grundlagen Evolutionärer Algorithmen Strömungsrichtungen Hybride evolutionäre Algorithmen Systempartitionierung und -exploration 1

Einleitung NP-vollständige Probleme Lösung durch Approximationsverfahren Evolutionäre Algorithmen geeignet für große Suchräume breit anwendbares, robustes Verfahren einfaches Grundprinzip geringe Anforderung an Zielfunktion leichte Parallelisierbarkeit Historisch bedingt existieren unterschiedliche Strömungsrichtungen Grundlagen Evolutionäre Algorithmen = Algorithmen, die an den natürlichen Optimierungsprozess der Evolution angelehnt sind Terminologie: Individuen -> Strukturen (Lösungen) Genotyp -> codierte Lösung (nur bei GA) Phänotyp Phänotyp -> decodierte Lösung (nur bei GA) Population -> Menge von Individuen Fitness -> Güte eines Individuums 2

Grundlagen Evolutionäre Operatoren: Selektion ( survival of the fittest ), z.b. Wettkampfselektion Rekombination (Crossover) Mutation Beispielcodierung (GA) eines Individuums: Grundlagen 3

Übersicht Grundlagen Evolutionärer Algorithmen Strömungsrichtungen Hybride evolutionäre Algorithmen Pareto-basierte Ansätze Historische Strömungsrichtungen Genetische Algorithmen (GA) (Holland, Goldberg, 60er Jahre) Bitstrings Genetische Programmierung (GP) (Koza92) Baumstrukturen Evolutionsstrategien (ES) (Rechenberg, Schwefel) reelle Vektoren, deterministische Selektion Evolutionäre Programmierung (EP) (Fogel, Owens, Walsh 66) reelle Vektoren, stoch. Selektion, kein Crossover 4

Grundlagen Rekombination am Beispiel Genetischer Algorithmen (GA): Mutation (GA): stochastische Invertierung einzelner Bits Grundlagen Rekombination am Beispiel Genetischer Programmierung (GP): Mutation (GP): stochastisches Erzeugen von Teilbäumen 5

Grundlagen Rekombination bei Evolutionsstrategien (ES): diskrete Rekombination: stochastischer Austausch der Werte von Variablen zweier Eltern. intermediäre Rekombination: Seien x 1,j und x 2,i, i = 1,...,n die Werte der i-ten Variablen von Elter1 bzw. Elter2, dann gilt: x i = u i x 1,j + (1 - u i ) x 2,i U i : gleichverteilte Zufallsvariable im Intervall [0,1) Mutation (ES): Erfolgt bei ES über Mutationsschrittweiten ti itt it σ k, die zuerst mutiert t werden. Dann: x i = x j + σ j N(0,1). Strömungsrichtungen EA 6

Übersicht Grundlagen Evolutionärer Algorithmen Strömungsrichtungen Hybride evolutionäre Algorithmen Systempartitionierung und -exploration Hybrider Ansatz Algorithmische Ebene: abstrakte Beschreibung Evolutionärer Algorithmen auf der Basis von Individuen, Populationen und evolutionären Operationen Interfaces für Individuen und Operatoren wie Selektion, Rekombination und Mutation Populationsklasse; innerhalb dieser Klasse: Implementierung von Selektionsoperatoren Datenrepräsentationsebene: problemspezifische Verfeinerung der Lösungsdarstellung und der zugehörigen Operationen 7

Hybrider Ansatz Teil-Implementierung von Individuenklassen: Bit-, Ganzzahl, Realzahl-, Permutationsvektoren und Baumstrukturen Implementierung bekannter Rekombinationsund Mutationsoperatoren innerhalb dieser Klassen Zusätzlich: Unterstützung für Mehrzieloptimierung: Strength-Pareto-EA Gruppierung unterschiedlicher Datenrepräsentationen: Hybride Strukturen Anwendungsbeispiel: Digitale Filter Ziel: Suche nach einer funktionalen Beschreibung des Filters für geg. Impulsantwort 8

Anwendungsbeispiel: Digitale Filter Lösung durch hybride Struktur: Genetische Programmierung (Baumstrukturen) und Evolutionsstrategien (reelle Vektoren) Definition der Funktionsknoten: {MUL, ADD, T} Anwendungsbeispiel: Digitale Filter Struktur der hybriden Lösungsrepräsentation: 9

Anwendungsbeispiel: Digitale Filter Beispiel einer gefundenen Lösung: Übersicht Grundlagen Evolutionärer Algorithmen Strömungsrichtungen Hybride evolutionäre Algorithmen Systempartitionierung und -exploration 10

Entwurfsraumexploration Entwurfsraum verschiedene Implementierungen einer Spezifikation Entwurfspunkt eine Implementierung Optimierung Bestimmung der besten Implementierungen, typisch: Mehrzieloptimierung Pareto-punkt nichtdominierter Entwurfspunkt Ausführungszeit Entwurfsraumexploration 1 3 2 4 5 6 Kosten 11

Evolutionäre Ansätze Aggregationsfunktion Wechselnde Ziele: VEGA (Vector Evaluated Genetic Algorithm) [Schaffer84]; Selektion in n Teilschritte zerlegt; in jedem Schritt wird Selektion mit einem anderen Optimierungskriterium ausgeführt. Pareto-Ansätze: Pareto-Ranking [Goldberg89] Nischen-Techniken [Horn94] Strength-Pareto-Verfahren [Zitzler, Thiele, Teich] Pareto-ranking: Evolutionäre Ansätze Alle nichtdominierten Lösungen erhalten den Wert 1 und werden aus der Population gelöscht. Nun werden die nichtdominierten Lösungen der Restpopulation ermittelt und mit dem Rang 2 versehen, usw.... Nun kann ein Selektionsverfahren, z.b. rangbasierte Selektion angewendet werden. 12

Nischentechnik: Evolutionäre Ansätze Verfahren kombiniert Wettkampfselektion mit dem Pareto-Ranking-Ansatz: Zwei Individuen und eine Vergleichsmenge von t_dom Individuen werden aus der Population gezogen. Wenn ein Individuum von einem der Vergleichsmenge dominiert wird und das andere nicht, geht Letzteres als Sieger hervor. Falls beide nichtdom. oder beide dom. werden, wird Sharing eingesetzt: Berechne, wieviele Individuen in der Nähe (Nischenradius) liegen. Wähle das Individuum mit kleinerem Wert. Das Strength-Pareto-Verfahren Pareto-optimale Individuen werden in einer externen Population gespeichert (Elitismus) Aktualisierung der externen Pareto- Menge Hohe Lösungsvielfalt in Pareto-Menge durch Clustering 13

Das Strength-Pareto-Verfahren Fitness-Bestimmung: Individuen J der externen Pareto-Menge: Stärke (= Fitness) [0,1); Fitness von J proportional zur Anzahl der dominierten Individuen I der aktuellen Population. Individuen I der aktuellen Population: Fitness gleich Summe der Stärken der Individuen der ext. Pareto- Menge, die I dominieren. Ziele: Präferierung von Individuen nahe der Pareto-Front Volle Regionen werden bestraft durch große Stärken Das Strength-Pareto-Verfahren Clustering: Initialisierung: Jedes Individuum der ext. Pareto- Menge wird ein Cluster zugeordnet. Zusammenfassen der Cluster: Diejenigen beiden Cluster mit geringstem mittleren Abstand (objective space) werden zu einem neuen Cluster vereinigt. Wiederhole solange, bis die Anzahl der Cluster klein genug ist. Extrahieren der neuen Pareto-Menge: Jeder Cluster enthält eine Menge von Individuen. Behalte den Punkt in der Pareto-Menge, der den Centroid darstellt. 14

Anwendung: Systemsynthese DFG 1 2 Problemgraph 1 2 5 3 3 6 7 4 Knoten, die die Kommunikation modellieren 4 Anwendung: Systemsynthese Architektur Architekturgraph RISC Bus v RISC v bus HWM1 HWM2 v HWM1 v ptp Punkt zu Punkt-Verbindung v HWM2 15

Spezifikationsgraph 1 5 3 v RISC v bus 7 v HWM1 2 6 v ptp v HWM2 4 Allokation und Bindung Definition Allokation α: Teilmenge aller aktivierten Kanten und Knoten in G P und G A Definition Bindung ng β: Teilmenge aller aktivierten ierten Abbildungskanten, insbesondere β = {e E M : α(e) = 1} Definition gültige Bindung: e β: α(pred(e)) = α(succ(e)) =1 v nodes(g P ): {e β v = pred(e)} = 1 e edges(g P ): entweder (pred(e),x),(succ(e),x) β oder (pred(e),x),(succ(e),y) β und (x,y) α 16

Ergebnisse Theorem [Teich 97, BTT98]: Die Bestimmung einer gültigen Bindung ist NP-vollständig. Ansatz unter Einsatz Evolutionärer Algorithmen: [BTT98] Allokation, Bindung 1 5 3 v RISC v bus 7 v HWM1 2 6 v ptp v HWM2 4 17

Bsp.:Exploration Systemebene MUL MUL ALU ALU MUL MUL ALU MUL ALU ALU Anwendung: Softwaresynthese Spezifikation: Prozessgraph Target: Uniprozessor (DSP) Aufgaben: Allokation von Programm- und Datenspeicher Scheduling von Aktoren Bindung an Register und Speicher Auswahl des Implementierungsstils (z.b. Unterprogramm oder Inlining) 18

Anwendung: Softwaresynthese Beispiel: CD -> DAT Wandlung 1 1 2 3 2 7 8 7 5 1 A B C D E CD F DAT (Schleifen-) Schedule: ( (7(7(3AB)(2C))(4D))(32E(5F))) Anwendung: Softwaresynthese Beispiel: Schedule ( A(2AB)) A 2 3 B code for A do #2, loop_ code for A code for B loop_ 19

Bsp.:Exploration Softwaresynthese Beispiel: CDtoDAT Benchmark Entwurfsraum: 3D (Programmspeicher, Datenspeicher, Ausführungszeit) Parameterraum: alle gültigen Loopschedules UP vs. Inlining flag pro Aktor Optimierungsalgorithmus: i ith Evolutionärer Algorithmus [Codes99,GECCO99,JVLSI00] Bsp.:Exploration Softwaresynthese Programmspeicher (overhead): P(S) = Σ(app(N i,s) w(n i ) flag(n i )) +(w(n) i + app(n i,s) P S (1-flag(N i )) + P L (S) Pufferspeicher (overhead): D(S) = Σ max_tokens(arc) Ausführungszeit (overhead): T(S) = (Σ(1-flag(N i )) L(N i ) q(n i )) + IO(S) + O(S) 20

Bsp.:Exploration Softwaresynthese Beispiel: CDtoDAT benchmark starke Verwendung von Loops und UP kein Looping, keine UP Motorola DSP 56k Zusammenfassung Stärken Evolutionärer Algorithmen: breite Anwendbarkeit und Anpassbarkeit tolerant gegenüber vorübergehender Verschlechterung des Zielfunktionswertes keine restriktiven Annahmen über Zielfunktion, z.b. Stetigkeit, Differenzierbarkeit, etc. gute Parallelisierbarkeit Schwächen Evolutionärer Algorithmen: heuristischer Charakter hoher Rechen- und Speicheraufwand viele Freiheitsgrade 21