AI Builds Program to Sort Data, Makes PCs Faster

John Lister's picture

Google's DeepMind group, whose technology "mastered" the game Go, have turned their attention to computer code. They created an AI tool that taught itself a more efficient way to sort code, something that could mean software runs much faster and more smoothly.

DeepMind specializes in artificial intelligence (AI) that teaches itself by figuring out approaches and rules. The most famous example was a project to learn the fiendishly complex game Go. Rather than follow tactics created by humans, the software simulated millions of games and worked out its own strategy. It has since consistently beaten top international players.

The company has now turned its attention to a task that sounds more mundane but could have more every day uses: sorting data, for example into alphabetical or numerical order.

Multiple Approaches

Humans performing the task might use a range of approaches. For example, somebody could take words from an unsorted list and compare them one-by-one moving along a sorted list until they find the right position. This would be effective but slow.

Another option might be to initially sort the list into 26 piles, one for each letter, then sort each pile. A better balance of speed and efficiency might be to use half a dozen piles, for example for letters A-D, E-G and so on.

Just as with humans, computers have historically used a range of approaches to the task. Although different approaches work better for different sets of data, the most common approach hasn't been replaced with something more efficient in more than a decade.

DeepMind believes it may have found a better way by adapting the Go learning process. It created a sorting tool and, rather than give it examples of how to operate, simply had it work on lists over and over to try to get faster and more efficient. In effective, it simply made "sorting data" into a game. (Source: nature.com)

Faster Computing

The resulting "strategy" is complex, though some of the simpler changes proved surprising to researcher. For example, existing widely-used approaches have specific algorithms for sorting three items and sorting four items respectively.

The DeepMind system found that with a set of four items, it's more efficient overall to simply pick three at random, sort them with the dedicated three-item algorithm, then use a dedicated algorithm to work out the correct place to put the remaining fourth item. (Source: arstechnica.com)

While this may not be as eye-catching as beating a human at a game, it could eventually mean much more efficient and faster computing by removing "bottlenecks". Not only could it mean software running faster when a computer sorts data, but the machine learning approach could also work to speed up other common operations such as encrypting data.

What's Your Opinion?

Is this a smart use of Google's resources? Have you ever thought about how you - or a computer - approach sorting data? Are there any potential drawbacks to such programs?

Rate this article: 
Average: 5 (4 votes)