ECAL081 - Exercise 3 – Frequently Asked Questions

 

Q: Do we have to use Scheme in the solution? Can we just use Java?

A: You can create and run the GP in Java. The individuals’ genotype should be a tree expressible in LISP language, but if you wish you can implement them as, say, Java Trees and run them (fitness calculations) in Java.

The LISP programs are just the representation of the individuals. Remember to put the LISP representation of the individuals in your report.

 

Q: Koza's paper notes that the robot might apply force not coaxial with the center of gravity of the box, which will cause the box to rotate.
What level of calculations are you expecting? Should I calculate the whole scenario as force formulas (like in mechanic physics - cosinus of the angles and so on...)

A: You can do it however you understand it, so it makes sense. It does not have to be exactly like Koza's work (especially since he does not spell out every detail). Reasonable calculations without going into high level physics are just fine. We are interested in the GP process.

 

Q: On Koza’s paper it is written that "All sonar distances are dynamically recomputed after each execution of a move or turn."

Now the s00, s01,....s011,ss are all terminals  i understand what is the meaning of evaluate MF, TR, TL.

What is the meaning of evaluate s07 if the answer is just compute the distance for the closest object then why should the sonars recomputed each step ?

If the answer is just to return its value - then it doesn't make any sense... I believe the robot should use this information? Should it turn to this direction?

A: What I understand is that if you have just executed MF (Move Forward), the value of S07 will now be different then before the MF call. (same with other movement terminals: TR, TL)

So for instance, for the individual:
(PROGN2 (PROGN2 S07 (MF)) S07)
The first S07 terminal (the one in bold) will be evaluated before the call to (MF), and return a value, say 5. The second S07 terminal, will be evaluated after the call to move forward, so the value will be different, because the robot has already moved, so it can be, say, 3.5

 

Q: Can we increase the probability for a terminal MF, even though Koza does not mention doing this? Our trees are very big with relatively low number of movements (MF).

A: Yes, you may tweak the running parameters and probabilities as you wish. You’re right, Koza did not mention every detail in his implementation. You can do whatever you feel will generate better solutions, as long as it is GP.