Teaching a computer to lie

So yesterday, the obvious giveaway that a suspect was lying to you was that he suddenly wouldn’t see anyone else, even if that someone else was in the same room with him just a moment ago;  if he was lying about where he was going as he left the room, then he’d forget that other character was still there in the room with him while he was walking to the door.  It was like the very moment at which the suspect decided to lie, he forgot about everything that he knew was true.

I have now fixed that problem.  Now, when a suspect lies, he takes into account everything that he knows.  That is, if he’s leaving a room and lying about where he’s going to, he’ll report seeing everyone in the room that he actually saw in the room on his way to his actual destination.  Similarly, if he claims to be passing through one room on his way to a second room, he’ll make use of anything he really saw if he could reasonably have also seen it during his lie.

The new problem is that the suspect won’t make anything up.  That is, if in fact he spent five seconds passing through a room, but his lie has him taking a longer path (say, ten seconds), then he’ll only claim to see the people in the room for five seconds;  they’ll mysteriously vanish for the other five seconds, where he claims to have been in the room, but actually wasn’t.

This, of course, makes the lies still be pretty easy to spot.

But I’m getting closer!  The next bit to implement is going to be having the lying guests make guesses about where the other guests would have been, if they could have seen them.  That is, they’ll realise if they should know where a guest is, but don’t, and will try to make up facts to fit their lies.  With this last piece in place, it should at last be much more tricky to spot the lies;  you’ll actually have to compare testimony, instead of simply looking for impossible claims within one person’s own comments.  That’ll be tomorrow, I hope!