Начнем с канонического
определения, которое приводят в своей широко известной книге
"Программирование экспертных систем" Б. Сойер и Д. Фостер (в переводе
на русский язык она вышла в 1998 г. в Москве в издательстве "Финансы и
статистика", и настоятельно рекомендуется тем читателям, которые не боятся
математики и сухого научного стиля изложения).
Итак, современные
экспертные системы (ЭС) - особые компьютерные программы, моделирующие действия
эксперта-человека при решении задач в какой-либо предметной области на основе
накопленных знаний, составляющих БАЗУ ЗНАНИЙ (БЗ).
Идея смоделировать
действия человека не нова, и трудно найти такую область деятельности, в которой
ее не пытались бы реализовать (кран - "длинная железная рука" и пр.).
Первая промышленная революция XVIII в. во многом основывалась на подобных
механизмах (прядильные, чесальные машины и т.п.). Но то были попытки
моделирования физической деятельности.
Прошло еще полтора века,
прежде чем стала актуальной задача моделирования умственной деятельности. В
научных работах этого направления выделяются исследования советских психологов,
направленные на описание механизма принятия решения человеком (O.K. Тихомиров и
др.), а также труды нашего выдающегося шахматиста и математика М.М. Ботвинника
по моделированию игры шахматиста. Собственно шахматы долгое время оставались
основным полигоном для отработки тех алгоритмов, которые легли в основу
экспертных систем.
Однако только с
появлением ЭВМ стало возможным воплотить теоретические наработки в жизнь.
Первые экспертные системы (т.н. ЭС первого поколения) представляли собой
фактически усложненные электронные справочники, где принятие решения
осуществлялось с помощью перебора вариантов. Они отлично справлялись с
поисковыми задачами (например, с нахождением требуемых телефонных номеров или
формул), но имели мало общего с интеллектуальной деятельностью. Строго говоря,
"База Знаний" подобных систем была фактически базой данных; эти
системы отличались от традиционных программ главным образом возможностью для
специалиста-пользователя составлять и задействовать для последующих поисков
различного рода сложные выборки. (Естественно, были и иные различия, но их
рассмотрение выходит за рамки журнальной статьи. Поэтому при описании ЭС всех
поколений ограничимся тем, что, на наш взгляд, особенно важно для читателя -
руководителя, менеджера по персоналу, кадровика, психолога и т.п.)
Может показаться
странным, что такие примитивные системы именовались экспертными, однако это
лишь показывает темпы технического прогресса, и с позиций завтрашнего дня
сегодняшние революционные разработки, возможно, также будут нескладными.
Но вернемся к рассматриваемым системам. Довольно быстро разработчики ЭС первого
поколения поняли, что путь тупого перебора вариантов - длинный и
непродуктивный. Человек никогда не перебирает все варианты, он отсекает
заведомо нереальные. Так возникли ЭС второго поколения, имеющие встроенные
алгоритмы для скорейшего нахождения требуемого варианта, т.е. имеющие пусть
примитивную, но все же "Базу Знаний". Говоря современным языком, их
БЗ включала Базу данных и алгоритмы по работе с этими данными, заложенные
экспертами-разработчиками.
Описываемые системы,
хотя и были на голову выше обычных программ, имели существенный недостаток - с
ними могли работать только программисты. Пока работа выполнялась на ЭВМ
размером с трехэтажный дом, это не был такой уж большой недостаток -
обслуживать подобных монстров все равно могли только специально обученные люди.
Но с появлением персональных компьютеров встал вопрос о разработке т.н.
дружественных интерфейсов не для компьютерщиков, а для врачей, инженеров и т.д.
Это представляло весьма непростую задачу, так как экспертные системы того времени
были очень сложными в управлении.
Однако, поскольку в этом
были заинтересованы и военные, и фирмы, производящие компьютеры, и многие
гражданские организации, достаточно быстро был создан т.н. "Дружественный
Интерфейс Пользователя с защитой от дурака" (ДИП), позволяющий тому
специалисту, который работает с данной экспертной системой (например,
экономисту, врачу и др.) вводить в ЭС требуемую дополнительную информацию
(новые данные и др.), без помощи программиста. Для своего времени это был огромный
успех - экспертные системы сразу "пошли в народ", и круг их
пользователей многократно расширился. Эти системы принято называть ЭС 3-го
поколения.
Читатели должны
понимать, что с позиций сегодняшнего дня все вышеописанные системы не являлись
экспертными. Поэтому ряд авторов, рассматривая экспертные системы, описывают
лишь современные разработки. Но поскольку на рынке кадровых программ еще
встречаются примитивные программные продукты, гордо именуемые ЭС (и стоящие
соответственно), а в действительности давно этому классу не соответствующие (не
говоря уже о явных подделках), редакция сочла, что информация о пути
становления ЭС будет для читателей полезной. Следует всегда помнить, что
программа с "элементами экспертной системы" (цитирую горе-изготовителя)
никакого выигрыша в качестве и скорости не дает. Нельзя быть отчасти беременной
- современное программное обеспечение либо является экспертной системой, либо
не является - все промежуточные варианты не более чем попытка сыграть на
"богатом" названии.
За краткостью журнальной
статьи опустим описание обстоятельств возникновения ЭС 4-го поколения. Заметим
лишь, что их создание стало возможным благодаря стремительному прогрессу в
разработке компьютеров (и, в частности, повышение их быстродействия), а также
совершенствованию математического аппарата. В итоге создателям ЭС по обе
стороны океана (в США, Европе и России) удалось изготовить принципиально иные
ЭС - они не только выполняли сложные расчеты и поиски, а, извлекая данные из
памяти, выдавали рекомендации и ПРИНИМАЛИ РЕШЕНИЯ. Т.е. ПОЧТИ являлись
экспертными системами в современном смысле этого слова (важность этого
"почти" применительно к кадровой работе Вы увидите ниже).
В наши дни системы
такого типа имеют огромные базы знаний и очень популярны во многих сферах деятельности,
несмотря на свою высокую стоимость, поскольку строят собственное дерево
заключений для достижения каждого нового решения (обычные компьютерные
программы при решении задачи используют одну и ту же последовательность
операций, т.е. они жестко детерминированы).
Естественно, подобные
системы попытались использовать и при отборе и расстановке кадров. И - получили
весьма посредственные результаты. Современные потомки подобных систем
встречаются сегодня и в России - как правило, их базы знаний содержат от
нескольких тысяч до нескольких десятков тысяч неких констант, именуемых
производителями "переменными", "постоянными",
"правилами" и т.п. Но сути это не меняет - подобные системы не могут
обеспечить высокую точность результатов в кадровой работе по одной простой
причине - они ЛИНЕЙНЫ по своей природе, т.е. имеют свод жестких правил и на его
основе принимают всегда ЛОГИЧНЫЕ решения. И как бы ни старались авторы подобных
программ, увеличивая число правил в Базе Данных или привлекая профессиональных
психологов к составлению этих правил, как говорят англичане "из свиного
уха не сделаешь бисерного кошелька".
Не сделаешь в данном
случае потому, что человек является объектом а) активным и б) нелинейным. На
этом принципиальном вопросе остановимся подробнее. Давайте сравним два объекта
экспертных систем - человека и, скажем, крылатую ракету.
Итак, крылатая ракета.
Для управления ее движением используются экспертные системы 4-го поколения. Что
такое полет такой ракеты? Это необходимость для экспертной системы одновременно
и с высокой скоростью учитывать множество факторов (рельеф местности, силу
ветра, действия противника и т.д. и т.п.) и принимать решения по управлению
ракетой. Для таких задач экспертная система 4-го поколения подходит как нельзя,
лучше, поскольку ракета а) пассивна и б) линейна. Пассивна - т.е. не изменяет
сама условий расчета, линейна - т.е. она всегда реагирует на одни и те же
изменения одинаково.
Однако человек -
совершенно иной объект. Он активен, т.е. действует самостоятельно, постоянно меняя
тем самым условия расчета; он нелинеен, т.е. может реагировать на одни и те же
изменения совершенно по-разному. Т.е. человек не руководствуется законами
формально-логическими, используемыми при построении математических моделей.
Говоря словами М. Ботвинника, человек с точки зрения математики АЛОГИЧЕН и
поэтому НЕФОРМАЛИЗУЕМ. Линейная система лишена нелогичности по определению и
поэтому траекторию крылатой ракеты просчитывает отлично, а деятельность
человека - нет.
Подлинный прорыв (а
фактически - появление тех самых экспертных систем, которые и работают с
кадрами сегодня), произошел во второй половине 90-х годов, когда резко
увеличился объем памяти, сохраняемой на диске компьютера, и упала ее цена. Это
дало возможность сначала в США (фирма "American Research"), а спустя
некоторое время в России, (НПО "ЭТАЛОН", а для гражданских нужд -
Центр "Хобби") разработать экспертные системы 5-го поколения -
ПРЕЦЕДЕНТНЫЕ ЭКСПЕРТНЫЕ СИСТЕМЫ. Такие системы в корне отличаются от своих
предшественниц тем, что их Базу знаний образуют не только логические правила, а
и т.н. "БАЗА ПРЕЦЕДЕНТОВ" - результаты обследования реальных людей и
информация о последующей успешности / неуспешности их деятельности.
Иными словами,
прецедентные экспертные системы кроме "Базы знаний" имеют еще и
"Базу прецедентов" (БП). В первых прецедентных системах приходилось
создавать несколько "Баз прецедентов" для смежных областей, затем
российским разработчикам удалось соединить прецеденты различных областей в
одной БП и учитывать корреляцию между ними при принятии решений ЭС - это
позволило таким системам работать в реальном времени.
Помимо этого, лучшие
экспертные системы 5-го поколения могут сами выделять наиболее характерные для
группы работников качества, степень их выраженности и т.п. и создавать
нелинейные модели должностей (т.н. "многомерные многофакторные
профили").
Не описывая сложнейший
математический аппарат подобных систем, отмечу, что в итоге для пользователя
они получились намного более простыми, чем предыдущие. Применение прецедентов позволило
уменьшить число диагностируемых параметров, а использование факторного анализа
в сочетании с возможностями последних поколений процессоров Pentium -
автоматизировать практически все функции системы. Ручной режим в таких системах
сохранен только для специалистов - HR-менеджеров, психологов и т.п.
При всех своих
достоинствах, прецедентные экспертные системы трудны в изготовлении и
эффективно работают, имея базу прецедентов (т.е. результаты обследований) в
несколько сот тысяч человек. Для примера, база прецедентов экспертной системы
Нью-Йоркской полиции - 786 000 чел., НПО "ЭТАЛОН" - 542 000 чел.,
причем, по словам специалистов этого НПО, ЭС заработала с ожидаемой точностью,
только когда база перевалила за 200 000 чел. Подобные системы в мире изготавливает
менее двух десятков фирм, на их создание уходит не меньше 5-6 лет.
Однако, как говорится, игра стоит свеч - судя по публикациям и личным встречам
экспертов, руководители предприятий, HR-менеджеры и кадровики, опробовавшие
прецедентные экспертные системы, едины во мнении - эти ЭС в состоянии решать
такие задачи, которые в принципе невозможно решить с помощью иных программ,
например, компьютерная прогностика состояния персонала в реальном времени,
определение тенденций в развитии организации и пр.
Такие системы приходят к
своим решениям во многом на основе человеческих наблюдений и фактически, наряду
с математическими алгоритмами, используют человеческую логику для принятия
решений. И в этом их огромное и принципиальное преимущество.
При этом простота в обращении, высокая пропускная способность и многогранность
результатов позволяют использовать прецедентные экспертные системы практически
во всех сферах работы с персоналом.
Следует отметить, что
принцип "прецедентов" оказался эффективным не только в кадровых
экспертных системах, но и в других областях - в частности, бортовой компьютер
американского самолета-невидимки "Стелс" содержит прецедентную
экспертную систему на случай нештатных ситуаций, а профессиональные модели
фотоаппаратов "Nikon" - прецедентную экспертную систему с 30 тыс.
реальных съемочных ситуаций [8].
Чтобы проводить экспертизу, компьютерная программа должна
быть способна решать задачи посредством логического вывода и получать при этом
достаточно надежные результаты. Программа должна иметь доступ к системе фактов,
называемой базой знаний.
Программа также должна во время консультации выводить заключения из информации,
имеющейся в базе знаний. Некоторые экспертные системы могут также использовать
новую информацию, добавляемую во время консультации. Экспертную систему, таким
образом, можно представлять состоящей из трех частей:
1. База знаний (БЗ).
2. Механизм вывода (МВ).
3. Система пользовательского интерфейса (СПИ).
База знаний
- центральная часть экспертной системы. Она содержит правила, описывающие
отношения или явления, методы и знания для решения задач из области применения
системы. Можно представлять базу знаний состоящей из фактических знаний и
знаний, которые используются для вывода других знаний. Утверждение "Джон
Ф. Кеннеди был 35-м президентом Соединенных Штатов" - пример фактического
знания. "Если у вас болит голова, то примите две таблетки цитрамона"
- пример знания для вывода. Сама база знаний обычно располагается на диске или
другом носителе.
Механизм вывода содержит принципы и правила работы. Механизм вывода
"знает", как использовать базу знаний так, чтобы можно было получать
разумно согласующиеся заключения (выводы) из информации, находящейся в ней.
Когда экспертной системе задается вопрос, механизм вывода выбирает способ
применения правил базы знаний для решения задачи, поставленной в вопросе.
Фактически, механизм вывода запускает экспертную систему в работу, определяя
какие правила нужно вызвать и организуя к ним доступ в базу знаний. Механизм
вывода выполняет правила, определяет, когда найдено приемлемое решение и
передает результаты программе интерфейса с пользователем.
Когда
вопрос должен быть предварительно обработан, то доступ к базе знаний осуществляется
через интерфейс с пользователем. Интерфейс - это часть экспертной системы,
которая взаимодействует с пользователем.
Система интерфейса с пользователем принимает информацию от пользователя и
передает ему информацию. Просто говоря, система интерфейса должна убедиться,
что, после того как пользователь описал задачу, вся необходимая информация
получена. Интерфейс, основываясь на виде и природе информации, введенной
пользователем, передает необходимую информацию механизму вывода. Когда
механизм вывода возвращает знания, выведенные из базы знаний, интерфейс
передает их обратно пользователю в удобной форме. Интерфейс с пользователем и
механизм вывода могут рассматриваться как "приложение" к базе знаний.
Они вместе составляют оболочку экспертной системы. Для базы знаний, которая
содержит обширную и разнообразную информацию, могут быть разработаны и
реализованы несколько разных оболочек.
Хорошо разработанные оболочки экспертных систем обычно содержат механизм для
добавления и обновления информации в базе знаний.
Как видим, экспертная система состоит из трех основных частей. Взаимосвязь
между частями может быть сложной, зависящей от природы и организации знаний, а
также от методов и целей вывода. Следующие разделы описывают эти аспекты
экспертных систем. Сначала описывается представление знаний вместе с некоторыми
простыми примерами. Это описание применимо как к системам, основанным на
правилах, так и к системам, базирующимся на логике. Затем рассматриваются
методы вывода. Далее следует описание систем интерфейса с пользователем вместе
с примерами обработки ввода и вывода. Затем предполагается, что читатель готов
к рассмотрению двух конкретных методик проектирования экспертных систем:
систем, базирующихся на правилах, и систем, базирующихся на логике [9].
Задумайтесь над таким вопросом: "При выполнении каких
условий компьютерную программу можно назвать экспертом?"
Вполне логично потребовать, чтобы такая программа обладала знаниями. Просто способность выполнять некоторый алгоритм, например, производить анализ списка элементов на наличие какого-либо свойства, явно не отвечает этому требованию. Это все равно, что дать первому случайному прохожему список вопросов и ответов и ожидать от него успешного выполнения поиска и устранения неисправностей в системах определенного типа. Раньше или позже, но он обязательно столкнется с ситуацией, не предусмотренной в том списке, которым его снабдили.
Знания, которыми обладает программа, должны быть сконцентрированы на определенную предметную область. Случайный набор имен, дат и мест событий, сентенций из классиков и т.п. - это отнюдь не те знания, которые могут послужить основой для программы, претендующей на способность выполнить экспертный анализ. Знания предполагают определенную организацию и интеграцию - то есть отдельные сведения должны соотноситься друг с другом и образовывать нечто вроде цепочки, в которой одно звено "тащит" за собой следующее.
И, наконец, из этих знаний должно непосредственно вытекать решение проблем. Просто продемонстрировать свои знания, касающиеся, например, технического обслуживания компьютеров, - это далеко не то же самое, что привести компьютер в "чувство". Точно так же, получить доступ к оперативной документации - это совсем не то же самое, что заполучить в свое распоряжение специалиста (или программу), способного справиться с возникшими проблемами.
Теперь попробуем подытожить эти рассуждения в следующем формальном определении экспертной системы.
Экспертная система - это программа для компьютера, которая оперирует со знаниями в определенной предметной области с целью выработки рекомендаций или решения проблем.
Экспертная система может полностью взять на себя функции, выполнение которых обычно требует привлечения опыта человека-специалиста, или играть роль ассистента для человека, принимающего решение. Другими словами, система (техническая или социальная), требующая принятия решения, может получить его непосредственно от программы или через промежуточное звено - человека, который общается с программой. Тот, кто принимает решение, может быть экспертом со своими собственными правами, и в этом случае программа может "оправдать" свое существование, повышая эффективность его работы. Альтернативный вариант - человек, работающий в сотрудничестве с такой программой, может добиться с ее помощью результатов более высокого качества. Вообще говоря, правильное распределение функций между человеком и машиной является одним из ключевых условий высокой эффективности внедрения экспертных систем.
Технология экспертных систем является одним из направлений новой области исследования, которая получила наименование искусственного интеллекта (Artificial Intelligence - AI). Исследования в этой области сконцентрированы на разработке и внедрении компьютерных программ, способных эмулировать (имитировать, воспроизводить) те области деятельности человека, которые требуют мышления, определенного мастерства и накопленного опыта. К ним относятся задачи принятия решений, распознавания образов и понимания человеческого языка. Эта технология уже успешно применяется в некоторых областях техники и жизни общества - органической химии, поиске полезных ископаемых, медицинской диагностике. Перечень типовых задач, решаемых экспертными системами, включает:
извлечение информации из первичных данных (таких как сигналы, поступающие от гидролокатора);
диагностика неисправностей (как в технических системах, так и в человеческом организме);
структурный анализ сложных объектов (например, химических соединений);
выбор конфигурации сложных многокомпонентных систем (например, распределенных компьютерных систем);
планирование последовательности выполнения операций, приводящих к заданной цели (например, выполняемых промышленными роботами).
Хотя известны и "обычные" программы, специализирующиеся на определенных задачах из представленного перечня (или аналогичных им в смежных областях), в следующей главе мы покажем, в чем состоит существенная разница между "обычным" подходом и прелагаемым в сфере искусственного интеллекта и почему экспертные системы можно выделить в отдельный, достаточно хорошо различимый класс программ. Четкого формального определения экспертной системы, которое всех бы удовлетворило, не существует - приведенное выше тоже довольно расплывчато. Но, тем не менее, существует довольно много важных признаков, присущих в той или иной степени всем экспертным системам [10].
Экспертная система отличается от прочих прикладных программ наличием следующих признаков.
Моделирует не столько физическую (или иную) природу определенной проблемной области, сколько механизм мышления человека применительно к решению задач в этой проблемной области. Это существенно отличает экспертные системы от систем математического моделирования или компьютерной анимации. Нельзя, конечно, сказать, что программа полностью воспроизводит психологическую модель специалиста в этой предметной области (эксперта), но важно, что основное внимание все-таки уделяется воспроизведению компьютерными средствами методики решения проблем, которая применяется экспертом, -т.е. выполнению некоторой части задач так же (или даже лучше), как это делает эксперт.
Система, помимо выполнения вычислительных операций, формирует определенные соображения и выводы, основываясь на тех знаниях, которыми она располагает. Знания в системе представлены, как правило, на некотором специальном языке и хранятся отдельно от собственно программного кода, который и формирует выводы и соображения. Этот компонент программы принято называть базой знаний.
При решении задач основными являются эвристические и приближенные методы, которые, в отличие от алгоритмических, не всегда гарантируют успех. Эвристика, по существу, является правилом влияния (rule of thumb), которое в машинном виде представляет некоторое знание, приобретенное человеком по мере накопления практического опыта решения аналогичных проблем. Такие методы являются приблизительными в том смысле, что, во-первых, они не требуют исчерпывающей исходной информации, и, во-вторых, существует определенная степень уверенности (или неуверенности) в том, что предлагаемое решение является верным.
Экспертные системы отличаются и от других видов программ из области искусственного интеллекта.
Экспертные системы имеют дело с предметами реального мира, операции с которыми обычно требуют наличия значительного опыта, накопленного человеком. Множество программ из области искусственного интеллекта являются сугубо исследовательскими и основное внимание в них уделяется абстрактным математическим проблемам или упрощенным вариантам реальных проблем (иногда их называют "игрушечными" проблемами), а целью выполнения такой программы является "повышение уровня интуиции" или отработка методики. Экспертные системы имеют ярко выраженную практическую направленность в научной или коммерческой области.
Одной из основных характеристик экспертной системы является ее производительность, т.е. скорость получения результата и его достоверность (надежность). Исследовательские программы искусственного интеллекта могут и не быть очень быстрыми, можно примириться и с существованием в них отказов в отдельных ситуациях, поскольку, в конце концов, - это инструмент исследования, а не программный продукт. А вот экспертная система должна за приемлемое время найти решение, которое было бы не хуже, чем то, которое может предложить специалист в этой предметной области.
Экспертная система должна обладать способностью объяснить, почему предложено именно такое решение, и доказать его обоснованность. Пользователь должен получить всю информацию, необходимую ему для того, чтобы быть уверенным, что решение принято "не с потолка". В отличие от этого, исследовательские программы "общаются" только со своим создателем, который и так (скорее всего) знает, на чем основывается ее результат.
Экспертная система проектируется в расчете на взаимодействие с разными пользователями, для которых ее работа должна быть, по возможности, прозрачной.
Зачастую термин система, основанная на знаниях (knowledge-based system), используется в качестве синонима термина экспертная система, хотя, строго говоря, экспертная система - это более широкое понятие. Система, основанная на знаниях, - это любая система, процесс работы которой основан на применении правил отношений к символическому представлению знаний, а не на использовании алгоритмических или статистических методов. Таким образом, программа, способная рассуждать о погоде, будет системой, основанной на знаниях, даже в том случае, если она не способна выполнить метеорологическую экспертизу. А вот чтобы иметь право называться метеорологической экспертной системой, программа должна быть способна давать прогноз погоды (другой вопрос - насколько он будет достоверен).
Суммируя все сказанное, отметим - экспертная система содержит знания в определенной предметной области, накопленные в результате практической деятельности человека (или человечества), и использует их для решения проблем, специфичных для этой области. Этим экспертные системы отличаются от прочих, "традиционных" систем, в которых предпочтение отдается более общим и менее связанным с предметной областью теоретическим методам, чаще всего математическим. Процесс создания экспертной системы часто называют инженерией знаний (knowledge engineering) и он рассматривается в качестве "применения методов искусственного интеллекта" (см. [Feigenbaum, 1977]). Далее, в главах 2 и 3, мы более пристально рассмотрим отличие между общепринятым в программировании подходом к решению проблем и тем, который предлагается при проектировании экспертных систем.
В оставшейся части этой главы мы рассмотрим следующие вопросы. Сначала будут перечислены четыре базовые функции, которые реализуются в экспертных системах. Эти функции здесь будут рассмотрены очень поверхностно, с единственной целью дать читателю общее представление о них и познакомить с соответствующей терминологией. Последний раздел главы даст читателю представление об общей структуре материала в этой книге и о его распределении по главам [11].
Бучанан следующим образом сформулировал функцию приобретения знаний [Buchanan et al, 1983]:
"[Приобретение знаний это] передача потенциального опыта решения проблемы от некоторого источника знаний и преобразование его в вид, который позволяет использовать эти знания в программе".
Передача знаний выполняется в процессе достаточно длительных и пространных собеседований между специалистом по проектированию экспертной системы (будем в дальнейшем называть его инженером по знаниям) и экспертом в определенной предметной области, способным достаточно четко сформулировать имеющийся у него опыт. По существующим оценкам, таким методом можно сформировать от двух до пяти "элементов знания" (например, правил влияния) в день. Конечно, это очень низкая скорость, а потому многие исследователи рассматривают функцию приобретения знаний в качестве одного из главных "узких мест" технологии экспертных систем [Feigenbaum, 1977].
Причин такой низкой производительности предостаточно. Ниже перечислены только некоторые из них.
Специалисты в узкой области, как правило, пользуются собственным жаргоном, который трудно перевести на обычный "человеческий" язык. Но смысл жаргонного "словечка" отнюдь не очевиден, а потому требуется достаточно много дополнительных вопросов для уточнения его логического или математического значения. Например, специалисты по военной стратегии говорят об "агрессивной демонстрации" иностранной военной мощи, но при этом не могут объяснить, чем такая "агрессивная" демонстрация отличается от демонстрации, не несущей угрозы.
Факты и принципы, лежащие в основе многих специфических областей знания эксперта, не могут быть четко сформулированы в терминах математической теории или детерминированной модели, свойства которой хорошо понятны. Так, эксперту в финансовой области может быть известно, что определенные события могут стать причиной роста или снижения котировок на фондовой бирже, но он ничего вам не скажет точно о механизмах, которые приводят к такому эффекту, или о количественной оценке влияния этих факторов. Статистические модели могут помочь сделать общий долговременный прогноз, но, как правило, такие методы не работают в отношении курсов конкретных акций на коротких временных интервалах.
Для того чтобы решить проблему в определенной области, эксперту недостаточно просто обладать суммой знаний о фактах и принципах в этой области. Например, опытный специалист знает, какого рода информацией нужно располагать для формулировки того или иного суждения, насколько надежны различные источники информации и как можно расчленить сложную проблему на более простые, которые можно решать более или менее независимо. Выявить в процессе собеседования такого рода знания, основанные на личном опыте и плохо поддающиеся формализации, значительно сложнее, чем получить простой перечень каких-то фактов или общих принципов.
Экспертный анализ даже в очень узкой области, выполняемый человеком, очень часто нужно поместить в довольно обширный контекст, который включает и многие вещи, кажущиеся эксперту само собой разумеющимися, но для постороннего отнюдь таковыми не являющиеся. Возьмем для примера эксперта-юриста, который принимает участие в судебном процессе. Очень трудно очертить количество и природу знаний общего рода, которые оказываются вовлечены в расследование того или иного дела [12].
Представление знаний - еще одна функция экспертной системы. Теория представления знаний - это отдельная область исследований, тесно связанная с философией формализма и когнитивной психологией. Предмет исследования в этой области - методы ассоциативного хранения информации, подобные тем, которые существуют в мозгу человека. При этом основное внимание, естественно, уделяется логической, а не биологической стороне процесса, опуская подробности физических преобразований.
Основная часть представления знаний, на которую часто даже не обращают особого внимания, состоит в том, что представление должно каким-то образом "стандартизировать" семантическое разнообразие человеческого языка. Вот несколько предложений.
"Сэм - отец Билла". "Сэм - Биллов отец". "Биллов отец - Сэм".
"Отцом Билла является Сэм".
Все эти фразы выражают одну и ту же мысль (семантически идентичны). При машинном представлении этой мысли (знания) мы стараемся найти более простой метод сопоставления формы и содержания, чем в обычном человеческом языке, т.е. добиться того, чтобы выражения с одинаковым (или похожим) содержанием были одинаковыми и по форме. Например, все приведенные выше фразы могут быть сведены к выражению в такой форме:
отец (сэм, билл).
В семантике этого выражения должно быть специфицировано (наряду с прочими вещами) и то, что первое имя принадлежит родителю, а второе - потомку, а не наоборот.
Можно также заметить, что предложения
"Сэм - отец Джилла".
"Отцом Билла является Сэм".
имеют похожий смысл, но более очевидно ранжировать их в такой форме:
отец (сэм, билл). отец (сэм, джилл).
В 70-х годах исследования в области представления знаний развивались в направлениях раскрытия принципов работы памяти человека, создания теорий извлечения сведений из памяти, распознавания и восстановления. Некоторые из достигнутых в теории результатов привели к созданию компьютерных программ, которые моделировали различные способы связывания понятий (концептов). Появились компьютерные приложения, которые могли некоторым образом отыскивать нужные "элементы" знания на определенном этапе решения некоторой проблемы. Со временем психологическая достоверность этих теорий отошла на второй план, а основное место, по крайней мере, с точки зрения проблематики искусственного интеллекта, заняла их способность служить инструментом для работы с новыми информационными и управляющими структурами.
В общем, вопрос представления знания был и, скорее всего, останется вопросом противоречивым. Философы и психологи зачастую бывают шокированы бесцеремонностью специалистов по искусственному интеллекту, которые бойко болтают о человеческом знании на жаргоне, представляющем дикую смесь терминологии, взятой из логики, логистики, философии, психологии и информатики. С другой стороны, компьютерный формализм оказался новаторским средством постановки, а иногда и поиска ответов на трудные вопросы, над которыми столетиями бились метафизики.
В области
экспертных систем представление знаний интересует нас в основном как средство
отыскания методов формального описания больших массивов полезной информации с
целью их последующей обработки с помощью символических вычислений. Формальное
описание означает упорядочение в рамках какого-либо языка, обладающего
достаточно четко формализованным синтаксисом построения выражений и такого же
уровня семантикой, увязывающей смысл выражения с его формой.
Символические
вычисления означают выполнение нечисловых операций, в которых могут быть
сконструированы символы и символьные структуры для представления различных
концептов и отношений между ними.
В области искусственного интеллекта ведется интенсивная работа по созданию языков представления (representation languages). Под этим термином понимаются компьютерные языки, ориентированные на организацию описаний объектов и идей, в противовес статическим последовательностям инструкций или хранению простых элементов данных. Основными критериями доступа к представлению знаний являются логическая адекватность, эвристическая мощность и естественность, органичность нотации. Эти термины, скорее всего, нуждаются в пояснениях.
Логическая адекватность означает, что представление должно обладать способностью распознавать все отличия, которые вы закладываете в исходную сущность. Например, невозможно представить идею, что каждое лекарство имеет какой-либо побочный нежелательный эффект, если только нельзя будет провести отличие между предназначением конкретного лекарственного препарата и его побочным эффектом (например, аспирин усугубляет язвенную болезнь). В более общем виде выражение, передающее этот эффект, звучит так: "каждое лекарство обладает нежелательным побочным эффектом, специфическим для этого препарата".
Эвристическая мощность означает, что наряду с наличием выразительного языка представления должно существовать некоторое средство использования представлений, сконструированных и интерпретируемых таким образом, чтобы с их помощью можно было решить проблему. Часто оказывается, что язык, обладающий большей выразительной способностью в терминах количества семантических отличий, оказывается и больше сложным в управлении описанием взаимосвязей в процессе решения проблемы. Способность к выражению у многих из найденных формализмов может оказаться достаточно ограниченной по сравнению с английским языком или даже стандартной логикой. Часто уровень эвристической мощности рассматривается по результату, т.е. по тому, насколько легко оказывается извлечь нужное знание применительно к конкретной ситуации. Знать, какие знания более всего подходят для решения конкретной проблемы, - это одно из качеств, которое отличает действительно специалиста, эксперта в определенной области, от новичка или просто начитанного человека.
Естественность нотации следует рассматривать как некую добродетель системы, поскольку большинство приложений, построенных на базе экспертных систем, нуждается в накоплении большого объема знаний, а решить такую задачу довольно трудно, если соглашения в языке представления слишком сложны. Любой специалист скажет вам, что при прочих равных характеристиках лучше та система, с которой проще работать. Выражения, которыми формально описываются знания, должны быть по возможности простыми для написания, а их смысл должен быть понятен даже тому, кто не знает, как же компьютер интерпретирует эти выражения. Примером может служить декларативный программный код, который сам по себе дает достаточно четкое представление о процессе его выполнения даже тому, кто не имеет представления о деталях реализации компьютером отдельных инструкций.
За прошедшие годы было предложено немало соглашений, пригодных для кодирования знаний на языковом уровне. Среди них отметим порождающие правила (production rules) [Davis and King, 1977], структурированные объекты (structured objects) [Findler, 1979] и логические программы (logic programs) [Kowalski, 1979]. В большинстве экспертных систем используется один или несколько из перечисленных формализмов, а доводы в пользу и против любого из них до сих пор представляют собой тему для оживленных дискуссий среди теоретиков [13].
При проектировании экспертной системы серьезное внимание должно быть уделено и тому, как осуществляется доступ к знаниям и как они используются при поиске решения [Davis, 1980, а]. Знание о том, какие знания нужны в той или иной конкретной ситуации, и умение ими распорядиться - важная часть процесса функционирования экспертной системы. Такие знания получили наименование метазнаний - т.е. знаний о знаниях. Решение нетривиальных проблем требует и определенного уровня планирования и управления при выборе, какой вопрос нужно задать, какой тест выполнить, и т.д.
Использование разных стратегий перебора имеющихся знаний, как правило, оказывает довольно существенное влияние на характеристики эффективности программы. Эти стратегии определяют, каким способом программа отыскивает решение проблемы в некотором пространстве альтернатив. Как правило, не бывает так, чтобы данные, которыми располагает программа работы с базой знаний, позволяли точно "выйти" на ту область в этом пространстве, где имеет смысл искать ответ.
Большинство формализмов представления знаний может быть использовано в разных режимах управления, и разработчики экспертных систем продолжают экспериментировать в этой области. В последующих главах будут описаны системы, которые специально подобраны таким образом, чтобы проиллюстрировать отличия в существующих подходах к решению проблемы управления. В каждой из представленных систем есть что-нибудь полезное для студентов, специализирующихся в области разработки и исследования экспертных систем.
Представьте себе, что ваш автомобиль с трудом заводится, а в пути явно чувствуется снижение мощности. Сами по себе эти симптомы недостаточны для того, чтобы принять решение, где же искать источник неисправности - в топливной или электросистеме автомобиля. Познания в устройстве автомобиля подсказывают - нужно еще поэкспериментировать, прежде чем звать на помощь механика. Возможно, плоха топливная смесь, поэтому присмотритесь к выхлопу и нагару на свечах. Возможно, сбоит распределитель - посмотрите, не повреждена ли его крышка. Эти довольно специфические эвристики не гарантируют, что отыщется действительная причина, но вдруг вам улыбнется фортуна, и вы найдете неисправность без утомительной процедуры последовательной проверки всех систем.
Скорее всего, ваших знаний достаточно для того, чтобы выполнить общую проверку, прежде чем заниматься доскональным изучением отдельных узлов. Например, посмотреть, достаточно ли мощная искра в свече (если это так, то подозрения с электросистемы можно снять), прежде чем проверять аккумулятор. При отсутствии специальных эвристик, чем более методично вы будете действовать, тем больше шансов быстро найти причину неисправности. Общее эвристическое правило гласит:
"Сначала проверь весь узел, а уже потом приступай к проверке его компонентов".
Это правило можно считать частью режима управления - систематической стратегии применения имеющихся знаний. Другое эвристическое правило можно сформулировать, например, так:
"Сначала меняй более дешевые детали, а уже потом берись за более дорогие".
В некоторых случаях эти две эвристики могут противоречить друг другу, так что нужно заранее выбрать, какая из них имеет приоритет в случае, если обе включены в один и тот же режим управления [14].
Вопрос о том, как помочь пользователю понять структуру и функции некоторого сложного компонента программы, связан со сравнительно новой областью взаимодействия человека и машины, которая появилась на пересечении таких областей, как искусственный интеллект, промышленная технология, физиология и эргономика. На сегодня вклад в эту область исследователей, занимающихся экспертными системами, состоит в разработке методов представления информации о поведении программы в процессе формирования цепочки логических заключений при поиске решения.
Представление информации о поведении экспертной системы важно по многим причинам.
Пользователи, работающие с системой, нуждаются в подтверждении того, что в каждом конкретном случае заключение, к которому пришла программа, в основном корректно.
Инженеры, имеющие дело с формированием базы знаний, должны убедиться, что сформулированные ими знания применены правильно, в том числе и в случае, когда существует прототип.
Экспертам в предметной области желательно проследить ход рассуждений и способ использования тех сведений, которые с их слов были введены в базу знаний. Это позволит судить, насколько корректно они применяются в данной ситуации.
Программистам, которые сопровождают, отлаживают и модернизируют систему, нужно иметь в своем распоряжении инструмент, позволяющий заглянуть в "ее нутро" на уровне более высоком, чем вызов отдельных языковых процедур.
Менеджер системы, использующей экспертную технологию, который, в конце концов, несет ответственность за последствия решения, принятого программой, также нуждается в подтверждении, что эти решения достаточно обоснованы.
Способность системы объяснить методику принятия решения иногда называют прозрачностью системы. Под этим понимается, насколько просто персоналу выяснить, что делает программа и почему. Эту характеристику системы следует рассматривать в совокупности с режимом управления, о котором шла речь в предыдущем разделе, поскольку последовательность этапов принятия решения тесно связана с заданной стратегией поведения.
Отсутствие достаточной прозрачности поведения системы не позволит эксперту повлиять на ее производительность или дать совет, как можно ее повысить. Прослеживание и оценка поведения системы - задача довольно сложная и для ее решения необходимы совместные усилия эксперта и специалиста по информатике.
В одной известной загадке человек смотрит на портрет и говорит:
"У меня нет братьев и сестер, но отец этого человека - это сын моего отца".
Спрашивается: 'Кто изображен на портрете?" Во-первых, потратьте пару минут и решите эту загадку. Во-вторых, представьте себе, как вы будете объяснять ход решения кому-нибудь постороннему, но при этом нельзя пользоваться никакими вспомогательными средствами вроде карандаша и бумаги. Для многих эта загадка представляется головоломной, причем немало и таких, которые не могут проследить за ходом уже описанного решения (Smullyan, 1978].
Ответ прост: отец смотрит на портрет сына (человек, который смотрит на портрет, - отец человека, изображенного на портрете). Как мы пришли к такому заключению, станет ясно после того, как мы воспользуемся логическим представлением. Пусть Пит - человек на портрете, а Люк - человек, который смотрит на портрет.
"...это сын моего отца".
сын(отец(люк)), отец(пит).
"У меня нет братьев и сестер..."
for all X,
if сын(отец(люк), X) then Х=люк.
Здесь сын - это отношение между двумя людьми, а отец - функция, поскольку каждый имеет только одного отца. Из этого утверждения после подстановки совершенно очевидно следует
отец(пит) = люк. Таким образом, Люк смотрит на портрет своего сына.
Правильное логическое представление зачастую значительно упрощает решение задачи и делает его более понятным. Но сформировать такое представление - это в значительной мере искусство [15].
Потенциальный пользователь экспертной системы чаще всего задается вопросом: "А сможет ли она решить мои проблемы?" Ответ уклончивый: "Смотря какие". Существуют три фактора, от которых зависит окончательный ответ, - природа проблемы, наличие определенного опыта в той предметной области, к которой относится проблема, и возможность сопоставления результатов анализа проблемы и имеющегося опыта методом, доступным компьютерной программе. Потенциальному пользователю следует сначала задуматься над следующим: есть ли у него на примете эксперт, который:
Например, предсказание погоды - это не та задача, которую может решить кто-либо, даже умудренный большим опытом эксперт. Распознавание речи - это задача, которую решает практически каждый, но никто из нас (включая и профессиональных лингвистов) не может вразумительно объяснить, как это делается. А потому использовать для решения этой проблемы методы, основанные на анализе знаний, вряд ли удастся. Здесь большего следует ожидать от статистического моделирования. Даже имея на примете гениального эксперта, знающего, как решается задача, нельзя рассчитывать на успех, если этот эксперт не может или не желает подробно и вразумительно объяснить, как он это делает. Эксперт может быть не расположен к общению с посторонними или слишком занят, чтобы терять время на длительные собеседования с инженером, которому поручено проектирование базы знаний. Как правило, эксперт высокого класса не испытывает недостатка в предложениях работы в той области, с которой он хорошо знаком, а потому предпочитает выполнять ее, а не вести пространные беседы о том, как он это делает. Есть еще и психологический фактор - многие эксперты весьма ревниво относятся к своему уникальному опыту и не склонны его разглашать, поскольку считают (и нам нечего возразить им), что, передавая опыт автоматизированным системам, они рубят сук, на котором сидят.
Но даже если удастся выполнить оговоренные выше условия, в задаче могут существовать факторы, ограничивающие возможность "машинного" воспроизведения человеческого опыта. Например:
Очень важно отделить те знания, владение которыми характерно именно для эксперта в определенной области, от тех знаний, которые известны любому, выполняющему в этой области рутинную работу. Управление автомобилем при езде по забитым транспортом улицам требует не столько знаний эксперта, сколько умения мгновенно оценивать ситуацию и быстро на нее реагировать. Хотя современные роботы такой скоростью и таким умением не владеют, вряд ли кто-нибудь назовет такого водителя "экспертом" (по крайней мере, в моем родном Рочестере, шт. Нью-Йорк).
Нельзя упускать из виду и огромный объем знаний об окружающем мире, которым мы все располагаем: знаниями о предметах и их свойствах, людях и мотивации их действий, взаимосвязях в физическом мире и наиболее вероятном течении событий в тех или иных условиях - список можно продолжать до бесконечности. Эту совокупность знаний мы не включаем в знания, отличающие эксперта, но до сих пор еще совсем не ясно, насколько они важны компьютеру для решения узкоспециальной проблемы. Таким образом, любая задача, которую не удается "инкапсулировать" в ограниченный перечень фактов и правил, на сегодняшний день не под силу экспертным системам.
С другой стороны, проблемы, которые могут быть решены перечислением ассоциативных связей между обозримыми совокупностями данных и классами событий, прекрасно подходят для экспертных систем. Например, проблемы, связанные с функционированием промышленных систем (тепловые, вентиляционные или кондиционирования)- диагностика, мониторинг состояния и т.д.,- могут решаться системами, основанными на анализе формальных правил, связывающих энергопотребление здания с параметрами окружающей среды. Уже на нынешнем этапе с помощью экспертных систем решаются задачи эскизного конструирования многокомпонентных объектов из заданного набора примитивов [16].
Определим знания как систему понятий и отношений между ними. Задача, подлежащая решению с помощью экспертной системы, формулируется в терминах принятых в этой системе. Будем различать в конкретной предметной области следующие типы знаний: понятийные, конструктивные, процедурные, фактографические и метазнания.
· Понятийные - набор понятий, которыми пользуются при решении данной задачи. Этот тип знаний вырабатываются в фундаментальных науках и теоретических разделах прикладных наук.
· Конструктивные - это знания о наборах возможных структур объектов и взаимодействии между их частями. Получение этого типа знаний характерно для техники и большей части прикладных наук.
· Процедурные знания - используемые в выбранной предметной области методы, алгоритмы и программы, полезные для данного конкретного приложения, которые можно использовать, передавать и объединять в библиотеки.
· Фактографические - количественные и качественные характеристики объектов и явлений.
· Метазнания - знания о порядке и правилах применения знаний.
Можно определить модель предметной области как:
(модель предметной области)=(понятийные знания)+(конструктивные знания),
а базу знаний:
(база знаний)=(модель предметной области)+(процедурные знания)+(метазнания)+(фактографические знания).
Существуют различные формы представления знаний. При практической разработке экспертных систем в настоящее время чаще всего используются эвристические модели - набор средств, (в принципе, любых) передающих свойства и особенности предметной области. Примером эвристической модели могут служить сетевые, фреймовые и продукционные модели.
В большинстве экспертных систем в базе знаний хранятся используемые в данный момент правила и сведения о проблемной области.
Подход, основанный на продукционных правилах, чрезвычайно распространен в экспертных системах. Как правило, они имеют форму ЕСЛИ ... ТОГДА ....ИНАЧЕ.... .
Например,
ЕСЛИ тип_эвм = микро И класс_эвм = средний
ТОГДА эвм = IBM_PC/XT CNF 65
ИНАЧЕ эвм = ДВК-3 CNF 20 .
В приведенном правиле заложено знание о том, что если выбираемый тип ЭВМ микро, а класс ее средний, то с уверенностью 65% желательно приобретение компьютера IBM PC/XT . В противном случае с уверенностью 20% допустим выбор ДВК-3. Набор правил подобной структуры - наиболее распространенное представление знаний в базе продукционного типа.
В основе представления знаний с помощью семантических сетей лежит формализация в виде графа с помеченными вершинами и дугами.
Вершины представляют собой некоторые сущности (объекты, события, процессы, явления и др.), а дуги - отношения между ними. Рассмотрим простейшую семантическую сеть, выражающую знания: произведена классификация ЭВМ по типам - в зависимости от производительности (микро, мини, мега) и по классам - по их стоимости (низкая, средняя, высокая, большая). Дуги данной сети обозначают соответствие.
В некоторых типах экспертных систем применяется представление знаний в виде фреймов. Это специфические объекты, соответствующие понятиям предметной области, имеющие внутреннюю структуру в виде слотов. Слотами могут быть данные, правила, другие фреймы. Фреймы - более сложный способ представления знаний, используемый в наиболее мощных экспертных системах.
Обычно считается, что прагматические требования к экспертной системе сводятся к тому, что она должна быть предназначена для удобной, квалифицированной поддержки информационной деятельности человека в определенной предметной области. Подразумевается наличие развитого диалога, обеспечивающего понимание входных сообщений, выполнение нужных процедур и выдача разумных сообщений в удобной форме. Считают, что сообщения разумны, если они заслуживают доверия и "прозрачны".
Как правило, в ее состав входят:
· Интерфейс, обеспечивающий общение пользователя с экспертной системой в удобной для него форме, он позволяет передавать ей информацию, составляющую содержание базы данных, обратиться к системе с вопросом или за объяснением.
· Рабочая память, хранящая данные (база данных), соответствующие объектам, связь между которыми задается правилами в базе знаний.
· Диспетчер, определяющий порядок функционирования экспертной системы, планирующий порядок постановки и достижения целей.
· Машина вывода - формально-логическая система, реализованная в виде программного модуля, позволяющая логически выводить необходимую для пользователя информацию, исходя из сведений, размещенных в базе знаний.
· База знаний - совокупность всех имеющихся сведений о проблемной области, для которой предназначена данная экспертная система, записанных с помощью определенных формальных структур представления знаний (набора правил, фреймов, семантических сетей и пр.)
Важной компонентой экспертной системы является блок объяснений, дающий возможность пользователю убедиться в обоснованности информации, получаемой им от экспертной системы, позволяющий задавать ей вопросы, и на основании разумных ответов проникаться к ней доверием.
Два подхода получили наибольшее распространение при создании машин логического вывода экспертных систем.
Системы с прямым логическим выводом, в которых производится многократное применение всех правил базы знаний к доступным данным, с возможностью запроса недостающих. Процесс преобразования данных под воздействием машины логического вывода происходит до тех пор, пока возможно изменение их значений.
Системы с прямым логическим выводом более просты в построении, результатом работы у них обычно является целый пакет данных, но их эффективность не всегда соответствует требованиям практических задач.
В системах обратного вывода намечается перечень конечных целей - переменных, значения которых необходимо получить. Далее производится поиск правил, определяющих эти цели. Вычисляются значения всех переменных, входящих в условия правила. Если переменные определяются другими правилами, происходит переход к выяснению истинности их условий, в противном случае значения переменных запрашиваются у пользователя. Процесс экспертизы заканчивается после того, как будут найдены все поставленные цели консультации. Это означает, что должна быть выяснена истинность всех переменных, входящих в задействованные правила. Упрощенный алгоритм функционирования экспертных систем обратного вывода можно представить в следующем виде.
Задается набор целей - переменных, значение которых требуется определить с помощью экспертной системы. Список этих переменных через интерфейс вводится в рабочую память.
В базе знаний машина логического вывода выделяет список правил, из которых можно найти неизвестные переменные в рабочей памяти.
Из условий выделенных правил, определяются остальные переменные, необходимые для применения правил.
По достижению всех первоначально поставленных целей диспетчер прекращает работу машины логического вывода и через интерфейс выводит пользователю значения этих переменных. Логический вывод прекращается также, если нельзя достичь поставленных целей.
В большинстве реально работающих экспертных систем, как правило, используются различные модификации и комбинации рассмотренных выше алгоритмов.
Проектирование экспертных систем имеет определенные отличия от создания традиционного программного продукта. Суть этого отличия в том, что разработчики не пытаются сразу построить конечный продукт, а создают прототип экспертной системы.
Прототип должен удовлетворять основным требованиям к системе при минимальной трудоемкости при его создании. Для удовлетворения этим требованиям используются разнообразные инструментальные средства (специализированные языки искусственного интеллекта, оболочки экспертных систем и др.) ускоряющие процесс разработки. Возможно, что может потребоваться создание не одного, нескольких прототипов, базирующихся на различных способах представления знаний, с последующим выбором наиболее удачного. B том случае, когда достигнута удовлетворительная работа прототипа по всему комплексу задач, возможно принятие решения об окончательном перепрограммировании всей системы на языках низкого уровня, с целью улучшения ее характеристик - увеличения быстродействия, уменьшения занимаемой памяти, повышения эргономических параметров интерфейса.
Опыт разработки экспертных систем позволяет выделить следующие этапы при их создании:
Известны три основные разновидности исполнения экспертных систем:
Не останавливаясь на подробном перечне многочисленных областей применения, отметим лишь некоторые отрасли народного хозяйства развитых стран, в которых методология экспертных систем была успешно опробована: химия, сельское хозяйство, электроника, образование, финансы, геология, медицина, военное дело, программное обеспечение и многие другие.
Из перечня основных типов решаемых ими задач можно выделить интерпретацию, прогноз, диагностику, проектирование, планирование, управление, наблюдение, отладка, ремонт, обучение.
В списке наиболее распространенных в настоящее время за рубежом экспертных систем и их оболочек можно выделить следующие наименования: INSIGT, LOGIAN, NEXPERT, RULE MASTER, KDS, PICON, KNOWLEDGE CRAFT, KESII, S1, TIMM и др.
В качестве критериев, по которым можно судить о возможности создания экспертной системы следует отметить следующие:
В сборе, оперативном уточнении, кодировании и распространении экспертных знаний.
В эффективном решении проблем, сложность которых превышает человеческие возможности и для которых требуются экспертные знания нескольких областей.
В сохранении наиболее уязвимой ценности коллектива - коллективной памяти.
Создание баз знаний открывает широкие возможности, которые обусловлены безошибочностью и тщательностью, присущими ЭВМ и синтезом знаний экспертов. Если база знаний объединяет информацию по нескольким дисциплинам, то такой "сплав" знаний приобретает дополнительную ценность.
Экспертная система позволяет решить проблему сохранения экспертных знаний, связанную с утратой наиболее квалифицированных экспертов в результате их продвижения по службе, смерти, перехода на другую работу или выхода на пенсию, а также позволит сделать знания легко доступными для тех, кто займет места ушедших экспертов [1].