I love xkcd. It’s probably the nerdiest comic strip around. Recently the following strip appeared.
I think that people are still better at creating comic strips than computers. I think we’re also still a whole lot better at writing computer programs. The long predicted day of self programming computers doesn’t really seem that much closer today then it did when I first discussed the possibility in university 40 years ago. We’ll probably get there some day. Maybe.
There is also a sort of philosophical question here as well. What does it really mean when a computer is “better” at a game than people? If by “better” one means that the computer can beat any human every or even most times does that really diminish the value of the game? Probably not.
Ultimately we play games to entertain ourselves. Losing all the time tends to be less entertaining than winning at least some of the time. Although if I only enjoyed Words with Friends when I won I would have had to stop playing a while ago. There is the aspect of getting better and of pushing oneself to improve that can make a game more interesting over time. We don’t stop playing games with our peers just because professionals are a lot better than we are either. I’m never going to beat Tiger Woods at golf but I have a hope (slim perhaps but real) that one day I may beat my son.
We play games not because we are perfect at them but because we are not perfect at them. If we got a hole in one on every shot in golf we’d either stop playing or we’d make the game harder. After all if all we wanted to do was put the ball in a hole we could walk over to the green and drop the ball from hand to hole. That’s not what games are all about though.
In one sense trying to write a computer program that is perfect at a game is a game itself. It is one layer of abstraction away from participation in the game ourselves.
Two years ago the robotics team (FIRST Robotics Team 811) at my school built a robot that could pick up small basketballs, find the basket (using a camera tuned to special reflected tape) and shoot the baskets at the hoop. It was remarkably good at scoring. The challenge was more in getting the robot to work than in playing a game of basketball against people. There was more to the competition than just shooting baskets and there was a role for humans to play which made it a real game BTW. A competition among robots that shot perfect shots every time would have lacked some drama I think. Though if the robots were less than perfect it would have been a game but it still would have been between programmers and not their robot proxies.
Ultimately getting a computer to play the perfect game of Go (or chess or even tic tac toe) is not a win for computers but for the people who create the software. It’s a reason for humans to feel better rather than worse about themselves.