15.04.2018 Views

programming-for-dummies

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

646<br />

Problem Solving<br />

The ultimate goal of chess-playing computers is to beat a human chess grandmaster.<br />

In 2005, a computer specially built <strong>for</strong> playing chess, dubbed Hydra,<br />

defeated grandmaster Michael Adams. In 2006, another dedicated chessplaying<br />

computer called Deep Fritz defeated Vladimir Kramnik. Computers<br />

have now proven they’re capable of defeating chess grandmasters, so this goal<br />

of AI has finally been achieved, although the lessons learned by beating chess<br />

grandmasters aren’t easily transferred to solving other types of problems.<br />

Expert systems<br />

If computers are good at figuring out how to solve problems within a limited<br />

domain, computer scientists reasoned that computers could also be useful<br />

<strong>for</strong> helping humans solve problems as well. The type of program designed to<br />

help humans solve problems is an expert system.<br />

The idea behind an expert system is to capture the knowledge of a real human<br />

expert and store it in a program, essentially cloning the human expert’s<br />

thought process. Instead of consulting a human expert <strong>for</strong> help, someone can<br />

just consult the expert system instead.<br />

One of the first expert systems developed was Mycin, which was developed by<br />

Stan<strong>for</strong>d University. The goal of Mycin is to help humans diagnose infectious<br />

blood diseases and recommend the proper type and dosage of antibiotics.<br />

Like all expert systems, Mycin worked by asking questions to get in<strong>for</strong>mation<br />

about the problem. By gathering more in<strong>for</strong>mation about the problem, Mycin<br />

could keep narrowing its list of questions until it could identify a possible solution.<br />

In tests, Mycin actually proved more accurate than Stan<strong>for</strong>d’s own medical<br />

staff in solving problems. However, Mycin was never used in actual practice<br />

<strong>for</strong> legal reasons. If Mycin makes a mistake, who’s responsible — the expert<br />

system programmers or the doctor relying on the expert system’s advice?<br />

An expert system consists of three parts, as shown in Figure 4-1:<br />

✦ A knowledge base — stores the in<strong>for</strong>mation about a particular subject.<br />

✦ An inference engine — manipulates the in<strong>for</strong>mation stored in its<br />

knowledge base.<br />

✦ A user interface — lets users interact with the knowledge base and<br />

inference engine.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!