1. An intelligent spatial reasoning method comprising the steps of: a) Input a plurality of object sets; b) Perform spatial mapping feature learning using the plurality of object sets to create at least one salient spatial mapping feature output; c) Perform spatial reasoning rule learning using the at least one spatial mapping feature to create at least one spatial reasoning rule output.