Evolution und Algorithmen Kapitel 6 Spezialvorlesung Modul 10-202-2206 (Fortgeschrittene Methoden in der Bioinformatik) Jana Hertel Professur für Bioinformatik Institut für Informatik Universität Leipzig J. Hertel Machine learning in bioinformatics K6 Bioinf - Uni Leipzig 1/10 Inhaltsverzeichnis 1 Evolution und Algorithmen Einführung Modellierte Evolution Ein Beispiel J. Hertel Machine learning in bioinformatics K6 Bioinf - Uni Leipzig 2/10 Evolution und Algorithmen Einführung Evolution .. führt zu optimiertem Verhalten von Zellen, Organen, Individuen und Populationen. → Prozess zum Lösen neuer Probleme auf neue Art und Weise. Iterativer, populationsbasierter Prozess in 2 Schritten: 1. erbliche Variation (Veränderung am Erbgut) → Mutation, Replikationsfehler, Rekombination 2. Selektion → Verwerfe Varianten, welche den Ansprüchen der Umwelt (zu 1 best. Zeitpunkt) nicht gerecht werden Restliche Individuen, reproduzieren sich und tragen zur nächsten Generation bei. Neue Iteration(en) neue Individuen mit erneutem Potenzial zur Variation J. Hertel Machine learning in bioinformatics K6 Bioinf - Uni Leipzig 3/10 Evolution und Algorithmen Einführung Evolution trifft auf Maschinen Probleme von Überleben und Reproduktion = nicht-lineare Interaktionen → Trotzdem erschafft Evolution Lösungen zum Überleben. Lösungen sind effektiv nahezu optimal Modelliere Evolution am Computer wenn: keine Heuristiken sinnvoll/verfügbar zu großer Suchraum, Suche nach Optimum zu aufwendig Evolutionäre Algorithmen .. beliebte Methode in Medizin, Industrie und Bioinformatik zum Lösen komplexer Probleme. einfach. breites Anwendungsgebiet. übertrifft klassische Optimierer. J. Hertel Machine learning in bioinformatics K6 Bioinf - Uni Leipzig 4/10 Evolution und Algorithmen Modellierte Evolution Implementierung der Evolution Evolutionäre Optimierungstechniken: Population von Lösungen ↔ zufällige Variation → Selektion mit best. Ziel Fitness := indivdueller Wert des Individuums in Relation zum gewünschten Ziel. Evolution modelliert in Schritten: 1. Initialisierung 2. Variation 3. Selektion + zusätzliche Parameter und Selbstanpassung von Parametern gehe zu 2. J. Hertel Machine learning in bioinformatics K6 Bioinf - Uni Leipzig 5/10 Evolution und Algorithmen Modellierte Evolution 1 Initialisierung Evolution operiert auf Populationen. - Variation und Selektion auf Individuen. Wie repräsentiere ich ein Individuum? Kodiere: Probleme in reelle Zahlen, Binärstrings, etc. → Chromosomen, Traits, Genotyp Variationen als Operationen auf diesen Zahlen ,→ Fitness messbar, bewertbar ,→ Zufall anwendbar J. Hertel Machine learning in bioinformatics K6 Bioinf - Uni Leipzig 6/10 Evolution und Algorithmen Modellierte Evolution 2 Variation Eine Menge von Prozessen generiert Variationen in einer Population. Micromutation: Punktmutationen mit schädlicher, neutraler oder günstiger Veränderung Macromutation: z.Bsp. Rekombination, bewegt große Bereiche genet. Materials mit wenig, keinem oder großem Effekt → Deutliche Variation beider Mutationsraten in Organismen und Umwelt J. Hertel Machine learning in bioinformatics K6 Bioinf - Uni Leipzig 7/10 Evolution und Algorithmen Modellierte Evolution 3 Selektion Entferne Lösungen die am wenigsten geeignet sind. Überlebende = Eltern für nächste Generation → Nachwuchs mit Variation. Auswahl anhand Bewertung jeder Lösung bzgl. Zielstellung → Fitnessfunktion f . Fitness einer Lösung ∼ möglichst genaue Abbildung des Problems, sonst → richtige Lösung zum falschen Problem. Selektive Mechanismen: Proportional Auswahl nach Anteil an relativer Fitness der Gesamtpopulation Elitist Auswahl der besten Lösung Tournament Sortiere Lösungen nach Score, wähle 1. Hälfte aus J. Hertel Machine learning in bioinformatics K6 Bioinf - Uni Leipzig 8/10 Evolution und Algorithmen Modellierte Evolution Parameter und Selbstanpassung Verschiedene Arten der Implementierung: Variation + Selektion auf gesamter Population 1. n Iterationen oder bis Population stagniert/konvergiert 2. Asynchrone Basis: µ Eltern um λ Nachwuchs zu erzeugen (µ + λ) Strategie: → alle Lösungen konkurrieren ums Überleben (µ, λ) Strategie: → nur der Nachwuchs kämpft ums Überleben, µ Eltern werden ersetzt Selbstanpassung Eigenschaften der Variationsoperatoren evolvieren während Evolution. J. Hertel Machine learning in bioinformatics K6 Bioinf - Uni Leipzig 9/10 Evolution und Algorithmen Ein Beispiel Ein Beispiel Sei F : Z3 → Z, sodass ∀a, b, c ∈ Z : f (a, b, c) = |a − b| + |b − c| + |c − a|. Genom eines Individuums geg. durch Variablen von f , (a, b, c) Ziel: minimiere f . Rekombination: Crossover 2er Elterngenome wähle Position p ∈ 0, 1, 2 zufällig aus Kindgenome Gc aus Positionen 0, . . . , p von G0 und p + 1, . . . , n von G1 Mutation: wähle Position p ∈ 0, 1, 2 zufällig aus q ∈ −1, 0, 1 mit 1% Auftrittswahrscheinlichkeit Selektion: wähle aus µ + λ, µ Individuen mit minimalem f aus. T Startpopulation: 50 Individuen, jedes für jedes Gen Zahl aus [−50, 50] Z. Abbruch: keine Veränderung des Durschnitts der Werte für f über 10 Generationen. → ca 40 Iterationen, danach Lösung: a = b = c, z.Bsp. (4, 4, 4) J. Hertel Machine learning in bioinformatics K6 Bioinf - Uni Leipzig 10/10