Expert systems can reason. Well, sort of, anyway. They don’t have brains and can’t think for themselves. So humans have to program them to emulate or reproduce the outputs of human reasoning in a different way.
The expert systems I work on reason through the application of rules. The rules make the system reason on the basis of conditional logic. Take a look at this example:
If X, then Y
The X represents a condition. The Y represents an action the system will take to reason.
If (condition), then (action)
Now imagine some actual facts or circumstances instead of the variable X. Imagine some actions or outputs instead of the variable Y.
If the creature is a mammal capable of flight, then it’s a bat.
This rule about the bat is very simple. But it let the system reason, and make a conclusion, about the flying mammal.
Now imagine putting the rules together to form a chain.
If A, then B
If B, then C
If C, then D
Or (using expertise from this Wikipedia entry):
If the creature is a mammal capable of flight, then it is a bat.
If the bat is a type of bat that is the largest in the world, then its common name is a “flying fox” (of the Pteropus genus).
If it is a flying fox, then it feeds only on nectar, blossoms, pollen, and fruit.
By chaining rules together, an expert system can reason its way through some interesting problems and make some conclusions for non-expert users.
The expert system has to input the conditions into the system. Imagine our user inputting the conditions to confirm that the specimen is a mammal capable of flight and that it’s a type of bat that’s the largest in the world – and learning that it is a flying fox that only feeds on nectar, blossoms, pollen and fruit.
The user provided the input, causing the expert system to reason and produce a specific output or conclusion.