УДК 519.673: 004.9
ИНДИКАТОРЫ ХОДА ЛОГИЧЕСКОГО ВЫВОДА НА СПИСКОВЫХ ПЕРЕМЕННЫХ*
А.Я. Фридман
Институт информатики и математического моделирования КНЦ РАН
Аннотация
В гибких дискретных системах (экспертных, информационно-аналитических и др.) существует проблема останова процесса вычислений, т.е. выявление шага обработки, после которого необходимо изменить режим работы системы (например, выдать сигнал ошибки или изменить направление логического вывода). В настоящей работе предлагается применить для этого универсальные эвристические индикаторы хода вывода, которые можно конкретизировать для реальных типов данных. Такие индикаторы позволяют оценить успешность продвижения к цели вывода и принять решение о его прекращении или продолжении.
Ключевые слова:
списковая переменная, логический вывод, управление применением продукций, эвристический индикатор хода вывода.
Введение
Во многих компьютерных системах обработки информации переменные величины могут принимать только значения из дискретных конечных множеств (аналогично спискам). Так поступают либо с целью использования комбинаторных алгоритмов [1-3], либо для того, чтобы избежать вычислительных проблем, связанных с малыми изменениями количественных переменных, и обеспечить поддержку совместной расчетно-логической обработки данных любых типов [4]. Согласно [5], подобные схемы и устройства относятся к гибким дискретным системам (ГДС), поскольку предназначены для реагирования на дискретные события и работы в меняющейся обстановке.
В ГДС существует проблема останова процесса вычислений, т.е. выявления шага обработки, после которого необходимо изменить режим работы системы (например, выдать сигнал ошибки или изменить направление логического вывода). В настоящей работе предлагается применить для этого универсальные индикаторы хода вывода, которые можно конкретизировать для реальных типов данных. Без потери общности анализ таких индикаторов ведется на примере системы ситуационного моделирования (ССМ) [4, 6].
Логическая обработка знаний в ССМ
В ССМ имеются интерфейсы для ввода-вывода данных различных типов, но их внутреннее представление унифицировано: реальные значения кодируются натуральными числами,
соответствующими положению этих значений в списке допустимых значений, который формируется при первичном декларировании данного. Данные со строковыми значениями называются параметрами, а имеющие числовые значения - переменными, и над ними можно выполнять определенные математические операции. Когда результат вычислений представляет собой значение переменной, он округляется до ближайшего значения из списка допустимых значений. В дальнейшем, если сказанное относится к данным любого разрешенного в ССМ типа (и к переменным, и к параметрам), употребляется термин “данное”.
Назовем атомарным фактом факт простейшего возможного в ССМ формата:
<имя> = <значение>, (1)
где <значение> - одно из значений данного с именем <имя> из списка его допустимых значений. Поскольку все значения каждого данного предполагаются взаимно не пересекающимися, то область истинности атомарного факта есть единственное значение из области определения этого данного. Общая форма записи факта в ССМ такова: 35
* Работа выполнена при поддержке РФФИ (проекты №№ 14-07-00256-а, 14-07-00257-а, 14-07-00205-а, 13-07-00318-а, 12-07-00689-a, 12-07-000550-a, 12-07-00302-а) и Президиума РАН (проект 4.3 Программы № 16)
35
<имя> <знак> <подсписок_значений (n)>, (2)
где <подсписок_значений (n)> имеет длину n и состоит из допустимых значений данного. Если N - общая длина списка допустимых значений, то всегда n < N.
Допустимые в ССМ <знаки> и соответствующие способы обработки <подсписка_значений> сведены в таблицу.
Таблица
Интерпретация сложных фактов в ССМ
Тип данного Знак n Способ обработки
Любой (параметр / переменная) = < N Факт истинен, если данное принимает хотя бы одно значение из <подсписка значений (n)> (связка значений по ИЛИ)
Ф < N-1 Факт истинен, если данное принимает любое значение, кроме указанных в <подсписке значений (n)>
Переменная е 2 Факт истинен, если данное принимает любое значение из интервала [n1,n2]
2 Факт истинен, если данное принимает любое значение вне интервала [n1,n2]
< 1 Факт истинен, если данное принимает любое допустимое значение, меньшее или равное указанному
> 1 Факт истинен, если данное принимает любое допустимое значение, большее или равное указанному
Примечание: при работе с интервалами значений переменных (знаки е и i) граничные значения включаются в интервал.
ЭС ССМ поддерживает продукционные правила такого формата:
ЕСЛИ E1 [& E2 ...], [Т0 T1 [c P(T1/*)], [& T2 [c P(T2/*)] ...]]
[ИНАЧЕ I1 [c P(I1/*)], [& I2 [c P(I2/*)] ...]],
где: Ei, Tj, Ik - условия логического типа, определенные на списке значений одного параметра или переменной;
P(*/*) - условные вероятности следствий при истинности их предпосылок (задаются при вероятностном выводе);
& - логическая связка И.
В каждом правиле должна быть часть ЕСЛИ и хотя бы одна из частей ТО или ИНАЧЕ. В любой части правила допускается произвольное количество логических условий Ei, Tj, Ik. При обработке они считаются связанными по И, то есть:
- при наличии части ТО всем входящим в нее условиям присваивается значение “истина” (а всем условиям части ИНАЧЕ, при ее наличии, - значение “ложь”), если истинны все условия части ЕСЛИ;
- при наличии части ИНАЧЕ всем входящим в нее условиям присваивается значение истина (а всем, еще не определенным как истинные, условиям части ТО, при ее наличии, -значение “ложь”), если ложно хотя бы одно из условий части ЕСЛИ.
При появлении истинных следствий правило, их породившее, считается сработавшим и в дальнейшей экспертизе не анализируется.
Логические условия могут иметь форму (2) или, при использовании вероятностного механизма вывода, следующую форму:
[р1<]Р(<имя> <знак><подсписок_значений (n)>)[<p2], где основные обозначения совпадают с (2), а P(*) - текущая (апостериорная) вероятность нахождения аргумента в заданном интервале вероятности [p1,p2]. 36
36
Для пояснения работы ЭС при обработке ситуаций кратко опишем особенности детерминированного механизма вывода.
В начале экспертизы все допустимые значения данных (как параметров, так и переменных) считаются возможными. Различные значения каждого данного рассматриваются как взаимоисключающие. Поэтому по мере срабатывания правил из списка возможных значений в базе данных (БД) значений исключаются те значения, которые противоречат частям ТО или ИНАЧЕ сработавших правил. Запись в базу фактов производится только тогда, когда список возможных значений сужается до единственного значения. Пока этого не произошло, может сработать только правило, у которого часть ЕСЛИ одновременно истинна или ложна для всех возможных на этот момент значений данного. Если на текущей итерации экспертизы предпосылка анализируемого правила истинна для некоторых из возможных значений данного и ложна для других возможных значений, истинность этой предпосылки не фиксируется. Противоречие в данных фиксируется в двух случаях: либо при появлении фактов за уже исключенное из списка допустимых значение данного, либо если на некоторой итерации в списке новых фактов появляются свидетельства как за истинность, так и за ложность предпосылки какого-либо правила.
Для формализации операций с ситуациями в ССМ используется многосортная алгебра A = ((sA)seS, (fA)feF), которая состоит из семейства множеств-носителей sA и семейства частичных функций fA [7], соответствующих одному продукционному правилу ЭС или предложению
вычислимости элементов концептуальной модели предметной области (КМПО) [4]:
fA: sf xsA x ... xsA-1 — sA, n > 0. (3)
Сигнатура £ = (S, F) содержит непустое множество S символов для обозначения индексов множеств-носителей, называемых также сортами, и непустое множество F функциональных символов, которые имеют схему отображения
f: si xs2 x ... xsn-1 —sn, n > 0, (4)
описывающую арность функции, сортность ее аргументов и результата. Для сигнатуры £ = (S, F) многосортная алгебра A = ((sA)seS, (fA)feF) называется £-алгеброй, если схемы отображений для всех f е F согласованы с отображениями (3).
Пусть задана сигнатура £ = (S, F). С каждым сортом si е S свяжем счетное множество Xs переменных и определим множество термов TR и функцию тип: TR —S следующим образом:
- всякая переменная x е Xs есть терм, причем тип(х) = s;
- всякий нульарный функциональный символ (константа) f е F со схемой отображения f: — s есть терм, причем тип(^ = s;
- если f е F имеет схему отображения (4) и t1, t2, ... , tn-1 - термы, у которых тип(й) = s1, ... , тип(^ -i) = sn-1, то f(ti, t2, ... , tn-i) - терм, тип(й(й, t2, ... , tn-1 )) = sn.
Теперь определим понятия факта и текущей (исходной) ситуации.
Определение 1. Фактом называется упорядоченный список вида (f, t1, ... , tn), где f е F, f: s1x ...
xsn-1 ——sn, ti еТЯ, тип(Ъ) = si, i = 1, n или список вида (тип, t, s), где t е TR, s е S, тип(0 = s. Второй вид фактов называется терминальными фактами. В этих обозначениях исходная ситуация есть конечный список фактов вида (2), в котором имена данных не повторяются.
Принимая, что тип констант, образующих список возможных значений переменных, совпадает с типом самих переменных, получаем, что в качестве значений функции тип() можно принять пользовательские и служебные значения типов ресурсов модели ССМ [4], терминальные факты вида (1) соответствуют заданию значений внешних данных (поступающих извне или вычисляемых ГИС), а нетерминальные факты появляются в результате срабатывания тех или иных процессов КМПО либо правил ЭС. При этом схемы отображения f для процессов КМПО и частей ТО правил ЭС строятся одинаково: область их определения есть прямое произведение областей истинности условий, являющихся предпосылками (входящих в список входных данных процесса или в часть ЕСЛИ правила), а область определения схем отображения для частей ИНАЧЕ правил есть, как уже отмечалось выше, область ложности любого из условий части ЕСЛИ этого правила.
При классификации ситуаций применяется детерминированный вывод, поэтому ниже рассматриваются в основном факты вида (2). 37
37
Для такого “сложного” факта (см. также Определение 1) Фi (i - порядковый номер имени данного di, входящего в факт, во множестве всех данных) с использованием приведенной таблицы нетрудно построить область истинности Т(Ф^ и область ложности F^i), в которых этот факт истинен или ложен:
Т(Ф0 ::= {mj е Mi : Р(ФЬ m) = true}, (5)
F^i) ::= {mk е Mi : Р(ФЬ mk) = false}, (6)
где: Mi - множество (список) значений данного;
Р(Ф^ mk) - предикат “факт истинен при значении данного, равном mk”.
Очевидно, при детерминированной обработке информации
Т(Ф0 u F^i) = Mi.
Обозначим множество всевозможных исходных ситуаций как Q. Понятие “ситуация” соответствует понятию текущего состояния базы данных ССМ.
Согласно Определению 1 ситуация представляет собой множество связанных фактов о значениях различных переменных, поэтому в дальнейшем будем обращаться с нею как с множеством, используя операции объединения u, пересечения п, разности \ и отношение включения z>.
Обозначим через var(q) множество имен переменных, входящих в ситуацию q, а через type(q) = {тип (x) | x е var(q)} - множество типов переменных, входящих в факты ситуации q.
Введем также понятие подстановки:
0 ::= {ti / V1, t2 / V2 , ... , tm / Vm}, (7)
где ti - термы, vi - переменные, тип(^) = тип(vi), i = 1, m. Запись q0 означает результат одновременной замены каждого вхождения переменной vi в q на соответствующий терм ti. Поскольку по Определению 1 имена данных в исходной ситуации не повторяются, фактически в ССМ любое данное входит в ситуацию один раз.
Очевидно, относительно терминальных фактов в заданной алгебраической системе всегда можно говорить, истинны они или ложны. Все истинные терминальные факты опускаются на следующем шаге вывода, так они моделируют тавтологии. Если при подстановке появляется ложный терминальный факт, то считается, что подстановка неприменима к заданной ситуации.
Определим основные операции преобразования ситуации, к которым относятся исключение и добавление фактов (эти операции являются частным случаем операций, введенных в работе [8]). Для фиксированного q' е Q:
а) операция исключения: E[q'] : Q ^ Q
E[q'](q) ::= q \ {q'};
б) операция добавления: ^[q'] : Q ^ Q ^[q'](q) ::= q u {q'}.
Зададим множество программ R преобразования ситуаций следующим образом. Во-первых, будем считать элементами R программы ^[q'], E[q'] при любых q' е Q, во-вторых, если две программы r1, r2 е R, то программа (r1; r2), определенная посредством равенства (r1; r2)(q) ::= r2(r1(q)) для Vq е Q, есть также элемент R.
Для любого r е R введем множество in(r) переменных, добавляемых программой r, и множество out(r) переменных, исключаемых r, по следующим правилам: Vq е Q
а) out(4[q']) = 0, rn(4[q']) = var(q');
б) out(E[q']) = var(q'), in(E[q']) = 0;
в) out((r1; r2)) = out(r1) u out(r2), in(r1; r2) = in(r1) u in(r2).
Определение 2. Программу r+ , содержащую только операции типа ^[q'] Vq' е Q, назовем позитивной. Заметим, что out(r+) = 0 и, если q2 = r+(q1), то q2 ^ q1.
Через r0, где 0 = {t1/x1,... ,tm/xm} - произвольная подстановка, обозначим программу r, во всех операциях которой аргументы - переменные xi заменены на сопоставленные им
в 0 термы ti, i = 1, m .
Определение 3. Продукция есть пара (q, r), в которой q - ситуация, называемая условием применимости продукции, r - программа, r е R, называемая действием, причем q и r связаны соотношением var(q) ^ out(r). 38
38
Определение 4. Система продукций (СП) - это конечное множество пар Pr = {(q, г)}. Будем говорить, что q2 непосредственно выводима из q1 посредством продукции
pr = (q, r), (q1 —q2), если найдется такая подстановка 9, что q1 ^ q9, а q2 = r9 (q9) u (q1 \ q9).
Если существует последовательность продукций pr1, pr2, ..., prk, pri e Pr, i = 1,k, k > 0, и состояний базы данных qo, qi, ..., qk, таких, что qo-> qi ->...----> qk, то qk выводимо
из qo. Это обозначается как qo -> qk или qo —pri^... ———>qk, а pr1, pr2, ..., prk называется
последовательностью применимых к qo продукций.
Если qo ------> qk и Vpr e Pr (qk ——^ q' ^ q' = qk), то qk именуется результирующей
ситуацией для исходной ситуации qo.
Результирующая ситуация зависит в общем случае от выбора подстановки и порядка применения продукций, то есть неоднозначна. Для СП, результат конъюнктивного вывода в которых однозначен, разработаны эффективные методы поиска решений (каким, например, является использование смешанных вычислений в реляционной модели). Поэтому в такой модели СП актуальна задача выделения подклассов, в которых результирующая ситуация однозначна.
Нетрудно убедиться, что на каждой итерации вычислительного эксперимента предложения вычислимости КМПО и набор правил встроенной экспертной системы (ЭС) ССМ в совокупности образуют систему продукций с позитивными программами, поскольку в процессе вывода происходит лишь добавление фактов в базу фактов ЭС.
Принятый в ССМ списковый формат данных позволяет конкретизировать и упростить изложенные процедуры обработки ситуаций, а также организовать дополнительный контроль вывода за счет анализа текущего состояния областей истинности и ложности данных, определяемых аналогично областям истинности и ложности фактов (5), (6). Для этого введем несколько определений.
Определение 5. Множество истинности данного di - подмножество его допустимых значений, за которое свидетельствуют все сработавшие до текущего момента продукции:
T(di) :: = П Т(Фт) ,
n
где n - номера сработавших (примененных в подстановках (7) продукций, содержащих следствия, в которые входит i-тое данное.
Определение 6. Множество ложности данного di F(di) есть подмножество его допустимых значений, которые не являются истинными на текущий момент и не могут стать истинными в ходе дальнейшего вывода.
Определение 7. Множеством потенциально возможных значений данного di P*(di) назовем подмножество его допустимых значений, которые могут стать истинными в ходе дальнейшего вывода.
Очевидно, в это множество входят все допустимые значения данного из областей истинности следствий еще не сработавших продукций:
P*(di) :: = UТ(Ф1т) ,
т
где т - номера еще не сработавших продукций, содержащих следствия, в которые входит i-тое данное.
Определение 8. Множеством потенциально истинных значений данного di P*(di) назовем подмножество его допустимых значений, за которые свидетельствуют все еще не сработавшие на текущий момент продукции:
T*(di) ::=ПТ(Фт) . (8)
m
Нетрудно видеть, что при использовании детерминированного механизма вывода условия, при выполнении которых гарантируется отсутствие конфликта при выводе, имеют вид (см. рисунок):
F(di) = T(d“) ::= Mi\T(di),
T*(di) c T(di) c P*(di),
причем в начале вывода выполняются соотношения:
P*(di) = Mi, (9) 39
39
T(di) = F(di) = 0. (10)
Контроль выполнения условия (9) входит в контроль адекватности базы знаний (БЗ) ССМ.
Конфликт при детерминированном выводе констатируется, если на каком-либо шаге вывода стало пустым множество истинности данного, которое не было пустым до этого:
ОД = 0.
Продолжение детерминированного вывода нецелесообразно, когда для целевого данного имеет место соотношение:
ОД ::= ОД п РОД = 0, (11)
то есть еще не сработавшие правила не могут сузить область истинности целевого данного.
Порядок преобразования определенных выше множеств при детерминированном выводе формулируется следующим образом. При доказательстве истинности некоторого продукционного правила Пп принятого в ССМ формата для каждого данного di, входящего в часть ТО этого правила:
- область истинности перевычисляется по формуле:
T(di) := T(di) п Т(Фт),
- из множества P*(di) исключаются те значения данного, входящие в Т(Фь), за которые не свидетельствует ни одно из еще не сработавших продукционных правил;
- перевычисляется множество (8) без учета сработавшей продукции.
Такие же преобразования производятся при доказательстве ложности некоторого продукционного правила для всех данных, входящих в часть ИНАЧЕ этого правила.
Множества (8) непосредственно не используются в ходе вывода, но могут служить обобщенным показателем шансов на получение результата: если для целевого данного в ходе вывода выполняется соотношение (8) либо в начале вывода множество (8) пусто, а в процессе вывода в нем появляются значения данного, то ход вывода можно считать успешным.
Следующее определение имеет смысл только для вероятностного механизма вывода (или другого механизма, допускающего наличие неоднозначности свидетельств).
Определение 9. Множеством возможных значений данного di P(di) называется подмножество его допустимых значений, за которые были факты в ходе вывода:
P(di) :: = UТ(Фт) . (12)
n
При доказательстве истинности или ложности некоторого продукционного правила Пп множества (12) для данных, входящих в истинные следствия этого правила, перевычисляются по формуле:
P(di) := P(di) и Т(Фт),
К начальным условиям (9), (10) при вероятностном выводе добавляется условие P(di) = 0.
Расположение введенных множеств относительно всего множества Mi ::= {mk}, k = 1, ni допустимых значений данного di иллюстрируется рисунком, из которого можно заключить, что множество ложности данного при вероятностном выводе задается формулой:
F(di) = P(d;) и P*(d;) .
Аналогичный (11) индикатор нецелесообразности продолжения вывода при вероятностном выводе можно предложить в виде:
(ТОД = 0) л (P(di) п РОД = 0), (13)
а индикатором неопределенности “мнения” БЗ о значениях некоторого данного может служить соотношение:
(ТОД = 0) Л (T(di) = 0), (14)
Выполнение двух условий (13) и (14) одновременно для целевого данного дает достаточное обоснование для прекращения вывода ввиду его неуспешности.
Процедуры формирования перечисленных подмножеств значений данных в ССМ не требуют больших машинных ресурсов из-за принятого формата хранения правил (каждое предусловие хранится в отдельной записи БД) и использования специальных индексов ЭС. 40
40
п
P(di)
Н ^Т(Фц) е
н н ы е -<
п
V
ц
и
и
_1_
T(Фin)
_1_
_L
P*(di)
Л
>
J
н
е
п
Р
м
е
н
е
н
н
ы
е
п
д
у
ци
и
Mi
m1 m2 m3 m4
Рис. Использование подмножеств значений данного при контроле вывода
mn,-i mni
Описанные выше теоретико-множественные индикаторы хода вывода носят эмпирический и эвристический характер, но находятся в рамках распространенных тенденций поиска интегральных оценок успешности процедур вывода по критериям “здравого смысла”, к которым можно отнести, например, коэффициенты уверенности, расчет мер доверия и недоверия к гипотезам c учетом использованных и еще не использованных свидетельств, идеи ДСМ-метода и т.п. Эмпирические подходы неплохо зарекомендовали себя в прикладных системах искусственного интеллекта и заслуживают внимания, по крайней мере, до появления аксиоматической теории систем, основанных на знаниях, к которым можно отнести и ССМ. В последней указанные индикаторы используются в режиме проведения имитации для предупреждения пользователя, который должен принять решение о прекращении или продолжении вывода. В режиме обучения системы данные индикаторы применяются также для оценки эффективности управления логическим выводом.
Выводы
Представленные в работе правила обработки продукций и эмпирические индикаторы хода логического вывода в гибких дискретных системах позволяют оценить успешность продвижения к цели вывода и принять решение о его прекращении или продолжении.
ЛИТЕРАТУРА
1. Закревский А.Д. Решение больших систем логических уравнений. Минск: ОИПИ НАН Беларуси, 2009.
2. Ganter B., Wille R. Formal Concept Analysis / B. Ganter, R. Wille // Mathematical Foundations. Berlin: Springer, 1999.
3. Кулик Б.А. Алгебраический подход к интеллектуальной обработке данных и знаний / Б.А. Кулик, А.А. Зуенко, А.Я. Фридман. СПб.: Изд-во Политехн. ун-та, 2010. 4. Фридман А.Я. Ситуационное моделирование природнотехнических комплексов / А.Я. Фридман, О.В. Фридман, А.А. Зуенко. СПб.: Изд-во Политехн. ун-та, 2010. 5. Перовская Е.И. Основы гибкой автоматизации. Л.: ЛИАП, 1986. 6. Фридман О.В. Ситуационное моделирование сложных природно-технических объектов с учетом аспектов безопасности / О.В. Фридман, А.Я. Фридман // Вестник КНЦ РАН. 2013. Вып. 3. С. 71-79. 7. Цаленко М.Ш. Моделирование семантики в базах данных. М.: Наука, 1989. 8. Вальковский В.А. Семантика манипуляций с базой данных интеллектуальных систем // НТИ. 1984. Сер. 2, № 3. С. 14-19.
Сведения об авторах:
Фридман Александр Яковлевич - д.т.н., профессор, в.н.с. ИИММ КНЦ РАН; e-mail: fridman@iimm. kolasc.net.ru 41
41