OpenCogPrime:EvolutionaryLearningWithMemory

From OpenCog
Jump to: navigation, search

Supplying Evolutionary Learning with Long-Term Memory

This page introduces an important enhancement to evolutionary learning, which in a sense violates the basic PEL framework, by forming an adaptive hybridization of PEL optimization with PLN inference (rather than merely using PLN inference within evolutionary learning to aid with modeling). These are brief to state but extremely powerful in their implications.

The first idea is the use of PLN to supply evolutionary learning with a long-term memory. Evolutionary learning approaches each problem as an isolated entity, but in reality, an OCP system will be confronting a long series of optimization problems, with subtle interrelationships. When trying to optimize the function f, OCP may make use of its experience in optimizing other functions g.

Inference allows optimizers of g to be analogically transformed into optimizers of f, for instance it allows one to conclude:

Inheritance f g
   EvaluationLink f x
   EvaluationLink g x

However, less obviously, inference also allows patterns in populations of optimizers of g to be analogically transformed into patterns in populations of optimizers of f. For example, if pat is a pattern in good optimizers of f, then we have:

InheritanceLink f g
ImplicationLink
   EvaluationLink f x
   EvaluationLink pat x
ImplicationLink
   EvaluationLink g x
   EvaluationLink pat x

(with appropriate probabilistic truth values), an inference which says that patterns in the population of f-optimizers should also be patterns in the population of g-optimizers).

Note that we can write the previous example more briefly as:

InheritanceLink f g
   ImplicationLink (EvaluationLink f) (EvaluationLink pat)
   ImplicationLink (EvaluationLink g) (EvaluationLink pat)

A similar formula holds for SimilarityLinks.

We may also infer:

ImplicationLink (EvaluationLink g) (EvaluationLink pat_g)
ImplicationLink (EvaluationLink f) (EvaluationLink pat_f)
ImplicationLink (EvaluationLink (g AND f)) (EvaluationLink (pat_g AND pat_f))

and:

ImplicationLink (EvaluationLink f) (EvaluationLink pat)
ImplicationLink (EvaluationLink ~f) (EvaluationLink ~pat)

Through these sorts of inferences, PLN inference can be used to give evolutionary learning a long-term memory, allowing knowledge about population models to be transferred from one optimization problem to another. This complements the more obvious use of inference to transfer knowledge about specific solutions from one optimization problem to another.