Pac-Man Proved NP-Hard By Computational Complexity Theory
The classic ’80s arcade game turns out to be equivalent to the travelling salesman problem, according a new analysis of the computational complexity of video games
In the last few years, a few dedicated mathematicians have begun to study the computational complexity of video games. Their goal is to determine the inherent difficulty of the games and how they might be related to each other and other problems.
Today, Giovanni Viglietta at the University if Pisa in Italy reveals a body of Herculean work in this area in which he classifies a large number of games from the 1980s and 90s including Pac-Man, Doom, Tron and many others.
Advertisement
Viglietta’s work involves several steps. The first is to determine the class of computational complexity to which the game belongs. Next, he works out whether knowing how to solve the game also allows you to solve many other problems in the same class, a property that complexity theorists call ‘hardness’. Finally, he determines whether the game is complete, meaning that it is one of the ‘hardest’ in its class.
This story is only available to subscribers.
Don’t settle for half the story.
Get paywall-free access to technology news for the here and now.
His approach is relatively straightforward. He first works through a number of proofs showing that any video game with specific game-playing properties falls into a certain complexity class.
He then classifies the games according to game-playing properties they have.
For instance, one type of game involves a player moving through a landscape visiting a number of locations. He calls this ‘location traversal’ and an example would be a game in which certain items are strewn around a landscape and the goal is to collect them all.
Some location traversal games allow each location to be visited only once. So-called single use path games might include downhill races.
He then uses graph theory to prove that any game exhibiting both location traversal and single-use paths is NP-hard, that’s the same class of complexity as the travelling salesman problem.
It turns out that Pac-Man falls into this category (the proof involves distributing power pills around the maze in a way that enforces single use paths).
He shows how games fall into other complexity categories too. For example, games that feature pressure pads to open and close doors are PSPACE-hard if each door is controlled by two pressure plates. Doom falls into this category.
Advertisement
And so on.
The resulting list is impressive. Here are a few of his results:
Boulder Dash (First Star Software, 1984) is NP-hard.
Deflektor (Vortex Software, 1987) is in L.
Prince of Persia (Brøderbund, 1989) is PSPACE-complete.
Tron (Bally Midway, 1982) is NP-hard.
For the full list and reasoning, see the paper below.
That’s clearly been a labour of love for Viglietta, given the title of his paper: “Gaming Is A Hard Job, But Someone Has To Do It!”
Advertisement
Interestingly, he says this kind of analysis is unnecessary for modern games. “Most recent commercial games incorporate Turing-equivalent scripting languages that easily allow the design of undecidable puzzles as part of the gameplay,” he says.
In a way, that makes these older games all the more charming still.