“HACKER” PROGRAM – 21060
One of the earliest experiments with artificial intelligence (AI) was done with an imaginary robot, entirely contained within the “mind” of a computer. A student named Gerry Sussman wrote a program called “Hacker,” in a computer language known as LISP. The result was a little universe in which a robot could stack blocks on each other.
Sussman created laws of physics in the imaginary universe. Among them were things such as
• Blocks X, Y, and Z each weigh 5 lb.
• Blocks V and W each weigh 50 lb.
• The robot can lift no more than 10 lb.
• Only one object can occupy a given space at a given time.
• The robot knows how many blocks there are.
• The robot can find blocks if they are not in direct sight.
Illustration 1 shows the five blocks lying around, as they might appear on the computer monitor, along with the robot.
Sussman gave commands to the robot, such as, “Stack the blocks all up, one on top of the other.”As stated, this command is impossible, because it requires the robot to lift a block weighing 50 lb (either V or W), and the robot is capable of lifting only 10 lb (see illustration 2). What would happen? Would the robot try forever to lift a block beyond its limit of strength? Or would it tell Sussman something like, “Unable to do this”? Would it go after either block V or W first, trying to get it on top of one of the lighter blocks, or on top of the other heavy block? Would it pick up all the lighter blocks X,Y, and Z in some sequence, stacking them vertically on top of V or W? Would it put two light blocks on V, and the remaining light block on W, and then give up? Eventually, the robot would run into the impossibility of the command. But how long would it try, and what would it try, before quitting?
Another command might be, “Stack the blocks so that lighter ones are on top of heavier ones.” This can be done according to the rules written above. But there exist several different possible ways (two of these are shown in illustrations 3 and 4).Would the robot hesitate, unable to make a decision? Or would it go ahead and accomplish the task in some way? If the experiment were repeated, would the result always be the same, or would the robot solve the problem a different way each time?
Numerous AI researchers have written programs similar to “Hacker,” creating “computer universes” in an attempt to get machines to think and learn. The results have often been fascinating and unexpected.