Forward Chaining is the questioning of an expert who has no idea of the solution and investigates progressively (eg fault diagnosis). Backward Chaining is the engine has an idea of the target (eg is it okay or not? Or: there is danger but what is the level?). Mixed Chaining is the engine has an idea of the goal but it is not enough: it deduces in forward chaining from previous user responses all that is possible before asking the next question. So, quite often, he deduces the answer to the next question before asking it.
Expert systems are designed to facilitate tasks in the fields of accounting , medicine, process control , financial service , production , human resources , among others. Typically, the problem area is complex enough that a more simple traditional algorithm cannot provide a proper solution. The foundation of a successful expert system depends on a series of technical procedures and development that may be designed by technicians and related experts. As such, expert systems do not typically provide a definitive answer, but provide probabilistic recommendations. An example of the application of expert systems in the financial field is expert systems for mortgages . Loan departments are interested in expert systems for mortgages because of the growing cost of labour, which makes the handling and acceptance of relatively small loans less profitable. They also see a possibility for standardised, efficient handling of mortgage loan by applying expert systems, appreciating that for the acceptance of mortgages there are hard and fast rules which do not always exist with other types of loans. Another common application in the financial area for expert systems are in trading recommendations in various marketplaces . These markets involve numerous variables and human emotions which may be impossible to deterministically characterize, thus expert systems based on the rules of thumb from experts and simulation data are used. Expert system of this type can range from ones providing regional retail recommendations, like Wishabi , to ones used to assist monetary decisions by financial institutions and governments. Another 1970s and 1980s application of expert systems, which we today would simply call AI, was in computer games . For example, the computer baseball games Earl Weaver Baseball and Tony La Russa Baseball each had highly detailed simulations of the game strategies of those two baseball managers. When a human played the game against the computer, the computer queried the Earl Weaver or Tony La Russa Expert System for a decision on what strategy to follow. Even those choices where some randomness was part of the natural system (such as when to throw a surprise pitch-out to try to trick a runner trying to steal a base) were decided based on probabilities supplied by Weaver or La Russa. Today we would simply say that "the game's AI provided the opposing manager's strategy.
Conversational For users conversational is the first quality of expert system because it allows to interact with the computer like with human. To enter data into the computer, traditional computing uses a specific human-machine interface: the data entry screen, a non-interactive medium. The data entry screen forces the user to adapt because he must prepare a dataset without necessarily understanding why. It usually requires him to follow a preliminary training before using a software. The conversational expert system, it asks the user step by step about the problem, to identify the solution gradually. The user only thinks of one question at a time. It's a natural way that humans are naturally adapted. Quick availability and opportunity to program itself As the rule base is in everyday language (the engine is untouchable), expert system can be written much faster than a conventional program, by users or experts, bypassing professional developers to whom everything must be explained. Ability to exploit a considerable amount of knowledge The expert system transforms a software as a database : a rule base. So, unlike conventional programs, the volume of knowledge to program is not a major concern, like for database. Whether the rule base has 10 rules or 10 000, the engine operation is the same. Reliability The reliability of an expert system is the same as the reliability of a database, ie good, higher than that of a classical program. Scalability Evolving an expert system is to add, modify or delete rules. Since the rules are written in plain language, those to be removed or modified are easily identified. Pedagogy The engines run by a true logic are able to explain to the user in plain language why they ask a question and how they arrived at each deduction. In doing so, they show knowledge of the expert contained in the system expert. So, user can learn this knowledge in its context. Moreover, they can communicate their deductions step by step. So, the user has information about his problem even before the final answer of the expert system. Preservation and improvement of knowledge Valuable knowledge can disappear with the death, resignation or retirement of an expert. Recorded in an expert system, it becomes eternal. Develop an expert system is to interview an expert and make him aware of his knowledge. In doing so, he reflects and enhances it. New areas neglected by conventional computing Automating a vast knowledge, the developer may meet a classic problem: " combinatorial explosion " that greatly complicates his work and results in a complex and time consuming program. The reasoning expert system does not encounter that problem since the engine automatically loads of combinatorics between rules. This ability can address areas where combinatorics is enormous: highly interactive or conversational applications, fault diagnosis, decision support in complex systems, educational software, logic simulation of machines or systems, constantly changing software.
The expert system has a major flaw which explains its low success although the principle has existed for 70 years: knowledge collection and interpretation into rules, the knowledge engineering . Most developers have no method to perform this task. They work "manually" what opens to many possibilities for errors. Expert knowledge is not well understood, there is a lack of rules, rules are contradictory, some are poorly written and unusable. Worse, they most often use an engine unable to reasonning. Result: the expert system works badly and the project is abandoned. [18] This problem does not exist with a right method of developing. There exists software to interview the expert step by step which automatically write the rules and simultaneously run the expert system before his eyes, performing a consistency of the rules control [19] [20] [21] .So expert and users can check the quality of the software before it is finished. Many expert systems are also penalized by the logic used. Most of the logics operate on " variables " facts, ie whose value changes several times during one reasoning, considered as a property belonging to a more powerful logic. Exactly like in classical computing, a way of programming where developers are in fact comfortable. This is the case of Mycin, Dendral, fuzzy logic , predicate logic (Prolog), symbolic logic , mathematical logic , etc.. Propositional logic uses only not variable facts. It turns out that in human mind, the facts used must remain invariable as long as the brain reasons on them. This makes possible detection of contradictions and production of explanations, two ways of controlling consistency of the knowledge [23] . That is why expert systems using variable facts, more understandable for IT developers so the most numerous, are less easy to develop, less clear to users and less reliable, why they don't produce explanation or contradiction detection.