You might imagine that computers would be good at solving jigsaw puzzles, but the task is harder than you think. Pattern matching is fairly easy when you have a specified orientation. If you try it when you don't know which way to hold the pieces, you'll soon see the problem.
If you think that you solve a mean jigsaw, consider that the latest algorithm can manage 10,000 pieces in 24 hours - three times last year's record of 3,300 pieces. Andrew Gallagher at Cornell University in Ithaca, New York has improved the standard approach by copying what humans do in finding groups of pieces that best match and working outwards from there.
9600-piece puzzle solved!
The algorithm tackles problems with square pieces which is harder than the traditional shaped interlocking puzzle because you have no orientation clues. It can even solve puzzles that are mixed together without being told how many puzzles the pieces come from or their dimensions.
Before you think that the problem is easy, consider how many possible arrangements there are of even a small number of pieces. Clearly you can't just try every combination - and even if you did how would you recognize that you had a solution? Indeed puzzle assembly is an NP-hard problem.
The algorithm used is a greedy tree-based method and a new measure of piece similarity. The measure of similarity is based on the well-known Mahalanobis distance, which scales the distance between distributions by their dispersion. The new measure compares pieces using the intensity gradient near the edge scaled by the covariance of the color channel. The greedy tree-based assembly builds a minimum-spanning tree with constraints to make sure that only one piece is placed against another. To make the problem tractable, a heuristic is used to find an approximate solution in reasonable time.
You can see the algorithm in action in the following two videos:
If you think that jigsaw puzzles are a bit frivolous, then notice that similar algorithms can be used to put shredded documents back together - as per the recent DARPA challenge.
The real question is can you do better?
With video input being no problem and GPUs readily available, this is one AI task anyone can attempt.
On the basis of scanning million of lines of code Coverity has discovered that in 2013, the defect density in open source code was lower than that in proprietary code. This may be less than reassuring [ ... ]
One of the most common applications of AI or advanced stats, depending on how you look at it, is the recommendation engine. All too often the first impulse is to build your own - but it's tough and th [ ... ]