Опубликован: 29.10.2019 | Уровень: для всех | Доступ: платный
Лекция 5:

Вывод по базе знаний

< Лекция 4 || Лекция 5: 12345 || Лекция 6 >

Управление выводом

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

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

Предположим, что на рис. 5.1 информация из внешнего мира W поступает в базу знаний K, минуя рассуждающую систему R. Это позволит рассматривать лишь продукции типа A_K \Rightarrow B_K. Таким образом, как условия активизации продукции, так и результат её выполнения, связаны с информацией, хранящейся в БЗ.

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

Введём понятие состояния базы знаний dt. Это состояние может изменяться по двум причинам: 1) в момент t + 1 из внешнего мира в базу знаний может прийти новая информация; 2) в этот момент времени в базу знаний будет занесена новая информация, как результат срабатывания некоторой продукции.

Если в некоторый момент tсостояние dt таково, что удовлетворяются условия для некоторого множества продукций, то все они образуют фронт готовых продукций. Основная задача управления состоит в выборе из этого фронта очередной продукции для исполнения.

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

Если две продукции независимы, то порядок их выбора из фронта не может сказаться на результате рассуждения. Поэтому особый интерес представляют взаимозависимые продукции.

Рассмотрим пример (заимствован у Д. Поспелова).

В двухчасовой перерыв между лекциями группа студентов решает, куда пойти – в кино или в кафе - мороженное. Ясно, что выбор одного варианта исключает выбор другого. При отсутствии информации о фильме и о часах работы кафе остаётся бросить жребий, т.е. произвести случайный выбор. Но если в момент обсуждения появился сокурсник, который говорит, что фильм скучный (тем самым он меняет состояние "баз знаний" студентов), то выбор активизируемой продукции похода в кафе - мороженное станет однозначным.

Рассматриваемая в примере ситуация является экстремальной.

Чаще всё не так: после неудачного выбора можно вернуться к альтернативному выбору и попробовать другой вариант, если сохранено состояние базы знаний на момент выбора.

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

Практически все системы моделирования рассуждений в интеллектуальных системах используют этот приём, который называется "бэктрекинг" (эффективно используется при логическом выводе в языке ПРОЛОГ).

Не найдя аналогов в современной психологии, исследователи используют эвристические приёмы, основанные на "решающих правилах", чаще всего минимизирующих время выполнения фронта готовых продукций. Рассмотрим некоторые приёмы (стратегии).

1. Принцип "стопки книг" лежит в основе процедуры быстрого поиска нужной книги из стопки при повторном или регулярном обращении. Если каждый раз, использовав некоторую книгу, класть её в стопку сверху, то часто используемые книги постепенно сосредоточатся в её верхней части, а внизу будут лежать те, которые почти никогда не требовались.

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

Подобный "стопке книг" принцип применяется при буферизации памяти на "быстрых" регистрах, автоматически действующий при выполнении программы компьютером. Часто используемые данные с указанием их адресов в оперативной памяти "оседают" на регистрах буфера. Время обращения к ним значительно сокращается. Если к данным долго нет обращения, занимаемые регистры переводятся в ресурс.

2. Проверка по самому "редкому" признаку производится при анализе ряда быстро следующих объектов, обладающих рядом признаков. Например, если предложено обнаружить объект данного пола, роста, размера и т.д., и среди признаков – наличие фетровой шляпы (сегодня мало кто носит шляпу), то прежде всего следует обратить внимание на этот признак. Однако известен случай, когда террорист совершил нападение, будучи в красных носках. Конечно, при попытке скрыться он сразу бы их снял.

3. Проверка продукции с самым длинным условием А. В систему продукций вводятся метапродукции, заключающие в себе фактическую инструкцию, как выбрать продукцию из фронта.

Например, Д. Поспелов сообщает об одной экспертной системе, диагностирующей инфекционные заболевания, в которой действует следующая схема метапродукции:

 ЕСЛИ  инфекция есть А,                               И
       имеются продукции, входящие в состав фронта,
       где в условиях А упоминается слово х,          И
       в составе фронта есть продукции, где в 
       условиях А упоминается слово y,
  ТО   продукции, у которых в А имеется слово х, следует
       активизировать раньше, чем продукции, 
       содержащие в условии А слово y.

4. Часто возможность применения той или иной продукции зависит не только от того, какие именно продукции входят во фронт, но и от того, какие продукции в этот фронт не вошли. То есть, влияние может оказывать как "положительный", так и "отрицательный" контекст, в котором происходит выбор продукции из фронта готовых продукций.

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

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

Развивая пример буферизации памяти компьютера, отметим, что часто используемые данные при записи автоматически оседают в так называемом КЭШе – "через", параллельно направляясь в оперативную память. Зато при выборке таких данных вызов из оперативной памяти быстро прерывается, если эти данные обнаруживаются в КЭШе.

Нечто аналогичное специалисты применяют в области БЗ, вводя окно активации знаний. С помощью такого окна активируются определённые фрагменты, использующиеся для проверки условий в продукциях. Для вычисления фрагментов пользуются условиями Р, активирующими ту область продукционной системы, которая оказывается тесно связанной с фрагментом знаний, попавшим в окно активации знаний. Постусловия Q позволяют управлять перемещением окна по полю памяти, а также его размерами.

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

До сих пор рассматривались продукции, в которых В обязательно, с вероятностью 1, следовало при активизации продукции. Однако весьма часто продукции используются для правдоподобного вывода с некоторым коэффициентом правдоподобности, как это рассматривалось в Лекции 4.

Приведём пример из упоминающейся ранее экспертной системы, когда в ряде случаев эта система не может выдать рекомендацию со стопроцентной уверенностью. Она выдаёт её с оценкой правдоподобности.

 ЕСЛИ   инфекция, которая требует терапии, есть менингит   И
        пациент имеет признаки серьёзных кожных
        инфекций мягких тканей                             И
        микроорганизмы не окрашены по Грэму на
        пробах культуры                                    И
        тип инфекции бактериальный
 ТО     микроорганизмы, которые могут вызывать
        инфекцию, с правдоподобностью 0,75
        есть staphylococcus coadroos                     ИЛИ
        с правдоподобностью 0,5 есть
        streptococcus-gronp-a.

При работе с правдоподобными продукциями используются приёмы, аналогичные рассмотренным в разделе 4.2.

Согласившись с концепцией баз знаний и учитывая, что логические нейронные сети образуют БЗ вместе с продукцией извлечения знаний, спросим себя, как на новом уровне представления достойно закончить пример расчёта надёжности компьютера, обязательно сохраняющего рабочее состояние в течение всего цикла управления t?

Информационно-справочная система "Надёжность управляющего компьютера"

увеличить изображение
Рис. 5.2. Информационно-справочная система "Надёжность управляющего компьютера"

На этапе испытаний системы управления рассчитаем надёжность компьютера по формуле (4.1) в достаточном числе точек шестимерного факторного пространства {K_Г \in [K_Г^{min}, K_Г^{max}], (\lambda_1 \in [(\lambda_1^{min}, (\lambda_1^{max}], (\lambda_2 \in [(\lambda_2^{min}, (\lambda_2^{max}], P_{устр.сб} \in [0, 1], Р_{рез.} \in [0, 1], t \in [t){min}, t_{max}]} так, чтобы более-менее равномерно покрыть этими точками всё факторное пространство. Пусть n – развиваемое (при недостаточной точности) количество этих точек.

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

Каждый рецептор, соответствующий некоторому значению какого-то фактора ("координате" точки), свяжем с нейроном, соответствующим этой точке факторного пространства. Каждый нейрон пусть указывает на значение надёжности в этой точке. Веса связей примем единичными. Введём функцию активации нейронов:

F = \left \{ \begin{matrix}
\frac{1}{6n}\sum_{i=1}^{6n}f_i \text{ если это значение превышает порог h}\\ 
 0, в противном случае
\end{matrix} \right.

Порог h выбирается экспериментально.

Если мы возбудим рецепторы "одной точки" до значения 1, то очевидно, что максимально возбудится нейрон, соответствующий этой точке и укажет на значение надёжности в ней.

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

Простейший приём возбуждения рецепторов заключается в следующем.

Пусть испытывается ситуация - точка {K_Г^*, \lambda_1^*, \lambda_2^*, P_{\text{устр.сб}}^* ,  Р_{рез.}^* ,  t^*}. Найдём два значения КГ(j) и КГ(j+1) такие, что КГ(j) < KГ* < КГ(j+1). Распределим "единицу" обратно пропорционально "расстоянию" KГ* до левого и правого ограничения, положив возбуждение рецептора КГ(j), равным

\frac{K_\text{Г}^{(j+1)}-K_\text{Г}^{*}}{K_\text{Г}^{(j+1)}-K_\text{Г}^{j}}

Тогда возбуждение рецептора КГ(j+1) положим равным дополнением найденного значения до единицы. Так возбудим рецепторы и других факторов.

После возбуждения рецепторов рассчитаем значение функции активации для всех нейронов. Ответ может быть выдан двумя способами: 1) по указанию максимально возбудившегося нейрона, преодолевшего порог, т.е. по результату "голосования" в пользу решения; 2) по усреднённому ответу нескольких нейронов, возбуждение которых преодолело порог. Во втором случае значения надёжности, для счёта по известной формуле нахождения среднего, выбираются с весами, равными величине возбуждения соответствующих нейронов.

Таким образом, БЗ реализует информационно-справочную систему "Надёжность управляющего компьютера". Мы видим, что эта система легко модернизируется, развивается с накоплением опыта и с расширением факторного пространства, уточняется на опыте, отходя от возможной неточности формул. В процессе эксплуатации может понадобиться введение весов связей, отличных от единичных. Представление логической нейронной сети матрицей связей позволяет легко вводить любые изменения.

Конечно, вычисления по формуле (4.1) не столь трудоёмки. Но представьте себе "ужасные на вид" системы интегрально-дифференциальных уравнений прогноза погоды! Не зря Гидрометцентр периодически обновляет суперкомпьютеры. И эти системы уравнений надо считать ежедневно по огромной территории от холодной Арктики до жарких песков пустыни! Только ассоциативные вычисления по БЗ, заполняемой, развиваемой и уточняемой на основе обратной связи во все возможные интервалы времени между оперативными запросами, могут выручить.

< Лекция 4 || Лекция 5: 12345 || Лекция 6 >
Ирина Шевченко
Ирина Шевченко
Россия
Таня Михайлова
Таня Михайлова
Россия