🡴 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.
We are dealing with a problem in which optimization algorithms (e.g., evolutionary) have difficulty discovering good solutions, never reaching the global optimum. A question: can the optimization 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. You can generalize this question to two representations of A and B, one translated to the other, completely abstracting from Framsticks and GP – 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. As an example, include one very good individual obtained in the GP tree representation (the tree before conversion to the chosen Framsticks representation). Generate the same comparison plots as usual, interpret them and describe conclusions.