Transparanten bij het vak Inleiding Adaptieve Systemen: Evolutionary Computation. f(s max ) f(s) s

Vergelijkbare documenten
Kunstmatige Intelligentie (AI) Hoofdstuk van Russell/Norvig = [RN] Genetische algoritmen. voorjaar 2016 College 11, 3 mei 2016

Tentamen Kunstmatige Intelligentie (INFOB2KI)

AI Kaleidoscoop. College 12: Subsymbolische methoden. Twee scholen. Leeswijzer: Performance cliff (2) Performance cliff

Programmeren A. Genetisch Programma voor het Partitie Probleem. begeleiding:

Genetische algoritmen in Java met JGAP

Modeluitwerking Tentamen Computationele Intelligentie Universiteit Leiden Informatica Vrijdag 11 Januari 2013

Transparanten bij het vak Inleiding Adaptieve Systemen: Introductie Machine Leren. M. Wiering

Lokaal zoeken. Computationele Intelligentie. Een representatie van het kleuringsprobleem. Impliciete doeltoestanden. Lokaal zoeken

Zoeken met beperkt geheugen. Zoekalgoritmen ( ) College 7: Zoeken met beperkt geheugen. Een representatie van het kleuringsprobleem

Samenvatting De complexiteit van de problemen waarmee een ingenieur heden in contact komt, neemt steeds toe. Hierdoor wordt de verleiding om een aanta

Local search. Han Hoogeveen. 21 november, 2011

Klein Project Genetische Algoritmen. Door Nanne Wams en Henderikus Top

Local search. Han Hoogeveen CGN A februari, 2009

Tentamen Kunstmatige Intelligentie

Opgave 2 ( = 12 ptn.)

Optimalisering en Complexiteit, College 2. Han Hoogeveen, Utrecht University

Onafhankelijke verzamelingen en Gewogen Oplossingen, door Donald E. Knuth, The Art of Computer Programming, Volume 4, Combinatorial Algorithms

Meerkeuze antwoorden. Naam:... Collegekaart-nummer:...

Genetische algoritmen

start -> id (k (f c s) (g s c)) -> k (f c s) (g s c) -> f c s -> s c

Computationele Intelligentie

Computationele Intelligentie

Backlog. De openstaande stories. Studenten. Clermond de Hullu Wiebren Wolthuis Simon Wels Maik Gosenshuis. MDL- referentie D09

Vierde college complexiteit. 26 februari Beslissingsbomen en selectie Toernooimethode Adversary argument

Overzicht. Inleiding. Modellering. Insertie heuristieken. Voorbeeld: CVV. Local Search. Meta heuristieken. Vehicle Routing Problem 1

Combinatorische Algoritmen: Binary Decision Diagrams, Deel III

Leren Programmeren met Visual Basic 6.0 Les 3+4. Hoofdstuk 4 : De Selectie

Tentamen Kunstmatige Intelligentie (INFOB2KI)

Toets Kunstmatige Intelligentie (INFOB2KI)

slides12.pdf December 14,

Minder Big data Meer AI.

Vierde college complexiteit. 16 februari Beslissingsbomen en selectie

Tentamen in2205 Kennissystemen

Uitwerking tentamen Algoritmiek 9 juli :00 13:00

Open vragen. Einde van de open vragen. Er zijn ook nog meerkeuze vragen.

Informatica: C# WPO 11

Twaalfde college algoritmiek. 12 mei Branch & Bound

Elfde college algoritmiek. 16 mei Dijkstra, Gretige algoritmen en Branch & Bound

Uitwerking tentamen Analyse van Algoritmen, 29 januari

Tentamen combinatorische optimalisatie Tijd:

Twaalfde college complexiteit. 11 mei Overzicht, MST

Twaalfde college algoritmiek. 23 mei Branch & Bound, Heapsort

In Vlaanderen bestaat er nog geen leerlijn programmeren! Hierdoor baseren wij ons op de leerlijn die men in Nederland toepast voor basisscholen.

Constanten. Variabelen. Expressies. Variabelen. Constanten. Voorbeeld : varid.py. een symbolische naam voor een object.

Leerlingenhandleiding

Computationale Intelligentie Dirk Thierens

Verslag Opdracht 4: Magische Vierkanten

Elfde college algoritmiek. 18 mei Algoritme van Dijkstra, Heap, Heapify & Heapsort

Vijfde college algoritmiek. 2/3 maart Exhaustive search

Elfde college algoritmiek. 21 april Dijkstra en Branch & Bound

Meerkeuze antwoorden. Naam:... Collegekaart-nummer:...

Combinatoriek en rekenregels

Zoemzinnen. Algemene info. Functies met een variabel aantal argumenten

Uitwerking tentamen Algoritmiek 9 juni :00 17:00

Dan is de waarde van het recessieve allel q dus 0,87, vanwege het feit dat p + q = 1.

Twaalfde college algoritmiek. 13 mei Branch & Bound Heap, Heapsort & Heapify

Combinatoriek en rekenregels

Bouwstenen voor PSE. Datatypes en Datastructuren

Een korte samenvatting van enkele FORTRAN opdrachten

Tentamen in2205 Kennissystemen

Datastructuren en Algoritmen III, 2010

Opdracht 1 Topics on Parsing and Formal Languages - fall 2010

Kosten. Computationale Intelligentie. Een zoekprobleem met stapkosten. Een voorbeeld: het vinden van een route. Zoeken met kosten.

Controle structuren. Keuze. Herhaling. Het if statement. even1.c : testen of getal even of oneven is. statement1 statement2

Kosten. Zoekalgoritmen ( ) College 5: Zoeken met kosten. Een zoekprobleem met stapkosten. Een voorbeeld: het vinden van een route

Kunstmatige Intelligentie (AI) Hoofdstuk 6 van Russell/Norvig = [RN] Constrained Satisfaction Problemen (CSP s) voorjaar 2015 College 7, 31 maart 2015

1 Rekenen in eindige precisie

VERKORTE GEBRUIKSAANWIJZING TMC 212. Toro Modulaire Controller REGENAUTOMAAT

Vierde college complexiteit. 14 februari Beslissingsbomen

De statespace van Small World Networks

Kansrekening en Statistiek

9. Strategieën en oplossingsmethoden

Grafen en BFS. Mark Lekkerkerker. 24 februari 2014

Overzicht. Inleiding. Toepassingen. Verwante problemen. Modellering. Exacte oplosmethode: B&B. Insertie heuristieken. Local Search

Greedy algoritmes. Algoritmiek

Elfde college complexiteit. 23 april NP-volledigheid III

Duration: 2 hrs; Total points: 100 No documents allowed. Use of electronic devices, such as calculators, smartphones, smartwatches is forbidden.

Twaalfde college algoritmiek. 11/12 mei Branch & Bound

Twaalfde college algoritmiek. 17 mei Branch & Bound

VERKORTE GEBRUIKSAANWIJZING REGENAUTOMAAT

(a) schaling (b) rotatie (c) translatie (d) spiegeling. 4. De overeenkomst tussen de Mandebrotfiguur en het bifurcatiediagram van de logistische

NP-Volledigheid. Wil zo snel mogelijke algoritmes om problemen op te lossen. De looptijd is polynomiaal: O n k - dat is heel erg mooi

WISKUNDE D VWO VAKINFORMATIE STAATSEXAMEN 2016 V15.7.0

Ieder tweetal heeft nodig: Een kopie van de slagschipspelletjes: 1. 1A, 1B voor spel A, 2B voor spel A, 3B voor spel 3

Transparanten bij het vak Inleiding Adaptieve Systemen: Co-evolutie. M. Wiering

Opdrachten numerieke methoden, week 1

Tentamen Voortgezette biostatistiek / Biomedische wiskunde

Inhoud. Neuronen. Synapsen. McCulloch-Pitts neuron. Sigmoids. De bouwstenen van het zenuwstelsel: neuronen en synapsen

Examenprogramma wiskunde D vwo

Achtste college algoritmiek. 12 april Verdeel en Heers. Dynamisch Programmeren

3. Structuren in de taal

Open vragen. Veel succes!

Oude tentamens Kunstmatige intelligentie Universiteit Leiden Informatica 2005

Heuristieken en benaderingsalgoritmen. Algoritmiek

VAN HET PROGRAMMEREN. Inleiding

Uitleg. Welkom bij de Beverwedstrijd Je krijgt 15 vragen, die je in maximaal 45 minuten moet beantwoorden.

ALGORITMIEK: antwoorden werkcollege 5

Small Basic Programmeren Text Console 2

TW2020 Optimalisering

Inleiding Programmeren 2

Transcriptie:

Transparanten bij het vak Inleiding Adaptieve Systemen: Evolutionary Computation. M. Wiering f(s max ) f(s) s Evolutionary Computation (EC) Optimalisatie algoritmen geinspireerd door Darwin s evolutie theorie ( natural selection ), ontdekt in de jaren 60 en 70. Goed in gedistribueerd zoeken in grote ruimtes. Gebruiken genetische strings (meestal rij van nullen en enen) als representatie Evolutionaire algoritmen kunnen gebruikt worden voor: Controle taken Combinatorische optimalisatie Functie optimalisatie Leerdoelen Omdat de representatie ruimte vaak erg groot is, kunnen we deze niet helemaal doorzoeken. Daarom moeten we gebruik maken van heuristieke zoekalgoritmen Voorbeelden hiervan zijn: Genetische algoritmen, Tabu search, Local hill-climbing, Simulated Annealing, Ant Colony Systemen Local hillclimbing Local-hillclimbing werkt als volgt voor het vinden van een oplossing: Genereer een oplossing s 0, t = 0 Herhaal tot stopconditie geldt: s new = verander(s t ) Als f(s new ) > f(s t ) then s t1 = s new Anders: s t1 = s t t = t 1 Begrijpen waar optimalisatie problemen om draaien Genetische algoritmen begrijpen Representatie kunnen bedenken voor bepaald probleem De belangrijkste functie is hierbij: verander(s) Een nadeel van local-hillclimbing is dat deze vaak in een lokaal minimum terecht komt. Om daar mee om te gaan, wordt het algoritme meestal vanaf verschillende beginpunten gestart. Mutatie en Recombinatie operatoren kunnen maken voor bepaalde representatie Verschillende selectie strategieën kennen Verschil genetische algoritmen en Evolutionaire strategieen begrijpen Genetisch programmeren begrijpen PIPE begrijpen Optimalisatie problemen In een optimalisatie probleem is er sprake van een representatie (oplossings) ruimte S en een fitness (evaluatie) functie. Het doel is om de oplossing s max S te vinden met maximale fitness Genetische algoritmen Initialiseer: genereer populatie individuen (genetische strings / genotypes) - Herhaal: (1) Evalueer alle individuen (bereken fitness) () Selecteer individuen aan de hand van hun fitness (3) Recombineer geselecteerde individuen m.b.v. crossover en mutatie Theorie: schemata worden overgedragen aan kinderen. Stappen voor maken van EA Hoe maken we een evolutionair algoritme? Abstracte stappen: 1

POPULATIE 1 0 0 0 0 1 1 0 1 1 1 0 0 1 0 1 1 0 1 0 EVALUATIE 0.7 0.45 0.56 0.11 0.89 SELECTIE/ RECOMBINATIE Ontwerp een representatie Initialiseer de populatie 1 0 1 0 0 1 1 0 1 0 1 1 Ontwerp een manier om een genotype om te zetten naar een phenotype Ontwerp een evaluatie (fitness) functie om een individu te evalueren Omzetten van genotype in phenotype Als we een representatie voor de genotypes hebben, hebben we ook nog alle vrijheid om deze te vertalen in een phenotype Het zoeken gebeurt in de genotype representatie ruimte De phenotype wordt geevalueerd 8 bits Genotype Phenotype: 1 0 1 0 0 0 1 1 Integer Real number Schedule... Meer specifieke stappen: Voorbeeld: Phenotype: natuurlijke getallen: uitkomst binaire representatie = 163 Ontwerp bepaalde mutatie operator(en) Ontwerp bepaalde recombinatie operator(en) Voorbeeld: Phenotype: getal tussen.5 en 0.5: Beslis hoe ouders worden geselecteerd Beslis hoe individuen worden gestopt in de nieuwe populatie x =.5 163 (0.5.5) = 13.9609 56 Beslis wanneer het algoritme kan stoppen Ontwerpen van een representatie We moeten een manier verzinnen om een individu als een genotype te representeren Er zijn hiervoor vele mogelijkheden. De manier die we kiezen moet relevant zijn voor het probleem dat we willen oplossen. Voor het kiezen van een representatie moet er rekening gehouden worden met de evaluatie methode en de genetische operatoren De representatie kan met discrete waarden (binair, integer etc) Voorbeeld: binaire representatie : Chromosoom 1 0 1 0 0 0 1 1 Representeren van reële getallen Als we een phenotype van reële getallen willen verkrijgen, is een natuurlijke manier om de reële getallen direct te coderen in de genotype Voorbeeld: een tupel met n reële getallen: X = (x 1, x,..., x n ) x i R Een bekende applicatie hiervoor is parameter optimalisatie De fitness functie f mapt de tupel op een enkel getal: f : R n R Representatie voor orderingsprobleem. Voor bepaalde problemen zoals de TSP is het nodig een volgorde van steden te vinden. Dit coderen we als: 3 4 8 6 1 7 5 Gen

Initialisatie Voor de intialisatie zijn er de volgende methoden: Uniform willekeurig over de gehele zoekruimte: 1. Binaire strings: 0 en 1 met kans 0.5. Reeële getallen: Uniform op een gegeven interval (werkt niet als interval niet gesloten is) Tenminste 1 mutatie operator moet het mogelijk maken om de hele zoekruimte te kunnen doorzoeken De grootte van de mutatie stap moet controleerbaar zijn Mutatie moet geldige chromosomen opleveren Voorbeeld mutatie: Gebruik vorige resultaten om de populatie te initialiseren of gebruik heuristieken 1. Nadeel: mogelijk verlies van genetische diversiteit. Nadeel: soms onmogelijk om te ontsnappen aan initiële bias. 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 Gemuteerde Gen Voor mutatie Na mutatie Evalueren van een individu Dit kan soms een erg kostbaar proces zijn, zeker voor real-world problems Evalueer onveranderde individuen niet opnieuw Het kan een subroutine zijn, een black-box simulator of een extern proces (bv robots) Je kunt beginnen met een evaluatie functie welke de uitkomst van het proces benadert, maar dit kan niet te lang (bv. leer met neuraal netwerk hoe fitness landscape eruit ziet). Omgaan met eisen: wat als phenotype niet aan een bepaalde eis voldoet? Gebruik een penalty term in de fitness functie Gebruik specifieke evolutionare algoritmen die omgaan met eisen Probleem: omgaan met meerdere doelen in de fitness functie : gebruik compromissen tussen subdoelen Mutatie operatoren We kunnen 1 of meerdere mutatie operatoren maken voor een representatie Belangrijk hierbij is: Mutatie gebeurt gewoonlijk met kans P m op elk gen Speciale mutatie operatoren Mutatie op reële getallen kan gedaan worden door een perturbatie aan te brengen met willekeurige ruis. Vaak wordt een Gaussiaanse ruis distributie gebruikt (met gemiddelde 0): x i = x i N(0, σ) Mutatie voor order specifieke representaties (swap): selecteer genen en wissel ze om: 7 3 1 8 4 6 5 7 3 6 8 4 1 5 Recombinatie operatoren Een recombinatie operator mapt gewoonlijk ouders op 1 of kinderen We kunnen 1 of meer recombinatie operatoren hebben. Belangrijk is: 3

Het kind moet iets van elke ouder overerven. Anders is het een mutatie operator De recombinatie operator moet samen met de representatie ontworpen worden zodat recombinatie niet vaak een catastrofe is. Recombinatie moet geldige chromosomen opleveren Voorbeeld recombinatie (1-point crossover): 7 3 1 8 4 6 5 4 3 8 6 7 1 5 1 8 7,3,4,6,5 7 5 1 8 4 3 6 Kind 1 Ouder 1 Ouder Order: 4,3,6,7,5 1 Knip Knip 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 1 1 1 1 Ouders Kinderen Recombinatie maskers Recombinatie (crossover) kan one-point, two-point, ze bruikbaar genetisch materiaal kunnen bevatten. of uniform zijn. We kunnen dit visualiseren als een crossover masker: 1 1 0 0 1 0 0 Masker 1 1 1 1 0 1 1 0 0 1 0 0 0 0 (Uniform) Ouders Selectie Strategie We willen een manier hebben zodat betere individuen een grotere kans hebben om ouders te zijn dan minder goede individuen Dit geeft de selectie-druk welke de populatie in staat stelt zich te verbeteren We moeten minder goede individuen een kleine kans geven zich ook voort te propageren, omdat Bv. Fitness proportionele selectie : ouder selectie met kans f i / j f j Verwacht aantal keer dat individu i gekozen wordt als ouder = f i / ˆf, met ˆf als de gemiddelde populatiefitness 1 1 1 0 0 0 0 0 0 1 1 0 1 1 Kinderen Nadelen fitness proportionele selectie: Crossover op reële getallen representaties kan gebeuren door getallen te middelen: (x c 1 = xa 1 x b 1,..., x c n = xa n x b n ) Crossover voor order afhankelijke representatie Hier moeten we oppassen dat we wel geldige chromosomen krijgen Kies een willekeurig deel van de eerste ouder en copieer dit naar het eerste kind Copieer de overgebleven genen die niet in het gecopieerde deel zitten naar het eerste kind (gebruik de order van de genen van de e ouder) Gevaar van voorbarige convergentie, omdat zeer goed individuen hele populatie snel overnemen Lage selectie druk als fitness waarden dicht bij elkaar liggen Gedraagt zich verschillend voor translatieve veranderingen van de fitness functie Oplossing: schalen van de fitness functie: fitness tussen 0 en 1 (beste), som van fitness waarden = 1. Tournament selectie Selecteer k random individuen zonder terugleggen 4

Populatie f=6 f=4 f= f=3 f=8 f=1 f=5 f=9 Deelnemers (k = 3) f=9 f=5 f=3 Kampioen f=9 f=5 1 f=3 3 GA vs. ES GA gebruikt crossover en mutatie Evolutionaire strategieën (ES) gebruiken enkel mutatie Keuze hangt af van: Neem de beste (k is de grootte van het toernooi) Andere selectie strategie: rank-based selection Rank-based selection ordent alle individuen op basis van hun fitness. De plaats in deze geordende lijst wordt de rank genoemd. We gebruiken de rank om een individu te selecteren. Individuen met hoge rank (goede fitness) worden vaker gekozen. Vervangings strategie De selectie druk wordt ook beinvloed door de manier waarop individuen uit de vorige generatie gedood worden om plaats te maken voor nieuwe individuen We kunnen steeds een nieuwe populatie genereren, of een deel van de oude populatie elimineren gebruik makende van hun fitness. We kunnen bijvoorbeeld de elitist strategie gebruiken en besluiten om het beste individu nooit uit de populatie te verwijderen In elk geval slaan we het beste individu op in een veilige plaats Recombinatie vs. Mutatie Recombinatie; Veranderingen hangen van hele populatie af Afnemend effect met convergentie van populatie Exploitatie operator Mutatie: Verplicht om uit lokale minima te ontsnappen Exploratie operator Is de fitness functie scheidbaar? Bestaan er building blocks? Is er een semantisch betekenisvolle recombinatie operator? Als recombinatie betekenisvol is gebruik het! Genetisch Programmeren Gebruikt functionele bomen als representatie i.p.v. binaire strings Functies zoals: cos, sin,,, /, random constant Voorbeeld programma: Gebruik: Programma Boom X Functie Cos(( X) ) Supervised leren op continue inputs/outputs Robot controle taken Beeld classificatie Flexibel: loops, geheugen registers, speciale random getallen etc. Mutatie en Recombinatie in GP De mutatie operator kan dan een knoop van de boom aanpassen: Ook de recombinatie operator werkt op programma s: 5

PIPE Voor Mutatie X CUT X Ouders Kinderen CUT X Na mutatie Probabilistic Incremental Program Evolution (PIPE) gebruikt kansen om functies op een knoop in programma boom te genereren Het slaat één probabilistic prototype tree (PPT) op i.p.v. alle individuen: / X Probabilistic Prototype Tree / X 0.3 0.11 0.19 0.19 0.51 0.0 0.09 0.04 0.09 0.01 / X 0.01 0. 0.19 0.4 0.09 0.07 0.18 X X X () Evalueer alle M individuen (3) Selecteer de beste en schuif de kansen op zodat de kans dat de gevonden individu opnieuw gegenereerd wordt toeneemt (4) Muteer de PPT zodat de kansenverdeling licht gemuteerd wordt PIPE werd vergeleken met GP en bleek in staat voor sommige problemen betere oplossingen te vinden Voorbeeld van taak voor GA Het Bin Packing probleem is een NP-moeilijk combinatorisch optimalisatie probleem: Gegeven een lijst van objecten met hun gewicht en een bin met een bepaalde maximale capaciteit. Doel: deel de objecten zo in de bins dat er een minimum aantal bins nodig is voor het verpakken van alle objecten. Representatie: lijst van bin-nummer waarin elk object zit: Voorbeelden: [1,, 1, 3, 1,, 1, 3, 1,, 1, 3] en [,, 4, 3, 1, 3, 1,, 1,, 1, 3] Fitness functie: hoeveel bins worden gebruikt? Hoe vol zijn gebruikte bins? Vraag: hoeveel kinderen kunnen er gegenereerd worden door uniform crossover te gebruiken op strings van lengte n? Met behulp van de PPT worden individuen gemaakt: Begin bij wortel en kies hiervoor functie volgens kansverdeling Ga naar de subbomen van de PPT om de benodigde argumenten voor de eerder gegenereerde functies te genereren Totdat programma helemaal af is Leerproces in PIPE Herhaal tot stopconditie geldig: (1) Genereer op bovenstaande manier een populatie van M individuen Voor- en Nadelen EC Voordelen: Evolutionaire algoritmen kunnen vaak direct ingezet worden Ze zijn goed in doorzoeken grote zoekruimtes Kunnen gebruikt worden voor vele soorten problemen Makkelijk te parallelliseren Nadelen: Soms last van voorbarige convergentie: verlies aan genetische diversiteit 6

Veel individuen worden geevalueerd en dan niet meer gebruikt Kan traag leerproces opleveren Als meeste individuen gelijke, slechte fitness hebben is er weinig selectie druk (bv. taak: goed antwoord/ fout antwoord). 7