Week 7 Flashcards
Wat is een atoom in Stutter?
Een rijtje van karakters
Wat voor punctuatie gebruikt Stutter?
( = open lijst
) = sluit lijst
‘ = quote atomen of lijst
; = negeer, begin van een opmerking
Value functions
Functies in Stutter die je niet kunt herdefiniëren, primitieven
Special functions
Functies in Stutter waarvan de argumenten niet meteen worden geëvalueerd, maar alleen wanneer het nodig is.
Wat doet de car-functie in Stutter?
De car-functie geeft het eerste element van een lijst en kan alleen voor een lijst gebruikt worden. Uitzondering: car van nil = nil.
Wat doet de cdr-functie in Stutter?
Geeft alle elementen uit de lijst, behalve het eerste element. Kan alleen op lijsten gebruikt worden. Uitzondering: de cdr van nil is nil.
Wat doet een lambda-expressie in Stutter?
Met de lambda-expressie kun je nieuwe functies definiëren. Lambda is een speciale atoom.
Hoe wordt adaptatie omschreven in neo-Darwinisme?
adaptatie = variatie + erfenis + selectie
Wat betekent coevolutie?
Hoe twee soorten zich aanpassen aan elkaar zodat er een circulaire relatie ontstaat.
Wat is het idee achter genetische algoritmes?
Algoritmen ontwerpen die zijn geïnspireerd op ideeën uit de evolutieleer.
Wat is een genetisch algoritme?
Een probabilistisch zoekalgoritme dat door middel van iteratie een verzameling genotype met elk een fitness-waarde omzet in een nieuwe verzameling genotypen dmv natuurlijke selectie, kruising en mutatie.
Geeft een genetisch algoritme zekerheid over uitkomsten?
Nee, want het is een stochastisch proces.
Wat zijn de 4 componenten van DNA-structuren?
A, C, G en T
A met T
C met G
Wat is een voorwaarde om een Genetisch Algoritme te kunnen gebruiken op een probleem?
Er moet een omkeerbare methode zijn om de strings te vertalen naar de informatie die we echt nodig hebben.
Wat is de ‘raw fitness’?
Het percentage van letters dat correct is
fraw = Number of correct letters / Length of target string
Wat is ‘scaled fitness’?
A measure for fitness that takes into account the length of the string
fscale = 2 ^(fraw)
Waar bestaat de zoekruimte uit?
Alle genotypen die aanwezig zijn in een populatie.
Wat is normalized fitness?
the fitness of the whole population
finorm = (fi scale) / (the sum of j=i, n of fj scale)
Hoe werkt selectie in een Genetisch Algoritme?
Elk individueel heeft een kans op winnen. De kans op winnen is gelijk aan de genormaliseerde fitness.
Wat is crossover?
Een speciaal geval van recombinatie: wanneer delen van 2 of meer chromosomen met elkaar verwisseld worden.
Hoe werkt kruising?
Er wordt een random crossover point gekozen in het DNA van de ouders. Het genetisch materiaal links van dit punt van ouder 1 wordt geplakt aan het materiaal rechts van dit punt van ouder 2. De nieuwe string heeft van beide ouders dan een deel.
Hoe wordt de keuze van muteren of niet gemaakt?
Maak de keuze met een coin toss per letter. Zo kunnen sommige individuen meerdere stukken gemuteerd krijgen.
Hoe ziet een function optimization problem eruit?
Bestaat vaak uit een real-world probleem dat zich gedraagt als een functie van een paar parameters.
Het doel is om de instellingen van de paramaters zo te vinden dat een bepaalde waarde gemax - of geminimaliseerd wordt.
Hoe ziet een string voor een Genetisch Algoritme op het Iterated Prisoner’s Dilemma eruit?
Bestaat uit 5 karakters:
(1) de actie voor de eerste beurt
(2) actie als beide spelers meewerken
(3) actie als wij meewerkten en tegenstander niet
(4) actie als wij niet meewerkten en tegenstander wel
(5) actie als beide spelers niet meewerkten
Wat is impliciet parallellisme?
Een eigenschap van GA’s waardoor ze erg accuraat oplossingen kunnen zoeken.
Wat is een schema?
Een mogelijke verklaring.
Bij een alfabet van K letters en chromosoomlengte L zijn er (K+1)^L schema’s.
Elk chromosoom is lid van 2^L schema’s.
Wat is een schemata?
Een type template. Bestaan uit twee binaire symbolen en een ‘wild card symbol’.
Wat is Evolutionair Programmeren?
Techniek voor evolutie simulatie:
Gebruikt geen tussenrepresentatie of recombinatie. Maakt gebruik van toernooiselectie.Werkt langzamer als dichterbij de oplossing
Wat betekent het als een probleem NP-compleet is?
Het probleem is niet in polynomiale tijd op te lossen, behalve als P=NP
Uit welke twee componenten bestaan optimalisatie problemen?
representatie/oplossings ruimte S, evaluatie/fitness functie
Geef de pseudo-code van een Genetisch Algoritme
1) Maak een populatie van N individuen
2) Herhaal:
a) Evalueer alle individuen met fitness voorwaarde
b) Herhaal N keer:
Selecteer 2 individuen adhv fitness waarden
Combineer deze om 1 nieuwe te krijgen
Muteer de nakomeling
Voeg de nakomeling toe aan een nieuwe populatie
3) Vervang de populatie door de nieuwe populatie
Wat is een genotype?
De encodering op het chromosoom waarop de genetische operaties werken, de set van chromosomen die een individu met zich meedraagt.
Wat is een fenotype?
De uiterlijke verschijningsvorm van het organisme, dat bepaald wordt door het genotype. Wordt getest met de fitness functie.
Welke representatie gebruik je als je een phenotype van real numbers wil construeren?
Encodeer de real numbers direct in het genotype en zoek in de ruimte van real numbers.
Wat zijn mogelijke initialisaties?
Binaire strings
Reële getallen
Geordende lijsten
Mutatie in Genetische Algoritmes
Verandert een individu lichtelijk zodat een nieuwe wordt gecreeërt, die nog wel op de oude lijkt
Hoe werkt fitness proportionele/roulettewiel selectie?
Hogere fitness geeft een hogere probabiliteit op selectie voor reproductie.
Hoe werkt Tournament Selection?
k individuen worden random geselecteerd van de populatie zonder te vervangen. Van die k wordt de beste gekozen.
Hoe werkt Rank-based selection?
Elk individu krijgt een rank. Hoe beter het individu, hoe hoger de rank.
Hoe werkt Truncated Selection?
De beste zoveel worden geselecteerd, onder deze individuen wordt geen onderscheid gemaakt.
Wat is het verschil tussen generationeel genetisch algoritme en steady-state genetisch algoritme?
In een generationeel genetisch algoritme wordt de populatie in zijn geheel vervangen, terwijl in een steady-state genetisch algoritme 1 individu per keer een ander individu vervangt.
Wat zijn Evolutionaire Algoritmen?
Technieken voor het simuleren van evolutie.
Wat zijn drie theoriën binnen Evolutionaire Algoritmen?
1) Evolutionair Programmeren
2) Evolutionaire Strategieën
3) Genetische Algoritmen. (John Holland)
Waar hangt de keuze om wel of geen crossover te gebruiken van af?
Is de fitness functie splitbaar?
Er moeten building blocks zijn
Is er een semantisch betekenisvollen recombination opeterator? Dan niet crossover ook.
Hoe werkt point-mutatie in Genetisch Programmeren?
Een terminal mag alleen naar een andere terminal gemuteert worden en een functie alleen naar een andere functie met dezelfde ariteit.
Hoe werkt Population Based Incremental Learning?
Een chromosoom bestaat uit waarschijnlijkheden voor het genereren van 1 op een bepaalde plek
Hoe werkt de Probabilistic Program Tree?
Begin bij de root node en kies een functie adhv waarschijnlijkheden. Ga dan naar de subtrees van de PPT om de nodige argumenten te genereren. Herhaal tot het programma klaar is.
Wat is evolutionaire computatie?
Gebruiken genetische strings als representatie, zijn goed in verdeeld zoeken in grote ruimte.
Waar kunnen evolutionaire algorithmen voor gebruikt worden?
Controle taken
Combinatorische optimalisatie
Functie optimalisatie
Wat is het doel bij een optimalisatie probleem?
Het vinden van de oplossing smax in S met maximale fitness
Hoe werkt local-hillclimbing?
- Genereer een oplossing s0, t=0
- Herhaal tot de stopconditie geldt:
s.new = verander(s.t)
Als f(s.new)>f(s.t) dan s.t+1=s.new
Anders s.t+1=s.t
t= t+1
Wat is een nadeel van local-hillclimbing? Hoe ga je daarmee om?
Komt vaak in een lokaal minimum terecht.
Algoritme vanaf verschillende punten starten.
Hoe maak je een evolutionair algoritme? (Abstract)
Ontwerp een representatie
Initialiseer de populatie
Ontwerp een manier om een genotype om te zetten naar een phenotype
Ontwerp een evaluatie functie om een individu te evalueren
Hoe maak je een evolutionair algoritme? (Specifiek)
Ontwerp bepaalde mutatie operatoren
Ontwerp bepaalde recombinatie operatoren
Beslis hoe ouders worden geselecteerd
Beslis hoe individuen worden gestopt in de nieuwe populatie
Beslis wanneer het algoritme kan stoppen