Simple Deception

From OpenCog
Jump to: navigation, search

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.