in reply to Who's a thief?
in thread Artificial Intelligence Programming in Perl

Sorry Ovid, but badguy CAN'T steal the gold. It's not possible with your rule set:
steals(PERP, STUFF) :- .... owns(VICTIM,STUFF), not(knows(PERP,VICTIM)). knows(badguy,merlyn). owns(merlyn,gold).
or in English:
* And the person doesn't know the person who owns the stuff they might steal.

On the other hand the badguy can steal your rubies:

?- steals(badguy,X). X = rubies Yes
and so can merlyn but only if we're allowed to add one more fact:
thief(merlyn). ?- steals(merlyn,X). Yes
I think you might want to meet merlyn really fast, and maybe get him to introduce you to badguy. :)

jarich

Update: Oops. Forgot that the PERP had to be a thief in order to be able to steal. Which would have meant that merlyn couldn't have stolen the rubies and I would have appeared to not have known what I was talking about. :) I've fixed this now of course.