# [opencog-dev] surprisingness regarding constant terms

```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
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
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

--
You received this message because you are subscribed to the Google Groups
"opencog" group.
To unsubscribe from this group and stop receiving emails from it, send an email