New problems often are more easily solved by reusing or adapting solutions to previous problems. That's why we often train machine learning systems on sequences of harder and harder tasks.
Sometimes we are interested in strategies for solving all problems in a given problem sequence. For example, we might want to teach our learner a program that computes FAC for any given positive integer . Naturally, the -th task in our ordered sequence of training problems will be to find a program that computes FAC for
But ordered problem sequences may also arise naturally without teachers. In particular, new tasks may depend on solutions for earlier tasks. For example, given a hard optimization problem, the -th task may be to find an approximation to the unknown optimal solution such that the new approximation is at least 1 % better (according to some measurable performance criterion) than the best found so far.
In general we would like our learner to continually profit from useful information conveyed by solutions to earlier tasks. To do this in an optimal fashion, the learner may also have to improve the algorithm used to exploit earlier solutions. In other words, it may have to learn a better problem class-specific learning algorithm, that is, to metalearn. Is there a general yet time-optimal way of achieving such a feat?