Inleiding Adaptieve Systemen

Slides:



Advertisements
Verwante presentaties
PSD Basisstructuren programmeren.
Advertisements

Differentie vergelijkingen differentie vergelijkingen
Programmeren van een humanoid robot
Programmeren met Alice
Een manier om problemen aan te pakken
Lijsten in de -calculus Een lijst [E 1, E 2,..., E n ] kan in de -calculus voorgesteld worden als z.((z E 1 ) z.((z E 2 )... z.((z E n ) nil)...) met nil.
Uitwerking tentamen Functioneel Programmeren 29 januari 2009.
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - -
Datastructuren Analyse van Algoritmen en O
Hoofdstuk 6: Controle structuren
1 Datastructuren Sorteren: alleen of niet alleen vergelijkingen College 5.
1 Datastructuren Lijstjes (Stacks & Queues) Onderwerp 7.
Fibonacci & Friends Met dank aan Gerard Tel.
Datastructuren Zoekbomen
1 Datastructuren Zoekbomen II Invoegen en weglaten.
1 Datastructuren Sorteren: alleen of niet alleen vergelijkingen (II) College 6.
Inleiding Adaptieve Systemen
Les 2 Basisbouwstenen (deel 1)
De grafiek van een lineair verband is ALTIJD een rechte lijn.
Parallelle Algoritmen String matching. 1 Beter algoritme patroonanalyse Bottleneck in eenvoudig algoritme: WITNESS(j) (j = kandidaat in eerste i-blok)
Stijn Van Wonterghem1 ALICE Een animatie opbouwen.
Help! Statistiek! Doorlopende serie laagdrempelige lezingen, voor iedereen vrij toegankelijk. Doel: Informeren over statistiek in klinisch onderzoek. Tijd: Derde.
Neurale Netwerken Kunstmatige Intelligentie Rijksuniversiteit Groningen April 2005.
1Ben Bruidegom Hoe werkt een rekenmachine? Ben Bruidegom AMSTEL Instituut Universiteit van Amsterdam.
Functies als Getallen Jan Martin Jansen.
Numerieke Natuurkunde
Reguliere talen nReguliere grammatica: versimpelde Contextvrije grammatica nFinite-state Automaton: andere manier om een taal te beschrijven nReguliere.
1 Datastructuren Skiplists. 2 Skiplists  Vrij eenvoudige datastructuur  “Makkelijker” dan gebalanceerde bomen  Kunnen hetzelfde als gebalanceerde bomen.
Optuigen van datastructuren
1 Datastructuren Heapsort (2e deel) College 5. 2 Vandaag  Heaps en Heapsort  (eind)  Nog sneller sorteren:  Ondergrenzen  Linair sorteren.
LauwersCollege Buitenpost Java Applet programma dat op een website zichtbaar is Java Application programma dat zelfstandig werkt Javascript Scripttaal.
1 Wie durft er nog in een vliegtuig, trein of auto te stappen? Over betrouwbaarheid van software Frits Vaandrager Institute for Computing and Information.
Klik ergens op het witte deel van deze pagina om verder te gaan
1 Datastructuren Een informele inleiding tot Skiplists Onderwerp 13.
Chris Pollentier 18 / 12 / 2002 De LOGO taalwereld.
, 17h30Recursie 1 Inleiding tot recursie Karel Popelier.
Liesbeth Van Raemdonck
PHP & MYSQL LES 01 PHP BASICS. PHP & MYSQL 01 PHP BASICS 02 PHP & FORMULIEREN 03 PHP & DATABASES 04 CMS: BEST PRACTICE.
Planning With Nonholonomic Constraints By Jeroen Resoort & Ronald Treur.
Neurale Netwerken Genetische Algorithmen
Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk Inleiding adaptieve systemen Lerende classificatie systemen.
Tircms03-p les 2 Hfdst 3,4 Meer operatoren Functies.
Tircms02-p les 2 Meer operatoren Arrays en pointers Types en conversie.
Intermezzo: Queries op zoekbomen Datastructuren. Queries: hoe op te lossen We hebben: – Een zoekboom (gewoon, rood-zwart, AVL,…) – Een vraag / querie.
1 Introductie next MCT - Programmeren 2 © S. Walcarius Waarom java? programma machinetaal (.exe) compilen platformspecifiek Een exe programma.
Functioneel programmeren Een snelle herhaling…. Functie-definitie static int kwad (int x) { return x*x ; } kwad x = x * x Haskell kwad :: Int  Int.
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica in345 Deel 2 College 6 Cees Witteveen.
Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Onderwerpen voor vandaag top-down decompositie Opdrachten:
AWK A Pattern scanning and processing language made by Aho Weinberger Kernighan and explained by Albert Montijn.
Instructie Programmeren Task 7
Hoorcollege 1: efficiëntie en complexiteitsontwikkeling.
Hoorcollege 1: efficiëntie en complexiteitsontwikkeling.
Agenda  Lesuur minuten  Wat kun je met programmeren?  Wat is code en hoe werkt het?  Code schrijven: de basis  Lesuur minuten  Zelf.
Welkom! maandag 16 November 2015 Les B-2.
Java voor beginners Doel: Een spel maken in LWJGL Door: Jim van Leeuwen.
Minimum Opspannende Bomen Algoritmiek. 2 Inhoud Het minimum opspannende bomen probleem Een principe om een minimum opspannende boom te laten groeien Twee.
Divide & Conquer: Verdeel en Heers vervolg Algoritmiek.
Programmeren. Wat is programmeren? Het schrijven van opdrachten voor de processor De processor “spreekt” machinetaal:
Robby de Robot. Javascript Tot nu toe gebruikt: – document.write(" Hello World "); – alert("tekst") – Toon een waarschuwingsvenster – prompt("tekst",
Programmeren.
Berekening van de Orde Van een Algoritme
Javascript.
Recursie in de wiskunde
Onderzoekend leren Hoe zien opdrachten voor onderzoekend leren bij wiskunde er uit? Tool IE-2: Het vergelijken van gestructureerde en ongestructureerde.
SQL Les February 2019.
Nim, een strategisch spelletje
Software Development fundamentals
Software Development fundamentals
Python – For loop + strings
Python – For loop + strings
Transcript van de presentatie:

Inleiding Adaptieve Systemen Genetisch programmeren Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Genetisch programmeren Ontstaan: USA in de 90-er jaren Bekende naam: John R. Koza Typisch toepassings-gebied: machine learning, (simulated) robot learning Eigenschappen: Concurreert met andere connectionistische technieken Werkt alleen met grote populaties Traag Speciaal: Niet-lineaire chromosomen (bomen, grafen) Genotype bezit variabele omvang Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Genotypen In het domein van GA’s zijn genotypen (chromosomen) typisch strings, en dan vaak ook nog bitstrings. Met Genetisch Programmeren zijn genotypen typisch (computer-) programma’s. Het Fouraging Ant voorbeeld uit het vorige college ligt half tussen GA en GP in. Want: Ant ~ Eindige Automaat. In John Koza’s versie van GP (en eigenlijk in de meeste versies van GP) zijn genotypen programma’s in LISP. Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk http://kazimirmajorinc.blogspot.com/2010/03/what-dijkstra-blogged-about-lisp.html

Crash course LISP LISP: LISt Processing Language (~ 1958). Geïnspireerd op Church’s λ-calculus. [Bv. (λx.x2) 2  4.] Datastructuur: enkelvoudige gelinkte lijst. Een oude programmeertaal. Bekijk bv. O’Reilly’s History of Programming Languages poster. Dialecten: Common Lisp (~ 1974), Scheme, Emacs Lisp, AutoLISP, Logo, XLisp, ISLISP, Newlisp, Arc. Invloed op: ML, Perl, Python, Smalltalk, Ruby, Dylan, Mathematica, Rebol, Miranda, Haskell, Lua, JavaScript, Forth. LISP is door de jaren heen gebleven. Helaas zijn de programmabibliotheken voor alleen al Common Lisp onderling afwijkend, en soms verouderd. Installatie vergt ervaring. (Vgl. bv. pregexp.) Lees ook Flake's H3, Sec. 3 over LISP! Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

LISP: LISt Processing De syntax van LISP is eenvoudig: alles is een atoom of een lijst Vier soorten atomen: Identifiers (zoals X12 en t4. Regexp: /[A-Za-z][\w\-]*/) Getallen (zoals -3 en 9.0e+45) Strings (zoals "hallo" en "hallo\n" ) Speciale atomen (zoals T en NIL) Er is maar één soort lijst. Voorbeelden: (1 2 3) (X123 X123 T -3 “hallo”) ((-3 “hallo”)(-3 “hallo”)) () (Y 1 2 () 3) (()()) Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Interne lijst-representatie (A (U V) B C) A B C NIL U V NIL Representatie van de lege lijst = ? NIL Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Symbolische expressies (SEXPs) LISP bestaat uit zg. s-expressies: NIL (1 2 3) (+ (+ 1 2) (* 2 3)) (QUOTE X) 'X (single-quote teken is geen stricte syntax!) (QUOTE (+ (+ 1 2) (* 2 3))) '(+ (+ 1 2) (* 2 3)) (geen stricte syntax!) Recursieve definitie: Een s-expressie is een atoom of een lijst. Een lijst is linkerhaakje, gevolgd door een eindig (mogelijk leeg) rijtje s-expressies, gevolgd door een rechterhaakje. Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Evaluatie-functionaliteit in LISP 172  172 T  T NIL  NIL X  ERROR: var. “X” not bound (QUOTE X)  X 'X  X (1 2 3)  ERROR: “1” is not a function (+ 2 3)  5 Y  17 (+ Y Y)  34 (+ (+ 1 2) (* 2 3))  9 (QUOTE (+ (+ 1 2) (* 2 3)))  (+ (+ 1 2) (* 2 3))) '(+ (+ 1 2) (* 2 3))  (+ (+ 1 2) (* 2 3))) } Getallen, strings, T en NIL evalueren naar zichzelf beschouw 1e element als functie, en pas die toe op de evaluatie van de overige elementen. Lijsten evalueren d.m.v. functie-applicatie: Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Construeren, dan evalueren Definiëren: (SETQ x "Hallo") x  "Hallo" Lijsten maken: (SETQ L (list 1 'x x '3)) L  (1 x "Hallo" 3) Expressies construeren, om ze pas daarna te evalueren: (SETQ expressie-1 '(+ 3 5)) (SETQ expressie-2 '(+ 1 7)) (SETQ expressie-G (LIST '* expressie-1 expressie-2)) expressie-G  (* (+ 3 5) (+ 1 7)) (EVAL expressie-G)  64 Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Construeren, dan evalueren (SETQ then-code '(do (left) (move) (right))) (SETQ else-code '(do (left) (wait))) (SETQ code '(if (food-ahead) **then-part** **else-part**)) (SETF (NTH 2 code) then-code) (SETF (NTH 3 code) else-code) code  (if (food-ahead) (do (left) (move) (right)) (do (left) (wait))) (EVAL code)  ant voert code uit Instantieer element nr. 2 van lijst code Instantieer element nr. 3 van lijst code Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Genotypen Chromosomen worden gerepresenteerd als LISP structuren, typisch opgebouwd uit een handvol elementaire expressies of instructies. Voorbeelden: Logische of rekenkundige expressies: (AND (OR (AND P (NOT R) Q) P)(OR R P)) (+ ( (* 4 ( 2) 7) 3)(+ 6 1)) Instructies: (if (food-ahead (left) (if (food-ahead (right) (left))) Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Voorbeeld van typisch genoom (if (food-ahead (if (food-ahead (right) (if (food-ahead (right) (if (food-ahead (left) (if (food-ahead (if (food-ahead (if (food-ahead (right) (if (food-ahead (right) (if (food-ahead (left) (if (food-ahead (right) (left))))) (if (food-ahead (right) (if (food-ahead (left) (if (food-ahead (right) (right))))) (left))))) (if (food-ahead (right) (if (food-ahead (left) (if (food-ahead (right) (right))))) Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Terminal- en functie-set voor de wortel-formule Genereert een homogene term-verzameling: alle functies zijn toe te passen op alle termen. Terminal-set T { a, b, c } Functie-set F { + , – , ± , * , /, kwadrateren,  } Alle elementen uit T zijn correcte kandidaat-oplossingen. Als f een functie-symbool is met ariteit n, en e1,…,en zijn correcte kandidaat-oplossingen, dan is f(e1,…,en) ook een correcte kandidaat-oplossing. Alle kandidaat-oplossingen zijn op bovenstaande manier te maken. Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Voorbeelden van te construeren kandidaat wortel-formules a, b, a – c, (a – c)2, (a – c)2 + b2 , √( (a – c)2 + b2 ) , √( (a – c)2 + b2 ) + (a – c)2 , [ √( (a – c)2 + b2 ) + (a – c)2 ] / ( a + a ) , [ [ √( (a – c)2 + b2 ) + (a – c)2 ] / ( a + a ) ] + b , …. Waarom geen 2a hier? Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

LISP-expressie als syntactische boom Vraag: Schrijf de rechter- boom terug als LISP-expressie. Evalueer deze LISP-expressie. Antwoord: (+ (- (- 8) 7) (* (/ 5 1) 4)) = (+ (- 15) 20) = 5 + – * / – 7 4 8 5 1 Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Mutatie in GP + – * 4 / 5 1 9 4 + – – 7 8 Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Kruising in GP * + / – – * / + – 6 2 8 7 4 9 4 5 1 Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Ander voorbeeld van kruising in GP * + / – – 7 8 * / + 6 2 4 9 4 5 1 Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Voorwaarden voor kruising De te kruisen structuren moeten van hetzelfde type zijn (bv. numeriek x numeriek, of: instructie x instructie). Voorbeeld: (if *cond-1* *then-part-1* *else-part-1*) (if *cond-2* *then-part-2* *else-part-2*) Hier zijn 1 + 3 x 3 = 10 kruisingen mogelijk Eén Boole’s deel: cond-1 x cond-2 Negen instructie-delen: 1x2, 1 x then2, 1x else2, then1 x 2, …, else1 x else2 Veel GP implementaties maken gebruik van zg. homogene termverzamelingen. Daar zijn alle termen van één type. Voorbeeld: (if-food-ahead *then-part* *else-part*) bevat geen test. Deze is hier in de structuur “ingebakken”. Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Initialisatie van een populatie Zet maximum initiële diepte van syntaxbomen, bijvoorbeeld Dmax = 15 Verzadigde methode (elke tak heeft diepte = Dmax ): expressies op diepte d < Dmax willekeurig kiezen uit functie-set F expressies op diepte d = Dmax willekeurig kiezen uit terminal-set T Groeimethode (elke tak heeft diepte  Dmax ): expressies op diepte d < Dmax willekeurig kiezen uit F  T Gebruikelijke GP initialisatie: ramped half-and-half, waarbij de verzadigde methode en de groeimethode elk de helft van de populatie genereren. Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Overzicht Representatie Syntax-bomen Initialisatie Ramped half-and-half Kruising Verwisseling van sub-bomen Mutatie Genereren van een willekeurig sub-boom Reproductie (klonen) Verhoudingsgewijs naar fitness Mutatie (wijzigen) Recombinatie (kruising) Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Flow (volgens Koza, 1992) Stop ja nee Tevreden? Creëer lege populate Q en plaats W daar in Kies één ouder uit P Plaats kopie in Q reproductie |Q| = |P| ? Bepaal de meest fitte S-expressie, W, uit P ja Selecteer genetische operator mu-tatie Kies één ouder uit P Plaats mutant in Q recombinatie Bereken van elke S-expressie uit P de fitness nee Kies twee ouders uit P Plaats kinderen in Q P wordt Q Genereer initiële populatie P ter grootte N Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Voorbeeld: genetic moonlander Link naar genetic moonlander op googlepages. Doel: zet maanlander zacht neer. I.i.g. zonder dat de brandstof voortijdig op raakt. Bij voorkeur: (i) zo snel mogelijk (ii) zo zuinig mogelijk Technisch doel: bepaal optimale thrust (voortstuwing) f(m, v, h), gebaseerd op massa (m), hoogte (h) en neerwaartste snelheid (v). Terminals: m, v, en h Functiesymbolen: +, –, *, /, en eventueel sqrt, log, exp, en sin Voorbeeld kandidaat-oplossing: f(v,h,m) = ( 3.12 / (1.18*v) ) – (h / sin( (h*v) / -9.74 )) (Reversed) fitness voor snelle maar zachte landing: max(vtouchdown,5) – 5 + 0.1*sec Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Voorbeeld: symbolische regressie Link naar symbolische regressie applet van Hannes Planatscher. Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Voorbeeld: genetic ant Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk Link naar genetic ant

Probleem met kruising: bloat Zonder tegenmaatregelen groeit, bij kruising en mutatie, de gemiddelde omvang van expressies. Dit wordt bloat genoemd, ook wel: survival of the fattest. Tot op heden bestaat hier (nog) geen sluitende statistische verklaring voor. Mogelijke tegenmaatregelen: Verbied de creatie van dikke kinderen. Geef dikke kinderen een lagere fitness (Eng.: pressure of parsimony, of: pressure of Ockham’s razor). Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Voorbeeld van bloat Mogelijke fitnesmaat om overbodige expressies tegen te gaan: Fitness(formule) =Def de som van: α x de fout van de formule op 100 willekeurige 2e - graadsvergelijkingen β x het aantal sub-expressies in de formule De parameters α en β moet je nu tweaken om tot aanvaardbare oplossingen te komen Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Problemen met fitness-evaluatie In GP domein is fitness-evaluatie meestal duur. In GA domein: fitness-evaluatie ↔ doorrekenen oplossing. Voorbeeld: zendcapaciteit antenne of gewicht giek is makkelijk te berekenen. Effectiviteit foraging ant is alweer moeilijker. In GP domein: fitness-evaluatie ↔ uitvoeren van een programma, en wachten op de resultaten (die je nodig hebt om het programma te evalueren). In het slechtste geval wordt het programma bv. uitgevoerd op een robot in robo-soccer. (Voor elke trial: robot klaarzetten, bal klaarleggen, etc.) Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Voorbeeld: RoboCup Soccer In tegenstelling tot andere leermethoden is GP een natuurlijke kandidaat om algoritmisch robotgedrag te ontwikkelen. Softbots (agents in een gesimuleerde omgeving) evolueren bottom-up tot een team dat in staat is elkaars acties te coördineren en in staat is tot samenspelen. Er waren leagues waarin teams van hand-gecodeerde bots (met heuristische ALS-DAN regels) verslagen werden door teams met GP gecodeerde bots. Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Enkele atomaire functies Waarde Beschrijving (s1) bool Returns my internal state flag (1 or 0). (mate-closer) 1 if a teammate is closer than I am to the ball, else 0. (near-opp) 1 if there is an opponent within r distance from me, else 0. (squadn) 1 if I am squad mate n, else 0. (rand) 1 or 0, depending on a random event. (home) vect A vector to the my “home position”. (ball) A vector to the ball. (defgoal) A vector to goal I am defending. (goal) A vector to the goal I am attacking. (closest-mate) A vector to my closest teammate. (/2 vect1) Divides the magnitude of vect1 by 2. (dribble vect1) Sets the magnitude of vect1 to some constant c. (avg vect1 vect2) Returns the average of vect1 and vect2. Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Voorbeeld van robot prog LISP : (if (mag>1/2 (/2 goal)) (if near-opp goal closest-mate ) (dribble goal) Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Mutatie Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Crossover Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Fitness function(s) Uitgeprobeerde fitness functies : Maximaliseer aantal gescoorde goals Maximaliseer balbezit Maximaliseer aantal succesvolle passes Minimaliseer bal buiten lijnen brengen Concurrerende fitness: ge-evolueerde teams spelen tegen elkaar. Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Verdere specificaties algoritme Representatie Homogeen: één voetbalprogramma voor alle spelers. Heterogeen: elk programma heeft verschillende code voor verschillende spelers. of: Elke speler heeft een eigen programmaatje. Parameters 200 individuen in één populatie 50 generaties Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk Link naar RoboCup 2007 Soccer Simulation 2D Final

Initiële populatie Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Kluitjesvoetbal Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Leren om doel te bewaken Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Positiespel Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Evolved tree for passing behavior Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Problemen? Populatiegrootte te klein  niet genoeg diversiteit. Teams speelden te weinig tegen elkaar  evaluaties onvoldoende gespreid. Teamgedrag vs. gedrag individuen. Zg. credit assignment probleem. Link naar Robocup Soccer Simulation League, 3D Final 2007 Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Netlogo’s JGE extensie JGE: Java Grammatical Evolution Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Taal-onafhankelijk GP Zie verder: I. Dempsey et al. (2009). Grammatical Evolution. Chapter 2 in: Foundations in Grammatical Evolution for Dynamic Environments, SCI 194, pp. 9-24. Springer-Verlag (site, sectie “Materiaal”). Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk