🡴 Up to the list of all exercises
Question 1
In the lecture in EAs Part 3 ("Variants and specializations of evolutionary algorithms") we discussed genetic programming (GP, review the lecture pdf now). DEAP can optimize GP (code examples are in the lecture pdf as well). Devise a mapping of the GP space to one selected genetic representation in Framsticks. On the GP side, you will need your own function nodes and terminal nodes, as well as a tree evaluation function that must produce a genotype based on the tree in the desired Framsticks representation.
First, a question (answer Yes or No): can the optimization (e.g., with an evolutionary algorithm) in the GP space developed in this task (transforming each GP genotype to some genotype in the native Framsticks representation) obtain better results than the analogous optimization performed with the native Framsticks representation and its operators? Remember that the GP representation in this approach is not able to produce anything that cannot be produced in the native representation (to which GP is transformed). Provide justification for your answer. This question can be generalized to two representations of A and B, one translated to the other, completely abstracting from Framsticks and GP – and the answer to such a generalized question and its justification will be the same.
Optimization with an evolutionary algorithm in the GP space can yield better results, because...
or:
Optimization with an evolutionary algorithm in the GP space cannot yield better results, because...
Question 2
On the GP side, implement your own function nodes and terminal nodes, and a tree evaluation function that generates a genotype from the tree in the target Framsticks representation (this genotype is then evaluated exactly as it was during the earlier lab experiments). Choose one of the optimization problems we have covered so far: "vertpos" without a neural network (f0, f1 or f4) or "velocity" with a neural network (f0 or f1).
Use the same sequence of *.sim
files that we used for the problem you have now selected.
Compare the effectiveness of evolution that searches the genotype space using native Framsticks operators and the one that searches the GP space using existing operators in DEAP. You can test a few of your ideas and different variations of transforming one space into another. Describe in detail the ideas you have implemented (you can аlso include the most important code snippets) and justify your way of solving the problem. Generate the same comparison plots as usual, interpret them and describe conclusions.