В разработке экспертной системы участвуют представители следующих специальностей:
1)эксперт - специалист в конкретной предметной области
2)инженер по знаниям - специалист по разработке экспертных
систем
3)программист - специалист по разработке инструментальных средств создания экспертной системы.
Эксперт определяет соответствующий круг знаний, обеспечивает их полноту и правильность введения экспертной системы.
Инженер по знаниям выявляет совместно с экспертом структурированность знаний, выбор инструментального средства, программирует стандартные функции, которые будут использоваться
вправилах экспертной системы.
Программист разрабатывает инструментальные средства, содержащие все компоненты создания экспертных систем. Осуществляет сопряжение экспертных систем с пользователем. В использовании экспертных систем участвуют специалисты:
. Конечный пользователь, имеет возможность только использования экспертных систем.
. Клерк, может добавлять, модифицировать базу знаний экспертной системы.
Способы описания знаний При разработке экспертных систем наибольшее применение
нашли следующие способы описания знаний:
логические модели
сетевые модели
продукционные модели
фреймовые модели
Логические модели. В основе их описания лежит формальная система с четырьмя элементами:
М=< Т, Р, А, В > ,
где Т - множество базовых элементов различной природы с соответствующими процедурами,
136
Р - множество синтаксических правил. С их помощью из элементов Т образуют синтаксически правильные совокупности. Процедура П(Р) определяет, является ли эта совокупность правильной.
А - подмножество множества Р, называемых аксиомами. Процедура П(А) дает ответ на вопрос о принадлежности к множеству А.
В- множество правил вывода. Применяя их к элементам А, можно получить новые синтаксически правильные совокупности, к которым можно применить эти правила снова. Процедура П(В) определяет для каждой синтаксически правильной совокупности, является ли она выводимой. Наиболее приемлем данный тип моделей для знаний типа геометрии.
Вданной системе множество А вводится в базу знаний. В базу знаний вводятся также правила вывода. Используя данные базы знаний и условия поставленной задачи, можно определить, является ли поставленная задача синтаксически правильной совокупностью, то есть является ли она выводимой из данной базы знаний.
Сетевые модели. К сетевым моделям относятся знания, формально задаваемые в следующем виде:
H= <I, C1, C2, …..Cn, G>,
где I - множество единиц информации,1,……Cn - множество типов связи между информационными единицами,
G - задание связи из данного набора.
В зависимости от типа связи семантические сети подразделяют
на:
классифицирующие,
функциональные,
сценарии.
В классифицирующие сети вводят различные иерархические отношения между единицами информации. Такие отношения используются в биологии. Функциональные сети описывают процедуры вывода одних информационных единиц через другие. В сценариях используют казуальные отношения, то есть типа средства -
137
результат, орудие - действие.
Продукционные модели. Данный тип модели является промежуточным между логическими и сетевыми моделями. Из логических моделей здесь заимствована идея правил вывода, которая называется продукцией, из сетевых - описание знаний в виде семантической сети. Данный тип представления знаний является сейчас наиболее широко используемым. При работе продукционные модели в результате применения правил вывода происходит трансформация семантической сети за счет смены фрагментов и исключения добавления элементов.
Фреймовые модели. Во фреймовых моделях жестко фиксируется структура представления информации, называемая протофреймом. Протофрейм - структурная единица информации, из которой порождаются другие типы информации. Он состоит из:
Имя фрейма Имя слота (значение слота)
.
.
.
Имя слота (значение слота).
Продукционные модели Продукционная модель, или модель, основанная на правилах,
позволяет представить знания в виде предложений типа: Если (условие), то (действие).
Под условием понимается некоторое предложение-образец, по которому осуществляется поиск в базе знаний, а под действием - действия, выполняемые при успешном исходе поиска (они могут быть промежуточными, выступающими далее как условия, и терминальными или целевыми, завершающими работу системы).
При использовании продукционной модели база знании состоит из набора правил. Программа, управляющая перебором правил, называется машиной вывода. Чаще всего вывод бывает прямой (от данных к поиску цели) или обратный (от цели для ее подтверждения - к данным). Данные - это исходные факты, на основании которых
138
запускается машина вывода - программа, перебирающая правила из базы.
Продукционная модель чаще всего применяется в промышленных экспертных системах. Она привлекает разработчиков своей наглядностью, высокой модульностью, легкостью внесения дополнений и изменений и простотой механизма логического вывода.
Имеется большое число программных средств, реализующих продукционный подход (язык OPS 5; "оболочки" или "пустые" ЭС - EXSYS, ЭКСПЕРТ; инструментальные системы ПИЭС и СПЭИС и др.), а также промышленных ЭС на его основе - ФИАКР и др.
В общем виде продукция может быть представлена выражением следующего вида:
; Q ; P ; A => B ; N ,
где I - имя продукции. В качестве имени может выступать порядковый номер или выражение из символов, отражающее суть данной продукции – элемент, характеризующий сферу применения. Он позволяет разделить знания на области, что экономит время поиска нужных знаний.
А => В - основной элемент продукции, называемый ядром.
Р - условие применения ядра продукции. Обычно Р представляется логическим выражениям. Если выражение Р - ложно, то ядро не может быть исполнено. - описание постусловия продукции. Здесь описываются действия и процедуры, которые необходимо выполнить после реализации.
Все продукции объединяют в систему. В системе продукций должны быть специальные процедуры управления продукциями, с помощью которых производится выбор продукции и актуализация имеющихся продукций.
Управление системой продукции Обычно условия применимости выполняются сразу для
нескольких продукций. В этом случае возникают проблемы выбора конкретной продукции для реализации. Возможно два пути решения данной проблемы: централизованный и децентрализованный.
При централизованном методе решение об актуализации принимается специальной системой управления. При
139
децентрализованном - определяются складывающиеся в данный момент ситуации. Рассмотрим несколько стратегий управления выбором продукции:
. Принцип “стопки книг”. Основная идея состоит в том, что наиболее часто используемая продукция является наиболее полезной. Готовые продукции образуют “стопку”, в которой порядок определяется наибольшей частотой ее использования в прошлом. Подобный принцип управления удобен при оценке исполнения. Его целесообразно применять при относительной неуязвимости продукции друг от друга.
. Принцип наиболее длинного условия. Принцип заключается в выборе той продукции, у которой наиболее длинное условие выполнения ядра. Он опирается на соображения здравого смысла. Частные правила, относящиеся к узкому классу ситуаций важнее общих правил. Принцип целесообразно применять в случаях, когда знания и продукции хорошо структурированы и заданы соотношения
“частное - общее ”.
3.Принцип метапродукции. Основан на идее ввода в систему продукции управления продукциями, задача которых организовать выбор продукции из фронта готовых к актуализации.
4.Принцип “классной доски”. При реализации этого принципа в экспериментальной системе выделяют специальное рабочее поле - аналог классной доски. На этой доске параллельно выполняются процессы, находящие информацию, запускающую их, туда же они заносят результаты своей работы, которые могут быть полезны для других процессов. Однозначного выбора продукции часто не бывает, поэтому принцип “классной доски” может комбинироваться с другими методами, например, с принципом метапродукции.
5.Принцип приоритетного выбора. Связан с введением статистических и динамических приоритетов на продукции. Статистические приоритеты формируются заранее, а динамические в процессе работы.
6.Логический метод выбора. При этом методе существуют два типа управления системой продукции: прямой и обратный. В прямом случае поиск идет от левых частей продукции, то есть проверки
140