Simple Deception
As a proof of concept that PLN inference can handle simple experientially grounded "theory of mind" queries, it would be interesting to implement basic scenario of deception.
Suppose there are two agents: the one controlled by OpenCog, and another named Bob, and they both want batteries.
Suppose that red batteries periodically appear on a certain platform, but other batteries also exist elsewhere in the environment.
We want the OpenCog agent to be able to figure out to tell Bob the lie that there is a battery behind a house that is slightly far away, so that Bob will go look for the battery, and thus the OpenCog agent will be able to get the red battery when it appears.
So, we want the OpenCog agent to be able to figure out an implication such as
If I tell Bob there is a green battery behind House_15,
then I will get to pick up the red battery
Implication
Evaluation
tell
me
Bob
ThereExists $X
AND
Inheritance $X Battery
Evaluation Behind $X House_15
Evaluation Near $X House_15
Evaluation
PickUp
me
Red_Battery_18
Among the subsidiary knowledge that would be useful for deriving this, would be relationships such as:
If an agent can see two objects X and Y,
it probably can see the spatial relationships
between them
Implication
AND
Evaluation see $A $X
Evaluation see $A $Y
Evaluation $R $X $Y
Inheritance $R SpatialRelation
Evaluation
know
$A
Evaluation $R $X $Y
If an agent can see an object X, it probably
can see X's visual properties (the definition
of "visual property")
Implication
AND
Evaluation see $A $X
Inheritance $X $P
Inheritance $P VisualProperty
Evaluation <1, .8>
know
$A
Inheritance $X $P
Inheritance Color VisualProperty
Inheritance Red Color
Knowledge implies belief
Implication
Evaluation know $A $X
Evaluation believe $A $X
Belief approximately involves knowledge
Implication <.5, .8>
Evaluation believe $A $X
Evaluation know $A $X
People often believe what they're told
Implication <.8, .8>
Evaluation tell $A $B $X
Evaluation believe $B $X
If I tell Bob there is a battery behind and near House_15,
he may believe there is a battery behind and near House_15
Implication
Evaluation
tell
me
Bob
ThereExists $X
AND
Inheritance $X Battery
Evaluation Behind $X House_15
Evaluation Near $X House_15
Evaluation
believe
Bob
ThereExists $X
AND
Inheritance $X Battery
Evaluation Behind $X House_15
Evaluation Near $X House_15
If an agent A wants some X, and believes that X is at location L,
then A will likely move to L
Implication <.7, .7>
AND
Evaluation Wants $A $X
Evaluation
Believes
$A
Evaluation atLocation $X $L
Evaluation MoveTo $A $L
Spatial predicates specify locations.
Implication
AND
Inheritance $R SpatialRelation
Evaluation $R $A $B
Evaluation
atLocation
$A
SatisfyingSet $X
Evaluation $R $X $B
A conjunction of spatial predicates is a spatial predicate
Implication
AND
Inheritance $R SpatialPredicate
Inheritance $S SpatialPredicate
Inheritance
AND $R $S
SpatialPredicate
Implication
AND
Inheritance $R SpatialRelation
Evaluation $R $A $B
Evaluation
atLocation
$B
SatisfyingSet $X
Evaluation $R $A $X
An agent must be near something to pick it up
Implication
Evaluation PickUp $A $X
Evaluation Near $A $X
If A and B both want some X, but
B is closer to X, then B is more likely to get it
Implication <.7, .3>
AND
Evaluation want $A $X
Evaluation want $B $X
Evaluation
GreaterThan
List $A $X
List $B $X
Distance
AND
Evaluation PickUp $A $X
Not
Evaluation PickUp $B $X
If X is near Y, but X is not near Z, then Y is not near Z
Implication <.8, .7>
AND
Evaluation Near $X $Y
NOT
Evaluation Near $X $Z
NOT
Evaluation Near $Y $Z
If Bob is near House_15, and House_15 is not near Red_Battery_18,
then Bob is not near Red_Battery_18
Implication
AND
Evaluation Near Bob House_15
NOT
Evaluation Near House_15 Red_Battery_18
NOT
Evaluation Near Bob Red_Battery_15
If X is near Y, but X is not near Z, then X is further from Z than from Y
Implication <.8, .7>
AND
Evaluation Near $X $Y
NOT
Evaluation Near $X $Z
Evaluation
GreaterThan
List $X $Z
List $X $Y
Distance
Analogy to More Complex Deceptions
Via analogical inferencehis simple example of deception can serve as a template for more advance deceptions, e.g.
If Fred tells me there is a great opportunity in the New York office, then
then Fred will get to exploit the opportunity in the Paris office
Implication
Evaluation
tell
Fred
me
ThereExists $X
AND
Inheritance $X Opportunity
Evaluation atLocation $X New York
Evaluation
Exploit
Fred
SatisfyingSet
AND
Inheritance $Y Opportunity
Evaluation atLocation $Y Paris
Making PLN do the analogical inference required for this sort of generalization would also be very interesting.