Hi. Lately, I've been reading quite a lot about genetic algorithms and genetic programming. I find it interesting, to do my final semester thesis, related to these topics. Even though I understand the major difference between them, I do not understand, which one to use, given a situation. Could someone please tell me or point me to any resources that answer a few or all of the following questions?
Apart from the major difference between genetic algorithms and genetic programming are there any other subtle differences? From what I understand, there are subtle mathematical differences between them that dictates which one to use in a given situation.
Is it possible that there are problems that can be solved by one but not the other? And are there any problems that cannot be solved by either of them?
Apart from genetic algorithms and genetic programming are there any other variations in evolutionary computing?
Neural networks benefit from the availability of a large volume of data depending on the problem being solved. Is it true for genetic algorithms or genetic programming as well? If 'yes', how would you combine the use of such a large volume of data with genetic algorithms/programming? Because, all I've seen so far, are simple examples that did not require a large body of data.
At the moment, these are the questions on my mind. Thank you.