The basis of any intelligent expert system. Classes of expert systems

Expert systems are complex software packages that accumulate the knowledge of specialists in specific subject areas and replicate this empirical experience for the advice of less qualified users.

The areas of application of knowledge-based systems are very diverse: business, manufacturing, military applications, medicine, sociology, geology, space, agriculture, management, jurisprudence, etc.

Knowledge-based systems (KOPs) are software systems, the main building blocks of which are knowledge base and inference engine... Among the POPs are:

  • intelligent information retrieval systems;
  • expert systems (ES).

Intelligent information retrieval systems differ from the previous generation of information retrieval systems not only by a much more extensive reference and information fund, but also by the most important ability to form adequate responses to user queries even when the queries are not direct.

The best-known practical example of POPs is expert systems capable of diagnosing diseases, assessing potential mineral deposits, performing natural language processing, speech and image recognition, etc. Expert systems are the first step in the practical implementation of research in the field of artificial intelligence

The basic structure of the expert system is shown in the figure below.

The structural elements that make up the expert system perform the following functions.

Knowledge base implements the functions of representing knowledge in a specific subject area and managing them.

Inference engine makes inferences based on the knowledge available in the knowledge base.

User interface is necessary for the correct transmission of answers to the user, otherwise it is extremely inconvenient to use the system.

Knowledge acquisition module is necessary to obtain knowledge from an expert, support the knowledge base and supplement it if necessary.

Answer and explanation module forms the conclusion of the expert system and presents various comments attached to the conclusion, and also explains the reasons for the conclusion.

The structure of the expert system.

The listed structural elements are the most characteristic, although in real expert systems their functions can be appropriately strengthened or expanded.

Knowledge in the knowledge base is presented in a specific form and the organization of the knowledge base makes it easy to define, modify and replenish. Problem solving using logical inference based on knowledge stored in the knowledge base is implemented by an autonomous inference mechanism. Although both of these components of the system are independent from the point of view of its structure, they are closely related to each other and the definition of the knowledge representation model imposes restrictions on the choice of the appropriate inference mechanism.

Benefits expert systems:

  • Persistence... Expert systems forget nothing, unlike a human expert.
  • Reproducibility... Any number of copies of an expert system can be made, and training new experts is time-consuming and expensive.
  • Efficiency. Can increase productivity and reduce personnel costs.
  • Persistence... Using expert systems, such transactions are processed in the same way. The system will make comparable recommendations for similar situations.
  • Impact on people... New effect (the most up-to-date information that affects common sense). Main effect (early information dominates common sense).
  • Documentation. The expert system can document the decision process.
  • Completeness... An expert system can review all transactions, while a human expert can review only a single sample.
  • Timeliness... Errors in designs and / or can be found in a timely manner.
  • Latitude... The knowledge of many experts can be combined to give the system more breadth than a single person is likely to achieve.
  • Risk reduction business management through consistency of decision making, documentation and competence.

Disadvantages of expert systems:

  • Common sense... In addition to broad technical knowledge, the human expert has common sense. It is not yet known how to put common sense into expert systems.
  • Creative potential... A human expert can react creatively to unusual situations, expert systems cannot.
  • Training... The human expert automatically adapts to the changing environment; expert systems need to be explicitly modified.
  • Sensory experience... The human expert has a wide range of sensory experiences; expert systems are currently based on character input.

Expert systems are not good if there is no solution or when the problem lies outside their area of \u200b\u200bexpertise.

The class of expert systems today unites several thousand different software systems that can be classified according to various criteria: the problem being solved, communication with real time, the type of computer, the degree of integration.

Expert systems development methodology

The development of intelligent information systems is different from the creation of a conventional software product. The experience of developing early expert systems has shown that the use of traditional programming technology either excessively delays the development process, or generally leads to a negative result. This is mainly due to the need to modify the principles and methods of construction as the knowledge of the developers about the problem area increases.

It is known that most of the knowledge in a particular subject area remains the personal property of an expert. The greatest problem in the development of an expert system is the procedure for obtaining knowledge from an expert and entering it into the knowledge base, called knowledge extraction. This happens not because he does not want to divulge his secrets, but because he is unable to do so - after all, the expert knows much more than he himself realizes. To identify the expert's knowledge and formalize it throughout the development period, the knowledge engineer interacts with him.

To avoid costly and unsuccessful attempts, a set of guidelines have been developed to determine if a problem is suitable for solving with an expert system:

  • The need for a solution must match the cost of developing it. The costs and benefits obtained must be realistic.
  • It is impossible to use the knowledge of a human expert where it is needed. If “expert” knowledge is widespread, then it is unlikely that it is worth developing an expert system. However, in fields such as oil exploration and medicine, there may be rare specialized knowledge that can be inexpensively equipped with an expert system, and not employ a very highly paid expert.
  • The problem can be solved using symbolic methods of reasoning.
  • The problem is well structured and does not require common sense knowledge. Common sense knowledge is well known, so there is no need to capture and represent it.
  • The problem cannot be easily solved using more traditional computational methods. If there is a good algorithmic solution to the problem, you should not use an expert system.
  • There are experts in this problem area. Because an expert system is designed to work successfully, it is essential that experts are willing to help design it rather than feel threatened. In addition, the support of the administration and potential users is needed.
  • The problem is of the right size and scope. As a rule, a problem requires the application of the knowledge of highly specialized experts, but a human expert should spend a short time, at most an hour, on solving it.

Currently, there is a sequence of actions in the development of expert systems. It includes the following steps: identification, knowledge acquisition, conceptualization, formalization, implementation, testing and trial operation.

Figure: 10.2. Expert systems development technology

Identification

The identification stage is associated, first of all, with the comprehension of the tasks to be solved by the future expert system, and the formation of requirements for it. At this stage, the development of a prototype of the system is planned, the sources of knowledge (books, experts, methods), goals (dissemination of experience, automation of routine operations), classes of problems to be solved, etc. are determined. The result identificationis the answer to the question of what needs to be done and what resources need to be used.

The acquisition of knowledge

When solving the problem of obtaining knowledge, three strategies are distinguished: acquiring knowledge, extracting knowledge and discovering knowledge.

Acquisition of knowledge is understood as a way of automatically filling the knowledge base through a dialogue between an expert and a special program.

Knowledge elicitation is the procedure of interaction between a knowledge engineer and a knowledge source (expert, specialized literature, etc.) without the use of computer technology.

The terms "knowledge discovery", as well as Data Mining, are associated with the creation of computer systems that implement methods of automatic knowledge acquisition.

Conceptualization

At the stage conceptualizinga meaningful analysis of the problem area is carried out, the concepts used and their interrelationships are identified, methods for solving problems are determined. This stage ends with the creation of a domain model that includes the main concepts and relationships. The model is presented as a graph, table, diagram or text.

Formalization

At the stage formalizationall key concepts and relationships are expressed in some formal language, which is selected from among the existing ones, or is created anew. In other words, at this stage, the composition of the means and methods of presenting declarative and procedural knowledge are determined, this representation is carried out and, as a result, a description of the solution to the problem of the expert system is created on the selected formallanguage.

Execution (implementation)

At the stage fulfillmentone or several really working prototypes of the expert system are created. Various tools are widely used to speed up this process.

Testing

At this stage, the work of the prototype program is evaluated and checked in order to bring it in line with the real needs of users. The prototype is checked for the following main positions:

  • convenience and adequacy of the input-output interfaces (the nature of the questions in the dialogue, the consistency of the output text of the result, etc.);
  • the effectiveness of the control strategy (the order of enumeration, the use of fuzzy inference, etc.);
  • correctness of the knowledge base (completeness and consistency of rules).

Stage task testing- identification of errors and development of recommendations for fine-tuning the prototype of the expert system to an industrial design.

Trial operation

At the stage trial operationthe suitability of the expert system for the end user is verified. Suitability is mainly determined by the convenience and usefulness of the design. Utility is understood as the ability of the expert system to determine the user's needs during the dialogue, to identify and eliminate the causes of failures in work, as well as to satisfy the specified user needs (to solve the assigned tasks). Ease of work implies natural interaction with the expert system, flexibility (the ability of the system to adjust to different users, as well as to take into account changes in the qualifications of the same user) and the stability of the system to errors (the ability not to fail in case of erroneous user actions).

After successful completion of the stage trial operation an expert system is classified as a commercial system suitable not only for its own use, but also for sale to various consumers.

Expert systems building tools

Currently, there are tools that accelerate the design and development of ES. They are called instrumentation, or just tools. In other words, under instrumentationunderstand the combination of hardware and software that enables the creation of knowledge-based applications.

Among the program tools the following large groups are distinguished:

  • symbolic programming languages \u200b\u200b(LISP, INTERLISP, SMALLTALK);
  • knowledge engineering languages, that is, programming languages \u200b\u200bthat allow one of the ways to represent knowledge (OPS5, LOOPS, KES, Prolog);
  • shells of expert systems (or empty expert systems), that is, systems that do not contain knowledge about any subject area (EMYCIN, ECO, EXPERT, EXSYS RuleBook, Expert System Creator, etc.)

Expert system is an artificial intelligence system built on the basis of deep specialized knowledge about a certain subject area (obtained from experts in this area). Expert systems are one of the few types of artificial intelligence systems that are widely used and found practical application. There are expert systems for military affairs, geology, engineering, computer science, space technology, mathematics, medicine, meteorology, industry, agriculture, management, physics, chemistry, electronics, law, etc. And only the fact that expert systems remain very complex, expensive, and most importantly, highly specialized programs, hinders their even wider distribution.

The technology of expert systems is one of the directions of a new area of \u200b\u200bresearch, which has been called Artificial Intelligence (AI). Research in this area is focused on the development and implementation of computer programs that can emulate (imitate, reproduce) those areas of human activity that require thinking, a certain skill and accumulated experience. These include the tasks of decision making, pattern recognition, and understanding human language. This technology has already been successfully applied in some areas of technology and social life - organic chemistry, prospecting for minerals, medical diagnostics. The list of typical tasks solved by expert systems includes:

  • extracting information from raw data (such as signals from sonar);
  • diagnostics of malfunctions (both in technical systems and in the human body);
  • structural analysis of complex objects (for example, chemical compounds);
  • choice of configuration of complex multicomponent systems (for example, distributed computer systems);
  • planning the sequence of operations leading to a given goal (for example, performed by industrial robots).

Features of expert systems

  • competence - in a specific subject area, the expert system must reach the same level as human specialists; at the same time, it must use the same heuristic methods, and also deeply and widely reflect the subject area;
  • symbolic reasoning - the knowledge on which the expert system is based, represent in a symbolic form the concepts of the real world, reasoning also occurs in the form of a transformation of symbolic sets;
  • depth - the expertise must solve serious, non-trivial tasks, characterized by the complexity of the knowledge that the expert system uses, or the abundance of information; this does not allow the use of a full enumeration of options as a method for solving the problem and forces one to resort to heuristic, creative, informal methods;
  • self-awareness - the expert system should include a mechanism to explain how it comes to the solution of the problem.

Expert systems are created to solve all sorts of problems, but they have a similar structure (Fig. 8); the main types of their activities can be grouped into the categories shown in table. 2.

Figure: 1. Scheme of a generalized expert system

Table 1. Typical categories of expert systems applications

CategoryThe problem to be solved
InterpretationDescription of the situation based on information from sensors
ForecastDetermining the likely consequences of given situations
DiagnosticsIdentification of the reasons for the malfunctioning of the system based on observations
DesignBuilding a configuration of objects with specified constraints
PlanningDetermining the sequence of actions
ObservationComparison of observation results with expected results
DebuggingDrawing up recipes for correcting system malfunction
RepairsPerforming the sequence of prescribed corrections
TrainingDiagnostics and correction of student behavior
ControlControlling the behavior of the system as a whole

Functions performed by the expert system

Not every knowledge-based system can be considered as an expert system. The expert system must also be able to somehow explain their behavior and their decisions to the user, just as a human expert does. This is especially necessary in areas that are characterized by uncertainty, inaccuracy of information (for example, in medical diagnostics). In these cases, the ability to explain is needed in order to increase the user's confidence in the advice of the system, as well as to enable the user to detect a possible flaw in the system's reasoning. In this regard, expert systems should provide for a friendly interaction with the user, which makes the process of reasoning of the system "transparent" for the user.

An additional requirement is often imposed on expert systems - the ability to deal with uncertainty and incompleteness. Information about the task at hand may be incomplete or unreliable; relations between objects of the subject area can be approximate. For example, it may not be completely certain that a patient has a symptom or that the measured data are correct; the medication can cause complications, although this usually does not happen. In all these cases, reasoning using a probabilistic approach is required.

In the most general case, in order to build an expert system, we must develop mechanisms for performing the following system functions:

  • solving problems using knowledge about a specific subject area - perhaps this will necessitate dealing with uncertainty;
  • interaction with the user, including an explanation of the intentions and decisions of the system during and after the end of the process of solving the problem.

Each of these functions can be very complex and depend on the application area as well as different practical requirements. A variety of difficult problems can arise during the design and implementation process. Here we limited ourselves to outlining the main ideas that are subject to further detailing and improvement.

The structure of expert systems

Fig. 2. Expert system architecture

Classes of expert systems

According to the degree of complexity of the tasks being solved, expert systems can be classified as follows:

According to the method of forming a solution, expert systems are divided into two classes: analytical and synthetic... Analytical systems involve the choice of solutions from a variety of known alternatives (determination of the characteristics of objects), and synthetic systems - the generation of unknown solutions (formation of objects).

According to the method of accounting for a time attribute, expert systems can be static or dynamic... Static systems solve problems with unchanged data and knowledge in the solution process; dynamic systems allow such changes. Static systems carry out a monotonous uninterrupted solution of a problem from the input of initial data to the final result, dynamic systems provide for the possibility of revising the previously obtained results and data in the process of solving.

According to the types of data and knowledge used, expert systems are classified into systems with deterministic (well-defined) knowledge and uncertain knowledge... Uncertainty of knowledge (data) means their incompleteness (absence), unreliability (inaccuracy of measurement), ambiguity (ambiguity of concepts), fuzziness (qualitative assessment instead of quantitative).

According to the number of knowledge sources used, expert systems can be built with using one or many sources of knowledge... Sources of knowledge can be alternative (many worlds) or complementary (cooperating).

The most famous / common ES

  • CLIPS is a very popular ES (public domain)
  • OpenCyc is a powerful dynamic ES with a global ontological model and support for independent contexts
  • WolframAlpha - Search Engine, Intelligent "Knowledge Computing Engine"
  • MYCIN is the most famous diagnostic system that is designed to diagnose and monitor the patient's condition with meningitis and bacterial infections.
  • HASP / SIAP is an interpretive system that determines the location and types of ships in the Pacific Ocean from data

acoustic tracking systems.

Stages of expert system design

Currently, a certain technology for the development of ES has developed, which includes the following six stages:

  • ReceptionsDescription
    1. ObservationThe engineer observes, without interfering, how the expert solves a real problem
    2. Discussion of the taskAn engineer informally discusses data, knowledge and solution procedures with an expert on a representative set of tasks
    3. Description of the taskAn expert describes how to solve problems for typical queries
    4. Analysis of the solutionThe expert comments on the results of solving the problem, detailing the line of reasoning
    5. System checkThe expert offers the engineer a list of tasks for solving (from simple to complex), which are solved by the developed system
    6. System investigationThe expert examines and criticizes the structure of the knowledge base and the operation of the inference engine
    7. System evaluationThe engineer invites new experts to evaluate the solutions of the developed system

    table 2

    The first two stages of expert system development constitute a logical stage, not associated with the use of a well-defined tool. Subsequent steps are implemented as part of the physical creation of the project based on the selected tool. At the same time, it makes sense to carry out the process of creating an expert system as a complex software product using the prototype design method, the essence of which boils down to a constant increase in the knowledge base, starting from the logical stage.

Stage three. Loading is complete. As you can see in Figure 12.6, a new tab called "Advanced Process" has been added to the tools menu.

This is similar to loading theme panels in Visio. However, ARENA is not a "drawing", but a powerful tool simulation.

ARENA software allows you to create diagrams that reflect the functioning of a process. The process of creating diagrams is in many ways similar to that in MS Visio. It also uses technology Drag and drop, however, for some, the process of "drawing" in MS Visio will be more convenient and preferable.

Central component expert system is a knowledge base that acts in relation to other components as a meaningful subsystem that constitutes the main value.


Figure: 12.9.

Knowledge baseis a set of units of knowledge that are formalized using a certain method knowledge representation reflection of the objects of the problem area and their interrelationships, actions on objects and, possibly, the uncertainties with which these actions are carried out.

As methods knowledge representation most often, either rules, or objects (frames), or a combination of these are used. So, the rules are constructions:

If< условие > Then<заключение> CF (certainty factor)<значение>

The factors of certainty (CF), as a rule, are either conditional probabilities Bayesian approach (from 0 to 1), or the confidence coefficients of fuzzy logic (from 0 to 100).

Examples of rules are as follows.

Rule 1: If the ROI\u003e 0.2, then ROI \u003d "satisfactory" CF 100.

Rule 2: if Debt \u003d "no" and Profitability \u003d "Satisfactory", then Financial Condition \u003d "Satisfactory" CF 80.

Rule 3: If Financial Condition \u003d "Satisfactory" and Reputation \u003d "Satisfactory", then Business Credibility \u003d "Satisfactory" CF 90.

Objects are a collection of attributes that describe properties and relationships with other objects. Unlike database records, each object has a unique name. Some of the attributes reflect typed relationships, such as "kind - kind" (super-class - sub-class), "whole - part", etc. Instead of specific values object attributes can be set to default values \u200b\u200bfor whole object classes or attached procedures (process).

Intelligent interface... The exchange of data between the end user and the ES is performed by an intelligent interface program that perceives the user's messages and converts them into the form of a knowledge base presentation and, conversely, converts the internal representation of the processing result into the user format and issues the message to the required medium.

The most important requirement for organizing a dialogue between the user and the ES is naturalness, which does not literally mean the formulation user needs natural language sentences, although this is not excluded in some cases.

It is important that the sequence of solving the problem is flexible, consistent with the user's perceptions and conducted in professional terms.

Withdrawal mechanism. This software toolkit receives a request converted into an internal representation from the intelligent interface, forms a specific algorithm for solving the problem from the knowledge base, executes the algorithm, and the resulting result is provided to the intelligent interface to respond to the user's request. The application of any inference mechanism is based on the process of finding, in accordance with the goal and the description of a specific situation (initial data), relating to the solution of knowledge units (rules, objects, precedents, etc.) and linking them, if necessary, into a chain of reasoning leading to a definite result. For knowledge representation in the form of rules, this can be a direct or reverse chain of reasoning (Figure 12.10 and Figure 12.11).


Figure: 12.10.


Figure: 12.11.

For object oriented knowledge representation the use of the mechanism of inheritance of attributes is typical, when the values \u200b\u200bof attributes are passed along the hierarchy from higher-level classes to lower-level ones. Also, when the frame attributes are filled with the necessary data, the attached procedures are launched for execution.

Explanation mechanism. In the process or as a result of solving the problem, the user can request an explanation or justification for the solution. For this purpose, the ES must provide an appropriate explanation mechanism.

The explanatory abilities of ES are determined by the ability of the inference mechanism to remember the way of solving the problem. Then the user's questions "How?" and why?" a solution is received or certain data are requested, and the system can always issue a chain of reasoning to the required checkpoint, accompanying the issuance of an explanation with pre-prepared comments. In the absence of a solution to the problems, the explanation should be issued to the user automatically.

It is useful to have the possibility of a hypothetical explanation of the solution to the problem, when the system answers the questions about what will happen in this or that case. However, the user is not always interested in the complete output of the solution, which contains many unnecessary details. In this case, the system should be able to select only key points from the chain, taking into account their importance and the user's level of knowledge. To do this, the knowledge base needs to maintain a model of user knowledge and intentions.

If the user still does not understand the received answer, then the system should be able to teach the user one or another piece of knowledge in a dialogue based on the supported model of problem knowledge, i.e. to reveal in more detail individual concepts and dependencies, even if these details were not used directly in the output.

Knowledge acquisition mechanism. Knowledge base reflects knowledge experts (specialists) in this problem area about actions in different situations or processes of solving typical problems. The identification of such knowledge and their subsequent presentation in the knowledge base is carried out by specialists called knowledge engineers... To enter knowledge into the database and then update it, the ES must have a mechanism for acquiring knowledge. In the simplest case, an intelligent editor is used, which allows you to enter knowledge units into the base and carry out their syntactic and semantic control, for example, for consistency. In more complex cases, the knowledge engineer must extract knowledge by means of special scenarios of interviewing experts, or from introduced examples of real situations, as in the case of inductive inference, or from texts, or from work experience itself intelligent system.

Classes of expert systems

By the degree of complexity of the tasks being solved expert systems can be classified as follows.

By the method of forming the decision expert systems are divided into two classes: analytical and synthetic... Analytical systems involve the choice of solutions from a set of known alternatives (determination of the characteristics of objects), and synthetic systems - the generation of unknown solutions (formation of objects).

By the method of accounting for a temporary attribute expert systems may be static or dynamic... Static systems solve problems with data and knowledge not changed during the solution process, dynamic systems allow for such changes. Static systems carry out a monotonous uninterrupted solution of a problem from inputting initial data to the final result, dynamic systems provide for the possibility of revision in the process of solving the previously obtained results and data.

By types of data and knowledge used expert systems classified into systems with deterministic (well-defined) knowledge and uncertain knowledge. Uncertainty of knowledge is understood as their incompleteness, unreliability, ambiguity, fuzziness.

By the number of sources of knowledge used expert systems can be built using one or multiple sources of knowledge. Sources of knowledge can be alternative or complementary to each other

In accordance with the listed classification criteria, the following main classes of expert systems are distinguished (Table 12.1.).

Classifying expert systems. Expert systemssolving problems of situation recognition are called classifying, since they determine the belonging of the analyzed situation to a certain class.

As the main method of forming decisions, the method of logical deductive inference from the general to the particular is used, when a particular conclusion is obtained by substituting the initial data into a certain set of interrelated general statements.

Redefining expert systems... A more complex type of analytical problems is represented by problems that are solved on the basis of uncertain initial data and applied knowledge. In this case expert system should, as it were, redefine the missing knowledge, and in the space of solutions, several possible solutions can be obtained with different probabilities or confidence in the need for their implementation.

Bayesian probabilistic approach and fuzzy logic can be used as methods for dealing with uncertainties.

Additional defining expert systems can use several sources of knowledge to form a solution. In this case, heuristic methods of choosing knowledge units from their conflicting set can be applied, for example, based on the use of priority priorities, or the resulting degree of certainty of the result, or values \u200b\u200bof preference functions, etc.

For analytical tasks of the classifying and redefining types, the following areas of concern.

  1. Data interpretation - choice of a solution from a fixed set of alternatives based on the entered information about the current situation. The main purpose is to determine the essence of the situation under consideration, to select hypotheses based on their facts. A typical example is expert system analysis of the financial condition of the enterprise.
  2. Diagnostics - identification of the reasons that led to the occurrence of the situation. A preliminary interpretation of the situation is required, followed by verification of additional facts, for example, identifying factors that reduce production efficiency.
  3. Correction - diagnostics, supplemented by the ability to assess and recommend actions to correct deviations from the normal state of the situations under consideration.

Transforming expert systems... Unlike analytical static expert systems, synthesizing dynamic expert systems presuppose a repeated transformation of knowledge in the process of solving problems, which is associated with the nature of the result, which cannot be predetermined in advance, as well as with the dynamism of the problem area itself.

For synthesizing dynamic expert systems, the following are most applicable problem areas.

  1. Design - determining the configuration of objects in terms of achieving the specified performance criteria and constraints, such as designing an enterprise budget or investment portfolio.
  2. Forecasting - prediction of the consequences of the development of current situations on the basis of mathematical and heuristic modeling, for example, forecasting trends in stock trading.
  3. Dispatching - the distribution of work in time, scheduling, for example, scheduling the development of capital investments.
  4. Planning - selection of a sequence of user actions to achieve the goal, for example, process planning delivery of products.
  5. Monitoring - tracking the current situation with possible subsequent correction. For this, diagnostics, forecasting, and, if necessary, planning and correcting user actions are carried out, for example, monitoring the sales of finished products.
  6. Control - monitoring, supplemented by the implementation of actions in automatic systems, for example, decision-making in exchange trading.

Multi-agent expert systems. Such dynamic systems are characterized by the integration in the knowledge base of several heterogeneous sources of knowledge, exchanging the obtained results with each other on a dynamic basis, for example, through a "bulletin board".

The following features are characteristic of multi-agent systems:

  • conducting alternative reasoning based on the use of various sources of knowledge with a mechanism for eliminating contradictions;
  • distributed problem solving, which are broken down into parallel solved sub-problems corresponding to independent sources of knowledge;
  • application of many strategies for the operation of the mechanism for drawing conclusions, depending on the type of problem being solved;
  • processing large amounts of data contained in the database;
  • the ability to interrupt the solution of problems due to the need to obtain additional data and knowledge from users, models, and parallel subproblems to be solved.

According to the degree of complexity of the tasks being solved, expert systems can be classified as follows:

  • According to the method of forming a solution, expert systems are divided into two classes: analytical and synthetic. Analytical systems involve the choice of solutions from a set of known alternatives (determination of the characteristics of objects), and synthetic systems - the generation of unknown solutions (formation of objects).
  • According to the method of accounting for a time attribute, expert systems can be static or dynamic. Static systems solve problems with unchanged data and knowledge in the solution process; dynamic systems allow such changes. Static systems carry out a monotonous uninterrupted solution of a problem from the input of initial data to the final result, dynamic systems provide for the possibility of revising the previously obtained results and data in the process of solving.
  • According to the types of data and knowledge used, expert systems are classified into systems with deterministic (well-defined) knowledge and uncertain knowledge. The uncertainty of knowledge (data) is understood as their incompleteness (absence), unreliability (inaccuracy of measurement), ambiguity (ambiguity of concepts), fuzziness (qualitative assessment instead of quantitative).
  • According to the number of knowledge sources used, expert systems can be built using one or a plurality of knowledge sources. Sources of knowledge can be alternative (many worlds) or complementary (cooperating).

In accordance with the listed signs of classification, as a rule, the following four main classes of expert systems are distinguished

Classifying expert systems. Analytical tasks primarily include the tasks of recognizing various situations, when the essence of a certain situation is revealed by a set of given attributes (factors), depending on which a certain sequence of actions is selected. Thus, in accordance with the initial conditions, among the alternative solutions, there is one that best suits the goal and constraints.

Expert systems that solve situations recognition problems are called classifying systems, since they determine the belonging of the analyzed situation to a certain class. As the main method of forming decisions, the method of logical deductive inference from general to particular is used, when a particular conclusion is obtained by substituting initial data into a certain set of interrelated general statements.

Additional defining expert systems. A more complex type of analytical problems is represented by problems that are solved on the basis of uncertain initial data and applied knowledge. In this case, the expert system should, as it were, redefine the missing knowledge, and in the space of solutions, several possible solutions can be obtained with varying probability or confidence in the need for their implementation. The Bayesian probabilistic approach, confidence coefficients, fuzzy logic can be used as methods for dealing with uncertainties. Additional defining expert systems can use several sources of knowledge to form a solution. In this case, heuristic techniques for choosing knowledge units from their conflicting set can be used, for example, based on the use of priority priorities, or the resulting degree of certainty of the result, or values \u200b\u200bof preference functions, etc.

The following problem areas are typical for analytical tasks of the classifying and redefining types:

  • Data interpretation is the choice of a solution from a fixed set of alternatives based on the entered information about the current situation. The main purpose is to determine the essence of the situation under consideration, to select hypotheses based on their facts. A typical example is an expert system for analyzing the financial condition of an enterprise.
  • Diagnostics - identifying the reasons that led to the situation. A preliminary interpretation of the situation is required, followed by verification of additional facts, for example, identifying factors that reduce production efficiency.
  • Correction - diagnostics, supplemented by the ability to evaluate and recommend actions to correct deviations from the normal state of the situations under consideration.

Transforming expert systems... In contrast to analytical static expert systems, synthesizing dynamic expert systems presuppose a repetitive transformation of knowledge in the process of solving problems, which is associated with the nature of the result, which cannot be predetermined in advance, as well as with the dynamism of the problem area itself.

Varieties of hypothetical inference are used as methods for solving problems in transforming expert systems:

  • generation and testing, when hypotheses are generated according to the initial data, and then the formulated hypotheses are tested for confirmation by incoming facts;
  • assumptions and defaults, when knowledge about similar classes of objects is selected based on incomplete data, which are then dynamically adapted to a specific situation depending on its development;
  • the use of general patterns (meta-control) in the case of unknown situations, allowing to generate missing knowledge.

Multi-agent systems... Such dynamic systems are characterized by the integration in the knowledge base of several heterogeneous sources of knowledge that exchange the obtained results with each other on a dynamic basis, for example, through a "bulletin board"

The following features are characteristic of multi-agent systems:

  • Conducting alternative reasoning based on the use of various sources of knowledge with a mechanism for eliminating contradictions;
  • Distributed problem solving, which are broken down into parallel solved sub-problems corresponding to independent sources of knowledge;
  • The use of many strategies for the operation of the mechanism for drawing conclusions, depending on the type of problem being solved;
  • Processing large amounts of data contained in the database;
  • Using various mathematical models and external procedures stored in the model base;
  • The ability to interrupt the solution of problems in connection with the need to obtain additional data and knowledge from users, models, parallel solved subproblems.

For synthesizing dynamic expert systems, the following problem areas are most applicable:

  • Design - defining the configuration of objects in terms of achieving specified performance criteria and constraints, for example, designing an enterprise budget or investment portfolio.
  • Forecasting - predicting the consequences of the development of current situations on the basis of mathematical and heuristic modeling, for example, forecasting trends in stock trading.
  • Dispatching - scheduling work over time, scheduling, for example, scheduling capital investment.
  • Planning - the choice of a sequence of user actions to achieve a set goal, for example, planning product delivery processes.
  • Monitoring - tracking the current situation with possible subsequent correction. For this, diagnostics, forecasting, and, if necessary, planning and correcting user actions are performed, for example, monitoring the sales of finished products.
  • Management - monitoring, supplemented by the implementation of actions in automatic systems, for example, decision-making in exchange trading.

According to the publication, which analyzes 12,500 operating expert systems, the distribution of expert systems by problem areas is as follows:

Self-learning systems are based on methods of automatic classification of examples of real-life situations (learning by example). Examples of real situations are accumulated over a certain historical period and constitute a training sample. These examples are described by a variety of classification features. Moreover, the training sample can be:

  • "with a teacher", when for each example the value of the attribute of its belonging to a certain class of situations (class-forming attribute) is set explicitly;
  • "unsupervised", when the system itself identifies classes of situations by the degree of closeness of the values \u200b\u200bof the classification features.

1. The basis of any intelligent expert system is ... a knowledge base, a mathematical model, a system of rules for solving a problem, a control system 2. Subject areas need expert systems: medicine, pharmacology, chemistry, geology, economics, law, etc., in which most of the knowledge ... is the personal experience of high-level specialists can be reduced to a system of machine instructions and implemented on a computer has already been obtained and can be abandoned from direct human participation and transfer the ability to make decisions to a computer requires finding the optimal indicators for a specific task in a given industry3. The final stage of the existence of an expert system is ... a commercial system a research prototype an operating prototype an industrial system 4. Expert systems are used when ... the initial data are well formalized, but making a decision requires extensive special knowledge; the initial data are compact and convenient for implementation on a computer; it is required to find optimal indicators (for example, finding the minimum costs or determining the maximum profit); objects, processes or phenomena are being investigated by building and studying models to determine or refine the characteristics of the original 5. The similarity of expert systems with other applied programs lies in the fact that they ... are designed to solve a certain range of problems; they use heuristic methods as the main methods for solving the problem, at the stage of solving the problem, they form certain facts and inferences simulate human thinking, and not the specific nature of the subject area6. The use of an expert system is advisable if ... it is necessary to solve a problem in an environment hostile to humans, the problem needs to be solved a limited number of times there is a sufficient number of experts to solve this range of problems, solving a problem with the help of a human expert is less time consuming and more complete in scope7. The core of the expert system is not implemented in ... hypertext-declarative markup languages, imperative programming languages, ontology presentation languages \u200b\u200b8. A characteristic feature of any expert system that distinguishes it from other computer information systems is ... the ability to self-development, sorting, data sampling at user requests, the use of methods that allow reducing the solution of any problem to a specific set of machine instructions, providing multiple access to information9. The main classes of expert systems are ... fault diagnosis systems, meteorological systems, database management systems, geolocation systems

Did you like the article? To share with friends: