Вестник Кольского научного центра РАН. 2014, №1.
Для такого “сложного” факта (см. также Определение 1) Ф; (i - порядковый номер имени данного di, входящего в факт, во множестве всех данных) с использованием приведенной таблицы нетрудно построить область истинности Т(Ф;) и область ложности F ^ ^ , в которых этот факт истинен или ложен: Т(Ф;) ::= {mj е Mi : P ^ i , m ) = true}, (5) F(Ф;) ::= {mk е Mi : P ^ i , mk) = false}, (6) где: M; - множество (список) значений данного; P ^ , mk) - предикат “факт истинен при значении данного, равном mk”. Очевидно, при детерминированной обработке информации Т(Ф;) U F(Ф;) = Mi. Обозначим множество всевозможных исходных ситуаций как Q. Понятие “ситуация” соответствует понятию текущего состояния базы данных ССМ. Согласно Определению 1 ситуация представляет собой множество связанных фактов о значениях различных переменных, поэтому в дальнейшем будем обращаться с нею как с множеством, используя операции объединения и , пересечения п , разности \ и отношение включения з . Обозначим через var(q) множество имен переменных, входящих в ситуацию q, а через type(q) = {тип (x) | x е var(q)} - множество типов переменных, входящих в факты ситуации q. Введем также понятие подстановки: Ѳ ::= {t 1 / v 1 , t 2 / v 2 , ... , tm/ vm}, (7) где ti - термы, v ; - переменные, тип(t;) = тип(^), i = 1, m. Запись qѲ означает результат одновременной замены каждого вхождения переменной vi в q на соответствующий терм ti. Поскольку по Определению 1 имена данных в исходной ситуации не повторяются, фактически в ССМ любое данное входит в ситуацию один раз. Очевидно, относительно терминальных фактов в заданной алгебраической системе всегда можно говорить, истинны они или ложны. Все истинные терминальные факты опускаются на следующем шаге вывода, так они моделируют тавтологии. Если при подстановке появляется ложный терминальный факт, то считается, что подстановка неприменима к заданной ситуации. Определим основные операции преобразования ситуации, к которым относятся исключение и добавление фактов (эти операции являются частным случаем операций, введенных в работе [8]). Для фиксированного q' е Q: а) операция исключения: E[q'] : Q ^ Q E[q'](q) ::= q \ {q'}; б) операция добавления: A[q'] : Q ^ Q A[q'](q) ::= q U {q'}. Зададим множество программ R преобразования ситуаций следующим образом. Во-первых, будем считать элементами R программы A [q'], E [q'] при любых q' е Q, во-вторых, если две программы r 1 , r 2 е R, то программа (r 1 ; r 2 ), определенная посредством равенства (ri; r2)(q) ::= r2(ri(q)) для Vq е Q, есть также элемент R. Для любого r е R введем множество in(r) переменных, добавляемых программой r, и множество out(r) переменных, исключаемых r, по следующим правилам: Vq е Q а) out(A[q']) = 0 , in(A[q']) = var(q'); б) out(E[q']) = var(q'), in(E[q']) = 0 ; в) out((r 1 ; r 2 )) = out(r 1 ) U out(r 2 ), in(r 1 ; r 2 ) = in(r 1 ) и in(r 2 ). Определение 2. Программу r+ , содержащую только операции типа A[q'] Vq' е Q, назовем позитивной. Заметим, что out(r+) = 0 и, если q2= r+(q1), то q2 з q1. Через г Ѳ, где Ѳ = {t1/x1,... ,tm/xm} - произвольная подстановка, обозначим программу r, во всех операциях которой аргументы - переменные xi заменены на сопоставленные им в Ѳтермы ti, i = 1, m . Определение 3. Продукция есть пара (q, r), в которой q - ситуация, называемая условием применимости продукции, r - программа, r е R, называемая действием, причем q и r связаны соотношением var(q) з out(r). 38
Made with FlippingBook
RkJQdWJsaXNoZXIy MTUzNzYz