Продукционная модель или модель, основанная на правилах, позволяет представить знания в виде предложений типа "Если (условие), то (действие)".
Под "условием" (антецедентом) понимается некоторое предложение-образец, по которому осуществляется поиск в базе знаний, а под "действием" (консеквентом) — действия, выполняемые при успешном исходе поиска (они могут быть промежуточными, выступающими далее как условия, и терминальными или целевыми, завершающими работу системы).
Продукционная модель в чистом виде не имеет механизма выхода из тупиковых состояний в процессе поиска. Она продолжает работать, пока не будут исчерпаны все допустимые продукции. Практические реализации продукционных систем содержат механизмы возврата в предыдущее состояние для управления алгоритмом поиска.
Рассмотрим пример использования продукционных правил. П1: Если "отдых — летом" и "человек — активный", то "ехать в горы".П2: Если "любит солнце", то "отдых летом". Предположим, в систему поступили данные — "человек активный" и "любит солнце". Прямой вывод — исходя из данных, получить ответ. 1-й проход. Шаг 1. Пробуем П1, не работает (не хватает данных "отдых — летом"). Шаг 2. Пробуем П2, работает, в базу поступает факт "отдых — летом". 2-й проход. Шаг 3. Пробуем П1, работает, активируется цель "ехать в горы", которая и выступает как совет, который дает ЭС. Обратный вывод — подтвердить выбранную цель при помощи имеющихся правил и данных. 1-й проход. Шаг 1. Цель — "ехать в горы": пробуем П1 — данных "отдых — летом" нет, они становятся новой целью, и ищется правило, где она в правой части. Шаг 2. Цель "отдых — летом": правило П2 подтверждает цель и активирует ее. 2-й проход. Шаг 3. Пробуем П1, подтверждается искомая цель.Основные преимущества продукционных систем:
|
|
простота и гибкость выделения знаний;
отделение знаний от программы поиска;
модульность продукционных правил (правила не могут "вызывать" другие правила);
возможность эвристического управления поиском;
возможность трассировки "цепочки рассуждений";
независимость от выбора языка программирования;
продукционные правила являются правдоподобной моделью решения задачи человеком.
Имеется большое число программных средств, реализующих продукционный подход (например, языки высокого уровня CLIPS и OPS 5; "оболочки" или "пустые" ЭС — EXSYS Professional и Карра, инструментальные КЕЕ, ARTS, PIES, а также промышленных ЭС на его основе.
Семантические сети
Семантическая сеть — это ориентированный граф, вершины которого — понятия, а дуги — отношения между ними. Термин "семантическая" означает"смысловая", а сама семантика — это наука, устанавливающая отношения между символами и объектами, которые они обозначают, т. е. наука, определяющая смысл знаков. Модель на основе семантических сетей была предложена американским психологом Куиллианом.
|
|
В качестве понятий обычно выступают абстрактные или конкретные объекты, а отношения это связи типа: "это" ("АКО — A-Kind-Of, "is" или "элемент класса"), "имеет частью" ("has part"), "принадлежит", "любит".
Можно предложить несколько классификаций семантических сетей, связанных с типами отношений между понятиями.
По количеству типов отношений:
однородные (с единственным типом отношений);
неоднородные (с различными типами отношений).
По типам отношений:
бинарные (в которых отношения связывают два объекта);
N-арные (в которых есть специальные отношения, связывающие более двух понятий).
Наиболее часто в семантических сетях используются следующие отношения:
элемент класса (роза это цветок);
атрибутивные связи /иметь свойство (память имеет свойство — объем);
значение свойства (цвет имеет значение — желтый);
пример элемента класса (роза, например — чайная);
связи типа "часть-целое" (велосипед включает руль);
функциональные связи (определяемые обычно глаголами "производит", "влияет"...);
количественные (больше, меньше, равно...);
пространственные (далеко от, близко от, за, под, над...);
временные (раньше, позже, в течение...);
логические связи (и, или, не) и др.
Минимальный состав отношений в семантической сети таков:
элемент класса или АКО;
атрибутивные связи /иметь свойство;
значение свойства.
Недостатком этой модели является сложность организации процедуры организации вывода.
Пример семантической сети для предложения типа "Поставщик осуществил поставку изделий для клиента до 1 июня 2010 года в количестве 10 000 штук" представлен на рис. 7.
Рис.7. Пример семантической сети.
Фреймы
Фрейм – это минимально возможное описание сущности какого-либо события, ситуации, процесса или объекта. В историческом плане развитие фреймовой модели связано с теорией фреймов М. Минского, определяющей способ формализации знаний, используемый при решении задач распознавания образов (сцен) и понимания речи. «Отправным моментом для данной теории служит тот факт, что человек, пытаясь познать новую для себя ситуацию или по-новому взглянуть на уже привычные вещи, выбирает из своей памяти некоторую структуру данных (образ), называемую нами фреймом, с таким расчетом, чтобы путем изменения в ней отдельных деталей сделать ее пригодной для понимания более широкого класса явлений или процессов». Другими словами, фрейм — это форма описания знаний, очерчивающая рамки рассматриваемого (в текущей ситуации при решении данной задачи) фрагмента предметной области.
Модель фрейма является достаточно универсальной, поскольку позволяет отобразить все многообразие знаний о мире через:
фреймы – структуры, для обозначения объектов и понятий (заем, залог, вексель);
фреймы – роли (менеджер, кассир, клиент);
фреймы – сценарии (банкротство, собрание акционеров, празднование именин);
фреймы – ситуации (тревога, авария, рабочий режим устройства) и др.
Различают фреймы-образцы или прототипы и фреймы-экземпляры, которые создаются для отображения реальных фактических ситуаций на основе поступающих данных.
Фрейм имеет имя (название) и состоит из слотов.
Традиционно структура фрейма может быть представлена как список свойств:
(ИМЯ ФРЕЙМА:
(имя 1-го слота: значение 1-го слота),
|
|
(имя 2-го слота: значение 2-го слота),
…………….
(имя N-гo слота: значение N-го слота)).
Ту же запись можно представить в виде таблицы (см. табл. 1), дополнив ее двумя столбцами.
Таблица 1.Структура фрейма
Имя фрейма | |||
Имя слота | Значение слота | Способ получения значения | Присоединенная процедура |
В таблице дополнительные столбцы (3-й и 4-й) предназначены для описания способа получения слотом его значения и возможного присоединения к тому или иному слоту специальных процедур, что допускается в теории фреймов. В качестве значения слота может выступать имя другого фрейма, так образуются сети фреймов.
Широко известны такие фреймо-ориентированные экспертные системы, как ANALYST, МОДИС.