We will investigate the problem of designing a suitable student for learning
from a given teacher. Both student and teacher, are represented by feed-forward
neural networks, thus the problem of designing the student presents itself at
two levels, the hardware (the architecture) and the software (learning
algorithm). We will discuss how the problem can be solved analytically and what
are the advantages (and disadvantages) of such an approach. We will also discuss
how this problem is solved in nature by studding a simulation based on an
evolutionary technique (genetic programming). We will consider a population of
students learning from the same teacher and we will assign a ranking order (or
fitness) based on the students' learning ability. In this context the main issue
will be the tradeoff between the adaptation the students must show to the
current conditions and their ability to cope with a sudden change of
environment.