Week 7 Flashcards

1
Q

Wat is een atoom in Stutter?

A

Een rijtje van karakters

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Wat voor punctuatie gebruikt Stutter?

A

( = open lijst
) = sluit lijst
‘ = quote atomen of lijst
; = negeer, begin van een opmerking

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Value functions

A

Functies in Stutter die je niet kunt herdefiniëren, primitieven

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Special functions

A

Functies in Stutter waarvan de argumenten niet meteen worden geëvalueerd, maar alleen wanneer het nodig is.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Wat doet de car-functie in Stutter?

A

De car-functie geeft het eerste element van een lijst en kan alleen voor een lijst gebruikt worden. Uitzondering: car van nil = nil.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Wat doet de cdr-functie in Stutter?

A

Geeft alle elementen uit de lijst, behalve het eerste element. Kan alleen op lijsten gebruikt worden. Uitzondering: de cdr van nil is nil.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Wat doet een lambda-expressie in Stutter?

A

Met de lambda-expressie kun je nieuwe functies definiëren. Lambda is een speciale atoom.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Hoe wordt adaptatie omschreven in neo-Darwinisme?

A

adaptatie = variatie + erfenis + selectie

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Wat betekent coevolutie?

A

Hoe twee soorten zich aanpassen aan elkaar zodat er een circulaire relatie ontstaat.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Wat is het idee achter genetische algoritmes?

A

Algoritmen ontwerpen die zijn geïnspireerd op ideeën uit de evolutieleer.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Wat is een genetisch algoritme?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Geeft een genetisch algoritme zekerheid over uitkomsten?

A

Nee, want het is een stochastisch proces.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Wat zijn de 4 componenten van DNA-structuren?

A

A, C, G en T
A met T
C met G

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Wat is een voorwaarde om een Genetisch Algoritme te kunnen gebruiken op een probleem?

A

Er moet een omkeerbare methode zijn om de strings te vertalen naar de informatie die we echt nodig hebben.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Wat is de ‘raw fitness’?

A

Het percentage van letters dat correct is
fraw = Number of correct letters / Length of target string

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Wat is ‘scaled fitness’?

A

A measure for fitness that takes into account the length of the string
fscale = 2 ^(fraw)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Waar bestaat de zoekruimte uit?

A

Alle genotypen die aanwezig zijn in een populatie.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Wat is normalized fitness?

A

the fitness of the whole population
finorm = (fi scale) / (the sum of j=i, n of fj scale)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Hoe werkt selectie in een Genetisch Algoritme?

A

Elk individueel heeft een kans op winnen. De kans op winnen is gelijk aan de genormaliseerde fitness.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Wat is crossover?

A

Een speciaal geval van recombinatie: wanneer delen van 2 of meer chromosomen met elkaar verwisseld worden.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Hoe werkt kruising?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Hoe wordt de keuze van muteren of niet gemaakt?

A

Maak de keuze met een coin toss per letter. Zo kunnen sommige individuen meerdere stukken gemuteerd krijgen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Hoe ziet een function optimization problem eruit?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Hoe ziet een string voor een Genetisch Algoritme op het Iterated Prisoner’s Dilemma eruit?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

Wat is impliciet parallellisme?

A

Een eigenschap van GA’s waardoor ze erg accuraat oplossingen kunnen zoeken.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q

Wat is een schema?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
27
Q

Wat is een schemata?

A

Een type template. Bestaan uit twee binaire symbolen en een ‘wild card symbol’.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
28
Q

Wat is Evolutionair Programmeren?

A

Techniek voor evolutie simulatie:
Gebruikt geen tussenrepresentatie of recombinatie. Maakt gebruik van toernooiselectie.Werkt langzamer als dichterbij de oplossing

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
29
Q

Wat betekent het als een probleem NP-compleet is?

A

Het probleem is niet in polynomiale tijd op te lossen, behalve als P=NP

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
30
Q

Uit welke twee componenten bestaan optimalisatie problemen?

A

representatie/oplossings ruimte S, evaluatie/fitness functie

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
31
Q

Geef de pseudo-code van een Genetisch Algoritme

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
32
Q

Wat is een genotype?

A

De encodering op het chromosoom waarop de genetische operaties werken, de set van chromosomen die een individu met zich meedraagt.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
33
Q

Wat is een fenotype?

A

De uiterlijke verschijningsvorm van het organisme, dat bepaald wordt door het genotype. Wordt getest met de fitness functie.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
34
Q

Welke representatie gebruik je als je een phenotype van real numbers wil construeren?

A

Encodeer de real numbers direct in het genotype en zoek in de ruimte van real numbers.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
35
Q

Wat zijn mogelijke initialisaties?

A

Binaire strings
Reële getallen
Geordende lijsten

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
36
Q

Mutatie in Genetische Algoritmes

A

Verandert een individu lichtelijk zodat een nieuwe wordt gecreeërt, die nog wel op de oude lijkt

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
37
Q

Hoe werkt fitness proportionele/roulettewiel selectie?

A

Hogere fitness geeft een hogere probabiliteit op selectie voor reproductie.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
38
Q

Hoe werkt Tournament Selection?

A

k individuen worden random geselecteerd van de populatie zonder te vervangen. Van die k wordt de beste gekozen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
39
Q

Hoe werkt Rank-based selection?

A

Elk individu krijgt een rank. Hoe beter het individu, hoe hoger de rank.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
40
Q

Hoe werkt Truncated Selection?

A

De beste zoveel worden geselecteerd, onder deze individuen wordt geen onderscheid gemaakt.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
41
Q

Wat is het verschil tussen generationeel genetisch algoritme en steady-state genetisch algoritme?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
42
Q

Wat zijn Evolutionaire Algoritmen?

A

Technieken voor het simuleren van evolutie.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
43
Q

Wat zijn drie theoriën binnen Evolutionaire Algoritmen?

A

1) Evolutionair Programmeren
2) Evolutionaire Strategieën
3) Genetische Algoritmen. (John Holland)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
44
Q

Waar hangt de keuze om wel of geen crossover te gebruiken van af?

A

Is de fitness functie splitbaar?
Er moeten building blocks zijn
Is er een semantisch betekenisvollen recombination opeterator? Dan niet crossover ook.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
45
Q

Hoe werkt point-mutatie in Genetisch Programmeren?

A

Een terminal mag alleen naar een andere terminal gemuteert worden en een functie alleen naar een andere functie met dezelfde ariteit.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
46
Q

Hoe werkt Population Based Incremental Learning?

A

Een chromosoom bestaat uit waarschijnlijkheden voor het genereren van 1 op een bepaalde plek

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
47
Q

Hoe werkt de Probabilistic Program Tree?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
48
Q

Wat is evolutionaire computatie?

A

Gebruiken genetische strings als representatie, zijn goed in verdeeld zoeken in grote ruimte.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
49
Q

Waar kunnen evolutionaire algorithmen voor gebruikt worden?

A

Controle taken
Combinatorische optimalisatie
Functie optimalisatie

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
50
Q

Wat is het doel bij een optimalisatie probleem?

A

Het vinden van de oplossing smax in S met maximale fitness

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
51
Q

Hoe werkt local-hillclimbing?

A
  1. Genereer een oplossing s0, t=0
  2. 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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
52
Q

Wat is een nadeel van local-hillclimbing? Hoe ga je daarmee om?

A

Komt vaak in een lokaal minimum terecht.
Algoritme vanaf verschillende punten starten.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
53
Q

Hoe maak je een evolutionair algoritme? (Abstract)

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
54
Q

Hoe maak je een evolutionair algoritme? (Specifiek)

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
55
Q

Wat zijn de twee methoden voor initialisatie?

A
  1. Uniform willekeurig over de gehele zoekruimte. Binaire strings: 0/1 met kans 0.5. Reeële getallen: uniform op gegeven interval
  2. Gebruik vorige resultaten. Nadeel=mogelijk verlies genetische diversiteit, soms niet ontsnappen aan initiële bias.
56
Q

Wat is een mating pool?

A

Een verzameling waaruit de ‘partner’ gekozen wordt.

57
Q

Hoe ga je om met eisen voor phenotypes in evolutionaire algoritmes?

A

Gebruik een penalty term in de fitness functie.
Gebruik specifieke evolutionaire algoritmen die omgaan met eisen.

58
Q

Wat zijn 3 voorwaarden bij het maken van mutatie operatoren in evolutionaire algoritmes?

A
  1. Tenminste 1 mutatie operator moet het mogelijk maken om de hele zoekruimte te kunnen doorzoeken.
  2. De grootte van de mutatie stap moet controleerbaar zijn.
  3. Mutatie moet geldige chromosomen opleveren.
59
Q

Wat doet een recombinatie operator?

A

Mapt 2 ouders op 1 of 2 kinderen.

60
Q

Wat zijn 3 belangrijke punten bij het maken van recombinatie operatoren in evolutionaire algoritmes?

A
  1. Het kind moet iets van elke ouder erven.
  2. Moet samen met de representatie ontworpen worden.
  3. Moet geldige chromosomen opleveren.
61
Q

Wat zijn 3 nadelen van fitness proportionele selectie in evolutionaire algoritmes?

A
  1. Gevaar van voorbarige convergentie
  2. Lage selectie druk als fitness waarden dichtbij elkaar liggen
  3. Gedraagt zich verschillend voor translatieve veranderingen van fitness functie.
62
Q

Wat is recombinatie?

A

Wanneer bij het reproduceren bepaalde DNA-delen van plaats veranderen.

63
Q

Noem 3 eigenschappen van recombinatie:

A

1) Veranderingen hangen van de hele populatie af
2) Afnemend effect met convergentie van populatie
3) Exploitatie operator

64
Q

Noem 2 eigenschappen van mutatie

A

Verplicht om uit lokale minima te ontsnappen
Exploratie operator

65
Q

Wat is het verschil tussen Genetische Algoritmen en Evolutionair Programmeren?

A

GA gebruikt crossover en mutatie, ES alleen mutatie.
GA werkt op genotypes, EP meer op fenotypes.

66
Q

Hoe werkt genetisch programmeren?

A

Gebruikt functionele bomen als representatie ipv binaire strings
(Onderste 2 takken * node ) *node tak erboven

67
Q

Hoe werkt PIPE?

A

Gebruikt kansen om functies op een knoop in programma boom te genereren. Slaat 1 PPT op ipv alle individuen. Maakt individuen adhv PPT.

68
Q

Waar staat PIPE voor?

A

Probabilistic Incremental Program Evolution

69
Q

Hoe maakt PIPE individuen met behulp van PPT?

A

Begin bij wortel en kies hiervoor functie volgens kansverdeling
Ga naar subbomen van PPT om argumenten te genereren
Herhaal tot programma af is

70
Q

Wat zijn voordelen van een EC?

A

Kunnen vaak direct ingezet worden
Goed in doorzoeken van grote zoekruimtes
Kunnen gebruikt worden voor veel soorten problemen
Makkelijk te parallelliseren

71
Q

Wat zijn nadelen van een EC?

A

Soms last van voorbarige convergentie/verlies genetische diversiteit
Veel individuen niet meer gebruikt na evaluatie
Kan traah leerproces opleveren
Weinig selectie druk als meeste individuen gelijke+slechte fitness hebben.

72
Q

Hoe verhouden Evolutionaire Algoritmen, Genetische Algoritmen en Genetisch Programmeren zich tot elkaar?

A

Evolutionaire algoritme is de grootste verzameling.
Genetisch Algoritme is een subset, net als genetisch programmeren. Deze twee hebben overlap.

73
Q

Mitose

A

Chromosoomopsplitsing bij normale celdeling. Duurt 12-24 uur.

74
Q

Meiose

A

Chromosoomopsplitsing bij geslachtelijke celdeling. Produceert zaad-/eicellen. Vindt plaats in ouder

75
Q

Hoe verhouden genotypen en fenotypen zich tot elkaar?

A

Populatie van genotypen
Genotypen uiten zich in een organisme: het fenotype.
Fenotype presteert en bezit een fitness. Genotype kannzichzelf voortplanten.

76
Q

Wat is het verschil tussen Genetische Algoritmen en Genetisch Programmeren?

A

GA werken op strings met een vaste lengte, GP werkt op syntaxbomen van computerprogramma’s.

77
Q

Wat zijn Evolutionaire Strategiën?

A

Werkt op chromosomen, de genen zijn representatie van parameters. Deterministisch

78
Q

Wat is de meest invloedrijke publicatie op het gebied van Genetische Algoritmes?

A

Goldberg’s monograaf.

79
Q

Beschrijf het restaurant-probleem:

A

Drank: 0=cola/1=wijn
Prijs: 0=laag/1=hoog
Service: 0=snel/1=traag

Fitness = de opbrengst

80
Q

Hoe bereken je de zoekruimte bij een probleem?

A

K = omvang van het alfabet
L = chromosoom lengte

Dan is de omvang van de zoekruimte:
K^L

81
Q

Wat zijn 4 probabilistische elementen in Genetische Algoritmen?

A

De nul-generatie is random,
probabilistische selectie,
weinig + willekeurige mutatie,
invloed exogene factoren

82
Q

Noem 4 toepassingen van Genetische Algoritmen:

A

1) antenne-ontwerp
2) giek van een hijskraan
3) balanceer-probleem
4) fouragerende mier

83
Q

Wat is het antenne ontwerp?

A

De x,y,z coördinaten van 6 kogelscharnieren moeten bepaald worden, met het eindpunt van een 7-delige antenne.
Antenne start in (0,0,0) en moet passen in de (0.5l)^3 kubus. Fitness = ontvangstkwaliteit.

84
Q

Hoe wordt de antenne gerepresenteerd in het antenne ontwerp?

A

Elk 3D-punt heeft 5 bits: 1 voor het teken en 4 voor de getallen.
Dimensie = 3
Er zijn 7 scharnierpunten met ieder 5 bits.
chromosoomlente = 3x7x5=105 bits

85
Q

Wat is het giek van de hijskraan probleem?

A

Het gewicht van de stangenconstructie moet geminimaliseerd worden. Een giek met 10 stangen: 6 van 30cm en 4 van 41cm. Diameter stang is variabel.

86
Q

Hoe is de representatie van het giek van de hijskraan probleem?

A

Diameters zijn bit strings van 4 bits. Lengte van chromosoom is 10x4 = 40 bits.
Fitness = totale gewicht en penalty als constructie breekt. (hoe lager, hoe beter dus)

87
Q

Wat is het balanceer-probleem?

A

Een fietser met een stok die verticaal gebalanceerd wordt. Fietser kiest een richting gebaseerd op: plaats, snelheid, hoek van de stok en hoeksnelheid van de stok.

88
Q

Hoe is de representatie van het balanceer-probleem?

A

Gebruikt toernooiselectie.
Richting bepaald door:
w.plaatsxplaats +w.snelheidxsnelheid + w.hoekxhoek + w.hoeksnelheidxhoeksnelheid.

89
Q

Beschrijf het probleem van de fouragerende mier:

A

Rooster van 32x32 met zwart=voedsel en grijs=pad.
Mier wordt verdwijderd als voedsel op is of hij er te lang over doet. Mier ziet alleen het vakje voor zich. Chromosoomlengte = 34 bits.

90
Q

Wat zijn de vier acties van de fouragerende mier?

A

00 = doe niets
01 = draai 90 graden naar links
10 = draai 90 graden naar rechts
11 = doe een stap naar voren.

91
Q

Geef een voorbeeld van een algoritme van de fouragerende mier:

A
  1. Kijk of er eten voor je ligt. Nee? Draai rechts.
  2. Kijk of er eten voor je ligt. Nee? Draai links.
  3. Kijk of er eten voor je ligt. Nee? Draai links.
  4. Kijk of er eten voor je ligt. Nee? Draai rechts.
    In andere gevallen: loop naar eten, eet het op en ga naar toestand 1.
92
Q

Geef een voorbeeld van algoritme en toestanden van de fouragerende mier uitgedrukt in bitstrings.

A

00) Als voer: move, eet en goto 00. Anders turn right en goto 01.
01) Als voer: move, eet en goto 00 Anders: turn left en goto 10.
10) Als voer: move, eet en goto 00. Anders: turn left en goto 11
11) Als voer: move, eet en goto 00. Anders: turn right en goto 00.

93
Q

Hoe is een transitietabel voor Evolutionaire Algoritmen opgebouwd?

A

Toestand - Input - Nieuwe Toestand - Actie

94
Q

Wat is de formule voor fitness proportionele selectie in een individu?

A

p.selecteer(x) = Def. (1 / |X| ) * ( f(x) / f(X) )
met p.selecteer = waarschijnlijkheid van selectie,
x= individu
X = verzameling van individuen.

95
Q

Wat is de formule voor fitness proportionele selectie in schema’s?

A

p.selecteer(H) = ( |H| / |X| ) * ( f(H) / f(X) )

met p.selecteer = waarschijnlijkheid selectie,
H = verzameling van elementen.

96
Q

Geef de formule van John Holland’s schemastelling:

A

p (H.t+1) >= ( |H.t| / |X.t| ) * ( f(H.t) / f(X.t) ) * (1 - eta.c) * (1-eta.m)
H = schema
t= tijdsstap
X = generatie verzameling
eta= kans
c= crossover
m= mutatie

97
Q

Wat is de schemastelling van John Holland in woorden?

A

De kans dat schema H in de volgende generatie zit, is groter of gelijk aan
de frequentie van H in de huidige generatie
* de fitness van schema H
* de kans op verlies van schema H als gevolg van crossover
* de kans op verlies van schema H als gevolg van mutatie.

98
Q

Wat zijn 4 opmerkingen op John Holland’s schemastelling?

A

Populatie is geen representatieve sample van een schema.
De formulie klopt ook al zonder crossover en mutatie.
Een ruime ondergrens is weinig informatief (=>).
Fitness is exogeen en varieert per genotype.

99
Q

Noem 3 eigenschappen van Genetisch Programmeren:

A

Traag,
Werkt alleen met grote populaties,
concurreert met andere connectionistische technieken

100
Q

Wat is er speciaal aan Genetisch Programmeren?

A

Gebruikt niet-lineaire chromosomen (bomen, grafen) en
genotype bezit variabele omvang.

101
Q

Hoe wordt Genetisch Programmeren in Koza’s versie gemaakt?

A

Genotypen zijn programma’s in LISP.

102
Q

Waar staat LISP voor?

A

LISt Processing Language

103
Q

(f a b c) in Stutter

A

Functie f wordt aangeroepen met argumenten a, b en c.

104
Q

Wat is een atoom wanneer ie niet geevalueerd wordt?

A

Zichzelf. Bijv a = a.

105
Q

Wat is een atoom als deze geevalueerd wordt?

A

Zn waarde.

106
Q

Wat gebeurt er als je een atoom zonder quote input?

A

Als deze gebonden is aan een waarde, geeft Stutter de waarde. Anders komt er een error.

107
Q

set in Stutter

A

Functie met 2 argumenten: eentje evalueert naar het atoom waar je een waarde aan wil geven, en eentje is het atoom waarvan het resultaat na evaluatie gebonden wordt aan het atoom uit arg1.

108
Q

Wat doet de cons functie in Lisp?

A

Maakt een nieuwe lijst van twee argumenten. Eerste argument is de car van resultaat lijst (1e element) en tweede argument is de cdr van resultaat lijst (dus alle elementen behalve eerste).

109
Q

if-functie in Stutter

A

Neemt drie argumenten:
1) voorwaarde
2) argument als 1) waar is, stopt functie
3) argument als 1) niet waar is, dan evalueert ie 2) niet.

110
Q

Wat is ‘true’ en ‘false’ in Stutter?

A

true= alles dat niet nil is
false= nil

111
Q

Wat zijn de 4 soorten atomen in LISP?

A

Identifiers, getallen, strings en speciale atomen.

112
Q

Noem een identifier in LISP:

A

x12, t4
begint met een letter

113
Q

Noem getallen in LISP:

A

-3, 9, 0+45

114
Q

Noem string in LISP:

A

“hallo”, “hallo\n”

115
Q

Noem speciale atomen in LISP:

A

NIL, T

116
Q

Wat is een S-EXP?

A

Een symbolische expressie:
een atoom of een lijst

117
Q

Wat is de recursieve definitie van een s-expressie?

A

Een s-expressie is een atoom of een lisjt.

118
Q

Wat is de recursieve deinitie van een lijst?

A

Een lijst is een linkerhaakje, gevolgd door een eindig (mogelijk leeg) rijtje s-expressies, gevolgd door een rechterhaakje.

119
Q

Welke dingen in LISP evalueren naar zichelf?

A

Getallen, strings, T en NIL.

120
Q

Hoe construeer je eerst expressies en evalueer je ze later pas?

A

Zet eerst de waarde van je expressies op wat je wilt,
(SETQ expressie-x ‘waarde-lijst).

Zet daarna de waarde van een expressie waarin je ze samenvoegt:
(SETQ expressie-samen (LIST ‘* expressie-x expressie-y)).

Als je nu expressie-samen evalueert, dan krijg je de uitkomst van de * operatie omdat ie alles dan evalueert.

121
Q

Welke code gebruik je als je een bepaald argument van een eerder gedefinieerde functie wil instantieren in LISP?

A

Bijv. functie (SETQ ‘(if (food-ahead) then-part **else-part), dan:

(SETF (NTH 2 code) argument-watjewil)
als je arg2 wilt aanpassen.

122
Q

Wat is een homogene term-verzameling?

A

Alle functies zijn toe te passen op alle termen.

123
Q

Noem drie opvolgers van LISP:

A

Python, JavaScript en C#

124
Q

Wat bevat een terminal-set?

A

Alle terminals die gebruikt worden in het programma.

125
Q

Wat bevat een fuctional set?

A

Alle functies die gebruikt worden in het programma, zoals kwadrateren en /.

126
Q

Wat is een voorwaarde voor kruising in LISP-bomen?

A

De te kruisen structuren moeten van hetzelfde type zijn.

127
Q

Hoe werkt de groemethode als initialisatie?

A

Expressies worden willekeurig gekozen uit de unie van functieverzameling en terminalverzameling. De expressie op de maximale diepte van de syntaxboom kan alleen een terminal zijn.

128
Q

Hoe werkt de verzadigde methode als initialisatie?

A

Expressies worden willekerig gekozen uit de functieverzameling. Op diepte gelijk aan maximale diepte van syntaxbom worden ze willekeurig gekozen uit de terminal verzameling.

129
Q

Hoe werkt de ramped half-and-half initialisatiemethode?

A

De verzadigde methode en de groeimethode generaliseren ieder de helft van de populatie.

130
Q

Beschrijf het BLOAT-probleem:

A

Bij kruising en mutaties groeit de gemiddelde omvang van expressies. Ook wel survival of the fattest genoemd.

131
Q

Wat zijn manieren om bloat tegen te gaan?

A

Verbied het krijgen van dikke kinderen,
of geef dikke kinderen een lagere fitness. (pressure of parsimony/occam’s razor)

132
Q

Wat is symbolische regressie?

A

Een voorbeeld van genetisch programmeren

133
Q

Wat is het probleem in symbolische regressie?

A

Een verzameling punten in R^2 zijn gegeven en er moet een functievoorschrift gevonden worden dat de punten zo goed mogelijk omschrijft.

134
Q

Wat is de restrictie op het functievoorschrift in symbolische regressie?

A

MOet zijn opgebouwd uit variabele x, getallen, +, - , * /, sin, cos, exp of log.

135
Q

Geen een voorbeeld van de fitness in symbolische regressie:

A

de som van de fouten op alle punten +
0.05* de lengte van het functievoorschrift

136
Q

Beschrijf Genetisch Programmeren

A

Een serie van genetische operaties op een pool van syntaxbomen.