Encompassing the Whole World Front Page /// Expert Systems, Relational Databases and Fuzzy Logic /// Site Index

Expert Systems

Known by a variety of names, Expert Systems are an attempt to split the logic of a problem from the computer program used to solve it, in the same way that a database attempts to split the data from the program.

Complementary to databases, the emphasis is about the collection of lots of rules using a small number of very precisely known bits of data, so that the computer can then apply them to the data when it changes, and tell you the consequences.

Know variously as Knowledge based systems, rule based systems, inference systems, classification systems, and constraint based systems, an expert system works by splitting the problem you are working on into three parts. The data, the rules about the data, and a control stucture the expert can understand which says how to apply the rules.

The most prominent example of an expert system which most people would be familiar with is various internet filtering systems, like the spam filters in your email system, which are often implemented as decision trees or decision tables.

Another example, which is not obvious that it is one is the spreadsheet. In a spreadsheet, you have the data (numbers in cells), the rules (relationships between those cells) and a control structure (you go through the spreadsheet, applying the rules, until no more rules can be applied).

The spreadsheet example shows us something else that is important. Given that some of the data is derived, you need some method in the system for determining why unexpected answers have the value they have.

An expert system which contains such a system is called stateful, or state preserving, and allows you to ask how the answer happened to have the value it does, and what rules were invoked (or not) to get that answer. Email systems usually do not do this, although as we all have experienced email being wrongly identified as spam, a case could be made that they should.

Expert systems are being looked at seriously by people trying to make Data Flow Diagrams, and the data structure tools used in dfd's and relational databases are also relevent.

There are lots of significant expert systems which you can find out about.