No, it wasn’t just you: Super Mario Bros. is tougher than NP-hard

A new paper co-written by researchers at MIT, the University of Ottawa, and Bard College at Simon’s Rock says that Super Mario Bros. belongs to the complexity class PSPACE, meaning it’s more difficult to “solve” algorithmically than the famous traveling-salesman problem or factoring large numbers, which are referred to as NP-hard.

It’s OK, you’re old enough to admit it – you stunk at Super Mario Bros. The vaunted “feel” of Mario’s movement had you skidding into Koopas and off of cliffs, and the game eventually made you so frustrated that you eventually just played outside instead.

And hey, now there’s scientific proof that the game really is just that hard, despite what your friend Jesse – who beat the whole thing with sickening ease – told you. A new paper co-written by researchers at MIT, the University of Ottawa, and Bard College at Simon’s Rock says that Super Mario Bros. belongs to the complexity class PSPACE, meaning it’s more difficult to “solve” algorithmically than the famous traveling-salesman problem or factoring large numbers, which are referred to as NP-hard.

PSPACE-complete problems include fearsome-sounding stuff like the “quantified Boolean formula problem” and, interestingly, certain types of games like sliding block puzzles and the classic board game Othello.

At least, it could be, in theory – according to MIT, the paper doesn’t argue that the actual levels present in the actual game are PSPACE-complete, merely that Super Mario Bros. as a concept, is PSPACE-complete, and that it’s possible to construct problems of that difficulty within the confines of the game. (The proof, apparently, involves a situation with a Spiny that can be bumped to either side of a barrier.)

Broadly, while NP-hard problems are difficult for algorithms to solve, solutions themselves are relatively easy to check – factoring a very large number is hard, but multiplying the factors to get a result is easy. PSPACE-complete problems, on the other hand, are difficult to solve, and difficult to check.

“Figuring out how to complete a fiendishly difficult level of Super Mario Bros. could take a long time, but so could navigating that level, even with the solution in hand,” explains MIT’s announcement.

This discovery makes efforts to create Mario-playing AI – of which there are several - all the more impressive, given the advanced stages that many have reached. YouTuber SethBling created his own AI “breeding” program to create MarI/O, a system that can play a single level of Super Mario World without dying. Tom Murphy’s effort here is actually kind of incredible – it’s worth watching the second installment as well.

Join the Computerworld newsletter!

Error: Please check your email address.

Tags games

More about MITRock

Show Comments

Market Place