Week 11: Genetic Programming Flashcards

1
Q

What is genetic programming?

A

Genetic programming is a model of programming which uses the ideas of biological evolution to handle a complex problem.

Genetic programming is an extension of GA (Genetic Algorithm) - a model for testing and selecting the best choice among a set of results

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

What is the data structure used to represent a solution in Genetic Programming?

A

Solutions are represented as Tree Structures

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

What is the general mechanism used for recombining solutions in Genetic Programming?

A

Crossover is done by exchanging of subtrees

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

What is the general mechanism used for mutation in Genetic Programming?

A

Mutation is a random change in trees

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

What is the general mechanism used for parent selection in Genetic Programming?

A

Parent selection is fitness proportional (just like GA)

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

What is the general mechanism used for survivor selection in Genetic Programming?

A

Same as GA, the fittest will survive and replace the less fit

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

In GA (Genetic Algorithm):

  • Chromosomes are linear structures (bit strings, integer string, real-valued vectors, permutations)
  • The size of chromosomes is fixed.

How are these different in GP (Genetic Programming)? Tree Structures are used in GP to represent solutions

A

In GP:
- Trees may vary in depth and width

  • The size of Chromosomes is fixed
  • Trees may vary in depth and width
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Give an outline of the step-by-step process for the Genetic Algorithm

A
  1. Randomly generate a set of possible solutions to a problem, representing each as a fixed length character string
  2. Test each possible solution against the problem using a fitness function to evaluate each solution
  3. Keep the best solutions, and use them to generate new possible solutions
  4. Repeat steps 2 & 3, until either an acceptable solution is found, or until the algorithm has iterated through a given number of cycles/generations
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What does the Genetic Programming flowchart look like?

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

The Tree-based representation of a solution in Genetic Programming is composed of two parts.

Describe them

A
  • Terminals, T. These are leaf nodes in the tree. Every member of T is a correct expression, “e”.
  • Function set, F. These are operators that can be applied onto terminals: f(e1,e2, …) to produce an expression “e”.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

How is mutation performed in Genetic Programming for the tree structures?

A

Take a random subtree in the structure and replace it by a randomly generated tree (randomly generated terms and functions)

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

In Genetic Programming, mutation has two parameters. What are they?

Can the size of the child in mutation be different to the size of the parent in mutation?

A
  • Probability Pm to choose mutation vs recombination (crossover), with typical value very small (0.05) or 0
  • Probability to chose an internal point as the root of the subtree which is to be mutated
  • The size of the child can exceed the size of the parent
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

In Genetic Programming, a state can undergo ______ or ______, but not both in one ______

A

mutation
recombination/crossover
generation

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

How is Recombination performed in Genetic Programming for two tree structures (parents)?

A

Pick a subtree in parent 1, and another subtree in parent 2.

Exchange these two subtrees between the two parents (swap the subtrees) and you’ll have the two children

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

In Genetic Programming, the Recombination operator has two parameters. What are they?

A
  • Probability Pc to choose recombination vs mutation
  • Probability to chose an internal point as the root of the subtree which is to be used in crossover
  • The size of the trees in the children can exceed that of the parents
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Virtually all problems in artificial intelligence, machine learning, adaptive systems, and automated learning can be ______ as a ______ for a computer program

A

recasted

search

17
Q

In computer programs, what are 4 ways to “reuse” code?

A
  1. Subroutines, with different instantiations of the dummy variables
  2. Loops and iterations
  3. Recursion
  4. Memory, reusing the results of previous execution
18
Q

Give examples of what type of representations can be made using the tree structure

A
  • Arithmetic formulas
  • Logical formulas
  • Programs (code)