Expert system
An expert system (SE) is a computer system that emulates reasoning by acting as an expert would do in any area of knowledge.
Expert systems are one of the applications of artificial intelligence that aims to simulate human reasoning, in the same way that an expert in a specialized area would do it.
Expert systems are designed to solve complex problems by reasoning through bodies of knowledge, represented primarily as if-then rules rather than through conventional procedural code. The first expert systems were created in the 1990s. 1970s and then proliferated in the 1980s. Expert systems were one of the first truly successful forms of artificial intelligence (AI) software. An expert system is divided into two subsystems: the inference engine and the knowledge base. The knowledge base represents facts and rules. The inference engine applies the rules to known facts to derive new facts. Inference engines can also include explanation and debugging abilities.
Types of expert systems
Mainly there are three types of expert systems:
- Based on previously established rules or RBR (Rule Based Reasoning)
- Based on cases or CBR (Case Based Reasoning).
- Based on Berriesian networks.
In each of them, the solution to a problem posed is obtained:
- Applying heuristic rules generally supported in diffuse logic for evaluation and application.
- Applying case-based reasoning, where the solution to a similar problem raised earlier adapts to the new problem.
- Applying Bayesian networks, based on statistics and the Bayes theorem.
Advantages and limitations of expert systems
Advantages
The goal of knowledge-based systems is to make the critical information required for the system to function explicit rather than implicit. In a traditional computer program, logic is embedded in code that usually, can only be reviewed by an IT specialist. With an expert system, the goal was to specify the rules in a format that was intuitive and easy to understand, review, and even edit by domain experts rather than IT experts. The benefits of this explicit knowledge representation were rapid development and ease of maintenance.
Ease of maintenance is the most obvious benefit. This was accomplished in two ways. First, by eliminating the need to write conventional code, many of the normal problems that can cause even small changes to a system could be avoided with expert systems. Essentially, the logical flow of the program (at least at the highest level) was simply a given to the system, just invoking the inference engine. This was also a reason for the second benefit: rapid prototyping. With an expert system shell, it was possible to enter a few rules and have a prototype built in days instead of the months or years typically associated with complex IT projects.
A claim for expert system shells that was often made was that they eliminated the need for trained programmers and that experts could develop systems themselves. In reality, this was rarely if ever true. While the rules for an expert system were more understandable than typical computer code, they still had a formal syntax where a comma or other misplaced character could wreak havoc just like any other computer language. Furthermore, as expert systems moved from prototypes in the lab to implementation in the enterprise world, integration and maintenance issues became much more critical. Inevitably, demands arose to integrate with and leverage large databases and legacy systems. To achieve this, integration required the same skills as any other type of system.
Summarizing the benefits of using expert systems, the following can be highlighted:
- Permanence: Unlike a human expert, a SE does not age, and therefore does not suffer loss of faculties over time.
- Replication: Once a SE has been programmed we can replicate it infinity of times.
- Rapidity: A SE can get information from a database and perform numerical calculations much faster than any human being.
- Low cost: although the initial cost can be high, thanks to the ability to double the cost is finally low.
- Dangerous environments: A SE can work in dangerous or harmful environments for the human being.
- Reliability: SEs are not affected by external conditions, a human yes (cansanction, pressure, etc.).
- Consolidate various knowledge.
- Academic support.
Limitations
- Common sense: for a SE there is nothing obvious. For example, an expert system on medicine could admit that a man has been pregnant for 40 months unless it is specified that this is not possible since a man cannot make children.
- Natural language: with a human expert we can keep an informal conversation while with a SE we cannot.
- Learning capacity: anyone learns with relative ease from their mistakes and other errors, that an SE does this is very complicated.
- Global perspective: a human expert is able to distinguish the relevant issues of a problem and separate them from secondary issues.
- Sensory capacity: A SE lacks senses.
- Flexibility: a human is extremely flexible in accepting data for solving a problem.
- Unstructured knowledge: A SE is not capable of managing unstructured knowledge.
- An expert system has no feelings or can understand certain human emotions and concepts such as marriage, morality, love or planning the future.
Important examples of expert systems
- CADUCEUS
- CLIPS
- Dendral
- Dipmeter Advisor
- Mycin
- Prolog
- XCon
Tasks
Monitoring
Monitoring is a particular case of interpretation, and consists of the continuous comparison of the values of the signals or input data and some values that act as criteria of normality or standards. In the field of predictive maintenance, Expert Systems are used primarily as diagnostic tools. It is about the program being able to determine at all times the state of operation of complex systems, anticipating possible incidents that could occur. Thus, using a computational model of the reasoning of a human expert, it provides the same results that such an expert would achieve.[citation needed]
Design
Design is the process of specifying a description of an artifact that satisfies various characteristics from a number of knowledge sources. The design is conceived in different ways:
- Engineering design is the use of scientific principles, technical information and imagination in the definition of a mechanical structure, machine or system that executes specific functions with the maximum of economy and efficiency.
- Industrial design seeks to rectify engineering omissions, is a conscious attempt to bring form and visual order to hardware engineering where technology does not provide these characteristics.
SEs in design see this process as a problem of finding an optimal or adequate solution. Alternative solutions can be known in advance or can be automatically generated by testing different designs to verify which of them meet the requirements requested by the user, this technique is called "generation and testing", therefore these SE are called selection. In application areas, the proof is terminated when the first solution is found; however, there are more complex problems in which the goal is to find the optimal solution.
Planning
Planning is the realization of plans or sequences of actions and is a particular case of simulation. It is composed of a simulator and a control system. The final effect is the ordering of a set of actions in order to achieve a global objective.
The problems presented by planning using SE are the following:
- There are unpredictable consequences, so that several plans need to be explored and explained.
- There are many considerations that should be valued or include a weight factor.
- There are often interactions between different sub-goal plans, so compromise solutions should be chosen.
- Frequent work with uncertainty, since most of the data you work with are more or less likely but not safe.
- Various sources such as databases need to be used.
Control
A control system participates in carrying out the tasks of interpretation, diagnosis and repair in a sequential manner. With this, it is possible to lead or guide a process or system. Control systems are complex due to the number of functions they must handle and the large number of factors they must consider; This growing complexity is another of the reasons that point to the use of knowledge, and therefore of SE.
It should be clarified that control systems can be open-loop, if the feedback or the transition from one process to another is carried out by the operator, or closed-loop if the operator does not have to intervene in any part of the process. same. Repair, correct or therapy.
The repair, correction, therapy or treatment consists of proposing the necessary corrective actions to solve a problem. SEs under repair have to meet various objectives, such as:
- Repair as quickly and economically as possible.
- Order of repairs when you have to perform several.
- Avoid side effects of repair, i.e. the emergence of new breakdowns for repair.
Simulation
Simulation is a technique that consists of creating models based on facts, observations and interpretations on the computer, in order to study their behavior by observing the outputs for a set of inputs. Traditional simulation techniques require mathematical and logical models, which describe the behavior of the system under study. The use of SEs for simulation is motivated by the main characteristic of SEs, which is their ability to simulate the reasoning of a human expert, which is a complex process.
In the application of the SE for simulation, five possible configurations must be distinguished:
- A SE can have a simulator in order to check the solutions and, if necessary, rectify the following process.
- A simulation system may contain a SE as part of it and therefore the SE does not necessarily have to be simulation.
- A SE can control a simulation process, that is to say that the model is in the knowledge base of the SE and its evolution is the function of the factual base, the knowledge base and the inference engine, and not of a set of arithmetic equations – logics.
- A SE can be used as a user advisor and the simulation system.
- A SE can be used as a mask or front system of a simulator in order for the user to receive explanation and justification of the processes.
Instruction
An instructional system will keep track of the learning process. The system detects errors either from a knowledgeable person and identifies the appropriate remedy, that is, it develops a teaching plan that facilitates the learning process and the correction of errors.
Information retrieval
SEs, with their ability to combine information and rules of action, have been seen as one of the possible solutions to the treatment and recovery of information, not just documentary. The 1980s were prolific in research and publications on experiments of this order, interest that has not yet diminished.
What differentiates this system from a traditional information retrieval system is that the latter are only capable of retrieving what exists explicitly, while an SE must be capable of generating non-explicit information, reasoning with the elements that are they give it But the ability of SEs in the field of information retrieval is not limited to retrieval. They can be used to help the user, in the selection of information resources, in response filtering, etc. An SE can act as an intelligent intermediary that guides and supports the work of the end user.
Contenido relacionado
Demolition
Floating point
Horn's Clause