Инструментальные средства разработки экспертных систем

Типы решаемых задач

ЭС могут решать следующие задачи [2]:

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

· статические или динамические. Если ЭС явно не учитывает фактор времени и / или не изменяет в процессе решения знания об окружающем мире, то ЭС решает статические задачи, в противном случае – динамические (работающие в реальном масштабе времени). Обычно выделяют следующие системы реального времени: псевдореального времени, «мягкого» реального времени и «жёсткого» реального времени. Системы псевдореального времени получают и обрабатывают данные, поступающие из внешних источников.

ЭС могут решать следующие типы задач:

· интерпретации данных – процесса определения смысла данных;

· диагностики – процесса соотнесения объекта с некоторым классом объектов и / или обнаружения неисправностей;

· мониторинга – непрерывной интерпретации данных в реальном масштабе времени и контроле допуска их параметров;

· проектирования – создания ранее не существовавшего объекта и подготовки спецификаций на создание объектов с заранее определёнными свойствами;

· прогнозирования – предсказания последствий некоторых событий или явлений на основе анализа имеющихся данных;

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

· обучения каким-либо дисциплинам или предметам;

· управления – поддержки определённого режима деятельности системы;

· поддержки принятия решений.

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

Классификация инструментальных средств разработки ЭС обычно производится по следующим параметрам [2]:

· уровень используемого языка;

· парадигмы программирования и механизмы реализации;

· способ представления знаний;

· механизмы вывода и моделирование;

· средства приобретения знаний;

· технологии разработки.

Уровень используемого языка:

· традиционные (в том числе и объектно-ориентированные) языки программирования;

· специальные языки программирования (LISP, PROLOG, РЕФАЛ);

· инструментальные средства, содержащие часть компонентов ЭС (предназначены для разработчиков ЭС);

· среды разработки общего назначения, содержащие все компоненты ЭС, но не имеющие описания конкретных проблемных сред;

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

Парадигмы программирования:

· процедурное программирование;

· программирование, ориентированное на данные;

· программирование, ориентированное на правила;

· объектно-ориентированное программирование;

· логическое программирование.

Способ (модели) представления знаний:

· продукционные правила;

· фреймы (объекты);

· логические формулы;

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

· нейронные сети.

Механизмы вывода и моделирования:

1. Моделирование процесса получения решения:

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

· компиляция сети вывода из специфических правил в режиме приобретения знаний и поиск решения на сети в режиме решения задачи;

· генерация сети вывода и поиск решения в режиме решения задачи, при этом генерация сети вывода осуществляется в ходе выполнения сопоставления, определяющей пары «правило-совокупность данных», на которых условия этого правила удовлетворяются;

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

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

2. Механизмы поиска решения:

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

· «поиск в ширину», «поиск в глубину».

3. Механизмы генерации предположений и сети вывода:

· генерация в режиме приобретения знаний, генерация в режиме решения задачи;

· операция сопоставления применяется ко всем правилам и всем типам сущностей в каждом цикле механизма вывода, используются различные средства сокращения правил и/ или сущностей.

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

Средства приобретения знаний:

1. Уровень приобретения знаний:

· формальный язык;

· ограниченный естественный язык;

· язык пиктограмм и изображений;

· естественный язык и язык изображений;

2. Тип приобретаемых знаний:

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

· специализированные правила;

· общие и специализированные правила;

· данные в виде таблиц, содержащих значения входных и выходных векторов, по которым строится сеть вывода.

3. Тип приобретаемых данных:

· атрибуты и значения;

· объекты;

· классы структурированных объектов и их экземпляры, получающие значения атрибутов путём наследования.

1.5 Нечёткие знания в экспертных системах

При разработке ИИС знания о конкретной предметной области, для которой создаётся система, редко бывают полными и абсолютно достоверными. Знания, которыми заполняются ЭС, получаются в результате опроса экспертов, мнения которых субъективны. Даже числовые данные, полученные в ходе экспериментов, имеют статистические оценки достоверности, надёжности, значимости и так далее.

Смысл термина нечёткость многозначен. Основными компонентами нечётких знаний можно считать следующие понятия[2]:

· недетерминированность выводов;

· многозначность;

· ненадёжность;

· неполнота;

· неточность.

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

Многозначность интерпретации – обычное явление в задачах распознавания графических образов, понимания естественного языка. Устранение многозначности достигается с помощью циклических операций фильтрации.

Ненадёжность знаний и выводов означает, что для оценки их достоверности нельзя применить двухбалльную шкалу (1 – абсолютно достоверные; 0 – недостоверные знания). Для более тонкой оценки применяется вероятностный подход, основанный на теореме Байеса, использование коэффициентов уверенности, использование нечётких выводов на базе нечёткой логики.

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

Неточность знаний. Числовые данные могут быть неточными, при этом существуют оценки такой неточности (доверительный интервал, уровень значимости, степень адекватности и так далее). Лингвистические знания тоже могут быть неточными. Для учёта неточности лингвистических знаний используются нечёткая логика и нечёткие выводы, основанные на теории нечётких множеств, предложенной Л.Заде в 1965 году.