OpenCogPrime:PredictiveAttraction
Predictive Implication and Attraction
This page briefly reviews the notions of predictive implication and predictive attraction, which are critical to many aspects of OCP dynamics including goal-oriented behavior.
See also a suggestion regarding ElementAttractionLink
Define
Attraction A B <s>
as P(B|A) - P(B|~A) = s, or in node and link terms
s = (Inheritance A B).s - (Inheritance ~A B).s
For instance
Attraction pig fat.s = (Inheritance pig fat).s - (Inheritance ~pig fat).s
Relatedly, in the temporal domain, we have the link type PredictiveImplication, where
PredictiveImplication A B <s>
roughly means that s is the probability that
Implication A B <s>
holds and also A occurs before B. More sophisticated versions of PredictiveImplication come along with more specific information regarding the time lag between A and B: for instance a time interval T in which the lag must lie, or a probability distribution governing the lag between the two events.
We may then introduce
PredictiveAttraction A B <s>
to mean
s = (PredictiveImplication A B).s - (PredictiveImplication ~A B).s
For instance
(PredictiveAttraction kiss_Ben be_happy.s = (PredictiveImplication kiss_Ben be_happy).s - (PredictiveImplication ~kiss_Ben be_happy).s
This is what really matters in terms of determining whether kissing Ben is worth doing in pursuit of the goal of being happy, not just how likely it is to be happy if you kiss Ben, but how differentially likely it is to be happy if you kiss Ben.
Along with predictive implication and attraction, sequential logical operations are important, represented by operators such as SequentialAND, SimultaneousAND and SimultaneousOR. For instance:
PredictiveAttraction SequentialAND Teacher says 'fetch' I get the ball I bring the ball to the teacher I get a reward
combines SequentialAND and PredictiveAttraction. In this manner, an arbitrarily complex system of serial and parallel temporal events can be constructed.