I have become addicted to playing 20 questions at 20Q.net which Robin posted a few days ago. (Try it here, it’s really fun.) It made me think of how few attempts there have been to give computers the kind of commonsense knowledge of the real world that we take for granted, and then I thought of Douglas Lenat’s Cyc project. Lenat is a very interesting figure in AI, who has always done his own thing. I first came across Lenat‘s work as an undergraduate. He had written a simple but clever program that started with some knowledge of arithmetic, then randomly applied a handful of heuristic rules to generate theorems that it then rated on “interestingness”. Lenat described how the program quickly found many basic theorems, including coming up with the Goldbach Conjecture, then produced some new interesting theorems. Later, during the notorious “AI Winter” of the 1980s, Lenat became interested in endowing computers with the massive amounts of common sense knowledge that each of us have of the physical world. This is a project that had long been recommended by such AI luminaries as Marvin Minsky (see here and here, for example), and Lenat called it the Cyc (pronounced psych) project. For example, “Cyc knows that trees are usually outdoors, that once people die they stop buying things, and that glasses of liquid should be carried right-side up.” The information has had to be painstakingly entered using a special language based on the predicate calculus, but is becoming easier to feed data to Cyc as it learns more and more. The good thing is, it only has to be done once, then will be available to any computer than wishes to use it. In addition to a knowledge base, Cyc also contains an inference engine which allows it to deduce other facts from what it already knows. You can learn more about Cycorp, the company that Lenat heads and that is building Cyc, and about the project itself, here.