Экспертные системы (ЭС) как самостоятельное направление в искусственном интеллекте (ИИ) сформировалось в конце 1970-х годов. История ЭС началась с сообщения японского комитета по разработке ЭВМ пятого поколения, в котором основное внимание уделялось развитию «интеллектуальных способностей» компьютеров с тем, чтобы они могли оперировать не только данными, но и знаниями.
Область исследования ЭС называется инженерией знаний. Этот термин был введён Е. Фейгенбаумом и в его трактовке означает «привнесение принципов и инструментария из области искусственного интеллекта в решение трудных прикладных проблем, требующих знаний экспертов. Не каждую систему, основанную на знаниях, можно рассматривать как экспертную. Экспертная система должна быть способна в определённой степени объяснять своё поведение и свои решения пользователю [1].
Таким образом, экспертные системы предназначены для решения неформализованных задач, то есть задач, решаемых с помощью неточных знаний, которые являются результатом обобщения многолетнего опыта работы и интуиции специалистов.
Неформализованные знания обычно представляют собой эвристические приемы и правила. ЭС обладают следующими особенностями (всеми сразу или частично) [2]:
· задачи не могут быть представлены в числовой форме;
· исходные данные и знания о предметной области обладают неоднозначностью, неточностью, противоречивостью;
· цели нельзя выразить с помощью чётко определённой целевой функции;
· не существует однозначного алгоритмического решения задачи;
· алгоритмическое решение существует, но его нельзя использовать по причине большой размерности пространства решений и ограничений на ресурсы.
ЭС охватывают самые разные предметные области, среди которых преобладают медицина, бизнес, производство, проектирование и системы управления.
Для классификации ЭС используются следующие признаки:
· способ формирования решения;
· способ учёта временного признака;
· вид используемых данных и знаний;
· число используемых источников знаний.
По способу формирования решения ЭС можно разделить на анализирующие и синтезирующие. В системах первого типа осуществляется выбор решения из множества известных решений на основе анализа знаний, в системах второго типа решение синтезируется из отдельных фрагментов знаний.
В зависимости от способа учёта временного признака ЭС делятся на статические и динамические. Статические ЭС предназначены для решения задач с неизменяемыми в процессе решения данными и знаниями, а динамические ЭС допускают такие изменения.
По видам используемых данных и знаний различают ЭС с детерминированными и неопределёнными знаниями. Под неопределённостью знаний понимаются их неполнота, ненадёжность, нечёткость.
ЭС могут создаваться с использованием одного или нескольких источников знаний.
В соответствии с перечисленными признаками можно выделить четыре основных класса ЭС: классифицирующие, доопределяющие, трансформирующие и мультиагентные [2].
Классифицирующие ЭС решают задачи распознавания ситуаций. Основным методом формирования решений в них является дедуктивный логический вывод.
Доопределяющие ЭС используются для решения задач с не полностью определенными данными и знаниями. В таких ЭС возникают задачи интерпретации нечётких знаний и выбора альтернативных направлений поиска в пространстве возможных решений. В качестве методов обработки неопределенных знаний могут использоваться байесовский вероятностный подход, коэффициенты уверенности, нечеткая логика.
Трансформирующие ЭС относятся к синтезирующим динамическим ЭС, которые реализуют повторяющееся преобразование знаний в процессе решения задачи. В ЭС данного класса используются различные способы обработки знаний:
· генерация и проверка гипотез;
· логика предположений и умолчаний;
· использование метазнаний для устранения неопределенности в ситуациях.
Мультиагентные системы – это динамические ЭС, основанные на интеграции разнородных источников знаний, которые обмениваются между собой полученными результатами в процессе решения задач. Системы данного класса имеют следующие возможности:
· реализация альтернативных рассуждений на основе использования различных источников знаний и механизма устранения противоречий;
· распределённое решение задач, разделяемых на параллельно решаемые подзадачи с самостоятельными источниками знаний;
· применение различных стратегий вывода заключений в зависимости от типа решаемой задачи;
· обработка больших массивов информации из базы данных (БД);
· использование математических моделей и внешних процедур для имитации развития ситуаций.
Для формирования полноценной ЭС необходимо, как правило, реализовать в ней следующие функции:
· функции решения задач, позволяющие использовать специальные знания в проблемной области (при этом может потребоваться обеспечить работу в условиях неопределённости или неполноты или недостоверности знаний);
· функции взаимодействия с пользователем, которые, в частности, позволяют объяснить намерения и выводы системы в процессе решения задачи и по завершении этого процесса.