/Artificial Intelligence

Artificial Intelligence

The following two tabs change content below.

Joseph Iacoviello

Latest posts by Joseph Iacoviello (see all)

By Joe Iacoviello

The definition of artificial intelligence is a computer program that can pass the Turing Test. To pass the Turing Test, a program must be able to perform a task so similar to how a human would that a human cannot tell the difference between a human or the robot doing the same task. The first notable computer to pass the Turing Test was Deep Blue, a chess-playing computer developed by IBM that beat Kasparov in 1996, the world champion chess player at the time. Since then, computer scientists have gone on to program more complex AIs that solve problems like Jeopardy (Watson, also from IBM), and Super Mario Bros.

“The First Level of Super Mario Bros. is Easy with Lexicographic Orderings and Time Travel… after that it gets a little tricky,” is the title of Tom Murphy’s paper that he submitted to SigBovik 2013, an annual programmer’s conference dedicated to new research. Tom Murphy is a computer scientist who wrote an artificial intelligence that “solves” the Mario problem. The goal of this AI is to play Mario like a human using the simplest method possible. First the AI records Tom playing the first level of Mario, then splits up the key presses Tom used to beat the level into individual combinations of key presses. It then uses lexicographic ordering (a sorting structure commonly used in libraries and dictionaries) and possible future inputs to determine the best way to construct a set of key presses based on how the inputs affect the player’s score. Basically, “it’s trying to find the sequence of inputs to make those values go up in the RAM”. This approach works surprisingly well, and can reach level three at the moment. The software even does some things that humans generally can’t do, like exploit a stomping bug. In Super Mario Bros., if Mario is moving down, he is invincible, so if the player can time their jump correctly, they can stomp an enemy Goomba from the bottom, as the AI does several times.

This AI can also be applied to other NES games, though results vary. It works very well in Bubble Bobble which Tom says is surprising because “it’s single-screen, and there’s no score gradient to help you out.” One game it does not do well in is Tetris. In Tetris you get fifty points just for stacking a block on top of another block. Because of this the AI will stack one block on top of the other until it reaches the very top, where it will pause the game and just sit there, because then “the only way to the win the game is not to play.”

It is difficult to predict the problems that AI may solve in the future, but knowing what we know now we can give a general prediction. One thing about AI that most people do not know is that it is very goal oriented. Artificial intelligence is out to solve a problem, and it usually does not branch out from that. Because of this, it is very unlikely that we will see a “Terminator” or “Skynet” AI. Although Skynet technically has a goal of its own, survival, it will likely never happen because that goal is not useful to us. In order for AI to obtain a goal, we have to give it that goal, along with a method to achieve that goal. Computers as they are today cannot have original thoughts, and therefore cannot give themselves goals, solve problems on their own from scratch, or do many other tasks that we consider to be “human” operations. What AI will become very good at in the future is completing single tasks that are predictable in some way. Video game AI is a perfect example of this, because games usually have a predefined win condition and a best method to achieve that goal. Unfortunately, this type of AI will be very specialized, as shown in the Mario AI above. This AI was very good at solving Mario and Bubble Bobble, but failed at Tetris. Similarly, Deep Blue cannot play Jeopardy any more than Watson can play chess. Because of this, artificial intelligence is just that, artificial. Different AIs may be able to pass the Turing Test when given a specific problem, but an AI that completely passes the Turing Test in every aspect cannot exist, at least not in the foreseeable future.