Стратегии управления выводом

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

1. Какую точку в пространстве состояний принять в качестве исходной? От вы­бора этой точки зависит и метод осуществления поиска — в прямом или об­ратном направлении.

2. Какими методами можно повысить эффективность поиска решения? Эти ме­тоды определяются выбранной стратегией перебора — глубину, в ширину, по подзадачам или иначе.

Прямой и обратный вывод

При обратном порядке вывода вначале выдвигается некоторая гипотеза, а затем механизм вывода как бы возвращается назад, переходя к фактам, пытаясь найти


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

Рис. 1.5. Стратегии вывода

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

Существуют системы, в которых вывод основывается на сочетании упомянутых выше методов — обратного и ограниченного прямого. Такой комбинированный метод получил название циклического.

Пример 1.5 Имеется фрагмент базы знаний из двух правил:

П1. Если «отдых — летом» и «человек — активный», то «ехать в горы».

П2. Если «любит солнце», то «отдых летом».

Предположим, в систему поступили факты — «человек активный» и «любит солнце».

ПРЯМОЙ ВЫВОД— исходя из фактических данных, получить рекомендацию.


1-й проход.

Шаг 1. Пробуем П1, не работает (не хватает данных «отдых — летом»).

Шаг 2. Пробуем П2, работает, в базу поступает факт «отдых — летом».

2-й проход.

Шаг 3. Пробуем П1, работает, активируется цель «ехать в горы», которая и выступает

как совет, который дает ЭС.

ОБРАТНЫЙ ВЫВОД — подтвердить выбранную цель при помощи имеющихся правил

и данных.

1-й проход.

Шаг 1. Цель — «ехать в горы»: пробуем П1 — данных «отдых — летом» нет, они стано­вятся новой целью и ищется правило, где цель в левой части. Шаг 2. Цель «отдых — летом»: правило П2 подтверждает цель и активирует ее.

2-й проход.

ШагЗ. Пробуем П1, подтверждается искомая цель.

Методы поиска в глубину и ширину

В системах, база знаний которых насчитывает сотни правил, желательным явля­ется использование стратегии управления выводом, позволяющей минимизиро­вать время поиска решения и тем самым повысить эффективность вывода. К чис­лу таких стратегий относятся: поиск в глубину, поиск в ширину, разбиение на подзадачи и альфа-бета алгоритм [Таунсенд, Фохт, 1991; Уэно, Исидзука, 1989;

Справочник по ИИ, 1990].

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

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

Разбиение на подзадачи — подразумевает выделение подзадач, решение которых рассматривается как достижение промежуточных целей на пути к конечной цели. Примером, подтверждающим эффективность разбиения на подзадачи, является поиск неисправностей в компьютере — сначала выявляется отказавшая подсисте­ма (питание, память и т. д.), что значительно сужает пространство поиска. Если удается правильно понять сущность задачи и оптимально разбить ее на систему иерархически связанных целей-подцелей, то можно добиться того, что путь к ее решению в пространстве поиска будет минимален.

Альфа-бета алгоритм позволяет уменьшить пространство состояний путем уда­ления ветвей, неперспективных для успешного поиска. Поэтому просматривают­ся только те вершины, в которые можно попасть в результате следующего шага,


после чего неперспективные направления исключаются. Альфа-бета алгоритм нашел широкое применение в основном в системах, ориентированных на различ­ные игры, например в шахматных программах.

1.4. Нечеткие знания

При попытке формализовать человеческие знания исследователи вскоре столк­нулись с проблемой, затруднявшей использование традиционного математиче­ского аппарата для их описания. Существует целый класс описаний, оперирую­щих качественными характеристиками объектов (много, мало, сильный, очень сильный и т. п.). Эти характеристики обычно размыты и не могут быть однознач­но интерпретированы, однако содержат важную информацию (например, «Од­ним из возможных признаков гриппа является высокая температура»).

Кроме того, в задачах, решаемых интеллектуальными системами, часто прихо­дится пользоваться неточными знаниями, которые не могут быть интерпретиро­ваны как полностью истинные или ложные (логические true/false или 0/1). Су­ществуют знания, достоверность которых выражается некоторой промежуточной цифрой, например 0.7.

Как, не разрушая свойства размытости и неточности, представлять подобные зна­ния формально? Для разрешения таких проблем в начале 70-х американский ма-тематик Лотфи Заде предложил формальный аппарат нечеткой (fuzzy) алгебры и нечеткой логики [Заде, 1972]. Позднее это направление получило широкое рас­пространение [Орловский, 1981; Аверкин и др., 1986; Яшин, 1990] и положило на­чало одной из ветвей ИИ под названием — мягкие вычисления (soft computing).

Л. Заде ввел одно из главных понятий в нечеткой логике — понятие лингвисти­ческой переменной.

Лингвистическая переменная (ЛП) — это переменная, значение которой определяется набором вербальных (то есть словесных) характеристик некоторого свойства.

Например, ЛП ^рост» определяется через набор {карликовый, низкий, средний, высокий, очень высокий}.

Л .4.1. Основы теории нечетких множеств

Значения лингвистической переменной (ЛП) определяются через так называе­мые нечеткие множества (НМ), которые в свою очередь определены на некото­ром базовом наборе значений или базовой числовой шкале, имеющей размер­ность. Каждое значение ЛП определяется как нечеткое множество (например, НМ «низкий рост»).

Нечеткое множество определяется через некоторую базовую шкалу В и функцию принадлежности НМ — ц(х), хеВ, принимающую значения на интервале [0...1]. Таким образом, нечеткое множество В — это совокупность пар вида (х, ^i(x)), где хе В. Часто встречается и такая запись:


где х, — i-e значение базовой шкалы.

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

Например, для двух экспертов определение НМ «высокая» для ЛП «цена автомо­биля» в условных единицах может существенно отличаться в зависимости от их социального и финансового положения.

' «Высокая_цена_автомобиля_Ь - {50000/1 + 25000/0.8 + 10000/0.6 + 5000/0.4}. «Высокая_цена_автомобиля_2» = {25000/1 + 10000/0.8 + 5000/0.7 + 3000/0.4}

Пример 1.6

Пусть перед нами стоит задача интерпретации значений ЛП «возраст», таких как «мо­лодой» возраст, «преклонный» возраст или «переходный» возраст. Определим «воз­раст» как ЛП (рис. 1.6). Тогда «молодой», «преклонный», «переходный» будут значе­ниями этой лингвистической переменной. Более полно, базовый набор значений ЛП «возраст» следующий:

В = {младенческий, детский, юный, молодой, зрелый, преклонный, старческий}.

Рис. 1.6. Лингвистическая переменная «возраст» и нечеткие множества, определяющие ее значения

Для ЛП «возраст» базовая шкала — это числовая шкала от 0 до 120, обозначающая ко­личество прожитых лет, а функция принадлежности определяет, насколько мы увере­ны в том, что данное количество лет можно отнести к данной категории возраста. На рис. 1.7 отражено, как одни и те же значения базовой шкалы могут участвовать в опре­делении различных НМ.


Например, определить значение НМ «младенческий возраст» можно так:

Рисунок 1.8 иллюстрирует оценку НМ неким усредненным экспертом, который ребен­ка до полугода с высокой степенью уверенности относит к младенцам (m ° 1). Дети до четырех лет причисляются к младенцам тоже, но с меньшей степенью уверенности (0.5< m -^О.О), а в десять лет ребенка называют так только в очень редких случаях — к примеру, для девяностолетней бабушки и 15 лет может считаться младенчеством. Та­ким образом, нечеткие множества позволяют при определении понятия учитывать субъективные мнения отдельных индивидуумов.

Рис. 1.8. График функции принадлежности нечеткому множеству «младенческий возраст»

1.4.2. Операции с нечеткими знаниями

Для операций с нечеткими знаниями, выраженными при помощи лингвистичес­ких переменных, существует много различных способов. Эти способы являются в основном эвристиками. Мы не будем останавливаться на этом вопросе подробно, укажем лишь для примера определение нескольких операций. К примеру, опера­ция «ИЛИ» часто задается так [Аверкин и др., 1986; Яшин, 1990]:

^(x)=max(^l(x),/z2(r)) (так называемая логика Заде) или так:

fi(x)=^(x)+^2(x)-^(x)^2(x) (вероятностный подход).

Усиление или ослабление лингвистических понятий достигается введением спе­циальных квантификаторов. Например, если понятие «старческий возраст» определяется как

f60 70 80 901 J—+——+—+—I,

[0.6 0.8 0.9 1 J


Для вывода на нечетких множествах используются специальные отношения и операции над ними (подробнее см. работу [Орловский, 1981]). Одним из первых применений теории НМ стало использование коэффициентов уверенности для вывода рекомендаций медицинской системы MYCIN [Shortliffe, 1976]. Этот метод использует несколько эвристических приемов. Он стал приме­ром обработки нечетких знаний, повлиявших на последующие системы. В настоящее время в большинство инструментальных средств разработки систем, основанных на знаниях, включены элементы работы с НМ, кроме того, разработа­ны специальные программные средства реализации так называемого нечеткого вывода, например «оболочка» FuzzyCLIPS.


2.Разработка систем,

основанных

на знаниях


а Введение в экспертные системы. Определение и структура

D Классификация систем, основанных на знаниях

а Коллектив разработчиков

а Технология проектирования и разработки

2.1. Введение в экспертные системы. Определение и структура

В качестве рабочего определения экспертной системы примем следующее.

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

Обобщенная структура экспертной системы представлена на рис. 2.1. Следует учесть, что реальные ЭС могут иметь более сложную структуру, однако блоки, изображенные на рисунке, непременно присутствуют в любой действительно эк­спертной системе, поскольку представляют собой стандарт de facto структуры современной ЭС.

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


Так как терминология в области разработки ЭС постоянно модифицируется, оп­ределим основные термины в рамках данной работы.

Пользователь — специалист предметной области, для которого предназначена си­стема. Обычно его квалификация недостаточно высока, и поэтому он нуждается в помощи и поддержке своей деятельности со стороны ЭС. Инженер по знаниям — специалист в области искусственного интеллекта, высту­пающий в роли промежуточного буфера между экспертом и базой знаний. Сино­нимы: когнитолог, инженер-интерпретатор, аналитик.

Интерфейс пользователя — комплекс программ, реализующих диалог пользова­теля с ЭС как на стадии ввода информации, так и при получении результатов.

База знаний (БЗ) — ядро ЭС, совокупность знаний предметной области, записан­ная на машинный носитель в форме, понятной эксперту и пользователю (обычно на некотором языке, приближенном к естественному). Параллельно такому «че­ловеческому» представлению существует БЗ во внутреннем «машинном» пред­ставлении.

Решатель — программа, моделирующая ход рассуждений эксперта на основании знаний, имеющихся в БЗ. Синонимы: дедуктивная машина, машина вывода, блок логического вывода.

Подсистема объяснений — программа, позволяющая пользователю получить от­веты на вопросы: «Как была получена та или иная рекомендация?» и «Почему система приняла такое решение?» Ответ на вопрос «как» — это трассировка всего процесса получения решения с указанием использованных фрагментов БЗ, то есть всех шагов цепи умозаключений. Ответ на вопрос «почему» — ссылка на умо­заключение, непосредственно предшествовавшее полученному решению, то есть отход на один шаг назад. Развитые подсистемы объяснений поддерживают и дру­гие типы вопросов.

Интеллектуальный редактор БЗ — программа, представляющая инженеру по знаниям возможность создавать БЗ в диалоговом режиме. Включает в себя систему вложенных меню, шаблонов языка представления знаний, подсказок («help» — режим) и других сервисных средств, облегчающих работу с базой.


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

2.2. Классификация систем, основанных на знаниях

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

2.2.1. Классификация по решаемой задаче

Рассмотрим указанные на рисунке типы задач подробнее.

Интерпретация данных. Это одна из традиционных задач для экспертных сис­тем. Под интерпретацией понимается процесс определения смысла данных, результаты которого должны быть согласованными и корректными. Обычно предусматривается многовариантный анализ данных.


• Все примеры далее из работ [Попов и др., (ред.), 1990; Соловьев, Соловьева, 1989; Хейес-Рот и др., 1987].

• Обнаружение и идентификация различных типов океанских судов по ре­зультатам аэрокосмического сканирования — SIAP;

• определение основных свойств личности по результатам психодиагности­ческого тестирования в системах АВТАНТЕСТ и МИКРОЛЮШЕР и др.

Диагностика. Под диагностикой понимается процесс соотнесения объекта с некоторым классом объектов и/или обнаружение неисправности в некоторой системе. Неисправность — это отклонение от нормы. Такая трактовка поз­воляет с единых теоретических позиций рассматривать и неисправность обо­рудования в технических системах, и заболевания живых организмов, и все­возможные природные аномалии. Важной спецификой является здесь необходимость понимания функциональной структуры («анатомии») ди­агностирующей системы.

• Диагностика и терапия сужения коронарных сосудов — ANGY;

• диагностика ошибок в аппаратуре и математическом обеспечении ЭВМ — система CRIB и др.

Мониторинг. Основная задача мониторинга — непрерывная интерпретация данных в реальном масштабе времени и сигнализация о выходе тех или иных параметров за допустимые пределы. Главные проблемы — «пропуск» тревож­ной ситуации и инверсная задача «ложного» срабатывания. Сложность этих проблем в размытости симптомов тревожных ситуаций и необходимость уче­та временного контекста.

• Контроль за работой электростанций СПРИНТ, помощь диспетчерам атом­ного реактора - REACTOR;

• контроль аварийных датчиков на химическом заводе - FALCON и др.

Проектирование. Проектирование состоит в подготовке спецификаций на со­здание «объектов» с заранее определенными свойствами. Под спецификацией понимается весь набор необходимых документов — чертеж, пояснительная за­писка и т. д. Основные проблемы здесь — получение четкого структурного описания знаний об объекте и проблема «следа». Для организации эффектив­ного проектирования и в еще большей степени перепроектирования необхо­димо формировать не только сами проектные решения, но и мотивы их приня­тия. Таким образом, в задачах проектирования тесно связываются два основ­ных процесса, выполняемых в рамках соответствующей ЭС: процесс вывода решения и процесс объяснения.

Проектирование конфигураций ЭВМ VAX - 11/780 в системе XCON (или R1), проектирование БИС - CADHELP;

• синтез электрических цепей — SYN и др.


Прогнозирование. Прогнозирование позволяет предсказывать последствия не­которых событий или явлений на основании анализа имеющихся данных. Прогнозирующие системы логически выводят вероятные следствия из задан­ных ситуаций. В прогнозирующей системе обычно используется параметри­ческая динамическая модель, в которой значения параметров «подгоняются» под заданную ситуацию. Выводимые из этой модели следствия составляют основу для прогнозов с вероятностными оценками.

* Предсказание погоды — система WILLARD;

* оценки будущего урожая — PLANT;

* прогнозы в экономике — ECON и др.

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

* Планирование поведения робота — STRIPS;

* планирование промышленных заказов — ISIS;

* планирование эксперимента — MOLGEN и др.

Обучение. Под обучением понимается использование компьютера для обуче­ния какой-то дисциплине или предмету. Системы обучения диагностируют ошибки при изучении какой-либо дисциплины с помощью ЭВМ и подсказы­вают правильные решения. Они аккумулируют знания о гипотетическом «ученике» и его характерных ошибках, затем в работе они способны диагнос­тировать слабости в познаниях обучаемых и находить соответствующие сред­ства для их ликвидации. Кроме того, они планируют акт общения с учеником в зависимости от успехов ученика с целью передачи знаний.

* Обучение языку программирования ЛИСП в системе «Учитель ЛИСПа»;

* система PROUST — обучение языку Паскаль и др.

Управление. Под управлением понимается функция организованной системы, поддерживающая определенный режим деятельности. Такого рода ЭС осуще­ствляют управление поведением сложных систем в соответствии с заданными спецификациями.

* Помощь в управлении газовой котельной — GAS;

* управление системой календарного планирования Project Assistant и др.

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


• Выбор стратегии выхода фирмы из кризисной ситуации — CRYSIS;

• помощь в выборе страховой компании или инвестора — CHOICE и др.

В общем случае все системы, основанные на знаниях, можно подразделить на си­стемы, решающие задачи анализа, и на системы, решающие задачи синтеза. Основ­ное отличие задач анализа от задач синтеза заключается в том, что если в задачах анализа множество решений может быть перечислено и включено в систему, то в задачах синтеза множество решений потенциально не ограничено и строится из решений компонент или под-проблем. Задачами анализа являются: интерпрета­ция данных, диагностика, поддержка принятия решения; к задачам синтеза отно­сятся проектирование, планирование, управление. Комбинированные: обучение, мониторинг, прогнозирование.

2.2.2. Классификация по связи с реальным временем

Статические ЭС разрабатываются в предметных областях, в которых база зна­ний и интерпретируемые данные не меняются во времени. Они стабильны.

Пример

Диагностика неисправностей в автомобиле.

Квазидинамические ЭС интерпретируют ситуацию, которая меняется с некото­рым фиксированным интервалом времени.

Пример

Микробиологические ЭС, в которых снимаются лабораторные измерения с технологи­ческого процесса один раз в 4-5 часов (производство лизина, например) и анализиру­ется динамика полученных показателей по отношению к предыдущему измерению.

Динамические ЭС работают в сопряжении с датчиками объектов в режиме ре­ального времени с непрерывной интерпретацией поступающих в систему дан­ных.

Примеры

Управление гибкими производственными комплексами, мониторинг в реанимацион­ных палатах;

программный инструментарий для разработки динамических систем — G2 [Попов, 1996].

2.2.3. Классификация по типу ЭВМ

На сегодняшний день существуют:

• ЭС для уникальных стратегически важных задач на суперЭВМ (Эльбрус, CRAY, CONVEX и др.);

• ЭС на ЭВМ средней производительности (типа ЕС ЭВМ, mainframe);


• ЭС на символьных процессорах и рабочих станциях (SUN, Silicon Graphics, APOLLO);

• ЭС на мини- и супермин-ЭВМ (VAX, micro-VAX и др.);

• ЭС на персональных компьютерах (IBM PC, MAC II и т. п.).

2.2.4. Классификация по степени интеграции с другими программами

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

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

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

2.3. Коллектив разработчиков

Под коллективом разработчиков (КР) будем понимать группу специалистов, от­ветственных за создание ЭС.

Как видно из рис. 2.1, в состав КР входят по крайней мере три человека — пользо­ватель, эксперт и инженер по знаниям. На рисунке не видно программиста. Та­ким образом, минимальный состав КР включает четыре человека; реально же он разрастается до 8-10 человек. Численное увеличение коллектива разработчиков происходит по следующим причинам: необходимость учета мнения нескольких;

пользователей, помощи нескольких экспертов; потребность как в проблемных, так и системных программистах. На Западе в этот коллектив дополнительно тра­диционно включают менеджера и одного технического помощника.

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


Для обеспечения эффективности сотрудничества любой творческой группы, в том числе и группы КР ЭС, необходимо возникновение атмосферы взаимопони­мания и доверия, которое, в свою очередь, обусловлено психологической совмес­тимостью членов группы; следовательно, при формировании КР должны учиты­ваться психологические свойства участников.

В настоящий момент в психологии существует несколько десятков методик по определению свойств личности, широко используемых в вопросах профессио­нальной ориентации. Эти психодиагностические методики, часть из которых уже автоматизирована, различаются направленностью, глубиной, временем опроса и способами интерпретации. В частности, система АВАНТЕСТ (Автоматический Анализ ТЕСТов) [Гаврилова, 1984] позволяет моделировать рассуждения психо­лога при анализе результатов тестирования по 16-факторному опроснику Р. Кэт-тела и выдает связное психологическое заключение на естественном русском язы­ке, характеризующее такие свойства личности, как общительность, аналитичность, добросовестность, самоконтроль и т. п. Модифицированная база знаний системы АВТАНТЕСТ позднее была использована в ЭС «Cattell» (см. параграф 7.3).

Ниже приведены два аспекта характеристик членов КР: 1 — психофизиологиче­ский, 2 — профессиональный.

Пользователь

1. К пользователю предъявляются самые слабые требования, поскольку его не выбирают. Он является в некотором роде заказчиком системы. Желательные качества:

а) дружелюбие;

б) умение объяснить, что же он хочет от системы;

в) отсутствие психологического барьера к применению вычислительной тех­ники;

г) интерес к новому. От пользователя зависит, будет ли применяться разра­ботанная ЭС. Замечено, что наиболее ярко качества в) и г) проявляются в молодом возрасте, поэтому иногда такие пользователи охотнее применяют ЭС, не испытывая при этом комплекса неполноценности оттого, что ЭВМ им что-то подсказывает.

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

Эксперт

1. Эксперт — чрезвычайно важная фигура в группе КР. В конечном счете, его под­готовка определяет уровень компетенции базы знаний. Желательные качества:

а) доброжелательность;

б) готовность поделиться своим опытом;


в) умение объяснить (педагогические навыки);

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

2. Помимо безусловно высокого профессионализма в выбранной предметной об­ласти, желательно знакомство эксперта с популярной литературой по искус­ственному интеллекту и экспертным системам для того, чтобы эффективнее прошел этап извлечения знаний.

Программист

1. Известно, что программисты обладают самой низкой потребностью в общении среди представителей разных профессий. Однако при разработке ЭС необхо­дим тесный контакт членов группы, поэтому желательны следующие его каче­ства:

а) общительность;

б) способность отказаться от традиционных навыков и освоить новые методы;

в) интерес к разработке.

2. Поскольку современные ЭС — сложнейшие и дорогостоящие программные ком­плексы, программисты в КР должны иметь опыт и навыки разработки про­грамм. Обязательно знакомство с основными структурами представления зна­ний и механизмами вывода, состоянием отечественного и мирового рынка программных продуктов для разработки ЭС и диалоговых интерфейсов.

Инженер по знаниям

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

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


Интеллект. Это понятие вызывает самые бурные споры психологов; суще­ствует до 50 определений интеллекта, но с прагматической точки зрения оче­видно, что специалист в области искусственного интеллекта должен стре­миться к максимальным оценкам по тестам как вербального, так и невербаль­ного интеллекта.

Стиль общения. Инженер по знаниям «задает тон» в общении с экспертом, он ведет диалог, и от него в конечном счете зависит его продуктивность. Можно выделить два стиля общения: деловой (или жесткий) и дружеский (или мяг­кий, деликатный). Нам кажется, что дружеский будет заведомо более успеш­ным, так как снижает «эффект фасада» у эксперта, раскрепощает его. Дели­катность, внимательность, интеллигентность, ненавязчивость, скромность, умение слушать и задавать вопросы, хорошая коммуникабельность и в то же время уверенность в себе — вот рекомендуемый стиль общения. Безусловно, что это дар и искусство одновременно, однако занятия по психологическому тренингу могут дать полезные навыки.

Портрет инженера по знаниям можно было бы дополнить другими характери­стиками — широтой взглядов и интересов, артистичностью, чувством юмора, обаянием и т. д.

2. При определении профессиональных требований к аналитику следует учиты­вать, что ему необходимы различные навыки и умения для грамотного и эф­фективного проведения процессов извлечения, концептуализации и формали­зации знаний.

Инженер по знаниям имеет дело со всеми формами знаний (см. параграф 1.3).

Z1 (знания в памяти) —> Z2 (знания в книгах) —> Z3 (поле знаний) —> Z4 (модель знаний) —> Z5 (база знаний).

Работа на уровне Z1 требует от инженера по знаниям знакомства с элементами когнитивной психологии и способами репрезентации понятий и процессов в па­мяти человека, с двумя основными механизмами мышления — логическим и ас­социативным, с такими способами активизации мышления как игры, мозговой штурм и др., с различными моделями рассуждений.

Изучение и анализ текстов на уровне Z2 подразумевает широкую общенаучную подготовку инженера; знакомство с методами реферирования и аннотирования текстов; владение навыками быстрого чтения, а также текстологическими мето­дами извлечения знаний.

Разработка поля знаний на уровне Z3 требует квалифицированного знакомства с методологией представления знаний, системным анализом, теорией познания, аппаратом многомерного шкалирования, кластерным и факторным анализом.

Разработка формализованного описания Z4 предусматривает предварительное изучение аппарата математической логики и современных языков представле­ния знаний. Модель знаний разрабатывается на основании результатов глубоко­го анализа инструментальных средств разработки ЭС и имеющихся «оболочек». Кроме того, инженеру по знаниям необходимо владеть методологией разработки ЭС, включая методы быстрого прототипирования.


И наконец, реализация базы знаний Z5, в которой инженер по знаниям участвует вместе с программистом, подразумевает овладение практическими навыками ра­боты на ЭВМ и, возможно, одним из языков программирования.

Так как инженеров по знаниям «выращивают» из программистов, уровень Z5 обычно не вызывает затруднения, особенно если разработка ведется на традици­онных языках типа С или Паскаль. Специализированные языки искусственного интеллекта Лисп и Пролог требуют некоторой перестройки архаично-алгорит­мического мышления.

Успешность выбора и подготовки коллектива разработчиков ЭС определяет эф­фективность и продолжительность всего процесса разработки.

2.4. Технология проектирования и разработки

2.4.1. Проблемы разработки промышленных ЭС

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

Процесс разработки промышленной экспертной системы, опираясь на тради­ционные технологии [Николов и др., 1990; Хейес-Рот и др., 1987; Tuthill, 1994], практически для любой предметной области можно разделить на шесть более или менее независимых этапов (рис. 2.3).


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

• формирование корпоративных информационных систем;

• организация сложных расчетов;

• работа с компьютерной графикой;

• обработка текстов и автоматизированный документооборот.

Решение таких задач, во-первых, подготавливает высококвалифицированных спе­циалистов по информатике, необходимых для создания интеллектуальных систем, во-вторых, позволяет отделить от экспертных систем неэкспертные задачи.

2.4.2. Выбор подходящей проблемы

Этот этап определяет деятельность, предшествующую решению начать разраба­тывать конкретную ЭС. Он включает [Николов и др., 1990]:

• определение проблемной области и задачи;

• нахождение эксперта, желающего сотрудничать при решении проблемы, и на­значение коллектива разработчиков;

• определение предварительного подхода к решению проблемы;

• анализ расходов и прибылей от разработки;

• подготовку подробного плана разработки.

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

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


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

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

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

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

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

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

• данная задача может быть решена с помощью экспертной системы;

• экспертную систему можно создать предлагаемыми на рынке средствами;


• имеется подходящий эксперт;

• предложенные критерии производительности являются разумными;

• затраты и срок их окупаемости приемлемы для заказчика,

он составляет план разработки. План определяет шаги процесса разработки и не­обходимые затраты, а также ожидаемые результаты.

2.4.3. Технология быстрого прототипирования

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

Объем прототипа — несколько десятков правил, фреймов или примеров. На рис. 2.4 изображено шесть стадий разработки прототипа и минимальный коллек­тив разработчиков, занятых на каждой из стадий (пять стадий заимствовано из работы [Хейес-Рот и др., 1987]). Приведем краткую характеристику каждой из стадий, хотя эта схема представляет собой грубое приближение к сложному, ите­ративному процессу.

®^©

Рис. 2.4. Стадии разработки прототипа ЭС


Хотя любое теоретическое разделение бывает часто условным, осознание кс

чективом разработчиков четких задач каждой стадии представляется целесос

разным. Роли разработчиков (эксперт, программист, пользователь и аналитп

являются постоянными на протяжении всей разработки. Совмещение ролей \

желательно.

сроки приведены условно, так как зависят от квалификации специалистов и oi

бенностей задачи.

Идентификация проблемы

Уточняется задача, планируется ход разработки прототипа экспертной систе:^ определяются:

• необходимые ресурсы (время, люди, ЭВМ и т. д.);

• источники знаний (книги, дополнительные эксперты, методики);

• имеющиеся аналогичные экспертные системы;

• цели (распространение опыта, автоматизация рутинных действий и др.);

• классы решаемых задач и т. д.

Идентификация проблемы — знакомство и обучение членов коллектива разработчиков, а также создание неформальной формулировки проблемы.

Средняя продолжительность 1-2 недели.

Извлечение знаний

На этой стадии происходит перенос компетентности от эксперта к инженеру знаниям, с использованием различных методов (см. главу 4):

• анализ текстов;

• диалоги;

• экспертные игры;

• лекции;

• дискуссии;

• интервью;

• наблюдение и другие.

Извлечение знаний — получение инженером по знаниям наиболее полного из возможны представлений о предметной области и способах принятия решения в ней.

Средняя продолжительность 1-3 месяца.

Структурирование или концептуализация знаний

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

• терминология;

• список основных понятий и их атрибутов;


• отношения между понятиями;

• структура входной и выходной информации;

• стратегия принятия решений;

• ограничения стратегий и т. д.

Структурирование (или концептуализация) знаний — разработка неформального опи­сания знаний о предметной области в виде графа, таблицы, диаграммы или текста, ко­торое отражает основные концепции и взаимосвязи между понятиями предметной об­ласти.

Такое описание называется полем знаний. Средняя продолжительность этапа 2-4 недели. Подробно стадия структурирования описана в главе 3.

Формализация

Строится формализованное представление концепций предметной области на основе выбранного языка представления знаний (ЯПЗ). Традиционно на этом этапе используются:

• логические методы (исчисления предикатов 1-го порядка и др.);

• продукционные модели (с прямым и обратным выводом);

• семантические сети;

• фреймы;

• объектно-ориентированные языки, основанные на иерархии классов, объек­тов.

Формализация знаний — разработка базы знаний на языке представления знаний, ко­торый, с одной стороны, соответствует структуре поля знаний, а с другой — позволяет реализовать прототип системы на следующей стадии программной реализации.

Все чаще на этой стадии используется симбиоз языков представления знаний, например, в системе ОМЕГА [Справочник по ИИ, 1990] — фреймы + семанти­ческие сети + полный набор возможностей языка исчисления предикатов. Сред­няя продолжительность 1-2 месяца. Подробно см. в главах 3, 4.

Реализация

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

• программирование на традиционных языках типа Pascal, C++ и др.;

• программирование на специализированных языках, применяемых в задачах искусственного интеллекта: LISP [Хювянен, Сеппянен, 1991], FRL [Байдун, Бунин, 1990], SMALLTALK [Справочник по ИИ, 1990] и др.;

• использование инструментальных средств разработки ЭС типа СПЭИС [Ков­ригин, Перфильев, 1988], ПИЭС [Хорошевский, 1993], G2 [Попов, Фоминых, Кисель,1996];


• использование «пустых» ЭС или «оболочек» типа ЭКСПЕРТ [Кирсанов, По­пов, 1990], ФИАКР [Соловьев, Соловьева, 1989] и др.

Реализация — разработка программного комплекса, демонстрирующего жизнеспособ­ность подхода в целом. Чаще всего первый прототип отбрасывается на этапе реализации действующей ЭС.

Средняя продолжительность 1-2 месяца. Более подробноэти вопросы рассмат­риваются в главе 6.

Тестирование

Оценивается и проверяется работа программ прототипа с целью приведения в соответствие с реальными запросами пользователей. Прототип проверяется на:

• удобство и адекватность интерфейсов ввода/вывода (характер вопросов в ди­алоге, связность выводимого текста результата и др.);

• эффективность стратегии управления (порядок перебора, использование не­четкого вывода и др.);

• качество проверочных примеров;

• корректность базы знаний (полнота и непротиворечивость правил).

Тестирование — выявление ошибок в подходе и реализации прототипа и выработка реко­мендаций по доводке системы до-промышленного варианта.

Средняя продолжительность 1-2 недели.

2.4.4. Развитие прототипа до промышленной ЭС

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

Если первоначально выбранные объекты или свойства оказываются неподходя­щими, их необходимо изменить. Можно сделать оценку общего числа эвристи­ческих правил, необходимых для создания окончательного варианта экспертной системы. Иногда [Хювянен, Сеппянен, 1991] при разработке промышленной и/ или коммерческой системы выделяют дополнительные этапы для перехода (табл. 2.1).

демонстрационный прототип —> действующий прототип —> промышленная система —> коммерческая система

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

Понятие же коммерческой системы в нашей стране входит в понятие «промыш­ленный программный продукт», или «промышленная ЭС» (в этой работе).


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

Таблица 2.1. Переход от прототипа к промышленной экспертной системе

Система Описание


 


Демонстрационный прототип ЭС

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

 


 


Исследовательский прототип ЭС

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

 


 


Действующий прототип ЭС

Система надежно решает все задачи на реальных примерах, но для сложной задачи требует много времени и памяти

 


 


Промышленная система

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

 


 


Коммерческая система

Промышленная система, пригодная к продаже, то есть хорошо документирована и снабжена сервисом

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

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

2.4.5. Оценка системы

После завершения этапа разработки промышленной экспертной системы необ­ходимо провести ее тестирование в отношении критериев эффективности. К те­стированию широко привлекаются другие эксперты с целью апробирования ра­


ботоспособности системы на различных примерах. Экспертные системы оцени­ваются главным образом для того. чтобы проверить точность работы программы и ее полезность. Оценку можно проводить, исходя из различных критериев, ко­торые сгруппируем следующим образом:

• критерии пользователей (понятность и «прозрачность» работы системы, удоб­ство интерфейсов и др.);

• критерии приглашенных экспертов (оценка советов-решений, предлагаемых системой, сравнение ее с собственными решениями, оценка подсистемы объяс­нений и др.);

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

2.4.6. Стыковка системы

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

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

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

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

Пример 2.1

Успешно состыкована со своим окружением система PUFF — экспертная система для

диагностики заболеваний легких [Хейес-Рот и др., 1987]. После того как PUFF была


закончена и все были удовлетворены ее работой, систему перекодировали с LISP на Бейсик. Затем систему перенесли на ПЭВМ, которая уже работала в больнице. В свою очередь, эта ПЭВМ была связана с измерительными приборами. Данные с измеритель­ных приборов сразу поступают в ПЭВМ. PUFF обрабатывает эти данные и печатает рекомендации для врача. Врач в принципе не взаимодействует с PUFF. Система пол­ностью интегрирована со своим окружением — она представляет собой интеллектуаль­ное расширение аппарата исследования легких, который врачи давно используют.

Пример 2.2

Другой системой, которая хорошо функционирует в своем окружении, является САТ-1 [Уотермен, 1990] — экспертная система для диагностики неисправностей дизелей ло­комотивов.

Эта система была разработана также на LISP, а затем была переведена на FORTH с тем, чтобы ее можно было более эффективно использовать в различных локомотивных це­хах. Мастер по ремонту запрашивает систему о возможных причинах неисправности дизеля. Система связана с видеодиском, с помощью которого мастеру показывают ви­зуальные объяснения и подсказки, касающиеся более подробных проверок, которые он должен сделать.

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

2.4.7. Поддержка системы

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

Пример 2.3

Удачным примером ЭС, внедренной таким образом, является XCON (R1) — ЭС, кото­рую фирма DEC использует для комплектации ЭВМ семейства VAX. Одной из клю­чевых проблем, с которой столкнулась фирма DEC, является необходимость постоян­ного внесения изменений для новых версий оборудования, новых спецификаций и т. д. Для этой цели XCON поддерживается в программной среде OPS5.