Copycat [Java] - long available only in its rickety original LISP source - is now an interactive applet. You can propose analogy puzzles based on strings of letters and watch Copycat build up and tear down models of the problem until it finds a solution it's happy with. It will explain its reasoning, and, since stochastic elements are inolved, can come up with alternate solutions upon rerun. Tutorial for the applet here; or, explore MetaCat, the next generation follow-up.
Bongard problems are a benchmark of sorts for visual pattern recognition; they're also just fun puzzles, and this guy has got the definitive collection.