What I've been thinking about...
Above we have three examples of the pattern-recognition problems known as “Bongard Problems”, after their creator Mikhail M. Bongard. In each problem we have two sets of six boxes with pictures drawn inside. The challenge is to figure out what criterion (or pattern) separates the six drawings on the left from the six on the right.
For example, in the first problem above, the criterion is black shapes or white shapes. I’ll reveal my thoughts on the other two solutions after the “read more” line.
These problems can obviously be fairly easy (Bongard’s first problem consisted of six blank squares alongside six non-blank ones). The solutions, once heard, tend to be simply statable and obvious. Despite this, certain problems remain very challenging! Both for humans, and for pattern-recognition programs.
Part of the beauty of these puzzles is their complexity within a simple framework. The simple framework means that these puzzles can be open to solution attempts by software (or AI’s if you will). Some attempts have been made to program software which can solve all of Bongard’s original 100 problems written in the ’60s, but to date this has been unsuccessful.
In my opinion, a program that could solve these problems as well as a human would be several orders of magnitude closer to real intelligence than anything seen before.
Oh yes, the solutions! Well, the second problem’s solution is concavity; all the shapes drawn on the right are concave; that is, a line segment can be drawn which starts and ends inside the shape, but which crosses to “outside” the shape’s boundary. Not so any of the shapes on the left. The colors, sizes, etc are red herrings.
I purposely chose three problems to be easy, tougher, and difficult. The concave problem I’d consider not too hard, but definitely don’t count yourself an idiot if it stumped you. The third problem… well, I must confess that I don’t know the solution. I purposely chose a problem that I could not solve within a couple of minutes. Anyone out there know the answer?
I’ll finish with a quote from Douglas Hoffstadter, who introduced me to these problems in “Godel, Escher, Bach”:
“One can think of the Bongard-problem world as a tiny place where ‘science’ is done - that is, where the purpose is to discern patterns in the world. As patterns are sought, templates are made, unmade, and remade; slots are shifted from one level of generality to another; filtering and focusing are done; and so on. There are discoveries on all levels of complexity.
So… anyone got that solution?