Expert Systems

Lecture



Purpose of Expert Systems
Structure of Expert Systems
Stages of development of expert systems
User interface
Presentation of knowledge in ES
View Levels and Levels of Detail
Organization of Knowledge in the Working System
Organization of knowledge in the database
Methods for Finding Solutions in Expert Systems
Tool Complex for Creating Static Expert Systems (On the Example of the Integrated Eco Complex)
Means of Knowledge Representation and Management Strategy
Tool complex for creating real-time expert systems (using the example of the g2-gensym corp. Integrated environment, United States)

Purpose of expert systems

In the early eighties in research on artificial intelligence formed an independent direction, called "expert systems" (ES). The goal of research on ES is to develop programs that, when solving problems that are difficult for a human expert, obtain results that are not inferior in quality and effectiveness to the solutions obtained by an expert. Researchers in the field of ES for the name of their discipline often use the term "knowledge engineering", introduced by E. Feugenbaum as "bringing the principles and tools of research from the field of artificial intelligence to solving difficult applied problems that require the knowledge of experts."

Software (PS), based on the technology of expert systems, or knowledge engineering (in the future we will use them as synonyms), have gained considerable acceptance in the world. The importance of expert systems is as follows:

the technology of expert systems significantly expands the range of practically significant tasks solved on computers, the solution of which brings a significant economic effect;

ES technology is the most important tool in solving global problems of traditional programming: the duration and, therefore, the high cost of developing complex applications;

the high cost of maintaining complex systems, which is often several times higher than the cost of their development; low level of reusability of programs, etc .;

Combining ES technology with traditional programming technology adds new qualities to software products by: providing dynamic modification of applications by the user, not the programmer; greater “transparency” of the application (for example, knowledge is stored on a limited NL, which does not require comments on knowledge, simplifies training and maintenance); better graphics; interface and interaction.

According to leading experts, in the near future, ES will find the following application:

The EC will play a leading role in all phases of design, development, production, distribution, sales, support and provision of services;

The technology of the EC, which has received commercial distribution, will provide a revolutionary breakthrough in the integration of applications from ready-to-use intelligently-interacting modules.

ES are designed for so-called non-formalized tasks, i.e. ES do not reject and do not replace the traditional approach to program development, focused on solving formalized problems.

Unformalized tasks usually have the following features:

the fallacy, ambiguity, incompleteness and inconsistency of the original data;

the fallacy, ambiguity, incompleteness and inconsistency of knowledge about the problem area and the problem to be solved;

large dimension of the solution space, i.e. the search for a solution is very large;

dynamically changing data and knowledge.

It should be emphasized that non-formalized tasks represent a large and very important class of tasks. Many experts believe that these tasks are the most widespread class of problems solved by computers.

Expert systems and artificial intelligence systems differ from data processing systems in that they mainly use the symbolic (and not numerical) method of representation, symbolic output and heuristic search for a solution (and not the execution of a known algorithm).

Expert systems are used to solve only difficult practical (non-toy) tasks. In terms of the quality and effectiveness of the solution, expert systems are not inferior to the decisions of a human expert. Expert system solutions have "transparency", i.e. can be explained to the user at a qualitative level. This quality of expert systems is ensured by their ability to talk about their knowledge and conclusions. Expert systems are able to replenish their knowledge in the course of interaction with an expert. It should be noted that at present the technology of expert systems is used to solve various types of problems (interpretation,   prediction, diagnostics, planning, design, control, debugging, instruction, management) in a wide variety of problem areas, such as finance, the oil and gas industry, energy, transport, pharmaceutical production, space, metallurgy, mining, chemistry, education, pulp and paper industry, telecommunications and communications, etc.

Commercial success to firms-developers of artificial intelligence systems (FIC) did not come immediately. During the 1960 - 1985 years. The success of AI focused mainly on research and development, which demonstrated the suitability of FIC for practical use. Since about 1985 (on a mass scale from 1988–1990), primarily the ES, and in recent years, systems that perceive natural language (NL-systems) and neural networks (NN) have been actively used in commercial applications. .

Attention should be paid to the fact that some specialists (as a rule, specialists in programming, and not in AI) continue to assert that ES and FIC did not justify the expectations placed on them and died. The reasons for such misconceptions are that these authors considered ES as an alternative to traditional programming, i.e. They proceeded from the fact that ES alone (completely isolated from other software) completely solves the tasks facing the customer. It should be noted that at the dawn of the emergence of an ES, the specificity of the languages ​​used in them, the technology for developing applications and the equipment used (for example, Lisp machines) suggested that integrating the ES with traditional software systems is a complex and possibly impossible task with superimposed by real applications. However, at present, commercial tools (IS) for creating an ES are being developed in full accordance with modern technological trends of traditional programming, which removes the problems arising from the creation of integrated applications.

The reasons that led FIS to commercial success are as follows.

Integrity. Developed tools of artificial intelligence (IS AI), easily integrating with other information technologies and tools (with CASE, DBMS, controllers, data concentrators, etc.).

Openness and portability. IS of IS are developed in compliance with standards ensuring openness and portability [14].

Using traditional programming languages ​​and workstations. The transition from IS of IS implemented in languages ​​of AI (Lisp, Prolog, etc.) to IS of IS implemented in languages ​​of traditional programming (C, C ++, etc.) simplified the provision of integration, reduced the requirements of applications of AI to the speed of the computer and the amount of RAM. The use of workstations (instead of PCs) has dramatically increased the range of applications that can be executed on a computer using IS of IS.

Client-server architecture. IS of IS developed supporting distributed computing over client-server architecture, which allowed: reduce the cost of equipment used in applications, decentralize applications, improve reliability and overall performance (as the amount of information sent between computers is reduced, and each application module is executed on adequate him equipment).

Problem / subject-oriented IS IS. The transition from the development of general-purpose AI of information systems (although they have not lost their value as a means for creating oriented IS) to problem / subject-oriented IS of IS [9] provides: reduction of application development time; increasing the efficiency of using IP; simplification and acceleration of the work of the expert; information and software reuse (objects, classes, rules, procedures).

The structure of expert systems

A typical static ES consists of the following main components (Fig. 1.):

  • solver (interpreter);
  • working memory (RP), also called a database (DB);
  • knowledge base (BR);
  • knowledge acquisition components;
  • explanatory component;
  • dialog component.

The database (working memory) is intended for storing the initial and intermediate data of the problem being solved at the moment. This term coincides in name, but not in the sense with the term used in information retrieval systems (IRS) and database management systems (DBMS) to refer to all data (primarily long-term) stored in the system.

The knowledge base (BS) in the ES is designed to store long-term data describing the area under consideration (and not current data), and rules describing expedient data transformations in this area.

The solver, using the initial data from the working memory and knowledge from the BR, forms such a sequence of rules that, when applied to the initial data, lead to the solution of the problem.

The knowledge acquisition component automates the process of filling an ES with knowledge carried out by an expert user.

The explanatory component explains how the system obtained the solution of the problem (or why it did not receive the solution) and what knowledge it used to use, which makes it easier for the expert to test the system and increases the user's confidence in the result.

  Expert Systems

The dialogue component is focused on the organization of friendly communication with the user both in the course of problem solving and in the process of acquiring knowledge and explaining the results of work.

Representatives of the following specialties participate in the development of the ES:

expert in the problem area, whose tasks will be solved by the EC;

knowledge engineer - a specialist in the development of ES (the technology he uses, the methods are called technology (s) of knowledge engineering);

programmer for the development of tools (IS), designed to accelerate the development of ES.

It should be noted that the absence among the participants of the development of knowledge engineers (that is, their replacement by programmers) either leads to the failure of the process of creating an ES, or significantly lengthens it.

The expert determines the knowledge (data and rules) characterizing the problem area, ensures the completeness and correctness of the knowledge entered into the ES.

The knowledge engineer helps the expert to identify and structure the knowledge necessary for the work of the EC; carries out a choice of the IS that is most suitable for the given problem area, and determines the way of knowledge representation in this IS; selects and programs (by traditional means) standard functions (typical for this problem area), which will be used in the rules introduced by the expert.

The programmer develops an IC (if the IC is developed anew), containing in a limit all the main components of an ES, and carries out its conjugation with the environment in which it will be used.

The expert system works in two modes: the mode of acquiring knowledge and in the mode of solving the problem (also called the consultation mode or the mode of using the ES).

In the mode of acquiring knowledge, communication with the EC is carried out (through the mediation of a knowledge engineer). In this mode, the expert, using the knowledge acquisition component, fills the system with knowledge that allows the ES in the decision mode independently (without an expert) to solve problems from the problem area. The expert describes the problem area as a set of data and rules. Data defines objects, their characteristics and values ​​that exist in the field of expertise. The rules define the ways of manipulating data that are characteristic of the area in question.

Note that the mode of knowledge acquisition in the traditional approach to the development of programs corresponds to the stages of algorithmic, programming and debugging performed by the programmer. Thus, in contrast to the traditional approach in the case of an ES, the development of programs is carried out not by a programmer, but by an expert (with the help of an ES) who is not proficient in programming.

In the consultation mode, communication with the ES is performed by the end user, who is interested in the result and (or) the method of obtaining it. It should be noted that, depending on the purpose of the ES, the user may not be an expert in this problem area (in this case he refers to the ES for the result, unable to get it himself), or be an expert (in this case, the user can get the result himself, but he appeals to the EC in order to either speed up the process of obtaining the result, or to entrust the EC to the routine work). In the consultation mode, data about the user's task after being processed by the interactive component enters the working memory. Based on the input data from the working memory, general data on the problem area and the rules from the KB, the solver generates a solution to the problem. The ES, when solving a task, not only performs the prescribed sequence of operations, but also pre-forms it. If the reaction of the system is not clear to the user, then he may require an explanation:

“Why does the system ask one or another question?”, “How was the answer collected by the system received?”.

The structure shown in Fig. 1.1, is called the structure of a static ES . ES of this type are used in those applications where it is possible to ignore changes in the surrounding world that occur during the solution of the problem. The first ES, received practical use, were static.

  Expert Systems

In fig. 1.2 it is shown that two components are introduced into the architecture of a dynamic ES compared to a static ES: the subsystem of the external world modeling and the subsystem of communication with the external environment. The latter communicates with the outside world through a system of sensors and controllers . In addition, the traditional components of a static ES (knowledge base and output machine) undergo significant changes to reflect the temporal logic of events occurring in the real world.

We emphasize that the structure of the EC presented in fig. 1.1 and 1.2, reflects only the components (functions), and much remains "behind the scenes". In fig. 1.3 shows the generalized structure of modern information systems for creating dynamic ES, in addition to the main components, the capabilities that allow you to create integrated applications in accordance with modern programming technology.

Stages of development of expert systems

The development of an ES has significant differences from the development of a conventional software product. The experience of creating an ES showed that the use of the methodology adopted in traditional programming when developing them either overly delays the process of creating an ES or leads to a negative result.

It is necessary to use ES only when the development of ES is possible, justified and the methods of knowledge engineering correspond to the problem being solved. In order for the development of an ES to be possible for a given application, it is necessary to fulfill at least the following requirements simultaneously:

1) there are experts in this field who solve the problem much better than novice specialists;

2) experts agree on the evaluation of the proposed solution, otherwise it will not be possible to assess the quality of the developed ES;

3) experts are able to verbalize (express in natural language) and explain the methods they use, otherwise it is difficult to expect that the experts' knowledge will be “extracted” and invested in the EC;

4) solving a problem requires only reasoning, not action;

5) the task should not be too difficult (that is, its solution should take several hours or days from the expert, and not weeks);

6) although the task should not be expressed in a formal form, it should still relate to a rather “understandable” and structured area, i.e. the basic concepts, relations and methods (known to at least an expert) for obtaining a solution should be highlighted;

7) the solution of the problem should not to a large extent use “common sense” (ie, a wide range of general information about the world and about the method of its functioning that any normal person knows and can use), since such knowledge is not yet possible (in sufficient) to invest in artificial intelligence systems.

The use of ES in this application may be possible, but not justified. The use of ES can be justified by one of the following factors:

solving the problem will have a significant effect, for example, economic;

the use of a human expert is impossible either because of an insufficient number of experts, or because of the need to carry out an examination simultaneously in different places;

использование ЭС целесообразно в тех случаях, когда при передаче информации эксперту происходит недопустимая потеря времени или информации;

использование ЭС целесообразно при необходимости решать задачу в окружении, враждебном для человека.

Приложение соответствует методам ЭС, если решаемая задача обладает совокупностью следующих характеристик:

1) задача может быть естественным образом решена посредством манипуляции с символами (т.е. с помощью символических рассуждений), а не манипуляций с числами, как принято в математических методах и в традиционном программировании;

2) задача должна иметь эвристическую, а не алгоритмическую природу, т.е. ее решение должно требовать применения эвристических правил. Задачи, которые могут быть гарантированно решены (с соблюдением заданных ограничений) с помощью некоторых формальных процедур, не подходят для применения ЭС;

3) задача должна быть достаточно сложна, чтобы оправдать затраты на разработку ЭС. Однако она не должна быть чрезмерно сложной (решение занимает у эксперта часы, а не недели), чтобы ЭС могла ее решать;

4) задача должна быть достаточно узкой, чтобы решаться методами ЭС, и практически значимой.

При разработке ЭС, как правило, используется концепция "быстрого прототипа". Суть этой концепции состоит в том, что разработчики не пытаются сразу построить конечный продукт. На начальном этапе они создают прототип (прототипы) ЭС. Прототипы должны удовлетворять двум противоречивым требованиям: с одной стороны, они должны решать типичные задачи конкретного приложения, а с другой - время и трудоемкость их   разработки должны быть весьма незначительны, чтобы можно было максимально запараллелить процесс накопления и отладки знаний (осуществляемый экспертом) с процессом выбора (разработки) программных средств (осуществляемым инженером по знаниям и программистом ) . Для удовлетворения указанным требованиям, как правило, при создании прототипа используются разнообразные средства, ускоряющие процесс проектирования.

Прототип должен продемонстрировать пригодность методов инженерии знаний для данного приложения. В случае успеха эксперт с помощью инженера по знаниям расширяет знания прототипа о проблемной области. При неудаче может потребоваться разработка нового прототипа или разработчики могут прийти к выводу о непригодности методов ЭС для данного приложения. По мере увеличения знаний прототип может достигнуть такого состояния, когда он успешно решает все задачи данного приложения. Преобразование прототипа ЭС в конечный продукт обычно приводит к перепрограммированию ЭС на языках низкого уровня, обеспечивающих как увеличение быстродействия ЭС, так и уменьшение требуемой памяти. Трудоемкость и время создания ЭС в значительной степени зависят от типа используемого инструментария.

In the course of work on the creation of an ES, a certain technology of their development has developed, which includes the following six steps (Fig. 1.4):

identification, conceptualization, formalization, execution, testing, trial operation. At the identification stage , tasks to be solved are determined, development goals are identified, experts and user types are identified.

  Expert Systems

At the conceptualization stage , a meaningful analysis of the problem area is carried out, the concepts used and their interrelationships are identified, methods for solving problems are determined.

На этапе формализации выбираются ИС и определяются способы представления всех видов знаний, формализуются основные понятия, определяются способы интерпретации знаний, моделируется работа системы, оценивается адекватность целям системы зафиксированных понятий, методов решений, средств представления и манипулирования знаниями.

На этапе выполнения осуществляется наполнение экспертом базы знаний. В связи с тем, что основой ЭС являются знания, данный этап является наиболее важным и наиболее трудоемким этапом разработки ЭС. Процесс приобретения знаний разделяют на извлечение знаний из эксперта, организацию знаний, обеспечивающую эффективную работу системы, и представление знаний в виде, понятном ЭС. Процесс приобретения знаний осуществляется инженером по знаниям на основе анализа деятельности эксперта по решению реальных задач.

Интерфейс с конечным пользователем

Система G2 предоставляет разработчику богатые возможности для формирования простого, ясного и выразительного графического интерфейса с пользователем с элементами мультипликации. Предлагаемый инструментарий позволяет наглядно отображать технологические процессы практически неограниченной сложности на разных уровнях абстракции и детализации. Кроме того, графическое отображение взаимосвязей между объектами приложения может напрямую использоваться в декларативных конструкциях языка описания знаний.

RTworks не обладает собственными средствами для отображения текущего состояния управляемого процесса. Разработчик приложения вынужден использовать систему Dataview фирмы VI Corporation, что в значительной степени ограничивает его возможности.

Интерфейс с пользователем TDC Expert ограничен возможностями системы TDC 3000, т.е. взаимодействие с конечным пользователем

ограничивается текстовым режимом работы.

Представление знаний в экспертных системах

Первый и основной вопрос, который надо решить при представлении знаний, - это вопрос определения состава знаний, т.е. определение того, "ЧТО ПРЕДСТАВЛЯТЬ" в экспертной системе. Второй вопрос касается того, "КАК ПРЕДСТАВЛЯТЬ" знания. Необходимо отметить, что эти две проблемы не являются независимыми. Действительно, выбранный способ представления может оказаться непригодным в принципе либо неэффективным для выражения некоторых знаний.

По нашему мнению, вопрос "КАК ПРЕДСТАВЛЯТЬ" можно разделить на две в значительной степени независимые задачи: как организовать (структурировать) знания и как представить знания в выбранном формализме.

Стремление выделить организацию знаний в самостоятельную задачу вызвано, в частности, тем, что эта задача возникает для любого языка представления и способы решения этой задачи являются одинаковыми (либо сходными) вне зависимости от используемого формализма.

Итак, в круг вопросов, решаемых при представлении знаний, будем включать следующие:

определение состава представляемых знаний;

организацию знаний;

представление знаний, т.е. определение модели представления. Состав знаний ЭС определяется следующими факторами:

проблемной средой;

архитектурой экспертной системы;

потребностями и целями пользователей;

языком общения.

В соответствии с общей схемой статической экспертной системы (см. рис. 1.1) для ее функционирования требуются следующие знания:

знания о процессе решения задачи (т.е. управляющие знания), используемые интерпретатором (решателем);

  знания о языке общения и способах организации диалога, используемые лингвистическим процессором (диалоговым компонентом);

знания о способах представления и модификации знаний, используемые компонентом приобретения знаний;

поддерживающие структурные и управляющие знания, используемые объяснительным компонентом.

Для динамической ЭС, кроме того, необходимы следующие знания:

1) знания о методах взаимодействия с внешним окружением;

2) знания о модели внешнего мира.

Зависимость состава знаний от требований пользователя проявляется в следующем:

какие задачи (из общего набора задач) и с какими данными хочет решать пользователь;

каковы предпочтительные способы и методы решения;

при каких ограничениях на количество результатов и способы их получения должна быть решена задача;

каковы требования к языку общения и организации диалога;

какова степень общности (конкретности) знаний о проблемной области, доступная пользователю;

каковы цели пользователей.

Состав знаний о языке общения зависит как от языка общения, так и от требуемого уровня понимания.

С учетом архитектуры экспертной системы знания целесообразно делить на интерпретируемые и неинтерпретируемые . К первому типу относятся те знания, которые способен интерпретировать решатель (интерпретатор). Все остальные знания относятся ко второму типу. Решатель не знает их структуры и содержания. Если эти знания используются каким-либо компонентом системы, то он не "осознает" этих знаний. Неинтерпретируемые знания подразделяются на вспомогательные знания, хранящие информацию о лексике и грамматике языка общения, информацию о структуре диалога, и поддерживающие знания. Вспомогательные знания обрабатываются естественно-языковой компонентой, но ход этой обработки решатель не осознает, так как этот этап обработки входных сообщений является вспомогательным для проведения экспертизы. Поддерживающие знания используются при создании системы и при выполнении объяснений. Поддерживающие знания выполняют роль описаний (обоснований) как интерпретируемых знаний, так и действий системы. Поддерживающие знания подразделяются на технологические и семантические. Технологические поддерживающие знания содержат сведения о времени создания описываемых ими знаний, об авторе знаний и т.п. Семантические поддерживающие знания содержат смысловое описание этих знаний. Они содержат информацию о причинах ввода знаний, о назначении знаний, описывают способ использования знаний и получаемый эффект. Поддерживающие знания имеют описательный характер.

Интерпретируемые знания можно разделить на предметные знания, управляющие знания и знания о представлении. Знания о представлении содержат информацию о том, каким образом (в каких структурах) в системе представлены интерпретируемые знания.

Предметные знания содержат данные о предметной области и способах преобразования этих данных при решении поставленных задач. Отметим, что по отношению к предметным знаниям знания о представлении и знания об управлении являются метазнаниями. В предметных знаниях можно выделить описатели и собственно предметные знания. Описатели содержат определенную информацию о предметных знаниях, такую, как коэффициент определенности правил и данных, меры важности и сложности. Собственно предметные знания разбиваются на факты и исполняемые утверждения. Факты определяют возможные значения сущностей и характеристик предметной области. Исполняемые утверждения содержат информацию о том, как можно изменять описание предметной области в ходе решения задач. Говоря другими словами, исполняемые утверждения - это знания, задающие процедуры обработки. Однако мы избегаем использовать термин "процедурные знания", так как хотим подчеркнуть, что эти знания могут быть заданы не только в процедурной, но и в декларативной форме.

Управляющие знания можно разделить на фокусирующие и решающие. Фокусирующие знания описывают, какие знания следует использовать в той или иной ситуации. Обычно фокусирующие знания содержат сведения о наиболее перспективных объектах или правилах, которые целесообразно использовать при проверке соответствующих гипотез (см. п. 9.2). В первом случае внимание фокусируется на элементах рабочей памяти, во втором - на правилах базы знаний. Решающие знания содержат информацию, используемую для выбора способа интерпретации знаний, подходящего к текущей ситуации. Эти знания применяются для выбора стратегий или эвристик, наиболее эффективных для решения данной задачи.

Качественные и количественные показатели экспертной системы могут быть значительно улучшены за счет использования метазнании, т.е. знаний о знаниях. Метазнания не представляют некоторую единую сущность, они могут применяться для достижения различных целей. Перечислим возможные назначения метазнаний :

1) метазнания в виде стратегических метаправил используются для выбора релевантных правил ;

2) метазнания используются для обоснования целесообразности применения правил из области экспертизы;

3) метаправила используются для обнаружения синтаксических и семантических ошибок в предметных правилах;

4) метаправила позволяют системе адаптироваться к окружению путем перестройки предметных правил и функций;

5) метаправила позволяют явно указать возможности и ограничения системы, т.е. определить, что система знает, а что не знает.

Вопросы организации знаний необходимо рассматривать в любом представлении, и их решение в значительной степени не зависит от выбранного способа (модели) представления. Выделим следующие аспекты проблемы организации знаний :

организация знаний по уровням представления и по уровням детальности;

организация знаний в рабочей памяти;

организация знаний в базе знаний.

Уравни представления и уровни детальности

In order for an expert system to manage the process of finding a solution, to be able to acquire new knowledge and explain its actions, it must be able not only to use its knowledge, but also to have the ability to understand and explore it, i.e. The expert system should have knowledge of how its knowledge about the problem environment is presented. If knowledge of the problem environment is called knowledge of the zero level of representation, then the first level of representation contains metacognition, i.e. knowledge of how zero level knowledge systems are represented in the inner world. The first level contains knowledge of what tools are used to represent knowledge of zero level. Knowledge of the first level is played   essential role in managing the decision process, in acquiring and explaining the actions of the system. Due to the fact that knowledge of the first level does not contain references to knowledge of zero level, knowledge of the first level is independent of the problem environment.

The number of presentation levels may be more than two. The second level of the presentation contains information about the knowledge of the first level, i.e. knowledge of the presentation of basic concepts of the first level. The division of knowledge at the levels of representation provides an extension of the scope of the system.

Selecting levels of detail allows you to consider knowledge with varying degrees of detail. The number of levels of detail is largely determined by the specifics of the tasks to be solved, the amount of knowledge and the way they are presented. As a rule, at least three levels of detail are distinguished, reflecting respectively the general, logical and physical organization of knowledge. The introduction of several levels of detail provides an additional degree of system flexibility, as it allows for changes at one level without affecting others. Changes at one level of detail may lead to additional changes at the same level, which is necessary to ensure consistency of data structures and programs. However, the presence of different levels prevents the spread of changes from one level to another.

Organization of knowledge in the work system

The working memory (RP) of expert systems is intended for data storage. Data in the working memory can be homogeneous or divided into levels by data type. In the latter case, the data of the corresponding type is stored at each level of the working memory. Leveling complicates the structure of the expert system, but makes the system more efficient. For example, you can select the level of plans , the level of the agenda (an ordered list of rules that are ready for execution) and the level of data domain (decision level).

In modern expert systems, the data in the working memory is considered as isolated or related. In the first case, the working memory consists of a set of simple elements, and in the second, one or several (at several levels in RP) complex elements (for example, objects). At the same time, a complex element corresponds to a set of simple ones, united in a single entity. Theoretically, both approaches provide completeness, but the use of isolated elements in complex subject areas leads to a loss of efficiency.

The data in the RP in the simplest case are constants and (or) variables. In this case, variables can be interpreted as the characteristics of some object, and constants - as the values ​​of the corresponding characteristics. If the RP requires analyzing at the same time several different objects describing the current problem situation, then it is necessary to indicate to which objects the considered characteristics belong. One of the ways to solve this task is to explicitly indicate to which object the characteristic belongs.

If the RP consists of complex elements, then the relationship between the individual objects is indicated explicitly, for example, by specifying semantic relations. In addition, each object can have its own internal structure. It should be noted that to speed up the search and matching data in the RP can be connected not only logically, but also associatively.

Organization of knowledge in the database

An indicator of the intelligence of the system in terms of knowledge representation is considered to be the ability of the system to use the necessary (relevant) knowledge at the right time. Systems that do not have the means to determine relevant knowledge inevitably face the problem of "combinatorial explosion." It can be argued that this problem is one of the main reasons limiting the scope of expert systems. The problem of access to knowledge can be divided into three aspects: the coherence of knowledge and data, the mechanism of access to knowledge and the method of comparison.

Connectivity (aggregation) of knowledge is the main way to accelerate the search for relevant knowledge. Most experts came to the conclusion that knowledge should be organized around the most important objects (entities) of the subject area. All knowledge characterizing a certain entity is connected and presented as a separate object. With such an organization of knowledge, if the system needs information about a certain entity, then it searches for an object that describes this entity, and then, inside the object, searches for information about this entity. In objects, it is advisable to distinguish two types of ligaments between elements: external and internal. Internal bundles combine elements into a single object and are designed to express the structure of an object. External bundles reflect the interdependencies that exist between objects in the field of expertise. Many researchers classify external connectives into logical and associative. Logical bundles express semantic relations between elements of knowledge. Associative links are designed to provide relationships that help speed up the process of finding relevant knowledge.

The main problem when working with a large knowledge base is the problem of finding knowledge relevant to the problem being solved. Due to the fact that the processed data may not contain explicit indications of the values ​​required for their processing, a more general access mechanism is needed than the direct access method (the method of explicit references). The task of this mechanism is to find, according to some description of an entity in the working memory, the knowledge base objects that satisfy this description. It is obvious that the streamlining and structuring of knowledge can significantly speed up the search process.

Finding the desired objects is generally appropriate to consider as a two-step process. At the first stage, corresponding to the selection process by associative links, a preliminary selection is made in the knowledge base of potential candidates for the role of the desired objects. At the second stage, by performing an operation of matching potential candidates with candidate descriptions, the final selection of the desired objects is carried out. When organizing such an access mechanism, certain difficulties arise: How to choose a candidate's suitability criterion? How to organize work in conflict situations? etc.

The matching operation can be used not only as a means of selecting the desired object from a variety of candidates; It can be used for classification, confirmation, decomposition and correction. To identify an unknown object, it can be matched with some known patterns. This will allow to classify an unknown object as such a known sample, when compared with which it was obtained   top scores. When searching, matching is used to confirm some of the many candidates. If you make a comparison of some known object with an unknown description, then in case of a successful comparison, a partial decomposition of the description will be carried out.

Matching operations are very diverse. Usually, the following forms are distinguished: syntactic, parametric, semantic, and enforced mappings. In the case of syntactic juxtaposition correlate forms (samples), and not the content of objects. Successful is the comparison, as a result of which the samples are identical. It is usually assumed that the variable of one sample can be identical to any constant (or expression) of another sample. Sometimes the variables included in the sample are imposed with requirements that determine the type of constants with which they can be compared. The result of the syntactic comparison is binary: samples are matched or not matched. In parametric matching, a parameter is entered that determines the degree of matching. In the case of semantic juxtaposition, not samples of objects are correlated, but their functions. In the case of a forced comparison, one matching sample is considered from the point of view of the other. Unlike other types of matching, a positive result can always be obtained here. The question is the power of coercion. Coercion can perform special procedures associated with objects. If these procedures fail to perform the comparison, the system reports that success can be achieved only if certain parts of the entities under consideration can be considered matching.

Methods for finding solutions in expert systems

Methods of solving problems, based on the reduction of their search, depend on

psychodiagnostics in psychosomatics, as well as other systems. features of the subject area in which the problem is solved, and from the requirements of the user to the solution. The features of the subject area in terms of solution methods can be characterized by the following parameters:

the size that determines the amount of space in which to look for a solution;

the variability of a region, characterizes the degree of variability of a region in time and space (here we will single out static and dynamic regions);

the completeness of a model describing a region characterizes the adequacy of the model used to describe a given region. Usually, if a model is not complete, then several models are used to describe a region, complementing each other by reflecting various properties of the domain;

certainty of the data about the problem being solved, characterizes the degree of accuracy (erroneousness) and completeness (incompleteness) of the data. Accuracy (fallacy) is an indication that the domain in terms of the tasks to be solved is described by accurate or inaccurate data; the completeness (incompleteness) of data is understood as the sufficiency (insufficiency) of the input data for the unique solution of the problem.

User requirements for the result of the problem solved by the search can be characterized by the number of solutions and the properties of the result and (or) the way it is received. The parameter “number of decisions” can have the following basic values: one decision, several decisions, all decisions. The parameter "properties" sets the restrictions that must be satisfied by the result or method of obtaining it. For example, for a system that issues recommendations for treating patients, the user can specify the requirement not to use some medicine (due to its absence or due to the fact that it is contraindicated in this patient). The parameter "properties" can also determine such features as the decision time ("no more than", "time range", etc.), the amount of memory used to obtain the result, an indication of the necessity (impossibility) of using any knowledge (data), etc.

Thus, the complexity of the task, defined by the above set of parameters, varies from simple small-scale tasks with unchanged certain data and no restrictions on the result and method of its preparation to complex problems of large dimension with variable, erroneous and incomplete data and arbitrary restrictions on the result and method of its obtaining . From general considerations it is clear that all problems cannot be solved by any one method. Usually some methods are superior to others only in some of the listed parameters.

The methods discussed below can work in static and dynamic problem environments. In order for them to work under dynamic conditions, it is necessary to take into account the lifetime of variable values, the source of data for variables, and also to provide the ability to store the history of variable values, simulate the external environment, and operate time categories in the rules.

Existing methods for solving problems used in expert systems can be classified as follows:

methods of searching in one space - methods intended for use in the following conditions: areas of small dimension, model completeness, accurate and complete data;

search methods in hierarchical spaces - methods designed to work in areas of high dimensionality;

search methods for inaccurate and incomplete data;

search methods that use multiple models designed to work with areas for adequate description of which one model is not enough.

It is assumed that the listed methods, if necessary, should be combined in order to allow solving problems whose complexity increases simultaneously according to several parameters.

Tool Complex for Creating Static Expert Systems (On the Example of the Integrated Eco Complex)

Consider the features of tools for creating static ES on the example of the IVF complex, developed in RosNII IT and AP. The complex is most successfully used to create ESs that solve diagnostic problems (technical and medical), heuristic evaluation (risk, reliability, etc.), qualitative forecasting, and training.

The IVF complex is used: to create commercial and industrial expert systems on personal computers, as well as to quickly create prototypes of expert systems in order to determine the applicability of knowledge engineering methods in a particular problem area.

On the basis of the IVF complex, more than 100 applied expert systems were developed. Among them we note the following:

search for single faults in a personal computer;

assessment of hydraulic structures (Charvak HPP);

preparation of business letters when conducting correspondence with foreign partners;

screening an immunological status;

evaluation of the indications of a microbiological examination of a patient suffering from non-specific chronic lung diseases;

Knowledge Representation Tools and Management Strategies

The IVF complex includes three components.

The core of the complex is the integrated shell of expert IVF systems, which ensures the rapid creation of effective applications for solving analysis problems in static problem environments of types 1 and 2.

When developing tools for representing the knowledge of the shell, two main objectives were pursued: the effective solution of a fairly wide and practically significant class of tasks using personal computers; flexible options for describing the user interface and for consultation in specific applications. When representing knowledge in a shell, specialized (private) statements of the "attribute - value" type and private rules are used, which allows to eliminate the resource-intensive matching operation on the model and to achieve the efficiency of the developed applications. The expressive capabilities of the shell were significantly expanded due to the integration provided by calling external programs through the consultation and docking script with databases (PIRS and dBase IV) and external programs. The IVF envelope provides for weak structuring of KBs due to its separation into separate components — for solving individual subtasks in a problem environment — a model (the concept “model” of ECO corresponds to the notion “module” of the knowledge base of the G2 system).

From the point of view of the technology of developing the ES, the shell supports approaches based on superficial knowledge and structuring of the solution process.

The shell operates in two modes: in the mode of acquiring knowledge and in the mode of consultation (problem solving). In the first mode, the ES developer, using the dialog editor, enters the description of a particular application in the BR in terms of the shell knowledge representation language. This description is compiled into an output network with direct targeted links to specific statements and rules. In the second mode, the shell solves specific user tasks in a dialog or batch mode. In this case, the decisions are derived from the goals to the data (reverse reasoning).

To expand the capabilities of the shell for working with deep knowledge, the IVF complex can be supplemented with the K-IVF component (concretizing knowledge), which allows describing patterns in problem environments in terms of common (abstract) objects and rules. C-IVF is used at the knowledge acquisition stage, instead of the interactive shell editor, to convert general descriptions into specific output networks, allowing for efficient decision-making by IVF shell tools. Таким образом, использование конкретизатора обеспечивает возможность работы с проблемными средами типа 2 (см. гл.З).

Третий компонент комплекса - система ИЛИС, позволяющая создавать ЭС в статических проблемных средах за счет индуктивного обобщения данных (примеров) и предназначенная для использования в тех приложениях, где отсутствие правил, отражающих закономерности в проблемной среде, возмещается обширным экспериментальным материалом. Система ИЛИС обеспечивает автоматическое формирование простейших конкретных правил и автономное решение задач на их основе; при этом используется жесткая схема диалога с пользователем. Поскольку при создании реальных приложений эксперты представляют, как правило, и знания о закономерностях в проблемной среде, и экспериментальный материал (для решения частных подзадач), возникает необходимость в использовании правил, сформированных системой ИЛИС, в рамках более сложных средств представления знаний. Комплекс ЭКО обеспечивает автоматический перевод таких правил в формат оболочки ЭКО. В результате удается получить полное (адекватное) представление реальной проблемной среды,   кроме того, задать гибкое описание организации взаимодействия ЭС с конечным пользователем.

Инструментальный комплекс для создания экспертных систем реального времени (на примере интегрированной среды g2-gensym corp., Сша)

История развития ИС для создания ЭС реального времени началась в 1985 г., когда фирма Lisp Machine Inc. выпустила систему Picon для символьных ЭВМ Symbolics. Успех этого ИС привел к тому, что группа ведущих разработчиков Picon в 1986 г. образовала частную фирму Gensym, которая, значительно развив идеи, заложенные в Picon, в 1988 г. вышла на рынок с ИС под названием G2, версия 1.0. В настоящее время функционирует версия 4.2 и готовится к выпуску версия 5.0.

Основное предназначение программных продуктов фирмы Gensym (США) - помочь предприятиям сохранять и использовать знания и опыт их наиболее талантливых и квалифицированных сотрудников в интеллектуальных системах реального времени, повышающих качество продукции, надежность и безопасность производства и снижающих производственные издержки. О том, как фирме Gensym удается справиться с этой задачей, говорит хотя бы то, что сегодня ей принадлежат 50% мирового рынка экспертных систем, используемых в системах управления.

С отставанием от Gensym на 2 - 3 года другие фирмы начали создавать свои ИС для ЭС РВ. С точки зрения независимых экспертов NASA, проводивших комплексное исследование характеристик и возможностей некоторых из перечисленных систем, в настоящее время наиболее продвинутым ИС, безусловно, остается G2 (Gensym, США); следующие места со значительным отставанием (реализовано менее 50% возможностей G2) занимают RTWorks - фирма Talarian (США), COMDALE/C (Comdale Techn. - Канада), COGSYS (SC - США), ILOG Rules (ILOG - Франция).

Классы задач, для которых предназначена G2 и подобные ей системы:

мониторинг в реальном масштабе времени;

системы управления верхнего уровня;

системы обнаружения неисправностей;

диагностика;

составление расписаний;

планирование;

оптимизация;

системы - советчики оператора;

системы проектирования.

Инструментальные средства фирмы Gensym являются эволюционным шагом в развитии традиционных экспертных систем от статических предметных областей к динамическим. Немалую долю успеха фирме Gensym обеспечивают основные принципы, которых она придерживается в своих новых разработках:

проблемно/предметная ориентация;

следование стандартам;

независимость от вычислительной платформы;

совместимость снизу-вверх с предыдущими версиями;

универсальные возможности, не зависимые от решаемой задачи;

обеспечение технологической основы для прикладных систем;

комфортная среда разработки;

поиск новых путей развития технологии;

распределенная архитектура клиент-сервер;

высокая производительность.

Основным достоинством оболочки экспертных систем G2 для российских пользователей является возможность применять ее как интегрирующий компонент, позволяющий за счет открытости интерфейсов и поддержки широкого спектра вычислительных платформ легко объединить уже существующие, разрозненные средства автоматизации в единую комплексную систему управления, охватывающую все аспекты производственной деятельности - от формирования портфеля заказов до управления технологическим процессом и отгрузки готовой продукции. Это особенно важно для отечественных предприятий, парк технических и программных средств которых формировался по большей части бессистемно, под влиянием резких колебаний в экономике.

Кроме системы G2, как базового средства разработки, фирма Gensym предлагает комплекс проблемно/предметно-ориентированных расширений для быстрой реализации сложных динамических систем на основе специализированных графических языков, включающих параметризуемые операторные блоки для представления элементов технологического процесса и типовых задач обработки информации. Набор инструментальных сред фирмы Gensym, сгруппированный по проблемной ориентации, охватывает все стадии производственного процесса и выглядит следующим образом:

интеллектуальное управление производством - G2, G2 Diagnostic Assistant (GDA), NeurOn-Line (NOL), Statistical Process Control (SPC), BatchDesign_Kit;

оперативное планирование - G2, G2 Scheduling Toolkit (GST), Dynamic Scheduling Packadge (DSP);

разработка и моделирование производственных процессов - G2, ReThink, BatchDesign_Kit;

управление операциями и корпоративными сетями - G2, Fault Expert.

Несмотря на то, что первая версия системы G2 появилась не так давно - в 1988 г., ее даже в богатой Америке никто не назовет дешевой. G2 можно назвать бестселлером на рынке программных продуктов - на начало 1996 г. в мире было установлено более 5000 ее копий. Фирма Gensym обслуживает более 30 отраслей - от аэрокосмических исследований до производства пищевых продуктов. Список пользователей G2 выглядит как справочник Who-Is-Who в мировой промышленности. 25 самых крупных индустриальных мировых корпораций используют G2. На базе G2 написано более 500 действующих приложений.

Чем же объясняется успех инструментального комплекса G2? Прежде всего G2 - динамическая система в полном смысле этого слова. G2 - это объектно-ориентированная интегрированная среда для разработки и сопровождения приложений реального времени, использующих базы знаний. G2 функционирует на большинстве существующих платформ (табл.9.1). База знаний G2 сохраняется в обычном

Таблица 9.1 Платформы, на которых функционирует G2

Фирма-производитель

Вычислительная система

Операционная среда

Digital

VAX Зххх,4ххх,бххх,

VMS

Equipment

7ххх, 8ххх,9ххх

 

 

DECstation Зххх, бххх

ULTRIX

 

DEC Alpha APX

Open VMS, OSF/1,

 

 

Windows

 

 

NT

SUN

SUN-4

Sun OS

Microsystems

 

 

 

SPARC 1,2, 10, LX,

Sun OS/Solaris 1, Solaris

 

Classic

2.x

Hewlett packard

НР9000/4хх, 7хх, 8хх

HP-UX

Ibm

RISC 6000

AIX

Data General

AViiON

DG/UX

Silicon Graphics

IRIS, INDIGO

IRIX

ПЭВМ

Intel 486/Pentium

Windows NT, Windows-95

Motorola

Motorola 88000

UNIX

NEC

EWS 4800

EWS-UX/V

An ASCII file that is uniquely interpreted on any of the supported platforms. Migrating an application does not require recompiling it and consists of simply rewriting files. The functionality and appearance of the application do not undergo any changes.


Comments


To leave a comment
If you have any suggestion, idea, thanks or comment, feel free to write. We really value feedback and are glad to hear your opinion.
To reply

Expert systems

Terms: Expert systems