Evolutionäre Algorithmen kurz gefasst 1

Größe: px
Ab Seite anzeigen:

Download "Evolutionäre Algorithmen kurz gefasst 1"

Transkript

1 Evolutionäre Algorithmen kurz gefasst 1 Oliver Kramer 2 Zusammenfassung. Evolutionäre Algorithmen sind randomisierte, uninformierte, biologisch motivierte Suchheuristiken. In diesem Skript wird versucht, die wichtigsten Konzepte, evolutionärer Algorithmen vorzustellen. Dazu gehört neben der Darstellung des Ablaufs evolutionärer Verfahren eine Einführung in biologischen Grundlagen. Bekannte genetische Operatoren werden genauso vorgestellt wie die vor allem für numerische Optimierung geeigneten Evolutionsstrategien. Eine Übersicht über Parametersteuerungsmethoden sowie ein Überblick über Restriktionsbehandlungsmethoden und Partikelschwarmoptimierung runden die Einführung ab. Teil I Einführung 1 Einleitung 1.1 Was ist Künstliche Intelligenz? Künstliche Intelligenz ist ein Begriff, der ähnlich wie natürliche Intelligenz nicht für ein einheitlich definiertes Phänomen steht. Im natürlichen Sprachgebrauch werden mit künstlicher Intelligenz Computer oder Roboter bezeichnet, die in Bezug auf viele Aspekte menschliche Intelligenz 3 aufweisen oder diese weit übertreffen. Es kann wohl nicht bestritten werden, dass auch die Disziplin der Informatik, die sich Künstliche Intelligenz nennt, in weiter Ferne das Ziel sieht, eben solche künstlichen wie intelligenten Systeme zu konstruieren. Sowohl in seiner ursprünglichen Form wie auch im allgemeinsprachlichen Gebrauch ist mit Künstlicher Intelligenz eine informationsverarbeitende künstliche Struktur gemeint, die menschliche Rationalität besitzt, also über einen Verstand verfügt. Meist einher geht damit der Glaube einer Überlegenheit maschineller Intelligenz gegenüber biologischer menschlicher Intelligenz in Bezug auf Präzision und Geschwingigkeit der Informationsverarbeitung sowie Mächtigkeit des Gedächtnisses. Diese Sicht wird nicht zuletzt durch Literatur und Film geprägt. Man könnte sogar soweit gehen, den Begriff Künstliche Intelligenz als kulturellen Begriff zu betrachten. Die klassische 4 künstliche Intelligenz ist stark vom sogenannten symbolorientierten Ansatz beeinflusst worden. Damit ist die Repräsentation von Konzepten durch Symbole gemeint, wie sie z.b. in der Logik verwendet werden. Im Gegensatz dazu spricht man von subsymbolgischer Repräsentation, wenn Konzepte durch eine große 1 Version Universität Paderborn, okramer@upb.de 3 In der Regel scheint zu diesen Aspekten keineswegs emotionale Intelligenz und Empathie zu gehören. Dies kann jedoch auch Resultat eines Vorurteils gegenüber eines vermeintlich überlegenen Phänomens sein im Sinne von historisch älteste... Figure 1. Computational Intelligence als Überbegriff für eine Reihe subsymbolischer Methoden. Menge von Symbolen 5, meist numerischen Werten, repräsentiert werden. Zu den subsymbolischen Konzepten gehören evolutionäre Algorithmen, neuronale Netze, Fuzzy-Logik, sowie Reinforcement- Learning. Diese Methoden können auch unter dem Begriff Computational Intelligence oder Soft-Computing zusammengefasst werden. Das Ziel, intelligente und autonom handelnde Systeme, insbesondere Roboter mit intelligenten Eigenschaften zu bauen, ist in den 90er Jahren nur bedingt erreicht worden. Daher wurde in neuerer Zeit ein Begriff geprägt, der für die Einbettung der KI-Verfahren in autonome Systeme steht mit dem Ziel, die Algorithmen näher mit dem handelnden System zu verknüpfen. Die sogenannte Embodied Artificial Intelligence steht für dieses Paradigma. Viele Verfahren der KI sind Konzepte und Problemlösungsverfahren, die durch biologische und natürliche Systeme inspiriert sind und diese auf einem gewissen Abstraktionslevel imitieren. 5 Subsymbolen

2 Teil II Evolutionary Computation 2 Evolutionäre Algorithmen Evolutionäre Algorithmen (EA) gehören zur Klasse der randomisierten Suchverfahren. EAs sind an der biologischen Evolution orientiert, indem sie deren wesentlichen Elemente wie Variation von Lösungen durch Rekombination und Mutation sowie Selektion der besten Individuen übernehmen. Aus dieser Perspektive stellen natürliche Spezies Lösungen für das Problem Überleben in der Natur dar. Der Vorteil evolutionärer Algorithmen gegenüber anderen problemspezifischen Verfahren liegt in ihrer universellen Einsatzfähigkeit. Das Prinzip der Modifikation potentieller Lösungen eines Problems und Übernahme bei Verbesserung bzw. Verwerfen bei schlechter Qualität der Lösung ist geradezu von fundamentaler Einfachheit und Effektivität, ohne in irgendeiner Weise geartete Einschränkungen an den Suchraum erfüllen zu müssen. Daher bietet sich der Einsatz von EAs in vielen Problemstellungen an und kann insbesondere dann zum Einsatz kommen, wenn die Modellierung einer problemspezifischen Lösung ihren Aufwand nicht lohnt. 2.1 Die Struktur evolutionärer Algorithmen Man kann zwischen verschiedenen Grundformen evolutionärer Algorithmen unterscheiden, die sich in Aspekten wie Lösungsrepräsentation und in Struktur und Bedeutung von Suchoperatoren wie Rekombination und Mutation unterscheiden. Zu diesen Grundformen gehören genetische Algorithmen (GA), Evolutionsstrategien (ES), evolutionäre Programmierung (EP) und die genetische Programmierung (GP). Die Entwicklungen der letzten Jahre führen zu einer gegenseitigen Annäherung vor allem der ersten drei Formen. Evolutionäre Verfahren können sinnvoller Weise dann zum Einsatz kommen, wenn klassische Optimierverfahren versagen oder nicht anwendbar sind. Dieser Fall tritt z.b. bei vielen technischen Optimieraufgaben auf, bei denen ein Simulationsmodell die Grundlage für den Optimierprozess darstellt und keine Informationen wie die Ableitung von Funktionen oder andere Eigenschaften des Suchraums bekannt sind. Für klassische Verfahren treten Probleme bei nicht metrischen, stochastisch gestörten, nicht stetigen oder nicht differenzierbaren Zielfunktionen auf. Des Weiteren bietet sich der Einsatz evolutionärer Algorithmen für eine Vielzahl diskreter Probleme an. Die Form eines allgemeinen evolutionären Algorithmus ist Abbildung 2 zu entnehmen. Jeder EA arbeitet mit einer Population P von Individuen P(t) = {x t 1,..., x t n} zur Generation t. Jedes Individuum repräsentiert eine potentielle Lösung für das betrachtete Problem und wird mit Hilfe einer Datenstruktur S implementiert, deren Güte durch eine Bewertungsfunktion bestimmt wird. In jedem Generationsschritt werden die Individuen der aktuellen Population mittels so genannter genetischer Operatoren einer Transformation unterworfen und bilden die Population P (t). Dabei kann ein neues Individuum aus einem Eltern-Individuum entstehen (Operation m : S S) oder aus mehreren Eltern (Operation c : S... S S). Die beiden Hauptformen genetischer Operatoren sind Mutation und Rekombination. Nach der Anwendung genetischer Operatoren erfolgt die Bewertung der Güte der einzelnen Individuen, sprich der Lösungen für das betrachtete Problem. Auf Basis dieser Bewertung erfolgt im letzten Schritt die Selektion der Individuen, die als Grundlage für die Generierung neuer Individuen im nächsten Generationsschritt in Frage kommen. Die Größe der Population P(t) kann von der Größe der Figure 2. 1 Start 2 t:=0; 3 Initialisiere P(t); 4 Bewerte P(t); 5 Repeat 6 Ändere P(t) P (t) 7 Bewerte P (t); 8 Selektiere P(t + 1) aus P (t); 9 t := t + 1; 10 Until Abbruchbedingung 11 End Der Ablauf eines allgemeinen evolutionären Algorithmus. Population P (t) abweichen. In diesem wie in den beiden folgenden Kapiteln sollen die drei Grundformen GA, EP und GP beschrieben werden. Es existiert mittlerweile eine Fülle von hybriden Systemen, die sich ausgewählte Eigenschaften der einzelnen Hauptformen zu Nutze machen, deren weitere Klassifizierung jedoch nur von geringer Relevanz ist. 2.2 Exkurs: Biologische Grundlagen Von der DNA zum Chromosom Träger der genetischen Informationen bei Organismen mit Zellmembran, den Eukaryoten, ist die DNA, Desoxyribonucleinsäure. Nukleinsäuren sind linare unverzweigte Polymere, also Kettenmoleküle, von Nukleotiden. Nukleotide sind unterteilt in Purine (Adenin - A, Guanin - G) und Pyrimidine (Thymin - T, Cytosin - C, Uracil - U). Die DNA ordnet sich in einer Doppelhelixstruktur an. Dabei stehen sich komplementäre Nukleotide (Basen) gegenüber: A und T, sowie G und C. Die nächsthöhere Struktur stellen die Kodons dar. Eine Folge von drei Nukleotiden bilden ein Kodon oder auch Triplet genannt. Da ein Kodon aus je drei Basen bestehen kann, existieren 4 3 = 64 verschiedene Kodons. Bis auf drei Ausnahmen kodieren alle Kodons eine von 20 Aminosäuren. Die Synonyme kodieren identische Aminosäuren. Die DNA-Makromoleküle sind um große Proteinmoleküle, die Histone, gewickelt. Ein derartige Struktur wird Nukleosom genannt, das Histon-Molekül wird Nuklosomenkern genannt. Diese Kette von Nukleosomen wird Chromatin genannt. Durch die Aufwicklung der DNA wird eine räumliche Kompression von 1:7 erreicht. Durch weitere Strukturierung dieser Chromatin-Kette zu Strukturen, die Inter- und Metaphasen-Chromosome genannt werden, wird eine Kompression von 1: erreicht. Das menschliche Genom mit seinen Basenpaaren ist in 46 Metaphasenchromosomen strukturiert. Alle Basenpaar hätten ausgebreitet eine Länge von 2.6 m, sind jedoch im Zellkern auf eine Größe von nur 200µm zusammengepfercht. Das kleinste menschliche Chromosom enthält Basenpaare, das längste Basenpaare. Die genannten 46 diploiden Chromosome sind 23 paare homologer Chromosome. Ein homologes Chromosomenpaar besteht aus zwei Dyads, das sind je zwei über-kreuz strukturierte Schwesterchromatiden. Was ist nun ein Gen? Tatsächlich ist bis heute das Gen nicht befriedigend definiert. Ist seine Funktion nicht experimentell demonstriert, so kann es nur durch seine Sequenz, die Transkription oder Homologie beschriebene werden. Man schätzt die Anzahl menschlicher Gene auf eine Zahl zwischen und

3 Genexpression Die Genexpression vollzieht die Transformation vom Genotyp zum Phäntotypen, also von den DNA zum Protein. In der ersten Phase der Genexpression, der Transkription, wird die DNA in die RNA übersetzt. In der zweiten Phase, der Translation, wird die RNA in Proteine synthetisiert. Die Translation von RNA zum Protein ist keine 1:1 Abbildung. Proteine sind Polypeptidketten und bestehen aus 20 verschiedenen Typen von Aminosäuren. Aminosäuren bestehen aus einer Carboxyl- und einer Aminogruppe und unterscheiden sich in ihrer Restgruppe, die z.b. auch aromatisch sein kann, d.h. das berühmte hexagonale Benzolmolekül enthalten kann. Alle Proteine sind aus 20 verschiedenen Typen von Aminosäuren synthetisiert. Die Peptidbindung der langen Polypeptidketten, den Proteinen, erfolgt zwischen der Amino- und der Carboxylgruppe des Nachbarmoleküls. Proteine bilden charakteristische dreidimensionale Strukturen, z.b. das Alpha-Helix-Molekül. 3 Genetische Algorithmen Genetische Algorithmen wurden Anfang der siebziger Jahre von John Holland entworfen [10]. Bei der Entwicklung der GAs war es Hollands Ziel, adaptives Verhalten zu erzeugen. In seinem Buch,,Adaptation in natural and artificial systems beschreibt er die Entwicklung von genetischen Algorithmen. Von der Arbeitsweise ähneln genetische Algorithmen natürlich dem schon beschriebenen Prinzip evolutionärer Algorithmen, insbesondere also auch den Evolutionsstrategien. Deshalb soll an dieser Stelle der als Simple-GA bezeichnete,,urtyp genetischer Algorithmen beschrieben werden. Die Individuen des Simple-GA sind als binäre Strings codiert, die aus mehreren, die Entscheidungsvariablen kodierenden Segmenten zusammengesetzt sind. Als Variationsoperatoren werden 1-Point Crossover sowie Bit-flip Mutation mit geringer Mutationswahrscheinlichkeit eingesetzt. Die Individuen für die nächste Generation werden mit Fitness-proportionaler Selektion ausgewählt. Um die Güte eines Individuums bewerten zu können, wird das kodierte Individuum mittels einer Dekodierfunktion in sein phänotypisches Erscheinungsbild umgewandelt. Als weitere Repräsentationsformen kommen bei genetischen Algorithmen sowohl Ganzzahl- wie auch Realzahl-Kodierung zum Einsatz. Im Folgenden werden die GA- Operatoren im Zusammenhang mit verschiedenen Repräsentationen genauer beschrieben. 3.1 Populationsmodell Im Folgenden wird der Ablauf und das Populationsmodell eines typischen generational GAs skizziert. Zu Beginn wird die Population P(0) der Größe µ von Individuen zufällig oder mit Hilfe vorhandenen Wissens initialisert. Ausgehend von einer Population P(t) werden in einer Iterationsschleife nacheinander die Operatoren Rekombination und Mutation angewendet bis wieder µ Individuen entstehen, die nun die neue Population P(t + 1) bilden. Diese Schritte werden nacheinander solange wiederholt bis eine Abbruchbedingung erfüllt wird. 3.2 Rekombination Die Idee der Rekombination ist die Kombination der Merkmale zweier Lösungen in einer neuen Lösung. Bei GAs wird nicht in jeder Generation der Rekombinationsoperator angewendet, sondern mit einer Wahrscheinlichkeit p c [0.5, 1.0]. Einige Rekombinationsoperatoren sind auf die Beteidigung zweier Eltern beschränkt, andere lassen sich jedoch auf mehrere Eltern verallgemeinen. In diesem Zusammenhang spricht man Multi-Parent Genetic Algorithms (MPGAs). One-Point Crossover Viele GAs arbeiten mit binären Problemrepräsentationen, also ausschließlich mit Hilfe von Nullen und Einsen. Nur zwei Eltern sind am One-Point-Crossover beteidigt. Hierbei wird an einem vorher definierten Punkt, die Repräsentation, also der Bitstring, zweier aus der Population zufällig gleichverteilt gewählter Individuen aufgespalten und wechselseitig wieder zusammengesetzt. Durch diese Vorgehensweise können nun zwei genotypisch neuartige Nachkommen durch wechselseitiges Zusammensetzen der Segmente beider Eltern entstehen. Wichtig beim Zusammensetzen der Genotyp-Fragmente ist, dass Individuen kreiert werden, die eine zulässige Lösung codieren. Zum anderen sollten sowohl Repräsentation wie auch Crossover-Typ ermöglichen, dass durch die Anwendung von Crossover zu den Eltern strukurell ähnliche Nachkommen entstehen. Ein Individuum sei durch eine Folge von Elementen b i D einer Datenstruktur D in der folgenden Weise repräsentiert b =< b 1,..., b l >. Für binär codierte GAs ist ein Individuum also eine Folge von Bits b =< b 1,..., b l > {0, 1} l. 1-Point Crossover Gegeben seien zwei Eltern e 1 =< e 1 1,..., e l 1 > und e 2 =< e 1 2,..., e l 2 >. Beim 1-Point Crossover wird zufällig ein Crossoverpunkt x [1, l 1] gewählt und daraus die zwei Nachkommen n 1 =< e 1 1,..., e x 1, e x+1 2,...e l 2 > und n 2 =< e 1 2,..., e x 2, e x+1 1,...e l 1 > gebildet. N-Point Crossover Gegeben seien zwei Eltern e 1 =< e 1 1,..., e l 1 > und e 2 =< e 1 2,..., e l 2 >. Beim N-Point Crossover werden zufällig N Crossoverpunkte x 1,.., x N [1, l 1] mit x 1 < x 2 <... < x N gewählt und daraus die zwei Nachkommen n 1 und n 2 erzeugt mit { n k e k 1 = 1, k ungerade e k 2, k gerade und { n k e k 2 = 2, k ungerade e k 1, k gerade Uniformes Crossover Gegeben seien zwei Eltern e 1 =< e 1 1,..., e l 1 > und e 2 =< e 1 2,..., e l 2 >. Beim uniformen Crossover wird das genetische Material von einem der beiden Eltern zufällig, meist mit der Wahrscheinlichkeit p = 0.5, gewählt. n k = e k j, j random{0,1} Diagonales Crossover In der Natur wird genetisches Material nur zwischen zwei Eltern ausgetauscht. Die Modellierung evolutionärer Alorithmen erlaubt es natürlich, sich über diese natürlichen Grenzen hinwegzusetzen und mehrere Eltern an der Rekombination teilnehmen zu lassen. Man spricht von Muli Parten Genetic Algorithms (MPGAs). Die Idee des Diagonalen Crossover ist ähnlich wie beim N-Point-Crossover eine Aufspaltung der beteidigten Eltern und ein Zusammensetzen deren Teil-Strings. Gegeben seien n Eltern e 1,..., e n und die Crossoverpunkte x 1,...x n 1 {1,..., l 1} mit x 1 < x 2 < x n 1. Dabei entsteht folgender Nachkomme: n k = e k j und x 0 = 1 und x n = l. für x j 1 k < x j

4 U-Scan Auch U-Scan ist ein Operators für MPGAs. Die Idee ist, dass an einer Stelle des Nachkommengenoms zufällig ein an derselben Stelle eines der Eltern vorkommendes Gen platziert wird: n k = e k j für j random{0, n} OB-Scan Eine Art Mehrheitsentscheid sieht der Operator OB- Scan vor. Die Variable eines Nachkommens wird mit der Variable gefüllt, die an der entsprechenden Stelle bei den Eltern am häufigsten vorkommt. Für Bit-String Repräsentationen sieht der Operator folgendermaßen aus: 0, wenn n j=1 ek j < n 2 n = 1, wenn n j=1 ek j > n 2 random{0, 1} sonst Arithmetische Recombination Die arithmeische Rekombination eignet sich für Integer- und Real-Repräsentationen. Sie bildet den arithmetischen Mittelwert der Werte, die an den entsprechenden Genorten stehen und ähnelt der intermediären Rekombination bei Evolutionsstrategien, siehe Abschnitt 4. Diese Mittelwert kann auch gewichtet sein α x 1 + (1 α) x 2 Variationen bestehen lediglich in der Simple-Rekombination, bei der erst ab einer zufällig gewählten Stelle von da an bei allen Genen des Strings arithmetische Rekombination durchgeführt wird. An den vorhierigen Stellen werden die Gene der Eltern einfach kopiert. PMX - Partially Mapped Crossover Es existieren einige Rekombinationsoperatoren für Permutationsrepräsenationen. Einer davon ist der PMX (Partially Mapped Crossover). Das Besondere an Operatoren für kombinatorische Probleme wie z.b. das Traveling Salesman Problem (TSP) ist die Garantie der Gültigkeit einer Lösung. Der PMX-Operator arbeitet wie folgt: (Beschreibung auf S. 52 ff von Eiben [6], keine Relevanz für Klausur). 3.3 Mutation Die Aufgabe der Mutation ist die Exploration des Suchraums. Mutationen sollen mit hoher Wahrscheinlichkeit nur kleine Änderungen an der Lösung erzeugen. Standard-Bit Mutation, Random Resetting und uniforme Mutation Bei der bitweisen Mutation wird jedes Bit mit einer Bit- Flip-Wahrscheinlichkeit p m gekippt, also eine Null zu einer Eins getauscht und eine Eins zu einer Null. Random Resetting ist eine logische Erweiterung der Standard-Bit- Mutation, indem mit Wahrscheinlichkeit p m für jede Position entschieden wird, ob der vorhandene Wert erhalten bleibt oder ein neuer aus der Menge möglicher Werte gewählt wird. Genauso wird bei der sogenannten uniformen Mutation für Fließkommarepräsentationen ein Wert zufällig aus einem Intervall [p, q] gezogen. Creep Mutation Der Creep Mutation Operator für Integer Repräsentationen addiert zu jeder Position einen kleinen positiven oder negativen Wert mit Wahrscheinlichkeit p. Swap Mutation Bei der Swap Mutation für Permutationsrepräsentationen werden die Werte zweier zufällig gewählter Positionen miteinander vertauscht. 3.4 Selektion Fitnessproportional Die Selektion findet im Standard-GA meistens fitnessproportional statt. Dabei wird jedem Individuum eine fitnessproportionale Wahrscheinlichkeit zugeordnet: f(x) p(x) = f(y) y P Tournament Selektion Bei der Tournament Selektion, auch Wettkampfselektion genannt, werden aus der Population von Individuen mit gleicher Wahrscheinlichkeit ξ Individuen gezogen. Das bezüglich seiner Fitness beste Individuum der gezogenen Wettkampfpopulation wird als Elter der nächsten Generation ausgewählt. Das stochastische Ziehen erfolgt mit Zurücklegen, so dass ein mehrfaches Vorkommen eines Individuums möglich wird. 4 Evolutionsstrategien Evolutionsstrategien wurden von Rechenberg und Schwefel Mitte der sechziger Jahre an der Technischen Universität Berlin entwickelt [17], [19]. Ihre Anwendungen bezogen sich damals auf Optimieraufgaben im Rahmen ingenieurwissenschaftlicher Aufgabenfelder. In diesem Abschnitt soll die Funktionsweise und das Basisprinzip heutiger Evolutionsstrategien beschrieben werden. Dabei wird nach der Beschreibung des state-of-the-art Algorithmus, der sogenannten (µ/ρ +, λ)-es, auf die verwendeten Operatoren, den Selektions-, den Rekombinations- und den Mutationsoperator eingegangen [3]. 4.1 Die (µ/ρ +, λ)-es Das Hauptziel von Evolutionsstrategien ist die numerische Optimierung, d.h. o.b.d.a die Minimierung einer gegebenen N- dimensionalen Zielfunktion f(x), abhängig vom Parametervektor x := (x 1, x 2,..., x N). Die Parameter x i nennt man auch Entscheidungsvariablen. f(x) opt., x X (1) Gewöhnlich ist die Menge X die Menge IR N der reellen Zahlen. Prinzipiell kann X aber auch jede andere Menge einer endlichen Datenstruktur darstellen. Häufig kommen noch binäre und kombinatorische Suchräume vor, die eine Anpassung der genetischen Operatoren nötig machen. Evolutionsstrategien arbeiten mit einer Population P von Individuen. Jedes Individuum a k entspricht einem Vektor und besteht zum einen aus Werten für die Entscheidungsvariablen x k, aus dem zugehörigen Fitnesswert F k := F(x k ) und zum anderen aus einer Menge endogener Strategieparameter s k. a k := (x k, s k, F(x k )). (2) Die endogenen Strategieparameter s k sind im Allgemeinen Parameter, die die Operatoren des Evolutionsprozesses positiv beeinflussen sollen. In der Standard-(µ/ρ +, λ)-es bestehen sie aus Standardabweichungen für den Mutations-Operator (siehe Abschnitt 4.3), sogenannte Mutationsschrittweiten. Diese verändern sich selbstadaptiv im Laufe des Optimierprozesses. Demgegenüber stellen die Parameter µ, ρ und λ exogene Strategieparameter dar, die während des Laufs der ES konstant bleiben. Der Ablauf einer (µ/ρ +, λ)-es sieht folgendermaßen aus, siehe Tabelle 3. Zu Beginn der (µ/ρ +, λ)-es in der Initialisierungsphase werden µ Elternindividuen mit zufälligen Werten initialisiert, falls das Optimum des Problems unbekannt ist [21]. Ansonsten werden alle µ Eltern mit einem bekannten Startindividuum initialisiert (3). In einem Generationsschritt werden mit

5 Hilfe der µ Eltern λ Nachkommenindividuen mit den Operatoren Rekombination und Mutation erzeugt (6-10). Damit der Selektions- Operator Wirkung zeigt, ist für gewöhnlich die Nachkommenpopulation P n größer als die Elternpopulation P e. Am Ende eines Generationsschrittes werden aus der Nachkommenpopulation P n die µ bezüglich ihrer Fitness besten Individuen ausgesucht, um im nächsten Generationsschritt die Elternpopulation zu bilden (14-15). Die ES läuft solange, bis eine Abbruchbedingung erfüllt ist. Typische Abbruchbedingungen sind: ein vorgegebener Fitnesswert wird erreicht der Fitnesswert konvergiert die Objektvariablen konvergieren die Strategieparameter konvergieren eine vorgegebene maximale Anzahl von Generationen wird erreicht die maximale Berechnungszeit wird berschritten 1 Start 2 t:=0; 3 Initialize P (0) e := { 4 Repeat 5 For k=1 To λ Do a (0) 1 6 Choose ρ parents E (t) 1,..., a(0) µ } ;,..., E(t) ρ out of P (t) e 7 s k :=recombination strategy variables(e (t) 1 8 x k :=recombination objective vatiables(e (t) 1 9 s k :=mutation strategy variables(s k ); 10 x k :=mutation objevtive variables(x k ); 11 F k := f(x k ); 12 Next 13 P n (t) := {(x 1, s 1, F 1),..., (x λ, s λ, F λ )}; 14 select P (t+1) e 15 or out of P (t) n 16 t := t + 1; 17 Until termination condition 18 End Figure 3. out of P n (t) P e (t) in the case of (µ, λ)-selection; Pseudocode einer (µ/ρ +, λ)-es. Beispiel (Diskrete Rekombination). für ρ = 2 mit den Eltern e 1 = (0.1, 1.2, 0.4), e 2 = (0.7, 0.2, 2.6) gibt es 2 3 mögliche Nachkommen. Ein mölicher Nachkomme wäre z.b. n = (0.1, 0.2, 2.6). Bei der intermediären Rekombination mit ρ Eltern e 1,..., e ρ ergibt sich der Nachkommenvektor durch das arithmetische Mittel der Komponenten aller ρ Eltern. (n) k := 1 ρ ρ (e m) k (3) m=1 Beispiel (Intermediäre Rekombination). Für ρ = 2 erzeugen die Eltern e1=(0.1, 1.2, 0.4), e2=(0.7, 0.2, 2.6) durch intermediäre Rekombination den Nachkommen n=(0.4, 0.7, 1.5). Die intermediäre Rekombination muss für diskrete Räume modifiziert werden, beispielsweise durch probabilistische Rundung. Zusammenfassend lassen sich die Rekombinations-Operatoren bezglich Anzahl beteiligter Eltern und Rekombinationstyp kategorisieren: keine Rekombination: n = e lokale diskrete Rekombination diskrete Multirekombination lokale intermediäre Rekombination intermediäre Multirekombination,..., E(t) ρ ); Der Beitrag der Rekombination als nützlicher Operator wird im Rahmen der sogenannten building block hypothesis (BBH) [9, 11] und,..., E(t) ρ ); dem genetic repair effekt (GR) [2] diskutiert. Die BBH geht davon aus, dass sich,,building blocks, gute Teil-Bitstrings, von verschiedenen Eltern durch Rekombination kombinieren und im Laufe der Generationen vermehren. Demgegenber unterstellt der genetic repair effekt von Beyer der Rekombination die Wirkung, dass sich nicht die bei (µ + λ)-selection, unterschiedlichen Merkmale an die Nachkommen vererben, sondern die gemeinsamen. 4.3 Mutation Dem Mutations-Operator kommt ein großer Stellenwert als Suchoperator bei ES zu. Er stellt die Hauptquelle für genetische Variation dar. Ein Mutations-Operator muss drei Anforderungen erfüllen [3]: 4.2 Rekombination Die Operatoren Rekombination und Mutation stellen die Suchoperatoren von Evolutionsstrategien dar. Mit Hilfe der Rekombination werden Information von bis zu ρ Elternindividuen zur Erzeugung eines Nachkommenindividuums kombiniert. Im Falle von ρ = 1 spricht man vom Klonen des Elters, bei ρ = 2 spricht man von lokaler Rekombination und für ρ > 2 von Multirekombination. Rekombiniert werden Objektvariablen und Strategieparameter. Man unterscheidet zwei Klassen von Rekombination: diskrete - auch dominante genannt - und intermediäre Rekombination. Man betrachte Eltern- Vektoren der Form e = (e 1,...e k ) bestehend aus Objektvariablen und Strategieparametern. Im Falle der diskreten Rekombination mit ρ Eltern e 1,..., e ρ wird der Nachkommen-Vektor n = (n 1,..., n k ) erzeugt, indem man für dessen i-te Komponente n i zufällig die i-te Komponente eines der ρ Eltern wählt. 1. Erreichbarkeit: Ausgehend von einem gegebenen Zustand (a e, s e) muss jeder Zustand (a, s) erreichbar sein. 2. Driftlosigkeit: Die durch Mutation verursachte genetische Variation sollte keine Richtung - keinen Drift - aufweisen. Erst die Selektion drängt durch die Fitnesswerte der Nachkommen dem Suchprozess in eine bestimmte Richtung. Die Mutation soll also den Suchraum erkunden, die Selektion denselbigen ausnutzen. 3. Skalierbarkeit: Die Stärke der Mutation, d.h. die Mutationsschrittweite, muss einstellbar sein, um erfolgreiche Schritte der ES in der Fitnesslandschaft zu ermögichen. Grundlage für den Mutations-Operator einer (µ/ρ +, λ)-es in reellwertigen Suchräumen ist eine normalverteilte Zufallsvariable mit dem Erwartungswert 0. Einfache Mutation (n σ = 1) Bei der einfachen Mutation mit n σ = 1 wird lediglich eine Strategievariable σ als Schrittweite in jede Koordinatenrichtung benutzt. Die Objektvariable wird folgendermaßen mutiert: x := x + z (4)

6 mit z := σ(n 1(0, 1),..., N N(0, 1)) (5) Dabei liefert N i(0, 1) eine unabhängige Zufallszahl basierend auf einer Normalverteilung mit dem Erwartungswert 0 und der Standardabweichung 1. Die zugehörige Dichtefunktion in Abhängigkeit von der Komponente x i der Mutation x lautet also: p(x i) = 1 2πσ exp ( ) 1 (x i x i) 2 2 σ 2 Die Strategievariable σ wird selbst mutiert mit der einfachen Lognormal-Regel: (6) σ := σ exp(τn(0, 1)) (7) In dieser Realisierung spricht man auch vom Lognormal-Operator. Diese Vorgehensweise ermöglicht eine Selbstadaptation der Schrittweite, d.h. die ES ist fähig, optimale Strategieparameter während der Optimierung dynamisch anzupassen, sozusagen zu erlernen. Der Mutationsraum kann in seiner Größe selbstadaptiv angepasst werden. Für den Lernparameter τ wird von Schwefel folgende Einstellung für große N empfohlen [21]: τ = 1 N (8) Mutation mit n Einzelschrittweiten (n σ = N) Die Mutation mit n σ = N Einzelschrittweiten verwendet für jede Koordinatenrichtung eine eigene Schrittweite. Man verwendet also einen Vektor von Schrittweiten: z := (σ 1N 1(0, 1),..., σ N N N(0, 1)) (9) Hierdurch wird eine Stauchung oder Streckung des Mutationsraumes parallel zu den Koordinatenachsen möglich, man erhält ein achsenparalleles Mutationsellipsoid. Die Anzahl der Strategieparameter entspricht der Dimension des Problemraumes N. Der Strategieparametervektor σ = (σ 1,..., σ N) wird mit einer erweiterten Lognormal-Regel mutiert: σ := exp(τ 0N 0(0, 1)) (σ 1 exp(τn 1(0, 1)),..., σ N exp(τn N(0, 1))) (10) Für die Lernparameter empfiehlt Schwefel [21] für große N: τ 0 = c und (11) 2N c τ = 2 (12) N mit beispielsweise c = 1 als vernünftige Wahl für eine (10,100)-ES. Korrelierte Mutation Zusätzlich werden bei der korrelierten Mutation Winkel als weitere Strategieparameter eingeführt, mit denen eine Rotation des Mutationsellipsoids möglich wird [20]. Hierbei sind N(N-1)/2 Strategieparameter notwendig. Stellt wieder σ den Vektor der Schrittweiten σ := (σ 1,...σ N) dar und erhält man mit Hilfe der Winkel eine Rotationsmatrix M, so ergibt sich für die Änderung der Objektvariablen: z := M(σ 1N 1(0, 1),..., σ N N N(0, 1)) (13) Eine selbstadaptive Einstellung der Winkel α m wird erst durch einen Winkel-Mutations-Operator ermöglicht. Schwefel [21] schlägt folgende Operation vor: α m = α m + β N m(0, 1) (14) mit β = , dieser Winkel entspricht ungefähr 5. Gerichtete Mutation In restringierten Suchräumen, d.h. in Suchräumen, die durch Gleichungen oder Ungleichungen begrenzt sind, siehe auch Kapitel 6.1, kann es sinnvoll sein, Mutationen zuzulassen, die den Suchprozess in spezielle Richtungen drängen. 4.4 Selektion Dem Selektions-Operator kommt als Antagonist der genetischen, Variationen erzeugenden Operatoren ein großer Stellenwert zu, da er dem Optimierprozess erst eine Richtung verleiht. Aus der aktuellen Nachkommengeneration werden in einem deterministischen Prozess die µ besten Individuen ausgewählt, um die nächste Elterngeneration zu bilden. Es gibt jedoch verschiedene Varianten dieses Selektionsprozesses. Komma-Selektion Bei einer ES mit Komma-Selektion, notiert als (µ,λ)-es, erfolgt die Auswahl der Eltern für die nächste Generation ausschließlich aus der aktuellen Nachkommenpopulation, d.h. unter Missachtung der letzten Elternpopulation. Folglich werden bei der Selektion auch Elternindividuen ignoriert, die besser als ihre Nachkommen sind. Notwendig für einen Erfolg der ES ist die Bedingung µ < λ, da sonst keine Selektion stattfindet und dem Optimierprozess keine Richtung gegeben wird. In diesem Fall wäre keine Konvergenz auf das Optimum zu erwarten. Plus-Selektion Im Gegensatz zur Komma-Selektion erfolgt bei der Plus-Selektion, der sogenannten (µ+λ)-es die Auswahl der Eltern für die nächste Generation aus den aktuellen Nachkommen und der letzten Elternpopulation. Hierbei ist keine Beschränkung der Parameter nötig, ein Selektionsprozess findet immer statt, da µ < µ+λ. Im Fall einer (µ+1)-es spricht man von einer sogenannten steadystate ES. Die Plus-Selektion hat gegenber der Komma-Selektion den Nachteil, dass bei multimodalen Funktionen lokale Optima auf Grund der relativ guten Fitness und der daraus resultierenden Permanenz in der Population schlecht verlassen werden können. 4.5 (µ, κ, λ, ρ)-es Eine Zwischenform der Komma- und der Plus-Selektion stellt die (µ, κ, λ, ρ)-es dar. Der zusätzliche Parameter κ bestimmt, über wie viele Generationen hinweg ein Individuum höchstens auf Grund seines Fitnesswertes für die nächste Elternpopulation ausgewählt werden darf, wie lange ein Individuum also überleben kann. Dabei steht der Teil der Elternpopulation, dessen Generationenzahl seit Entstehung den Wert κ nicht überschritten hat, dem Selektionsprozess zur Verfügung. Konkret existiert für jedes Individuum ein Zähler, der von Eins an pro Generationsschritt inkrementiert wird. Wenn dieser Zähler den Wert κ überschritten hat, steht das Individuum der Selektion nicht mehr zur Verfügung, auch wenn eine Auswahl auf Grund günstiger Fitnesswerte erfolgt wäre. 4.6 Evolutionäre Programmierung Die Evolutionäre Programmierung ähnelt in ihrer kontinuierlichen Form in einigen Eigenschaften den Evolutionsstrategien. Die ursprüngliche Form von Fogel, Owens und Walsh [7] arbeitet jedoch nicht auf einfach strukturierten Suchräumen wie IR n oder {0, 1} n, sondern auf einer höheren Abstraktionsebene. Denn ursprünglich war es das Ziel von EP, deterministische endliche Automaten (DFA) zu erzeugen, die eine Menge von Trainingsbeispielen - Eingabewörter zusammen mit einer richtigen Ausgabe - möglichst korrekt

7 (a) (b) (c) (d) (e) Figure 4. Vergleich verschiedener Mutationsoperatoren: (a) Mutation mit nur einer Schrittweite, (b) mit N Schrittweiten, (c) korrelierte Mutation, (d) asymmetrische Mutation und (e) gerichtet Mutation durch Verschiebung des Ellipsoiden. wiedergeben. Möglichst kleine Automaten mit einer großen Verallgemeinerungsfähigkeit, die sich an ihre Umwelt anpassen können, sollten entstehen. Fogels Erweiterungen des Verfahrens auf reellwertige Variablen mit normalverteilten Mutationen enthalten, ähnlich den Evolutionsstrategien, einen Schrittweitenanpassungsmechanismus und für jedes Individuum eine Varianz für einen additiven Mutationsprozess [8]. Jeder Elter erzeugt einen Nachkommen, die bessere Hälfte der Eltern und die bessere Hälfte der Nachkommen werden selektiert mittels stochastischer Turnierselektion. Dabei treten die gleichverteilt gezogenen Eltern und Nachkommen gegen eine zu spezifizierende Menge von Gegnern an. 5 Genetische Programmierung Der genetischen Programmierung (GP) liegt die Idee zu Grunde, Computerprogramme automatisch zu generieren. Obwohl diese Idee schon älter ist, gilt als Entwickler der GP John Koza Ende der 80er Jahre [12]. Die Grundidee ist, dass mit Hilfe der Variationsoperatoren Mutation und Crossover neue Programme erzeugt werden. Sehr bekannt ist die Darstellung der Programme in Baumrepräsentation. An Bäumen lässt sich einfach die Wirkung der Variationsoperatoren darstellen. Während, bzw. nach deren Ausführung wird die Qualität des Programmes hinsichtlich der Lösung des zu betrachtenden Problems bestimmt und im evolutionären Sinn als Fitness betrachtet. Dabei muss natürlich berücksichtigt werden, dass verschiedene Probleme hinsichtlich der Korrektheit unterschiedliche Anforderungen an Programme stellen. Bei manchen Problemen, z.b. in der Laufrobotik, siehe hierzu auch Kapitel 5.6, ist es ausreichend, wenn Programme Approximationen der gesuchten Lösungen liefern. In anderen Fällen ist die Korrektheit der Lösungen zwingend erforderlich und muss durch Spezifikationen gesichert werden. In der genetischen Programmierung wird versucht, die klassischen Konzepte der herkömmlichen Programmierung - wie sie in der Informatik praktiziert werden - auf evolutionäre Konzepte zu übertragen. Dazu gehören auch insbesondere Konzepte wie Rekursion, Schleifen, Subroutinen und Speicher. Im Folgenden werden die grundlegenden Konzepte der GP dargestellt und auf die genannten Programmierkonzepte eingegangen. 5.1 Repräsentation Die Individuen bei GP bestehen aus Programmen und können mit Hilfe von Bäumen, linear z.b. als Maschinenprogramme oder auch als Graphen repräsentiert werden. Besonders geeignet ist in diesem Zusammenhang die Programmiersprache LISP, da ihre Ausdrücke einfach als Baumstruktur darstellbar sind, siehe Abbdildung 5. Die Konzepte und Operatoren lassen sich einfach mit Hilfe der Baumstruktur darstellen, weshalb diese im Weiteren der Anschaulichkeit halber verwendet werden. In der Praxis werden die Lisp-Ausdrücke jedoch heute kaum noch verwendet, sondern vor allem auf Maschinensprache zurückgegriffen. 5.2 Bestandteile der GP Syntaktisch korrekte Programme werden mit dem so genannten function set, einer Menge elementarer Funktionen, und dem terminal set, einer Menge problemangemessener Variablen und Konstanten, gebildet. An den Blättern der Bäume stehen Variablen oder Konstanten, die inneren Knoten bilden die Funktionen. Des Weiteren existieren empheral random constants, Pseudokonstanten, die bei jedem Aufruf in einem Individuum einen konkreten Wert aus einem definiertem Intervall annehmen. Die Parameter der genetischen Programmierung sind einer Tabelle, dem sogenannten Koza-Tableau, festgelegt. Hier können z.b. folgende Parameter spezifiziert werden: das Terminal Set, das Function Set, die Populationsgröße, Crossoverwahrscheinlichkeit, Mutationswahrscheinlichkeit, Reproduktionswahrscheinlichkeit, minimale und maximale Programmlänge usw. 5.3 Initialisierung Die GP-Programme müssen anfangs initialisiert werden. Dazu werden zufällig Programme mit Hilfe des Function- und des Terminal- Sets generiert. 5.4 Operatoren Rekombination Bei GP erhält Crossover als Variationsoperator einen erheblichen Stellenwert. Crossover wird bei GP mit z.b. häufig mit einer Wahrscheinlichkeit von p c = 0.9 ausgeführt. Dabei werden in den Eltern-Bäumen zufällig an einem Crossover-Punkt Subbäume ausgewählt und ausgetauscht. Abbildung 5 verdeutlicht diese Operation. Mutation Mutationen tauschen an einem zufällig gewähltem Punkt den darunter liegenden Subbaum durch einen zufälligen Teilbaum, ähnlich der Initialisierungsphase der GP-Programme. Abhängig von der Realisierung des GP-Mutationsoperators kann dieser zufällige Teilbaum in seiner Tiefe beschränkt sein. Die Mutation erzeugt syntaktisch korrekte Programme. Selektion Als Selektions-Operatoren kommen vor allem Turnierselektion und fitnessproportionale Selektion zum Einsatz. Eine Beschreibung dieser Selektionsoperatoren erfolgte bereits in Abschnitt 3.

8 5.7 Evolutionäre Laufexperimente Evolutionäre Laufexperimente wurden von einer Vielzahl von Forschungsteams durchgeführt. Im Folgenden werden beispielhaft die Experimente mit dem Roboter Zorc und einem AIBO vorgestellt, die an der Uni-Dortmund durchgeführt wurden. Figure 5. Beispiel für die Anwendung des Crossover-Operators bei GP in Baumrepräsentation. 5.5 Subroutinen - ADFs Die Erzeugung kleiner Programme kann recht große Bäume zur Folge haben. Um mehrfach benötigte Unterprogramme nicht mehrfach evolutionär erzeugen zu müssen, sondern mehrfach aufrufen zu können, wurden so genannten automatisch definierte Funktionen (ADFs) eingeführt. Dabei handelt es sich um evolvierte wiederverwendbare Programmfragmente, die als Unterprogramme beliebig oft aufgerufen werden können. 5.6 Beispiel: Evolutionäre Laufrobotik In der Robotikforschung kommen eine Vielzahl von Fortbewegungsarten zum Einsatz. So werden schwimmende, fliegende oder sogar in der Schwerelosigkeit schwebende Roboter entwickelt. Die am häufigsten betrachteten Fortbewegungsarten bei Robotern stellen Fahren und Laufen dar. Die letztere Fortbewegung gilt jedoch als ungleich schwieriger als Fahren und ist somit seit Jahren Gegenstand aktueller Forschung. Kennzeichen von Laufrobotern sind ihre Mobilität und Bodengebundenheit. Sie dürfen dabei definitionsgemäß keine Räder, keinen Kettenantrieb oder ähnliche rotierende Mechanismen zur Fortbewegung aufweisen. Die Architekturvielfalt von Laufrobotern ist überaus vielschichtig. Vom hüpfenden Einbeiner über humanoide Zweibeiner und insektenähliche Vier- und Sechsbeiner bis hin zu schlangenähnlichen Topologien wurde bereits mit einer Vielzahl denkbarer Architekturen experimentiert. Viele gerade in der universitären Robotikforschung entwickelten Exemplare von Laufmaschinen sind Unikate während andere von Unternehmen vor kommerziellem Hintergrund entwickelte Maschinen serienmäßig gefertigt werden. Zur Aufgabe der Laufroboter gehört auch die Fortbewegung in oftmals schwer zugänglichem Terrain. Dort, wo traditionelle radbasierte Antriebe versagen, wird die Fortbewegungsaufgabe für Laufmaschinen erst interessant. Dabei gehört auch das Klettern in moderater Form zur Aufgabe der Laufroboter. Wahl der Fitnessfunktion Der Wahl einer geeigneten Fitnessfunktion kommt bei evolutionären Algorithmen ein überaus bedeutsamer Stellenwert zu, weil die Fitnessfunktion die Richtung der evolutionären Suche bestimmt. Während für einen menschlichen Beobachter die Qualität des Laufstils einfach und intuitiv zu bewerten ist, lässt sich dieses intuitive Qualitätsmaß nur schwer automatisieren. Relativ einfach lässt sich die Qualität des Laufens allerdings hinsichtlich der dabei ausgeführten Geschwindigkeit bewerten. Ziegler [22] hat in seinem Simple-Fitness-Modell die Fitnessfunktion mit Hilfe der in einer vorgegebenen Zeit zurückgelegten Strecke wie folgt definiert: f = s t end t 0 mit s = x(t end ) x(t 0) (15) Dabei sei x(t) die Position des Laufroboters zum Zeitpunkt t. Diese Modellierung der Fitnessfunktion hat allerdings zur Folge, das Laufprogramme entstehen, bei denen der Roboter mit einem Großteil seiner Körperoberfläche auf dem Boden aufliegt und seine Fortbewegung durch,,robben erreicht. Dieses unerwünschte Verhalten konnte durch eine Modifikation der Fitnessfunktion behoben werden. Statt nur die zurückgelegte Strecke zu berücksichtigen, wird eine Mindesthöhe für den Körper der Laufroboters h min gefordert. So ergibt sich die NiceWalking-Fitness durch folgende Fitnessfunktion: { x(tend ) x(t 0 ) f = t end t 0 für h min h(t) h max mit t 0 t < t end 0 sonst (16) Erst die Berücksichtigung dieser Mindesthöhe führt zu einem intuitiv vertrautem Laufstil, bei dem nur die Fußaufsetzpunkte den Boden berühren und nicht die ruckartigen robbenden Bewegungen durchgeführt werden. Neben der Definition einer Fitnessfunktion zur automatischen Selektion kann aber auch ein menschlicher Benutzer die Qualität von Laufkontrollprogrammen evaluieren. Dies fällt gerade auf Grund einer intuitiven Vorstellung von Laufprozessen meist nicht sehr schwer. Um eine manuelle Zuordnung von Fitnesswerten zu vermeiden, kann hierbei auch Turnierselektion von Hand durch direkten Vergleich ausgeführt werden. Folgende Kriterien können bei der manuellen Beurteilung der Fitness hilfreich sein: Eine aufrechte Haltung, gerade zu Beginn des Evolutionsprozesses wird bevorzugt. Ein Fall nach vorne wird besser bewertet als ein Fall nach hinten. Zuckende oder erratische Bewegungen werden mit der Fitness f = 0 bestraft. Hingegen werden oszillierende und periodische Bewegungen - wie sie bei biologischen Systemen beobachtet werden - belohnt. Ästhetische Aspekte dürfen bei der Bewertung ruhig Berücksichtigung finden. Objektiv kann noch als Kriterium die zurückgelegte Wegstrecke in die Bewertung integriert werden. Experimentelle Ergebnisse Die mittels Genetischer Programmierung evolutionär erzeugten Laufprogramme sind als lineare Programme in Maschinensprache repräsentiert. Dabei kommen die arithmetischen Befehle ADD, SUB, DIV, MUL und MOD zum Einsatz sowie die Registeroperationen COPY und LOAD. Um den Programmablauf zu beeinflussen, stehen die Befehle CMP, JMP, DE- LAY und NOP zur Verfügung. Zur eigentlichen Kommunikation mit

9 dem Laufroboter werden die Operationen MOVE zum Festlegen der Drehmomente der Gelenkwinkel sowie SENSE zum Auslesen der aktuellen Gelenkwinkelposition benutzt. Die experimentellen Ergebnisse zu den einfachen Simulationsmodellen lassen sich folgendermaßen zusammenfassen: Für jedes Simulationsmodell konnte ein funktionierendes Laufprogramm erzeugt werden. Bezüglich der GP-Parametereinstellungen hat sich gezeigt, dass eine hohe Mutationswahrscheinlichkeit eine geringere durchschnittliche Performance zur Folge hat, jedoch andererseits auch eine geringere Standardabweichung, also Streuung der Qualität der Lösungen in verschiedenen Experimenten, bewirkt. Eine höhere Crossoverwahrscheinlichkeit bewirkt hingegen sowohl eine durchschnittlich höhere Fitness als auch eine größere Standardabweichung. Experimente mit einem geringeren Befehlssatz (ADD, CO- PY, SENSE und MOVE) haben zwar trotzdem eine Roboterbewegung möglich gemacht. Die erreichte Geschwindigkeit war jedoch signifikant geringer, da die Registerinhalte für die Stellwinkel alleine mit den Operationen ADD und COPY zu langsam modifiziert werden können. Schließlich wurden unterschiedliche Initialisierungen der Startpopulation untersucht. Dabei hat sich gezeigt, dass eine zufällige Startpopulation gegenüber der Initialisierung mit bereits evolvierten Individuen eine geringere durchschnittliche Fitness erreicht, jedoch neue Bewegungsmuster entstehen. Bei der Initialisierung mit evolvierten Individuen werden diese den Evolutionsprozess zu Beginn dominieren und eine Generierung neuer Bewegungsmuster hemmen. 6 Parametersteuerung und Selbstadaptivität Die Parameter evolutionärer Algorithmen wie Mutationsrate und Populationsgröße haben einen erheblichen Einfluss auf die Qualität der Ergebnisses des EAs bzw. auf seine Effizienz. Parametertuning Die Taxonomie der Parametereinstellungen wird angeführt vom Parametertuning. Eine Reihe von statischen Parametern kann vor dem Lauf des EAs festgelegt werden ohne während des Laufs des EAs einer Änderung zu unterliegen. Durch mehrfaches Ausführen des Algorithmus unter verschiedenen Parametrisierungen kann auf diese Weise versucht werden, per Hand gute Einstellungen zu finden. Deterministische Parametersteuerung Im Gegensatz dazu ändern sich dynamische Parameter im Lauf der Zeit, d.h. im Laufe der Generationen. In diesem Zusammenhang spricht man auch von deterministischer Parametersteuerung. Beispiele dafür sind die dynamischen Penalty-Funktionen (siehe auch Restriktionsbehandlung, in Abschnitt 6.1 und eine dynamsiche Steuerung der Schrittweite sigma, um auf das Optimum zu konvergieren: σ(t) = t T mit der aktuellen Generationenzahl t mit 0 t T. Adaptive Parametersteuerung Bei der adaptiven Parametersteuerung sorgen Heuristiken für eine geeignete Einstellung der Parameter auf Grund von benutzerdefinierten für sinnvoll erachteter Regeln. Ein Beispiel für adaptive Paramtersteuerung ist die 1/5- Erfolgsregel von Rechenberg. 1. Führe die (1+1)-ES für G Generationen aus Halte σ während dieser Periode konstant, Zähle die Anzahl G s erfolgreicher Mutationen während dieser Periode 2. Schätze Erfolgswahrscheinlichkeit p s durch 3. Ändere σ nach σ := 4. Gehe zu Schritt 1. P s := G s/g { σ/a, if Ps > 1/5 σ a, if P s < 1/5 σ, if P s = 1/5 Dabei sei < a < 1. Eine Vergrößerung der Schrittweite bei größerer Erfolgswahrscheinlichkeit als 1/5 ist sinnvoll, weil die Fitnesslandschaft dann offenbar größere Schritte ermöglicht während umgekehrt bei einer zu geringen Anzahl erfolgreicher Mutationen eher im nahen Umfeld des Individuums gesucht werden sollte. Selbstadaptivität Im Gegensatz dazu basiert die selbstadaptive Parametersteuerung darauf, dass die so genannten Strategieparameter selber an der Evolution teilnehmen. Sie werden, genauso wie die Objektvariablen (die die eigentliche Lösung repräsentieren), rekombiniert und mutiert, jedoch zusammen mit den Individuen selektiert. Auf diese Weise setzen sich sinnvolle Strategieparameter im Laufe des Optimierprozesses durch bzw. passen sich den Eigenschaften der Fitnesslandschaft an. Ein typisches wie erfolgreiches Beispiel für den Einsatz von Selbstadaptivität ist die Schrittweitensteuerung bei Evolutionsstrategien. Die Logik hinter der Selbstadaptivität ist, dass sinnvolle automatisch evolvierte Parametereinstellungen für eine hohe Fitness gesorgt haben und somit auch in der nächsten Generation zur Generierung hochwertiger Lösungen herangezogen werden sollten. Sie vererben sich automatisch mit dem Rest des die Lösungs kodierenden Chromosoms an die Nachkommen weiter. Metaevolutionäre Algorithmen Metaevolutionäre Algorithmen stellen geschachtelte evolutionäre Algorithmen dar, in denen auf zwei Ebenen der evolutive Prozess vollzogen wird. Dies macht genau dann Sinn, wenn Parameter optimiert werden müssen, die der evoluionäre Algorithmus selbt nicht durch Selbstadaptivität evolvieren kann. Dazu können genauso exogene wie endogene Parameter des inneren EAs gehören. Die Suche des äußeren EA erfolgt also im Suchraum der Parametereinstellungen, die des inneren EA im eigentlichen Problemraum. Die metaevolutionäre Analyse eignet sich für die experimentelle Analyse geeigneter Parametereinstellungen. Bei Evolutionsstrategien spricht man von einer geschachtelten Evolutionsstrategie, die formal durch die Notation [µ /ρ +, λ (µ/ρ +, λ) γ ]-ES beschrieben wird. Der Begriff der geschachtelten ES und die Notation stammen von Rechenberg [18]. Eine Übersicht über Arbeiten, die metaevolutionäre und verwandte Verfahren verwenden, findet sich in der Dissertation von Kursawe [13], der ES- Parameterstudien mit einer Meta-ES durchgeführt hat. Bei der [µ /ρ +, λ (µ/ρ +, λ) γ ]-ES existieren µ Eltern, die selber Populationen mit (µ/ρ +, λ)-strategien darstellen, und λ Nachkommen, also auch wieder Populationen mit (µ/ρ +, λ)-strategien, erzeugen. Die (µ/ρ +, λ)-strategien laufen γ Generationen, γ wird auch als Isolationszeit bezeichnet. Die nach diesen Läufen µ besten (µ/ρ +, λ)- Strategien bilden die Eltern für die nächste Generation auf der äußeren Ebene. Die Meta-ES kann für verschiedene Anwendungen benutzt werden, z.b. zur Anpassung der endogenen Strategieparameter

10 1 Start 2 t a := 0; 3 Initialisiere P a(t); 4 Bewerte P a(t); 5 Repeat 6 Ändere P a(t) P a(t) 7 Bewerte P a(t) durch folgenden Aufruf; 1 Start 2 t i := 0; 3 Initialisiere P i(t); 4 Bewerte P i(t); 5 Repeat 6 Ändere P i(t) P i(t) 7 Bewerte P i(t); 8 Selektiere P i(t + 1) aus P i(t); 9 t i := t i + 1; 10 Until Abbruchbedingung 11 End 8 Selektiere P i(t + 1) aus P i(t); 9 t a := t a + 1; 10 Until Abbruchbedingung 11 End Figure 6. Ablauf eines metaevolutionären Algorithmus der inneren Ebene oder als Meta-Heuristik-Suchstrategie für globale Optimierung. Coello [4] benutzt mit seinen coevolutionären Penalty- Funktionen einen Meta-EA, um auf der äußeren Ebene die Penalty- Faktoren anzupassen, die auf der inneren Ebene für die dortigen Penalty-Funktionen benutzt werden. 6.1 Restriktionsbehandlung bei EAs Bei Problemen der realen Welt ist der Problemraum häufig durch logische, materialbedingte oder andere Bedingungen beschränkt. Wenn Repräsentation und genetischen Operatoren die Erzeugung ungültiger Individuen ermöglicht, ist der Einsatz von Restriktionsbehandlungsmethoden erforderlich. Formalisierung - NLP-Problem Das Problem, eine Funktion unter Berücksichtigung einer Reihe von Restriktionen, d.h. Gleichungen und Ungleichungen, zu minimieren wird, auch als NLP-Problem (non-linear programming problem) bezeichnet. Definition 6.1 (NLP-Problem) Gesucht wird ein Läungsvektor x = (x 1, x 2,..., x m) T, der die Funktion f(x) optimiert: f(x) opt., x X (17) Ungleichungen g i(x) 0, i = 1,..., k (18) Gleichungen h j(x) = 0, j = 1,..., l (19) Bei der Optimierung von f(x) sind k Ungleichungen und l Gleichungen zu berücksichtigen. Gleichungen wie auch Ungleichungen können lineare oder nicht-lineare Funktionen sein. O.b.d.A. wird ein Minimierungsproblem betrachtet, da sich durch -f(x) ein entsprechendes Maximierungsproblem ergibt. Des Weiteren ergeben sich -Ungleichungen durch g i 0 g i 0. Definition 6.2 (Gültiger Bereich) Sei X der Suchraum eines NLP- Problems. Dann ist der gültige Bereich F des Suchraums definiert als: F = {x X g i(x) 0 h j(x) = 0, i = 1,..., k, j = 1,..., l} (20) Für den gültigen Bereich F des gesamten Suchraums X gilt F X. Eine Ungleichungsrestriktion g i(x) heißt aktiv am Punkt x, falls gilt g i(x) = 0. Gleichungsrestriktionen h j(x) sind aktiv für alle gültigen Punkte des Suchraums F. Ein Maß für die Verletzung der Restriktionen eines ungültigen Individuums für Gleichungen und Ungleichungen leistet: G i(x) = max[0, g i(x)] β (21) L j(x) = h j(x) γ (22) Die Parameter β und γ werden dabei in der Regel als 1 oder 2 gewält. Des Weiteren ist in manchen Fälen die Umwandlung von Gleichungs- in Ungleichungsrestriktionen nötig, z.b. im Zusammenhang mit Penalty-Funktionen. Diese Umwandlung kann wie folgt vollzogen werden: h j(x) ǫ 0 (23) Dabei stellt ǫ die Umgebung dar, innerhalb derer eine Abweichung von der Gleichung akzeptiert wird. Für eine genaue Einhaltung der Gleichung muss ǫ hinreichend klein gewält werden. Penalty-Funktionen Für evolutionäre Algorithmen existieren mittlerweile eine Vielzahl von Restriktionsbehandlungsmethoden. Allen voran kam in der Vergangenheit vor allem bei Evolutionsstrategien die Methode Death Penalty zum Einsatz. Hierbei werden ungültige Individuen einfach verworfen und solange neue erzeugt bis die Population der Nachkommen nur gültige Individuen enthält. Die meisten anderen Methoden zur Behandlung von Restriktionen sind die sogenannten Penalty-Funktionen, die ungültige Individuen in den Suchprozess mit einbeziehen, jedoch mit einem ungünstigen Fitness- Wert bestrafen. Die Suche im Lösungsraum beschränkt sich also nicht nur auf den gültigen Lösungsraum, sondern auf den gesamten Lösungsraum, jedoch unter,,bestrafung ungültiger Individuen. Dabei sollte die Bestrafung intuitiv möglichst klein sein, aber gerade so groß, dass kein ungültiges Individuum in der Fitness-Landschaft optimal wird. Diese Regel wird auch minimal penalty rule genannt. Ihre Realisierung gestaltet sich jedoch als schwierig, ist doch die Grenze zwischen gültigem und ungültigem Bereich häufig unbekannt. Eine zu große Bestrafung lässt die Suche nur im gültigen Lösungsraum stattfinden und schließt den ungültigen Bereich aus, während bei einer zu geringen Bestrafung u.u. der EA zu weit in den ungültigen Bereich vordringt [5]. Allgemein wird die Bewertungsfunktion eines Individuums folgendermaßen ersetzt: { f(x), falls x im gültigen Lösungsraum f(x) = f(x) + penalty(x), sonst (24) Hierbei stellt f(x) die neue Bewertungsfunktion, f(x) die ursprüngliche Zielfunktion und penalty(x) den Bestrafungsterm dar. Die verschiedenen Penalty-Funktions-Typen unterscheiden sich hauptsählich in der Art und Weise, wie der Bestrafungsterm penalty(x) im Laufe des Optimierprozesses angepasst wird. Unter die Kategorie der statischen Penalty-Funktionen fallen die Verfahren, deren Parameter sich während des Laufs des EA, z.b. durch Abhägigkeit von der aktuellen Generation, nicht verädern. Dynamische Penalty-Funktionen sind - im Gegensatz zu den statischen - abhägig von der aktuellen Generationenzahl t. Zwar sind

11 auch die in den folgenden Abschnitten beschriebenen Annealingund adaptiven Penalty-Funktionen veränderlich in Abhägigkeit von der aktuellen Generation und zählen daher auch zu den dynamischen Penalty-Funktionen. Die zu Grunde liegenden Prinzipien legen jedoch eine weitere Einteilung nahe. Das Grundprinzip der dynamischen Penalty-Funktionen lässt sich folgendermaßen beschreiben: f(x) = f(x) + V (t) m G i(x) (25) wobei V (t) eine monoton steigende Funktion ist, G i(x) misst die Verletzung der Restriktion i und m ist die Anzahl der Restriktionen 6. Die Bestrafung ungültiger Lösungen steigt im Verlauf des Algorithmus. Annealing Penalty-Funktionen basieren auf der Idee, mit einer,,externen Funktion den Selektionsdruck auf ungültige Individuen zu erhöhen. Die Idee der Benutzung eines Kühlschemas ist dieselbe wie bei der Methode Simulated Annealing. Der Aufbau einer Annealing Penalty-Funktion ist im Prinzip derselbe wie bei den dynamischen Penalty-Funktionen: f(x) = f(x) + 1 τ m G i(x) (26) Dabei repräsentiert τ ein geeignetes Kühlschema. Während Annealing Penalty-Funktionen ein festes Temperaturschema zur Festlegung der Bestrafung verwenden, passen adaptive Penalty-Funktionen die Bestrafung auf Grund von Informationen aus dem Suchprozess an, z.b. von Bean und Hadj-Alouane [1] Das hierbei zu Grunde liegende Prinzip ist, dass die Bestrafung verringert wird wenn die besten Individuen der letzten Generationen gültig waren. Hierbei wird wieder die Idee aufgegriffen, dass geringere Bestrafungen eine Suche im ungültigen Bereich ermöglichen. Im Gegensatz dazu sollen hohe Bestrafungen eine Population, die sich im Wesentlichen im ungültigen Bereich bewegt, wieder zurück in den gültigen Bereich zwingen. Decoder Decoder stellen eine Beziehung zwischen dem gültigen Bereich eines restringierten Problemraums und einem konstruierten einfacheren Problemraum her. Die von Decodern verwendete Datenstruktur kodiert ein Individuum nicht direkt, sondern über eine Abbildung T. Das Originalproblem wird also mit Hilfe einer Decoder- Funktion in ein topologisch äquivalentes Problem transformiert, das vom EA einfacher optimiert werden kann. Wichtig für einen Decoder ist die Erfüllung folgender Bedingungen [16]: Für jede gültige Lösung s F muss eine kodierte Lösung d existieren. Jede kodierte Lösung d gehört zu einer gültigen Lösung s. Alle gültigen Lösungen sollten durch die gleiche Anzahl kodierter Lösungen repräsentiert sein. Zusätzlich ist es nützlich, wenn folgende Bedingungen erfüllt werden: Die Transformation T sollte schnell zu berechnen sein. Lokalitätsbedingung: Kleine Änderungen in der kodierten Lösung entsprechen kleinen Änderungen in der Lösung selbst. Für kontinuierliche Problemräume existiert ein Decoder, der eine 1:1 Abbildung eines beliebigen konvexen gültigen Suchraums F 6 G i (x) wurde in Abschnitt 6.1 definiert und wird in diesem Kapitel des öfteren als Maß für die Restriktionsverletzung verwendet. auf einen n-dimensionalen [ 1, 1] n -Hyperwürfel darstellt. Ausgehend von einem Referenzpunkt r 0 im konvexen Suchraum wird jeder beliebige gültige Punkt x 0 F mit Hilfe eines Punktes y 0 = (y 0,1,..., y 0,n) im n-dimensionalen Hyperwürfel beschrieben [14]. Die vorgestellte Decoder-Methode benötigt keine weiteren Parameter oder modifizierte Operatoren. Reparatur-Algorithmen Reparatur-Algorithmen (RA) haben den Zweck, ungültige Individuen zu reparieren. Reparierte Individuen ersetzen ihre ungültigen Entsprechungen oder werden nur zu ihrer Bewertung benutzt. Zum Einsatz kommen Reparatur-Algorithmen vor allem bei kombinatorischen Optimierproblemen, es gibt allerdings auch RA für numerische Optimierprobleme. Es existieren keine Standard-Heuristiken zum Design von RA. Bei kombinatorischen Optimierproblemen kommen häufig Greedy-Algorithmen zum Einsatz, welche die Entscheidung für eine gültige Lösung mit dem größten Fitness-Zuwachs treffen. Statt Greedy-Algorithmen können auch Zufalls-Algorithmen oder andere Heuristiken verwendet werden. Michalewicz und Xiao [15] haben beispielsweise eine effiziente Heuristik zur Berechnung einer kollisionsfreien Route bei Roboter- Navigation entwickelt und reparieren mit Hilfe dieser Heuristik entstandene ungültige Lösungen. Mehrzieloptimierung Werden die Funktionen G i, 1 i m, die die Restriktionsverletzungen eines Optimierproblems messen, als weitere Zielfunktionen betrachtet, so kann das Problem als multikriterielles Optimierproblem mit m + 1 Zielfunktionen betrachtet werden, m sei die Anzahl der Restriktionsfunktionen. Prinzipiell kann nun jede multikriterielle Optimiermethode eingesetzt werden, um das Problem v = (f(x), G 1(x),..., G m(x)) (27) für die Restriktionen g 1(x),..., g m(x) zu lösen. Für eine optimale Lösung x gilt nun G i(x) = 0 für i = 1,..., m und f(x) f(y) für jedes gültige Individuum y. 7 Memetische Algorithmen In den letzten Abschnitten wurden verschiedene Formen evolutionärer Algorithmen vorgestellt. Eine weitere Klasse evolutionärer Algorithmen entsteht durch Hybridisierung mit anderen Verfahren. Sind EAs in irgendeiner Form durch heuristische Komponenten wie lokale Suche erweitert worden oder beinhalten andere sogenannte informierte Komponenten, spricht man von memetischen Algorithmen. Evolutionäre Verfahren arbeiten nach dem Prinzip Modifiziere vorhandene Lösungen und wähle die besten als neuen Ausgangspunkt. Dieses Prinzip kann nun unspezifisch und problemunangepasst realisiert werden, was EAs universell einsetzbar macht. Um einen Effizienz und ggf. Qualitätsvorteil der Lösung zu erreichen, kann der EA problemspezifisch angepasst werden. Für den Fall, dass für einige Problemstellungen leistungsfähige Heuristiken bereit stehen, ist die Hybridisierung eines EAs mit diesen Komponenten natürlich von Vorteil gegenüber der gänzlich uninformierten Suche. Memetische Komponenten können an verschiedenen Stellen eines EAs zum Einsatz kommen. Schon die Initialisierung kann mit bereits informierten statt vollständig randomisierten Lösungen erfolgen. Typisch ist auch der Einsatz lokaler Suche. Dabei werden evolvierte Individuen nochmals einer Strukturveränderung unterzogen, indem lokale Suchverfahren die Lösungsraumumgebung des Individuums nach einer noch besseren Lösung absuchen. Die Anpassung der Operatoren Mutation und Rekombination, die die

12 Suche informiert in bestimmte Richtungen steuern fällt ebenfalls in die Klasse der memetischen Algorithmen. 8 Partikelschwarmoptimierung In der Natur existieren erfolgreiche Systeme, in denen sich viele verhältnismäßig primitive Lebewesen zu einer Gruppe zusammenschließen, um gemeinsam rational zu handeln. Diese Form kollektiven und koordinierten Handelns wird als Schwarm-Intelligenz bezeichnet. Der Nachteil der einfachen Fähigkeiten der Schwarmteilnehmer wird durch ihre große Anzahl und die dadurch erreichte massive Parallelität ausgeglichen. Auf emergente Weise wird für das Gesamtsystem zielgerichtetes Handeln ermöglicht. Die Umwelt wird dabei gewissemaßen als externes Gedächtnis benutzt. Ein berühmtes und jedem bekanntes Beispiel ist das zielvolle Handeln von Ameisenkolonien. Ameisen sind relativ primitive Lebewesen, die über Pheromone als Orts- und Zeit-Markierungen kommunizieren. Auch hier wird die Umwelt über die Pheromonspuren als Gedächtnis verwendet. Sie sind zu erstaunlichen Leistungen fähig, z.b. dem Bau von einige Meter großen Termitenbauten. Die Objekte oder Lebewesen, aus denen der Schwarm besteht, sollten wegen ihrer Einfachheit und geringen Fähigkeiten nicht als Agenten bezeichnet werden. Der Begriff Agent trifft eher auf Systeme zu, die über komplexere Struktur und Fähigkeiten verfügen, um ihr Ziel mit einem höheren Grad an Autonomie zu erreichen. Natürlich ist diese Differenzierung schwammig und nicht klarer spezifizierbar, jedoch über die genannten Eigenschaften zu einem gewissen Grad spezifizierbar. Mit Stigmergy wird das Prinzip bezeichnet, dass die Partikel des Schwarms auf Grund des Zusammenspiels ihrer Fähigkeiten ein insgesamt intelligentes Verhalten vollbringen. Man spricht in diesem Zusammenhang auch von Emergenz. In diesem Abschnitt wird der Partikelschwarmoptimierungs-Algorithmus (PSO) für kontinuierliche Suchräume eingeführt. 8.1 Der Grundalgorithmus Kennedy und Eberhart [] haben 1995 einen Algorithmus vorgeschlagen, der als Partikelschwarmoptimierung (PSOA - particle swarm optimization algorithm) bezeichnet wird. Dabei handelt es sich um eine Optimierheuristik für kontinuierliche Suchräume, in denen eine Lösung als Partikel aufgefasst wird. Die Position x im Suchraum repräsentiert die Position des Partikels. Neben der Position besitzt jeder Partikel i eine Geschwindigkeit v i. In jedem Iterationsschritt t + 1 des PSO-Algorithmus wird die Partikelposition x i t+1 erneuert, indem die Geschwindigkeit v i t+1 zur alten Partikelposition addiert wird: x i t+1 = x i t + v i t+1 Der Kern des Verfahrens liegt nun im Update der Geschwindigkeit eines Partikels. Die Idee ist dabei, dass sich die Geschwindigkeit zum einen aus der alten Geschwindigkeit v i t ergibt, zum anderen aus Informationen, die der Partikel im Laufe seiner eigenen Geschichte erworben hat sowie aus Informationen, die der ganze Schwarm während des Suchprozesses erworben hat. Diese Historie- Information besteht lediglich aus der Position p i, an dem der Partikel im Laufe seines Lebens die beste Fitness im Suchraum entdeckt hat, sowie der Position p g, an der die global beste Fitness des Schwarms im bisherigen Optimierprozess gefunden wurde, d.h. aller Partikel im Laufe aller Iterationsschritte. Die beiden Differenzen zwischen beiden besten Positionswerten und der letzten Position des Partikels wird also zur Geschwindigkeitsänderung hinzuaddiert: v i t+1 = v i t + c 1r 1(p i t x i t + c 2r 2(p g t x i t)) Hierbei stellen c 1r 1 und c 2r 2 Gewichtungen dar, die die Tendenz des Partikels beschreiben, sich individuell eher nach seiner eigenen Historie oder sozial nach der Historie des Schwarms zu richten. Die Werte r 1 und r 2 werden in der Regel zufällig gleichverteilt im Intervall [0, 1] erzeugt. Die Parameter c 1 und c 2 können beliebig gewählt werden. Kennedy und Eberhart schlagen c 1 = c 2 = 2 vor, um einen Durchschnitt von 1 bei der Multiplikation mit den beiden Zufallswerten zu erreichen. 1 Start 2 t:=0; 3 Initialisiere PSO-Parameter und Partikel; 4 Repeat 5 For To k Do 6 Update von p i t und p g t 7 Update von Geschwindigkeit v i 8 Update von Position x i 9 Berechne Fitness von i 10 Next 11 t := t + 1; 12 Until Abbruchbedingung 13 End Figure Erweiterungen Der Ablauf des PSO-Algorithmus. Es existieren viele Erweiterung des ursprünglichen PSO- Algorithmus, z.b. die Nachbarschaft betreffend, aus der der Partikel die soziale Komponente seines Geschwindigkeitsupdates ermittel. Hierzu kann auch nur eine kleine Gruppe von Partikeln verwendet werden, statt des gesamten Schwarms. Shi und Eberhart schlugen einen Trägheits-Parameter w für die Geschwindigkeit vor, der zwischen 0.8 < w < 1.4 liegen soll und zu besserten Konvergenzergebnissen führt, wenn er während des Optimierprozesses linear gesenkt wird. v i t+1(t) = wv i t + c 1r 1(p i t x i t + c 2r 2(p g t x i t)) Dieser Trägheitsterm bewirkt, dass sich die Geschwindigkeit zum einen Teil aus der Geschwindigkeit der vorherigen Iteration, zum anderen Teil aus der ursprünglichen Änderung zusammensetzt. 9 Zusammenfassung In diesem Skript wurde versucht, die wichtigsten Konzepte evolutionärer Algorithmen, einem Teilgebiet der Computational Intelligence, verständlich darzustellen. Neben der Darstellung der verschiedenen Varianten evolutionärer Verfahren wurde auf Parametersteuerung, Restriktionsbehandlung und Partikelschwarmoptimierung näher eingegangen. In Zukunft wird das Skript stets Erweiterungen und Verbesserungen unterworfen sein. Für Anmerkungen und Anregungen diesbezüglich wird um Kontaktaufnahme mit dem Autor per (okramer@upb.de) gebeten.

13 A EA Testfunktionen A.1 Unimodale Funktionen A.1.1 Das Kugelmodell Minimiere n F(x) = x 2 i (28) Minimum x = (0,..., 0) T, mit F(x ) = 0. (29) Fitness g(x,y) A.1.2 Die gewichtete Kugelfunktion Minimiere n F(x) = (i x 2 i) (30) Minimum x = (0,..., 0) T, mit F(x ) = 0. (31) A.1.3 Doppelsumme Minimiere n i F(x) = ( (x j)) 2 (32) j=1 Minimum x = (0,..., 0) T, mit F(x ) = 0. (33) A.2 Multimodale Probleme A.2.1 Kursawes Funktion Minimiere n F(x) = ( x i (x i) ) (34) Minimum x = (0,..., 0) T, mit F(x ) = 0. (35) A.3 Restringierte Probleme A.3.1 Tangentenproblem Minimiere n F(x) = x 2 i (n-dim. Kugelmodell) (36) Restriktionen n g(x) = x i + t > 0, t IR (Tangente) (37) Für n=k und t=k liegt das Minimum bei: x = (1,..., 1) T, mit F(x ) = k. (38) x Figure 8. Das Problem TR2 für t=2 in dreidimensionaler Darstellung mit Fitness. Das Optimum liegt an der tiefsten Stelle des Tals (1,1). Die Ebene links davon stellt den ungültigen Lösungsraum dar. A.3.2 Schwefels Problem 2.40 Minimiere f(x) = 5 Constraints x j 0, for j = 1,..., 5 g j(x) = 5 (9 + i)x i , for j = 6 Minimum g 2 bis g 6 aktiv. Abbildungsverzeichnis x i x = (5000, 0, 0, 0, 0) T f(x ) = Computational Intelligence als Überbegriff für eine Reihe subsymbolischer Methoden Der Ablauf eines allgemeinen evolutionären Algorithmus Pseudocode einer (µ/ρ +, λ)-es Vergleich verschiedener Mutationsoperatoren: (a) Mutation mit nur einer Schrittweite, (b) mit N Schrittweiten, (c) korrelierte Mutation, (d) asymmetrische Mutation und (e) gerichtet Mutation durch Verschiebung des Ellipsoiden Beispiel für die Anwendung des Crossover- Operators bei GP in Baumrepräsentation Ablauf eines metaevolutionären Algorithmus Der Ablauf des PSO-Algorithmus Das Problem TR2 für t=2 in dreidimensionaler Darstellung mit Fitness. Das Optimum liegt an der tiefsten Stelle des Tals (1,1). Die Ebene links davon stellt den ungültigen Lösungsraum dar x2 100

14 Literatur [1] James C. Bean and Atidel Ben Hadj-Alouane, A Dual Genetic Algorithm for Bounded Integer Programs, Technical Report TR 92-53, Department of Industrial and Operations Engineering, The University of Michigan, (1992). To appear in R.A.I.R.O.-R.O. (invited submission to special issue on GAs and OR). [2] H.-G. Beyer, An alternative explanation for the manner in which genetic algorihms operate, BioSystems, 41, 1 15, (1997). [3] Hans-Georg Beyer and Hans-Paul Schwefel, Evolution strategies A comprehensive introduction, Natural Computing, 1, 3 52, (2002). [4] Carlos A. Coello Coello, Use of a Self-Adaptive Penalty Approach for Engineering Optimization Problems, Computers in Industry, 41(2), , (Januar 2000). [5] Carlos A. Coello Coello, Theoretical and Numerical Constraint Handling Techniques used with Evolutionary Algorithms: A Survey of the State of the Art, Computer Methods in Applied Mechanics and Engineering, 191(11-12), , (Januar 2002). [6] A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing, Natural Computing Series, Springer, [7] D.B. Fogel, Artificial Intelligence through Simulated Evolution, Wiley, New York, [8] D.B. Fogel, Evolving Artificial Intelligence, Ph.D. dissertation, [9] D.E. Goldberg, Genetic Algorithms in Search, Optimization and Machine Learning, Addison-Wesley, Reading, MA, [10] J.H. Holland, Adaptation in Natural and Artificial Systems, University of Michigan Press, Ann Arbor, [11] J.H. Holland, Hidden Order: How Adaptation Builds Complexity, Addison-Wesley, Reading, MA, [12] J.R. Koza, Genetic Programming: On the Programming of Computers by Means of Natural Selection, Complex Adaptive Systems, MIT Press, Cambridge, [13] F. Kursawe, Grundlegende empirische Untersuchungen der Parameter von Evolutionsstrategien - Metastrategien, Ph.D. dissertation, Universität Dortmund, Fachbereich Informatik, [14] Michalewicz and David B. Fogel, How to Solve It: Modern Heuristics, Springer-Verlag, [15] Zbigniew Michalewicz and Jing Xiao, Evaluation of Paths in Evolutionary Planner/Navigator, in Proceedings of the 1995 International Workshop on Biologically Inspired Evolutionary Systems, pp , Tokyo, Japan, (Mai 1995). [16] Charles C. Palmer and Aaron Kershenbaum, Representing Trees in Genetic Algorithms, in Proceedings of the First IEEE Conference on Evolutionary Computation, eds., Z. Michalewicz, J. D. Schaffer, H.-P. Schwefel, D. B. Fogel, and H. Kitano, pp , Piscataway, New Jersey, (1994). IEEE Press. [17] I. Rechenberg, Evolutionsstrategie: Optimierung technischer Systeme nach Prinzipien der biologischen Evolution, Frommann-Holzboog, Stuttgart, [18] I. Rechenberg, Evolutionsstrategie 94, Frommann-Holzboog, Stuttgart, [19] H.-P. Schwefel, Numerische Optimierung von Computer-Modellen mittel der Evolutionsstrategie, Birkhäuser, Basel, [20] Hans-Paul Schwefel, Adaptive Mechanismen in der biologischen Evolution und ihr Einfluss auf die Evolutionsgeschwindigkeit, Interner Bericht der Arbeitsgruppe Bionik und Evolutionstechnik am Institut für Mess- und Regelungstechnik Re 215/3, Technische Universität Berlin, (Juli 1974). [21] Hans-Paul Schwefel, Evolution and Optimum Seeking, Sixth- Generation Computer Technology, Wiley Interscience, New York, [22] Jens Ziegler, Evolution von Laufrobotersteuerungen mit Genetischer Programmierung, Ph.D. dissertation, Universität Dortmund, 2003.

Primzahlen und RSA-Verschlüsselung

Primzahlen und RSA-Verschlüsselung Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also

Mehr

1 Mathematische Grundlagen

1 Mathematische Grundlagen Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

Kompetitive Analysen von Online-Algorithmen

Kompetitive Analysen von Online-Algorithmen Kompetitive Analysen von Online-Algorithmen jonas echterhoff 16. Juli 004 1 Einführung 1.1 Terminologie Online-Algorithmen sind Algorithmen, die Probleme lösen sollen, bei denen Entscheidungen getroffen

Mehr

Grundlagen der Theoretischen Informatik, SoSe 2008

Grundlagen der Theoretischen Informatik, SoSe 2008 1. Aufgabenblatt zur Vorlesung Grundlagen der Theoretischen Informatik, SoSe 2008 (Dr. Frank Hoffmann) Lösung von Manuel Jain und Benjamin Bortfeldt Aufgabe 2 Zustandsdiagramme (6 Punkte, wird korrigiert)

Mehr

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte 50. Mathematik-Olympiade. Stufe (Regionalrunde) Klasse 3 Lösungen c 00 Aufgabenausschuss des Mathematik-Olympiaden e.v. www.mathematik-olympiaden.de. Alle Rechte vorbehalten. 503 Lösung 0 Punkte Es seien

Mehr

Plotten von Linien ( nach Jack Bresenham, 1962 )

Plotten von Linien ( nach Jack Bresenham, 1962 ) Plotten von Linien ( nach Jack Bresenham, 1962 ) Ac Eine auf dem Bildschirm darzustellende Linie sieht treppenförmig aus, weil der Computer Linien aus einzelnen (meist quadratischen) Bildpunkten, Pixels

Mehr

1 Einleitung. 1.1 Motivation und Zielsetzung der Untersuchung

1 Einleitung. 1.1 Motivation und Zielsetzung der Untersuchung 1 Einleitung 1.1 Motivation und Zielsetzung der Untersuchung Obgleich Tourenplanungsprobleme zu den am häufigsten untersuchten Problemstellungen des Operations Research zählen, konzentriert sich der Großteil

Mehr

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung. Lineare Gleichungen mit einer Unbekannten Die Grundform der linearen Gleichung mit einer Unbekannten x lautet A x = a Dabei sind A, a reelle Zahlen. Die Gleichung lösen heißt, alle reellen Zahlen anzugeben,

Mehr

1 topologisches Sortieren

1 topologisches Sortieren Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung

Mehr

Güte von Tests. die Wahrscheinlichkeit für den Fehler 2. Art bei der Testentscheidung, nämlich. falsch ist. Darauf haben wir bereits im Kapitel über

Güte von Tests. die Wahrscheinlichkeit für den Fehler 2. Art bei der Testentscheidung, nämlich. falsch ist. Darauf haben wir bereits im Kapitel über Güte von s Grundlegendes zum Konzept der Güte Ableitung der Gütefunktion des Gauss im Einstichprobenproblem Grafische Darstellung der Gütefunktionen des Gauss im Einstichprobenproblem Ableitung der Gütefunktion

Mehr

4. Dynamische Optimierung

4. Dynamische Optimierung 4. Dynamische Optimierung Allgemeine Form dynamischer Optimierungsprobleme 4. Dynamische Optimierung Die dynamische Optimierung (DO) betrachtet Entscheidungsprobleme als eine Folge voneinander abhängiger

Mehr

Einführung in die Algebra

Einführung in die Algebra Prof. Dr. H. Brenner Osnabrück SS 2009 Einführung in die Algebra Vorlesung 13 Einheiten Definition 13.1. Ein Element u in einem Ring R heißt Einheit, wenn es ein Element v R gibt mit uv = vu = 1. DasElementv

Mehr

EM-Wellen. david vajda 3. Februar 2016. Zu den Physikalischen Größen innerhalb der Elektrodynamik gehören:

EM-Wellen. david vajda 3. Februar 2016. Zu den Physikalischen Größen innerhalb der Elektrodynamik gehören: david vajda 3. Februar 2016 Zu den Physikalischen Größen innerhalb der Elektrodynamik gehören: Elektrische Stromstärke I Elektrische Spannung U Elektrischer Widerstand R Ladung Q Probeladung q Zeit t Arbeit

Mehr

Behörde für Bildung und Sport Abitur 2008 Lehrermaterialien zum Leistungskurs Mathematik

Behörde für Bildung und Sport Abitur 2008 Lehrermaterialien zum Leistungskurs Mathematik Abitur 8 II. Insektenpopulation LA/AG In den Tropen legen die Weibchen einer in Deutschland unbekannten Insektenpopulation jedes Jahr kurz vor Beginn der Regenzeit jeweils 9 Eier und sterben bald darauf.

Mehr

Rundung und Casting von Zahlen

Rundung und Casting von Zahlen W E R K S T A T T Rundung und Casting von Zahlen Intrexx 7.0 1. Einleitung In diesem Werkstattbeitrag erfahren Sie, wie Zahlenwerte speziell in Velocity, aber auch in Groovy, gerundet werden können. Für

Mehr

Lineare Funktionen. 1 Proportionale Funktionen 3 1.1 Definition... 3 1.2 Eigenschaften... 3. 2 Steigungsdreieck 3

Lineare Funktionen. 1 Proportionale Funktionen 3 1.1 Definition... 3 1.2 Eigenschaften... 3. 2 Steigungsdreieck 3 Lineare Funktionen Inhaltsverzeichnis 1 Proportionale Funktionen 3 1.1 Definition............................... 3 1.2 Eigenschaften............................. 3 2 Steigungsdreieck 3 3 Lineare Funktionen

Mehr

Beweisbar sichere Verschlüsselung

Beweisbar sichere Verschlüsselung Beweisbar sichere Verschlüsselung ITS-Wahlpflichtvorlesung Dr. Bodo Möller Ruhr-Universität Bochum Horst-Görtz-Institut für IT-Sicherheit Lehrstuhl für Kommunikationssicherheit bmoeller@crypto.rub.de 6

Mehr

Optimierung für Nichtmathematiker

Optimierung für Nichtmathematiker Optimierung für Nichtmathematiker Typische Prüfungsfragen Die folgenden Fragen dienen lediglich der Orientierung und müssen nicht den tatsächlichen Prüfungsfragen entsprechen. Auch Erkenntnisse aus den

Mehr

Fuzzy Logik und Genetische Algorithmen für adaptive Prozesskontrolle

Fuzzy Logik und Genetische Algorithmen für adaptive Prozesskontrolle Fuzzy Logik und Genetische Algorithmen für adaptive Prozesskontrolle Umgang mit unsicherem Wissen VAK 03-711.08 Oliver Ahlbrecht 8. Dezember 2005 Struktur 1. Einleitung 2. Beispiel Cart-Pole 3. Warum Hybride

Mehr

Konzepte der Informatik

Konzepte der Informatik Konzepte der Informatik Vorkurs Informatik zum WS 2011/2012 26.09. - 30.09.2011 17.10. - 21.10.2011 Dr. Werner Struckmann / Christoph Peltz Stark angelehnt an Kapitel 1 aus "Abenteuer Informatik" von Jens

Mehr

Gleichungen Lösen. Ein graphischer Blick auf Gleichungen

Gleichungen Lösen. Ein graphischer Blick auf Gleichungen Gleichungen Lösen Was bedeutet es, eine Gleichung zu lösen? Was ist überhaupt eine Gleichung? Eine Gleichung ist, grundsätzlich eine Aussage über zwei mathematische Terme, dass sie gleich sind. Ein Term

Mehr

Einführung in. Logische Schaltungen

Einführung in. Logische Schaltungen Einführung in Logische Schaltungen 1/7 Inhaltsverzeichnis 1. Einführung 1. Was sind logische Schaltungen 2. Grundlegende Elemente 3. Weitere Elemente 4. Beispiel einer logischen Schaltung 2. Notation von

Mehr

PTV VISWALK TIPPS UND TRICKS PTV VISWALK TIPPS UND TRICKS: VERWENDUNG DICHTEBASIERTER TEILROUTEN

PTV VISWALK TIPPS UND TRICKS PTV VISWALK TIPPS UND TRICKS: VERWENDUNG DICHTEBASIERTER TEILROUTEN PTV VISWALK TIPPS UND TRICKS PTV VISWALK TIPPS UND TRICKS: VERWENDUNG DICHTEBASIERTER TEILROUTEN Karlsruhe, April 2015 Verwendung dichte-basierter Teilrouten Stellen Sie sich vor, in einem belebten Gebäude,

Mehr

6.2 Scan-Konvertierung (Scan Conversion)

6.2 Scan-Konvertierung (Scan Conversion) 6.2 Scan-Konvertierung (Scan Conversion) Scan-Konvertierung ist die Rasterung von einfachen Objekten (Geraden, Kreisen, Kurven). Als Ausgabemedium dient meist der Bildschirm, der aus einem Pixelraster

Mehr

1.3 Die Beurteilung von Testleistungen

1.3 Die Beurteilung von Testleistungen 1.3 Die Beurteilung von Testleistungen Um das Testergebnis einer Vp zu interpretieren und daraus diagnostische Urteile ableiten zu können, benötigen wir einen Vergleichsmaßstab. Im Falle des klassischen

Mehr

R ist freie Software und kann von der Website. www.r-project.org

R ist freie Software und kann von der Website. www.r-project.org R R ist freie Software und kann von der Website heruntergeladen werden. www.r-project.org Nach dem Herunterladen und der Installation von R kann man R durch Doppelklicken auf das R-Symbol starten. R wird

Mehr

Grundlagen und Basisalgorithmus

Grundlagen und Basisalgorithmus Grundlagen und Basisalgorithmus Proseminar -Genetische Programmierung- Dezember 2001 David König Quelle: Kinnebrock W.: Optimierung mit genetischen und selektiven Algorithmen. München, Wien: Oldenbourg

Mehr

LU-Zerlegung. Zusätze zum Gelben Rechenbuch. Peter Furlan. Verlag Martina Furlan. Inhaltsverzeichnis. 1 Definitionen.

LU-Zerlegung. Zusätze zum Gelben Rechenbuch. Peter Furlan. Verlag Martina Furlan. Inhaltsverzeichnis. 1 Definitionen. Zusätze zum Gelben Rechenbuch LU-Zerlegung Peter Furlan Verlag Martina Furlan Inhaltsverzeichnis Definitionen 2 (Allgemeine) LU-Zerlegung 2 3 Vereinfachte LU-Zerlegung 3 4 Lösung eines linearen Gleichungssystems

Mehr

4. Versicherungsangebot

4. Versicherungsangebot 4. Versicherungsangebot Georg Nöldeke Wirtschaftswissenschaftliche Fakultät, Universität Basel Versicherungsökonomie (FS 11) Versicherungsangebot 1 / 13 1. Einleitung 1.1 Hintergrund In einem grossen Teil

Mehr

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Zählen und Zahlbereiche Übungsblatt 1 1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Für alle m, n N gilt m + n = n + m. in den Satz umschreiben:

Mehr

13. Lineare DGL höherer Ordnung. Eine DGL heißt von n-ter Ordnung, wenn Ableitungen y, y, y,... bis zur n-ten Ableitung y (n) darin vorkommen.

13. Lineare DGL höherer Ordnung. Eine DGL heißt von n-ter Ordnung, wenn Ableitungen y, y, y,... bis zur n-ten Ableitung y (n) darin vorkommen. 13. Lineare DGL höherer Ordnung. Eine DGL heißt von n-ter Ordnung, wenn Ableitungen y, y, y,... bis zur n-ten Ableitung y (n) darin vorkommen. Sie heißt linear, wenn sie die Form y (n) + a n 1 y (n 1)

Mehr

Lineare Gleichungssysteme

Lineare Gleichungssysteme Brückenkurs Mathematik TU Dresden 2015 Lineare Gleichungssysteme Schwerpunkte: Modellbildung geometrische Interpretation Lösungsmethoden Prof. Dr. F. Schuricht TU Dresden, Fachbereich Mathematik auf der

Mehr

Die reellen Lösungen der kubischen Gleichung

Die reellen Lösungen der kubischen Gleichung Die reellen Lösungen der kubischen Gleichung Klaus-R. Löffler Inhaltsverzeichnis 1 Einfach zu behandelnde Sonderfälle 1 2 Die ganzrationale Funktion dritten Grades 2 2.1 Reduktion...........................................

Mehr

Access [basics] Gruppierungen in Abfragen. Beispieldatenbank. Abfragen gruppieren. Artikel pro Kategorie zählen

Access [basics] Gruppierungen in Abfragen. Beispieldatenbank. Abfragen gruppieren. Artikel pro Kategorie zählen Abfragen lassen sich längst nicht nur dazu benutzen, die gewünschten Felder oder Datensätze einer oder mehrerer Tabellen darzustellen. Sie können Daten auch nach bestimmten Kriterien zu Gruppen zusammenfassen

Mehr

Mathematischer Vorbereitungskurs für Ökonomen

Mathematischer Vorbereitungskurs für Ökonomen Mathematischer Vorbereitungskurs für Ökonomen Dr. Thomas Zehrt Wirtschaftswissenschaftliches Zentrum Universität Basel Gleichungen Inhalt: 1. Grundlegendes 2. Lineare Gleichungen 3. Gleichungen mit Brüchen

Mehr

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss Systeme 1 Kapitel 6 Nebenläufigkeit und wechselseitiger Ausschluss Threads Die Adressräume verschiedener Prozesse sind getrennt und geschützt gegen den Zugriff anderer Prozesse. Threads sind leichtgewichtige

Mehr

OECD Programme for International Student Assessment PISA 2000. Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

OECD Programme for International Student Assessment PISA 2000. Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland OECD Programme for International Student Assessment Deutschland PISA 2000 Lösungen der Beispielaufgaben aus dem Mathematiktest Beispielaufgaben PISA-Hauptstudie 2000 Seite 3 UNIT ÄPFEL Beispielaufgaben

Mehr

Leseprobe. Wilhelm Kleppmann. Versuchsplanung. Produkte und Prozesse optimieren ISBN: 978-3-446-42033-5. Weitere Informationen oder Bestellungen unter

Leseprobe. Wilhelm Kleppmann. Versuchsplanung. Produkte und Prozesse optimieren ISBN: 978-3-446-42033-5. Weitere Informationen oder Bestellungen unter Leseprobe Wilhelm Kleppmann Versuchsplanung Produkte und Prozesse optimieren ISBN: -3-44-4033-5 Weitere Informationen oder Bestellungen unter http://www.hanser.de/-3-44-4033-5 sowie im Buchhandel. Carl

Mehr

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders

Mehr

GEVITAS Farben-Reaktionstest

GEVITAS Farben-Reaktionstest GEVITAS Farben-Reaktionstest GEVITAS Farben-Reaktionstest Inhalt 1. Allgemeines... 1 2. Funktionsweise der Tests... 2 3. Die Ruhetaste und die Auslösetaste... 2 4. Starten der App Hauptmenü... 3 5. Auswahl

Mehr

Im Jahr t = 0 hat eine Stadt 10.000 Einwohner. Nach 15 Jahren hat sich die Einwohnerzahl verdoppelt. z(t) = at + b

Im Jahr t = 0 hat eine Stadt 10.000 Einwohner. Nach 15 Jahren hat sich die Einwohnerzahl verdoppelt. z(t) = at + b Aufgabe 1: Im Jahr t = 0 hat eine Stadt 10.000 Einwohner. Nach 15 Jahren hat sich die Einwohnerzahl verdoppelt. (a) Nehmen Sie lineares Wachstum gemäß z(t) = at + b an, wobei z die Einwohnerzahl ist und

Mehr

7 Rechnen mit Polynomen

7 Rechnen mit Polynomen 7 Rechnen mit Polynomen Zu Polynomfunktionen Satz. Zwei Polynomfunktionen und f : R R, x a n x n + a n 1 x n 1 + a 1 x + a 0 g : R R, x b n x n + b n 1 x n 1 + b 1 x + b 0 sind genau dann gleich, wenn

Mehr

QM: Prüfen -1- KN16.08.2010

QM: Prüfen -1- KN16.08.2010 QM: Prüfen -1- KN16.08.2010 2.4 Prüfen 2.4.1 Begriffe, Definitionen Ein wesentlicher Bestandteil der Qualitätssicherung ist das Prüfen. Sie wird aber nicht wie früher nach der Fertigung durch einen Prüfer,

Mehr

Algorithmen und Datenstrukturen. Große Übung vom 29.10.09 Nils Schweer

Algorithmen und Datenstrukturen. Große Übung vom 29.10.09 Nils Schweer Algorithmen und Datenstrukturen Große Übung vom 29.10.09 Nils Schweer Diese Folien Braucht man nicht abzuschreiben Stehen im Netz unter www.ibr.cs.tu-bs.de/courses/ws0910/aud/index.html Kleine Übungen

Mehr

Mobile Intranet in Unternehmen

Mobile Intranet in Unternehmen Mobile Intranet in Unternehmen Ergebnisse einer Umfrage unter Intranet Verantwortlichen aexea GmbH - communication. content. consulting Augustenstraße 15 70178 Stuttgart Tel: 0711 87035490 Mobile Intranet

Mehr

Gutes Leben was ist das?

Gutes Leben was ist das? Lukas Bayer Jahrgangsstufe 12 Im Hirschgarten 1 67435 Neustadt Kurfürst-Ruprecht-Gymnasium Landwehrstraße22 67433 Neustadt a. d. Weinstraße Gutes Leben was ist das? Gutes Leben für alle was genau ist das

Mehr

Die Optimalität von Randomisationstests

Die Optimalität von Randomisationstests Die Optimalität von Randomisationstests Diplomarbeit Elena Regourd Mathematisches Institut der Heinrich-Heine-Universität Düsseldorf Düsseldorf im Dezember 2001 Betreuung: Prof. Dr. A. Janssen Inhaltsverzeichnis

Mehr

Zwischenablage (Bilder, Texte,...)

Zwischenablage (Bilder, Texte,...) Zwischenablage was ist das? Informationen über. die Bedeutung der Windows-Zwischenablage Kopieren und Einfügen mit der Zwischenablage Vermeiden von Fehlern beim Arbeiten mit der Zwischenablage Bei diesen

Mehr

Grundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen

Grundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen Grundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen 1. Quadratische Gleichungen Quadratische Gleichungen lassen sich immer auf die sog. normierte Form x 2 + px + = 0 bringen, in

Mehr

Enigmail Konfiguration

Enigmail Konfiguration Enigmail Konfiguration 11.06.2006 Steffen.Teubner@Arcor.de Enigmail ist in der Grundkonfiguration so eingestellt, dass alles funktioniert ohne weitere Einstellungen vornehmen zu müssen. Für alle, die es

Mehr

Erwin Grüner 09.02.2006

Erwin Grüner 09.02.2006 FB Psychologie Uni Marburg 09.02.2006 Themenübersicht Folgende Befehle stehen in R zur Verfügung: {}: Anweisungsblock if: Bedingte Anweisung switch: Fallunterscheidung repeat-schleife while-schleife for-schleife

Mehr

RS-Flip Flop, D-Flip Flop, J-K-Flip Flop, Zählschaltungen

RS-Flip Flop, D-Flip Flop, J-K-Flip Flop, Zählschaltungen Elektronik Praktikum / Digitaler Teil Name: Jens Wiechula, Philipp Fischer Leitung: Prof. Dr. U. Lynen Protokoll: Philipp Fischer Versuch: 3 Datum: 24.06.01 RS-Flip Flop, D-Flip Flop, J-K-Flip Flop, Zählschaltungen

Mehr

4 Aufzählungen und Listen erstellen

4 Aufzählungen und Listen erstellen 4 4 Aufzählungen und Listen erstellen Beim Strukturieren von Dokumenten und Inhalten stellen Listen und Aufzählungen wichtige Werkzeuge dar. Mit ihnen lässt sich so ziemlich alles sortieren, was auf einer

Mehr

Stackelberg Scheduling Strategien

Stackelberg Scheduling Strategien Stackelberg Scheduling Strategien Von Tim Roughgarden Präsentiert von Matthias Ernst Inhaltsübersicht Einleitung Vorbetrachtungen Stackelberg Strategien Ergebnisse Seminar Algorithmische Spieltheorie:

Mehr

Künstliche Intelligenz Maschinelles Lernen

Künstliche Intelligenz Maschinelles Lernen Künstliche Intelligenz Maschinelles Lernen Stephan Schwiebert Sommersemester 2009 Sprachliche Informationsverarbeitung Institut für Linguistik Universität zu Köln Maschinelles Lernen Überwachtes Lernen

Mehr

Data Mining: Einige Grundlagen aus der Stochastik

Data Mining: Einige Grundlagen aus der Stochastik Data Mining: Einige Grundlagen aus der Stochastik Hagen Knaf Studiengang Angewandte Mathematik Hochschule RheinMain 21. Oktober 2015 Vorwort Das vorliegende Skript enthält eine Zusammenfassung verschiedener

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 15: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/25 Was kann man mit endlichen

Mehr

Quadratische Gleichungen

Quadratische Gleichungen Quadratische Gleichungen Aufgabe: Versuche eine Lösung zu den folgenden Zahlenrätseln zu finden:.) Verdoppelt man das Quadrat einer Zahl und addiert, so erhält man 00..) Addiert man zum Quadrat einer Zahl

Mehr

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!. 040304 Übung 9a Analysis, Abschnitt 4, Folie 8 Die Wahrscheinlichkeit, dass bei n - maliger Durchführung eines Zufallexperiments ein Ereignis A ( mit Wahrscheinlichkeit p p ( A ) ) für eine beliebige Anzahl

Mehr

Energetische Klassen von Gebäuden

Energetische Klassen von Gebäuden Energetische Klassen von Gebäuden Grundsätzlich gibt es Neubauten und Bestandsgebäude. Diese Definition ist immer aktuell. Aber auch ein heutiger Neubau ist in drei (oder vielleicht erst zehn?) Jahren

Mehr

Statistik I für Betriebswirte Vorlesung 11

Statistik I für Betriebswirte Vorlesung 11 Statistik I für Betriebswirte Vorlesung 11 Prof. Dr. Hans-Jörg Starkloff TU Bergakademie Freiberg Institut für Stochastik 22. Juni 2012 Prof. Dr. Hans-Jörg Starkloff Statistik I für Betriebswirte Vorlesung

Mehr

PROSEMINAR ONLINE ALGORITHMEN

PROSEMINAR ONLINE ALGORITHMEN PROSEMINAR ONLINE ALGORITHMEN im Wintersemester 2000/2001 Prof. Dr. Rolf Klein, Dr. Elmar Langetepe, Dipl. Inform. Thomas Kamphans (Betreuer) Vortrag vom 15.11.2000 von Jan Schmitt Thema : Finden eines

Mehr

Corporate Actions in epoca

Corporate Actions in epoca in epoca Einführung Die können in Bezug auf die Buchhaltung zu den komplexesten und anspruchsvollsten Transaktionen gehören. Sie können den Transfer eines Teils oder des ganzen Buchwerts einer Position

Mehr

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: VBA Programmierung mit Excel Schleifen 1/6 Erweiterung der Aufgabe Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: Es müssen also 11 (B L) x 35 = 385 Zellen berücksichtigt

Mehr

Informationen zum neuen Studmail häufige Fragen

Informationen zum neuen Studmail häufige Fragen 1 Stand: 15.01.2013 Informationen zum neuen Studmail häufige Fragen (Dokument wird bei Bedarf laufend erweitert) Problem: Einloggen funktioniert, aber der Browser lädt dann ewig und zeigt nichts an Lösung:

Mehr

Computational Intelligence

Computational Intelligence Vorlesung Computational Intelligence Stefan Berlik Raum H-C 80 Tel: 027/70-267 email: berlik@informatik.uni-siegen.de Inhalt Überblick Rückblick Optimierungsprobleme Optimierungsalgorithmen Vorlesung Computational

Mehr

S/W mit PhotoLine. Inhaltsverzeichnis. PhotoLine

S/W mit PhotoLine. Inhaltsverzeichnis. PhotoLine PhotoLine S/W mit PhotoLine Erstellt mit Version 16.11 Ich liebe Schwarzweiß-Bilder und schaue mir neidisch die Meisterwerke an, die andere Fotografen zustande bringen. Schon lange versuche ich, auch so

Mehr

Lineare Differentialgleichungen erster Ordnung erkennen

Lineare Differentialgleichungen erster Ordnung erkennen Lineare Differentialgleichungen erster Ordnung In diesem Kapitel... Erkennen, wie Differentialgleichungen erster Ordnung aussehen en für Differentialgleichungen erster Ordnung und ohne -Terme finden Die

Mehr

TECHNISCHE UNIVERSITÄT MÜNCHEN

TECHNISCHE UNIVERSITÄT MÜNCHEN TECHISCHE UIVERSITÄT MÜCHE Zentrum Mathematik PRF. R.R. JÜRGE RICHTER-GEBERT, VAESSA KRUMMECK, MICHAEL PRÄHFER Höhere Mathematik für Informatiker I (Wintersemester 003/004) Aufgabenblatt 1 (4. ktober 003)

Mehr

(Lineare) stochastische Optimierung

(Lineare) stochastische Optimierung (Lineare) stochastische Optimierung Bsp: Aus zwei Sorten Rohöl wird Benzin und Heizöl erzeugt. Die Produktivität sowie der Mindestbedarf (pro Woche) und die Kosten sind in folgender Tabelle angegeben:

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum

Mehr

Vektoren mit GeoGebra

Vektoren mit GeoGebra Vektoren mit GeoGebra Eine Kurzanleitung mit Beispielen Markus Hohenwarter, 2005 In GeoGebra kann mit Vektoren und Punkten konstruiert und gerechnet werden. Diese Kurzanleitung gibt einen Überblick über

Mehr

Lineare Gleichungssysteme

Lineare Gleichungssysteme Lineare Gleichungssysteme Eines der am häufigsten auftretenden Standardprobleme der angewandten Mathematik ist das Lösen linearer Gleichungssysteme, etwa zur Netzwerkberechnung in der Elektrotechnik oder

Mehr

Psychologie im Arbeitsschutz

Psychologie im Arbeitsschutz Fachvortrag zur Arbeitsschutztagung 2014 zum Thema: Psychologie im Arbeitsschutz von Dipl. Ing. Mirco Pretzel 23. Januar 2014 Quelle: Dt. Kaltwalzmuseum Hagen-Hohenlimburg 1. Einleitung Was hat mit moderner

Mehr

Optimierung und Fertigung eines Bogenmittelteils aus einer Magnesiumlegierung

Optimierung und Fertigung eines Bogenmittelteils aus einer Magnesiumlegierung 363 Optimierung und Fertigung eines Bogenmittelteils aus einer Magnesiumlegierung Jürgen Edelmann-Nusser 1 (Projektleiter), Sándor Vajna 2 & Konstantin Kittel 2 1 Universität Magdeburg, Institut für Sportwissenschaft

Mehr

Speicher in der Cloud

Speicher in der Cloud Speicher in der Cloud Kostenbremse, Sicherheitsrisiko oder Basis für die unternehmensweite Kollaboration? von Cornelius Höchel-Winter 2013 ComConsult Research GmbH, Aachen 3 SYNCHRONISATION TEUFELSZEUG

Mehr

L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016

L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016 L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016 Referentin: Dr. Kelly Neudorfer Universität Hohenheim Was wir jetzt besprechen werden ist eine Frage, mit denen viele

Mehr

Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume?

Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume? Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume? Bernhard Ganter Institut für Algebra TU Dresden D-01062 Dresden bernhard.ganter@tu-dresden.de WS 2013/14 Isomorphie Zwei Graphen (V 1, E 1 ) und (V

Mehr

Insiderwissen 2013. Hintergrund

Insiderwissen 2013. Hintergrund Insiderwissen 213 XING EVENTS mit der Eventmanagement-Software für Online Eventregistrierung &Ticketing amiando, hat es sich erneut zur Aufgabe gemacht zu analysieren, wie Eventveranstalter ihre Veranstaltungen

Mehr

Der Leverage-Effekt wirkt sich unter verschiedenen Umständen auf die Eigenkapitalrendite aus.

Der Leverage-Effekt wirkt sich unter verschiedenen Umständen auf die Eigenkapitalrendite aus. Anhang Leverage-Effekt Leverage-Effekt Bezeichnungs- Herkunft Das englische Wort Leverage heisst Hebelwirkung oder Hebelkraft. Zweck Der Leverage-Effekt wirkt sich unter verschiedenen Umständen auf die

Mehr

Alignment-Verfahren zum Vergleich biologischer Sequenzen

Alignment-Verfahren zum Vergleich biologischer Sequenzen zum Vergleich biologischer Sequenzen Hans-Joachim Böckenhauer Dennis Komm Volkshochschule Zürich. April Ein biologisches Problem Fragestellung Finde eine Methode zum Vergleich von DNA-Molekülen oder Proteinen

Mehr

Einführung in die Fuzzy Logic

Einführung in die Fuzzy Logic Einführung in die Fuzzy Logic Entwickelt von L. Zadeh in den 60er Jahren Benutzt unscharfe (fuzzy) Begriffe und linguistische Variablen Im Gegensatz zur Booleschen Logik {0,} wird das ganze Intervall [0,]

Mehr

Anleitung über den Umgang mit Schildern

Anleitung über den Umgang mit Schildern Anleitung über den Umgang mit Schildern -Vorwort -Wo bekommt man Schilder? -Wo und wie speichert man die Schilder? -Wie füge ich die Schilder in meinen Track ein? -Welche Bauteile kann man noch für Schilder

Mehr

Bewertung des Blattes

Bewertung des Blattes Bewertung des Blattes Es besteht immer die Schwierigkeit, sein Blatt richtig einzuschätzen. Im folgenden werden einige Anhaltspunkte gegeben. Man unterscheidet: Figurenpunkte Verteilungspunkte Längenpunkte

Mehr

2.8 Grenzflächeneffekte

2.8 Grenzflächeneffekte - 86-2.8 Grenzflächeneffekte 2.8.1 Oberflächenspannung An Grenzflächen treten besondere Effekte auf, welche im Volumen nicht beobachtbar sind. Die molekulare Grundlage dafür sind Kohäsionskräfte, d.h.

Mehr

Tipp III: Leiten Sie eine immer direkt anwendbare Formel her zur Berechnung der sogenannten "bedingten Wahrscheinlichkeit".

Tipp III: Leiten Sie eine immer direkt anwendbare Formel her zur Berechnung der sogenannten bedingten Wahrscheinlichkeit. Mathematik- Unterrichts- Einheiten- Datei e. V. Klasse 9 12 04/2015 Diabetes-Test Infos: www.mued.de Blutspenden werden auf Diabetes untersucht, das mit 8 % in der Bevölkerung verbreitet ist. Dabei werden

Mehr

Kreativ visualisieren

Kreativ visualisieren Kreativ visualisieren Haben Sie schon einmal etwas von sogenannten»sich selbst erfüllenden Prophezeiungen«gehört? Damit ist gemeint, dass ein Ereignis mit hoher Wahrscheinlichkeit eintritt, wenn wir uns

Mehr

Beispiel 48. 4.3.2 Zusammengesetzte Zufallsvariablen

Beispiel 48. 4.3.2 Zusammengesetzte Zufallsvariablen 4.3.2 Zusammengesetzte Zufallsvariablen Beispiel 48 Ein Würfel werde zweimal geworfen. X bzw. Y bezeichne die Augenzahl im ersten bzw. zweiten Wurf. Sei Z := X + Y die Summe der gewürfelten Augenzahlen.

Mehr

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Vollständigkeit halber aufgeführt. Gehen wir einmal davon aus, dass die von uns angenommenen 70% im Beispiel exakt berechnet sind. Was würde

Mehr

Klausur zu Vorlesung und. Versicherungsmärkte am 19.02.2002

Klausur zu Vorlesung und. Versicherungsmärkte am 19.02.2002 Ludwig-Maximilians-Universität München Seminar für Versicherungswissenschaft Prof. Ray Rees / Prof. Achim Wambach, D.Phil. Versicherungsmärkte WS 2001 / 2002 Diplomprüfung für Volkswirte Klausur zu Vorlesung

Mehr

Zeichen bei Zahlen entschlüsseln

Zeichen bei Zahlen entschlüsseln Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren

Mehr

Softwarelösungen: Versuch 4

Softwarelösungen: Versuch 4 Softwarelösungen: Versuch 4 Nichtstun in Schleife wird ersetzt durch zeitweilige Zurücknahme der Anforderung, um es anderen Prozessen zu erlauben, die Ressource zu belegen: /* Prozess 0 */ wiederhole flag[0]

Mehr

Sofort und zielgerichtet. Basis Know-how. Wie Sie die elementarsten Fehler beim Automatisieren vermeiden! zum maschinellen Erfolg!

Sofort und zielgerichtet. Basis Know-how. Wie Sie die elementarsten Fehler beim Automatisieren vermeiden! zum maschinellen Erfolg! Basis Know-how Industrieautomatisierung Folge 4 von 7 Wie Sie die elementarsten Fehler beim Automatisieren vermeiden! Sofort und zielgerichtet zum maschinellen Erfolg! Michael Rath Inhalt Folge 4 Handlingsystem

Mehr

5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu

5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu Daten Makro + VBA effektiv 5 DATEN 5.1. Variablen Variablen können beliebige Werte zugewiesen und im Gegensatz zu Konstanten jederzeit im Programm verändert werden. Als Variablen können beliebige Zeichenketten

Mehr

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes. Binäre Bäume Definition: Ein binärer Baum T besteht aus einer Menge von Knoten, die durch eine Vater-Kind-Beziehung wie folgt strukturiert ist: 1. Es gibt genau einen hervorgehobenen Knoten r T, die Wurzel

Mehr

Lösungsmethoden gewöhnlicher Differentialgleichungen (Dgl.)

Lösungsmethoden gewöhnlicher Differentialgleichungen (Dgl.) Lösungsmethoden gewöhnlicher Dierentialgleichungen Dgl) Allgemeine und partikuläre Lösung einer gewöhnlichen Dierentialgleichung Eine Dierentialgleichung ist eine Gleichung! Zum Unterschied von den gewöhnlichen

Mehr

Allensbach: Das Elterngeld im Urteil der jungen Eltern

Allensbach: Das Elterngeld im Urteil der jungen Eltern August 2007 Allensbach: Das Elterngeld im Urteil der jungen Eltern Allensbach befragte im Juni 2007 eine repräsentative Stichprobe von 1000 Müttern und Vätern, deren (jüngstes) Kind ab dem 1.1.2007 geboren

Mehr

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version 1.0.0. 23. September 2015 - 1 -

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version 1.0.0. 23. September 2015 - 1 - Matrix42 Use Case - Sicherung und Rücksicherung persönlicher Version 1.0.0 23. September 2015-1 - Inhaltsverzeichnis 1 Einleitung 3 1.1 Beschreibung 3 1.2 Vorbereitung 3 1.3 Ziel 3 2 Use Case 4-2 - 1 Einleitung

Mehr

Übung Theoretische Grundlagen

Übung Theoretische Grundlagen Übung Theoretische Grundlagen Berechenbarkeit/Entscheidbarkeit Nico Döttling November 26, 2009 INSTITUT FÜR KRYPTOGRAPHIE UND SICHERHEIT KIT University of the State of Baden-Wuerttemberg and National Laboratory

Mehr