Amen,
Here is a quick write-up of the idea regarding surprisingness I
mentioned at the office today...
Suppose we have an Atom-expression without variables, and want to
evaluate its surprisingness. Or, suppose we have an expression with
variables, but want to evaluate its surprisingness with respect to the
constant terms it contains.
Some examples of such expressions would be
1)
Inheritance Amen man
2)
Inheritance Amen smokes
3)
AND
Inheritance Amen man
Inheritance Amen genius
4)
AND
Inheritance Amen $X
Inheritance Ben $X
EvaluationLink
PredicateNode “understands”
ConceptNode “Bob”
VariableNode $X
5)
Inheritance Amen Amen
I suggest that one way to evaluate the surprisingness in such a case is:
For each constant term T (or in general, each combination of terms) in
the expression:
— create a modified version of the expression, in which that term (or
term-set) T is replaced with a variable V_T
— determine an appropriate context C_T for V_T
— calculate the surprisingness of the expression’s truth-value
relative to C_T for V_T
The surprisingness of the expression can then be evaluated as the sum
of the surprisingness values for the terms. So, if there is any term
for which “templatizing” on that term (replacing that term with a
variable) produces surprisingness, the expression as a whole is
considered surprising to a certain degree.
For instance
Inheritance Amen smokes
could be modified into
Inheritance $V_Amen smokes
and if the context for $V_Amen is chosen as Human, then the
surprisingness would be calculated by comparing the truth value of
Inheritance Amen smokes
to that of
Inheritance Human smokes
By this method
Inheritance Amen smokes
becomes evaluated as more surprising than
Inheritance Amen man
On the other hand,
Inheritance Amen Amen
is evaluated as completely unsurprising, no matter what the context,
because for any context the truth value of
Inheritance $V_Amen $V_Amen
is 1, which is the same as the truth value of
Inheritance Amen Amen
Example 4) above can be used to illustrate the more advanced case
mentioned above, in which one templatizes sets of terms rather than
individual terms. One could look at
AND
Inheritance $V_Amen $X
Inheritance $V_Ben $X
EvaluationLink
PredicateNode “understands”
ConceptNode “Bob”
VariableNode $X
and then consider the context for the pair ($V_Amen, $V_Ben) as the
pair (Human, Human), i.e. the set of pairs of humans.
For a first application it will be OK to just templatize individual
terms. Templatizing sets of terms, however, is necessary to deal with
expressions that are only surprising in terms of the way they
interrelate two terms in respect to their relationship with other
terms.
--
Ben Goertzel, PhD
http://goertzel.org
“I tell my students, when you go to these meetings, see what direction
everyone is headed, so you can go in the opposite direction. Don’t
polish the brass on the bandwagon.” – V. S. Ramachandran