Given the common sense knowledge problem, and the difficulty in creating general purpose intelligent machines, an alternative approach developed which attempted to mimic human performance within restricted domains of knowledge.
The first serious attempt at applying this alternate approach came to be known as "Microworlds". The theory behind Microworlds was that the first step in AI ought to be producing intelligence in a restricted environment. Once that had been solved, one could gradually increase the complexity of the environment, and the AI, until eventually AI arrived at a level that could cope with real-world situations. It was a scaling theory, from specificity towards generality without loss of strength. The most famous microworlds project was Terry Winnograd's SHRDLU (SHRDLU is just the 7th to 12th most common letters in English, he got the name from a Mad Magazine article). SHRDLU lived in a world called Blocks World. It had in its memory descriptions of various blocks: shapes, colours, sizes and positions. It also had a robotic arm (actually, the entire thing was a simulation, so neither the blocks, nor the arm actually existed) that could move the blocks. Finally, its intelligence programming included two components: the first was a problem solver that could look at the world, gather information, and make changes when possible, such as moving a block; the second was a natural language program that interacted with users while manipulating the blocks world. Within its world, SHRDLU was impressive. You could tell it to move the green block and it could do so. It would even ask clarifying questions like "By the green block, I assume you mean the green cube on the blue cube," or "To move the green block, I will have to move the red pyramid."
The problem with microworlds projects like SHRDLU was that they failed to scale up as the original strategy called for. Nevertheless, it provided a proof that AI systems designed to operate within domains of knowledge that are narrow, but deep, could be highly effective. This realization inspired the creation of one of the most successful sub-areas of AI - the field of expert systems. The basic idea is that if one can codify human expertise within a narrow domain as a hierarchical series of if-then rules, then an AI system can be created that mimics or perhaps even exceeds the performance of a human expert. One problem which was encountered early in this enterprise was that experts cannot always explicitly state the rules which guide their performance. Even when experts do state rules explicitly, when such rules were implemented, the performance obtained was inferior to that of the expert providing the rules, indicating there is insufficiency. This is the problem of implicit knowledge which was discussed previously. Given that domain specific knowledge is often implicit and procedural, one of the challenges of expert system developers was to find a way of interrogating experts and collecting information about expert performance in order to clarify the rules being used. The new occupation of "Knowledge Engineer" emerged to fill that purpose. Knowledge engineers spend a lot of time with human experts during the design stage of an expert system, as well as during multiple feedback and improvement cycles. Currently expert systems represent one of the major financial successes of AI with an industry exceeding $1 billion.
We have assembled two sets of links below. The first discuss expert systems in more detail than they have been described here. The second set are actual expert systems available for online interaction or study. Students should be aware that of the three Introduction and Discussion sites linked to, only the first is written for a lay audience. The second and third are accessible, but were written for students of artificial intelligence and as such, tend to move through material at a quicker pace.Introduction and Discussion