Структура и назначение экспертных систем

В настоящее время среди всех СИИ наибольшее распространение (по некоторым оценкам до 90 %) получили ЭС различных типов. Объяснение этому находится в самой истории развития технологии ИИ. Если условно проследить начало этой истории по десятилетиям, увидим, что в 60-х гг. XX в. специалисты в области ИИ пытались моделировать сложный процесс мышления, отыскивая общие методы решения широкого класса задач и реализуя их в универсальных программах [38]. Как уже отмечалось, большая часть таких попыток была неудачной.

Дальнейшие исследования в 70-е гг. XX в. были сконцентрированы на разработке двух групп методов:

· методов представления задач (в стремлении сформулировать решаемую проблему так, чтобы ее было легче решить);

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

Однако и эта стратегия не принесла реальных успехов. Только в конце 70-х гг. XX в. был сделан принципиальный вывод: эффективность программы при решении интеллектуальных задач в большей степени зависит от знаний, которыми она обладает, а не только от используемых формализмов и схем вывода. Чтобы сделать систему интеллектуальной, ее нужно снабдить множеством высококачественных знаний о некоторой предметной области. Это послужило основой новой концепции развития СИИ — создания специализированных программных систем, каждая из которых является как бы экспертом в некоторой узкой предметной области. Такие программы в дальнейшем и стали называть ЭС.

Огромный интерес к ЭС обусловлен тремя основными обстоятельствами [22]:

· ЭС ориентированы на решение широкого круга задач в ранее неформализуемых областях, которые считались малодоступными для использования ЭВМ;

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

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

Свое название ЭС получили по двум причинам:

· информацию (знания) для них поставляют эксперты;

· ЭС выдает решения, аналогичные тем, которые формулируют эксперты.

Понятие «эксперт» заслуживает отдельного обсуждения.

По Д. Уотермену, эксперт (англ. domain expert — знаток, специалист в области, сфере деятельности) — человек, который за годы обучения и практики научился чрезвычайно эффективно решать задачи, относящиеся к конкретной предметной области [54]. Главным в этом определении является требование к эксперту, которое предъявляются и к ЭС: эффективность решения конкретных задач из узкой предметной области.

В соответствии с определением П.Джонса, «эксперт — это человек, который благодаря обучению и опыту может делать то, что мы все, остальные люди, делать не умеем; эксперты работают не просто профессионально, но к тому же уверенно и эффективно. Эксперты обладают огромными познаниями и пользуются различными приемами и уловками для применения своих знаний к проблемам и заданиям; они также умеют быстро переворошить массу несущественной информации, чтобы добраться до главного, и хорошо умеют распознавать в проблемах, с которыми сталкиваются, примеры тех типовых проблем, с которыми они уже знакомы. В основе поведения экспертов лежит совокупность практически применимых знаний, которую мы будем называть компетентностью. Поэтому разумно предположить, что эксперты — это те люди, к которым надо обратиться, когда мы желаем проявить компетентность, делающую возможным такое поведение, как у них» [54].

Отметим, что в обоих определениях подчеркиваются источники знаний экспертов — обучение и практика (опыт).

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

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

· проектирование ЭС;

· медицинский диагноз и консультации по лечению;

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

· автоматическое программирование, проверка и анализ ПО;

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

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

· планирование в различных предметных областях. Анализ данных в различных предметных областях (в том числе и статистический). Интерпретация геологических данных и выработка рекомендаций по обнаружению полезных ископаемых;

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

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

· управление проектированием, технологическими процессами и промышленным производством. Анализ и синтез электронных схем. Формирование математических понятий, преобразование математических выражений;

· анализ рисков в политике и экономике.

Структура типовой ЭС представлена на рис. 14.1.

Структура и назначение экспертных систем - student2.ru

Дадим краткую характеристику структурных элементов ЭС.

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

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

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

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

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

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

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

Важным классом систем, основанных на знаниях, является класс ИППП. Структура такого пакета приведена на рис. 14.2.

Структура и назначение экспертных систем - student2.ru

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

Наши рекомендации