Solving problems by computer just got a lot faster
A new algorithm shuffles through all possible solutions to find the best answer
A new computer program works smarter, not harder, to solve problems faster than its predecessors.
The algorithm is designed to find the best solution to a given problem among all possible options. Whereas other computer programs winnow down the possibilities one at a time, the new program — presented July 12 at the International Conference on Machine Learning in Stockholm — rules out many choices at once.
For instance, imagine a computer is assigned to compile movie recommendations based on a particular film. The ideal recommendation list would include suggestions that are both similar to the original flick — say, in the same genre — yet different enough from each other to give the viewer a variety of choice. A traditional recommendation system would pore over an entire movie library to find films that best met those criteria and add films to its roster of recommendations one by one, a relatively slow and tedious process.
Science News headlines, in your inbox
Headlines and summaries of the latest Science News articles, delivered to your email inbox every Thursday.
Thank you for signing up!
There was a problem signing you up.
By contrast, the new program starts by randomly picking a bunch of movies from the library. Among that sample, the system keeps the movies that strike the best balance between relevance to the original film and diversity, and discards the rest. From that smaller pool, the algorithm again chooses films at random and keeps only the best of the bunch. That strategy helps the algorithm build its rec list far faster.
The new algorithm, built by Harvard University computer scientists Yaron Singer and Eric Balkanski, compiled movie suggestions more than 10 times as fast as a standard recommender system. In another trial, it devised optimal routes for cabs in New York City about six times as fast as a conventional automated dispatcher.
This program could also speed up data processing for everything from drug discovery to social media analytics and analyses of genetic data (SN Online: 7/15/15).