Evolutionary Programming + Genetic Programming

5.0(1)
studied byStudied by 1 person
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/20

flashcard set

Earn XP

Description and Tags

evolutionary programs used to represents problems with real value numbers. genetic algorithms used for genes that are binary or a fixed number of permutations

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

21 Terms

1
New cards
what is evolutionary computation?
family of algorithms/ techniques that are inspired by evolution theory and aimed to solve optimisation problems and generate AI in games
2
New cards
what methods are under the field of evolutionary computation
* evolutionary programming
* evolutionary strategies
* genetic algorithms
* genetic programming
* learning classifier systems
* estimation of distribution algorithms
3
New cards
what is the basic concept of evolutionary computation?
knowt flashcard image
4
New cards
what is evolutionary programming?
multi-population algorithm similar to GAs that aim to find a solution.

unlike GAs, every parent mutates to create a single ‘child’ → this means that the population doubles (instead of using crossover to create a child based on 2 parents)
5
New cards
how does evolutionary programming differ from genetic algrotihms?
mutation operator is more complex and adaptive

does not involve crossover operator

selection operator is in the form of Tournament selection and not a roulette wheel
6
New cards
what is tournament selection?
each member of the population is compared with a fixed number of other individuals

* for each comparison the individual gains a point if its fitness is better than the opponent

after @@comparisons,@@ the population is reduced to its original size (remove 50%) by keeping the individuals with the highest score
7
New cards
what is the pseudocode for the evolutionary programming algorithm?
check in-between tournament selection and mutation to check for invalid individuals
check in-between tournament selection and mutation to check for invalid individuals
8
New cards
what is genetic programming?
an evolutionary approach that extends genetic algorithms where we evolve @@computer programs@@ by natural selection
9
New cards
what is one type of genetic programming?
symbolic regression
10
New cards
what is symbolic regression?
a @@mathematical expression@@ is represented as a tree and we are trying to breed the best mathematical function
11
New cards
how does symbolic regression work?

1. initially determine the set of terminals and non-terminals/functions
2. fitness = the observed data vs. the calculated data that comes from evaluating the expression the tree represents
3. crossover and mutation are adapted to handle tree structures
4. a genetic programming algorithm is virtually the same as the genetic algorithm

1. initially determine the set of terminals and non-terminals/functions
2. fitness = the observed data vs. the calculated data that comes from evaluating the expression the tree represents
3. crossover and mutation are adapted to handle tree structures
4. a genetic programming algorithm is virtually the same as the genetic algorithm
12
New cards
what type of operators can genetic programming do compared to genetic algorithms?
as an extension of genetic algorithms, genetic programming can do all of the operators in GAs plus more specialised versions that work on the mathematical tree rather than on a chromosome (string of digits)
13
New cards
what are the specialised genetic programming operators?
sub-tree exchange crossover

self crossover

\
point mutation

permutation mutation

prune mutation

hoist mutation

expansion mutation

sub-tree mutation
14
New cards
what is the sub-tree exchange crossover operator?
two sub trees are swapped between parents
15
New cards
what is the self crossover operator?
sub trees are exchanged within an individual parent
16
New cards
what is the point mutation operator?
a node in the tree is changed to a different symbol
17
New cards
what is the permutation mutation operator?
two terminal (num/variable) nodes from the same sub tree are swapped
18
New cards
what is the hoist mutation operator?
a sub tree creates a new individual
19
New cards
what is the expansion mutation operator?
a sub tree is added to the base of the tree
20
New cards
what is the prune mutation operator?
a sub tree is removed
21
New cards
what is the sub tree mutation operator?
a sub tree is replaced with a random sub tree