Lecture 8 - Hyper-Heuristics II Flashcards

1
Q

What do the colours mean within a graph-based hyper-heuristic?

A

As assignment of labels (colours) to elements of a graph subject to certain constraints

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

What is Vertex Colouring?

A

A way of colouring the vertices of a graph such that no two adjacent vertices share the same colour

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

What does the degree of a vertex tell you?

A

The number of edges connected to that vertex

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

What does the saturation degree of a vertex tell you?

A

The number of differently coloured vertices already connected to it

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

How do you go about solving the minimum colouring problem?

A

Compute the degree of all vertices
Sort the vertices from largest degree to smallest
Colour the first vertex in the list with the next colour (starting with the first) that is different than its neighbours
Delete the vertex from the list, go to the previous step unless no vertices are left.

For each step, use the saturation degree.

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

What is Genetic Programming?

A

‘Get a computer to do what needs to be done, without telling it how to do it’
Provides a method for automatically creating a working computer program from a high-level problem statement of the problem
Iteratively transforms a population of computer programs into a new generation of programs via evolutionary process

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

What features does a GP have that makes it what it is?

A

It is an evolutionary algorithm containing the same algorithmic components, including:
Random generation of the initial population of possible solutions
Genetic crossover of two promising solutions to create new possible solutions
Mutation of promising solution to create new possible solutions
For reference, created solutions are actually new programs

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

How do you randomly generate a program?

A

Randomly generate a program that takes two or more arguments and uses basic arithmetic to return an answer.
Randomly select either a function or a terminal to represent our program
If a function was selected, recursively generate random programs to act as arguments

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

How do you create a tree for randomly generated programs?

A

Go from left to right, with each argument being set as a leaf to the root node. If the argument is a function, then put the operator as the root of that function, and the other parts as leaves below it.

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

How do you perform mutation within a tree for randomly generated programs?

A

Pick a random node
Anything associated with it i.e. below it, is removed/deleted.
Then, replace that area with the new argument’s contents

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

How do you perform crossover within a tree for randomly generated programs?

A

Pick two nodes.
Swap them between the trees. If it has a subtree, that comes along for the journey.

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