Using Logic Programming to Detect Deception on the Basis of Actions

  • James D. Jones
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3975)


Software which can perform generalized, high-level reasoning with respect to the detection of deception is needed, is quite difficult to produce, and is absent from the arsenal of tools available to practitioners and researchers in this field. The author has produced such a program which reasons within the confines of a simple espionage scenario. This program provides the general architecture needed by our desired software. Significant work is still needed to mature this generalized architecture into a feasible tool. That work would include making the program far more robust (handling more varied and more complicated situations), increasing the knowledge base (in the vein of “common sense reasoning”), applying the architecture to many more scenarios, and generalizing the lessons learned from those scenarios. The goal of all this work is to develop an architecture which can automatically detect deception in a wide variety of contexts.

The work presented here attempts to detect deception on the basis of actions. This is in sharp contrast with current approaches which detect deception on the basis of physiological factors, and on the basis of verbal and non-verbal queues. Software based on our architecture should be able to predict consequences of actions, and predict future actions. Further, in the light of uncertainty, multiple views of the world can be maintained simultaneously. (In the presence of uncertainty, the ability to postulate different ways that the world could be is very important. Not only can we represent different ways of perceiving the world, but we can also reason about those differences.)

An agent architecture is used to represent agents (or entities), their interrelationships, and their actions. These details are represented in a very formal logic programming paradigm, called Answer Set Programming, which is more clearly specified as A-Prolog. The inference engine used is SMODELS

We are also using a specific action language formalism. This formalism allows us to reason about prerequisites to actions, consequences of actions, corequisites of actions, mutual exclusivity of actions, and sequences of actions. It also allows us to represent and reason about time. We can predict future actions on the basis of observations. One method of detecting deception is the fact that present observations may not match our earlier predictions. Predicting future actions allows us to identify potential opportunities for deception.


Logic Program Logic Programming Future Action Inference Engine Multiple View 

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • James D. Jones
    • 1
  1. 1.Computer ScienceAngelo State University 

Personalised recommendations