Продукционно-логические уравнения на полных решетках

Продукционно-логические уравнения на полных решетках

С. Д. Махортов

Воронежский государственный университет, 394006, Воронеж, Россия

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

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

The algebraic system modeling production-logical binary relations on a complete lattice is considered. The existence of a logical closure of the Noether relation is proved, which makes it possible to define the notion of equivalent relation. The theorem on equivalent transformations of the initial relation is proved. It substantiates formal transformations of production-type knowledge bases with infinite rules. A new class of logical equations is introduced, for which the solvability is proved and the solution method is verified. The given model provides a basis for computerized verification of knowledge bases, as well as for speeding up of backward production-logical inference.

Keywords: production system, algebraic model, logical equation, knowledge management, backward inference.

Введение. Математической основой для моделирования логических систем является общая алгебраическая логика [1]. Однако в силу универсальности она не решает ряда важных частных задач, связанных с широко распространенными на практике логическими системами продукционного типа.

В работе [2] введен новый класс алгебраических структур, моделирующих продукционно-логические системы на основе теории решеток. Впоследствии эти структуры были названы LP-структурами (Lattice-Production Structure). Применение этих структур позволяет теоретически обосновывать и автоматизировать формальные преобразования и минимизацию баз знаний продукционного типа.

В работе [3] исследован связанный с LP-структурами класс реляционных уравнений - логические уравнения на решетках. Рассмотрены вопросы разрешимости и обоснован способ решения таких уравнений, что в применении к моделируемым системам соответствует решению задачи обратного вывода. На основе этих уравнений могут также решаться задачи верификации. Предложенная концепция продукционно-логического вывода на основе логических уравнений направлена на минимизацию количества медленных запросов к базе данных или пользователю. Запросы будут отправляться только для необходимых при выводе элементов множества фактов. Отрицательный ответ на единственный запрос исключит все последующие запросы об элементах целого множества. Данный способ не пересекается с известными методами быстрого вывода, а лишь дополняет их.

В исследованиях, результаты которых представлены в работах [2, 3], выдвигалось существенное условие о конечности объединений в LP-структуре. Однако теоретически возможны продукционные системы с бесконечными предпосылками и заключениями в правилах. Такие системы могут быть описаны, например, продукциями с использованием в них переменных [4], формально имеющих бесконечные области определения.

В настоящей работе вводится класс уравнений, соответствующий LP-структурам на полных решетках. Целью работы является исследование разрешимости и разработка метода решения таких уравнений. Полные решетки допускают бесконечно-местные операции объединения. Таким образом, появляется возможность автоматизированного решения задач верификации и быстрого обратного вывода для баз знаний с формально бесконечными правилами.

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

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

1. ¿Р-структуры на полной решетке. Определим ЬР-структуру на полной решетке. Введем бинарные отношения, содержащие семантику продукционно-логического вывода со свойством нетеровости (транзитивной завершаемости). Дадим определения некоторых известных понятий из общей теории.

Бинарное отношение Я на произвольном множестве Р называется

- рефлексивным, если для любого а е Р справедливо (а, а) е Я ;

- транзитивным, если для любых а, Ь, с е Р из (а, Ь), (Ь, с) е Я следует (а, с) е Я .

Как известно [5], существует замыкание Я произвольного отношения Я относительно свойств рефлексивности и транзитивности (рефлексивно-транзитивное замыкание).

Обратная задача - нахождение транзитивной редукции - заключается в том, что по данному Я ищется

минимальное отношение Я , такое что его транзитивное замыкание совпадает с транзитивным замыканием Я . Как правило, для частично упорядоченных множеств различаются понятия минимального элемента (для которого не существует меньшего элемента) и наименьшего элемента (который меньше всех элементов). В [5] приведен алгоритм построения транзитивной редукции ориентированных графов. Показано, что данная задача вычислительно эквивалентна построению транзитивного замыкания.

Необходимые сведения о решетках содержатся в работе [6]. Решеткой Е называется множество с частичным порядком < ("не больше", "содержится"), на котором для любой пары элементов определены операции Л ("пересечение") и V ("объединение"). Элемент а Л Ь - точная нижняя, а V Ь - точная верхняя грани элементов а, Ь е Е относительно порядка <. Решетка Е называется

- ограниченной, если она содержит общие нижнюю и верхнюю грани, т. е. такие два элемента О, I, что О < а < I для любого а е Е ;

- полной, если каждое ее подмножество имеет в Е точные нижнюю и верхнюю грани.

В полной решетке для любого подмножества элементов (конечного или бесконечного) можно определить многоместные пересечение и объединение. Стандартная продукционная система с бесконечными правилами моделируется на основе полной решетки - булеана Е = 2х . Поэтому для операций на решетке вместо обычных знаков <, > и V будем использовать обозначения теории множеств ^, 3 и и .

Точкой ограниченной (снизу) решетки Е называется минимальный элемент ее подмножества Е \ О . Как правило, точки будем обозначать маленькими буквами. Решетка называется точечной, если каждый ее элемент является объединением точек. Например, в булеане точками являются все подмножества, состоящие ровно из одного элемента универсума. Таким образом, булеан является полной точечной решеткой. Для точки а элемента А будем также использовать обозначение а е А (наряду с а А).

Определение 1.1. Бинарное отношение Я на полной решетке Е назовем вполне и -дистрибутивным (в данной работе - просто дистрибутивным), если для любого подмножества элементов решетки {Вг | г е Т},

такого что (А, Вг) е Я, У г е Т, справедливо (А, и Д ) е Я .

геТ

Очевидно, что определяющее решетку отношение 3 является дистрибутивным.

При исследовании отношений в работе [2] использовалось понятие логической связи пары элементов А, В е Е на основе некоторого бинарного отношения Я (обозначается А —Я—> В). Такая связь осуществлялась логической цепочкой ГАВ конечной длины с матрицей вывода, имеющей конечные размеры. В данной работе определение 1.1 (при дальнейших построениях, аналогичных построениям [2]) формально допускает бесконечные столбцы и, более того, несчетные множества взамен столбцов матрицы. Однако будем рассматривать лишь логические цепочки конечной длины, поскольку они соответствуют реальным практическим задачам и могут быть реализованы программными средствами.

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

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

Определение 1.2. Пусть задано бинарное отношение Я на полной решетке Е и выбраны два элемента А, В е Е. Пусть также существует некоторое (конечное или бесконечное) множество пар {(Ар, Вр ) | р е Р} ,

где для любого р справедливо Ар = Вр либо (Ар, Вр ) е Я. Если при этом А 3 Ар, р е Р и У Вр 3 В,

реР

то будем считать, что упорядоченная пара элементов (А, В) дистрибутивно связана отношением Я .

Замечание 1.1. Пусть дано произвольное отношение Я на полной решетке и имеется такое множество пар {(Аг, Вг) | г е Т}, что каждая из них дистрибутивно связана отношением Я на основе множества

{(А'р, В'р ) | р е Р }. Тогда пара (А, В) = (У А(, У Вг) дистрибутивно связана отношением Я на основе

геТ геТ

множества {(А, Вр ) | р е Р, г е Т} . Это следует из определения 1.2 и элементарных свойств операций объединения на полной решетке [6].

Определение 1.3. Пусть Я - произвольное отношение на полной решетке Е и выбраны два элемента А,В е Е. Пусть также существует упорядоченный конечный набор элементов ГАВ = (В1,...,Вт),

В1,...,Вт е Е, такой что в последовательности (В0,В1),(В1,В2),...,(Вт,Вт+1), где В0 = А,Вт+1 = В, каждая пара дистрибутивно связана Я (в случае т = 0 это сама пара (А, В)). Тогда указанный набор ГАВ будем называть логической цепочкой (длины т ), соединяющей А и В . При этом пару (А, В) будем называть логически связанной отношением Я и обозначать А —Я—> В .

Совокупность пар элементов полной решетки Е, участвующих в определении логической цепочки ГАВ = (В1,..., Вт ), можно записать в виде специального вектора вывода:

VAB = ({(Ад,1, ВйЛ)},...,{( А

рт+1, т+1, В рт+1, т+1 )}),

где каждый элемент с номером к (1 < к < т +1) представляет собой множество пар {(Ар1к, Влк )| рк е Рк }, осуществляющее дистрибутивную связь пары (Вк_1, Вк ) в цепочке ГАВ. Согласно определению 1.2 при всех 1 < к < т +1 справедливы следующие соотношения:

Вк_1 3 Алл

рк еРк

Замечание 1.2. Не ограничивая общности, можно считать, что каждый элемент вектора вывода содержит по крайней мере одну неподчиненную пару (отличную от пары вида Ар к 3 В к), так как в противном случае соответствующее множество (элемент) можно удалить из вектора, не нарушив условий вида (1.2), (1.3).

Замечание 1.3. Нетрудно заметить, что при заданном векторе \АВ вместо элементов Вк_1 логической

цепочки, соединяющей (А, В), можно выбрать Вк_1 = У Ар к (1 < к < т +1). Тогда при к = 1 вместо

рк еРк

А можно получить меньший исходный элемент В0 ^ А .

Определение 1.4. Вектор вывода VАВ называется каноническим, если он удовлетворяет замечанию 1.2, а также содержит нерефлексивные пары лишь с уникальными правыми частями, причем правая часть любой

пары элемента вектора с номером к не содержится в правых частях других пар в элементах вектора с номерами 1,...,к.

Можно показать, что для любой связи А —-—> В существует канонический вектор вывода. Бинарное отношение на полной решетке называется нетеровым, если оно не порождает канонического вектора вывода неограниченной длины.

Теперь можно дать определение продукционно-логических отношений на полной решетке, что завершит формирование соответствующей ¿Р-структуры.

Определение 1.5. Отношение на полной решетке называется продукционно-логическим (в рамках данной работы - просто логическим), если оно нетерово, а также содержит 3, дистрибутивно и транзитивно.

2. Некоторые свойства логических цепочек. Рассмотрим ряд операций над логическими цепочками и их свойства.

Пусть дано нетерово отношение — на полной решетке Е и выбраны элементы А, В, С е Е . Пусть также существуют цепочки гАВ и гВС, логически соединяющие отношением — соответственно пары (А, В) и (В, С) . Цепочка гАС = гАВгВС , составленная последовательно из гАВВгВС , называется транзитивным объединением цепочек гАВ и гВС .

Замечание 2.1. Очевидно, что гАС = гАВгВС является логической цепочкой, реализующей связь

А-> С . Таким образом, если имеют место А-> В и В —— С , то справедливо и А-> С .

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

Лемма 2.1. Пусть — - нетерово отношение на полной решетке Е и имеется множество пар {(Аг, Вг) | г е Т}, каждая из которых логически связана отношением — . Тогда существует логическая

связь

геТ

и А —— и В,.

геТ геТ

Доказательство. Для каждой связи Аг ———> В( соответствующую ей логическую цепочку обозначим ГАВ = (В[,...,В'т ) . Не ограничивая общности, можно считать, что все цепочки г^В реализуются каноническими векторами вывода. Рассмотрим цепочку г = (иВ/,иВ'2,...,иВ'т , . ), составленную из соот-

геТ геТ геТ

ветствующих по номерам компонент цепочек г^В . При этом более короткие цепочки гА В продолжим их последним элементом.

Покажем, что при нетеровом отношении — цепочка г конечна. Для этого будем строить цепочку г последовательно слева направо, одновременно формируя ее канонический вектор вывода V . Очередную компоненту V получим как объединение соответствующих компонент векторов вывода цепочек г^В . Легко

проверить, что при этом условия (1.2), (1.3) для V окажутся выполненными. После добавления к вектору V каждой компоненты будем производить его "чистку", для того чтобы он оставался каноническим. В силу нетеровости отношения — процесс увеличения длины вектора V когда-либо завершится. Соответственно прекратится и процесс формирования цепочки г. Это может произойти в одном из следующих случаев:

завершатся все цепочки гА В либо в цепочке г перестанут появляться элементы решетки Вк = и В'к , не

Вг

геТ

содержащиеся в ее предыдущих элементах.

Таким образом, полученная конечная цепочка г осуществляет логическую связь и А ———> и В( .

из

Пусть Я - нетерово отношение на полной решетке Е и дано множество пар {(Лг, Вг) | г е Т}, каждая которых логически связана отношением Я на основе цепочки ГЛ^ = (В1,..., В'т ). Суммой цепочек ^ ГЛВ называется цепочка ГЛВ = (У В^, У В^,..., У В'м ) , конечная в силу леммы 2.1.

геТ геТ геТ геТ

Замечание 2.2. Из леммы 2.1 следует, что сумма ^ гЛВ является логической цепочкой, реализующей

геТ

связь У Л, —— У В, .

геТ геТ

Пусть Я - нетерово отношение на полной решетке Е и даны логические цепочки ГЛВ = (В1г,...,В' ), г е Т, соответствующие связям Л —Я—> В(, г е Т. Дистрибутивным объединением цепочек {гЛВ } называется цепочка ГЛу В = ^ ГЛВг .

^ г геТ

Замечание 2.3. Поскольку дистрибутивное объединение является частным случаем суммы, то ГЛ^В является логической цепочкой, реализующей логическую связь Л —Я—> У В(. Таким образом, из

геТ

Л —— В{, г е Т следует Л —— У В(.

геТ

В дальнейшем потребуется следующая лемма.

Лемма 2.2. Пусть Я - нетерово отношение, заданное на полной решетке, и для некоторой пары элементов (Л, В) существует множество логически связанных пар {(Лг, Вг )| г е Т}, такое что

Л 3 Лг, г е Т и У В( 3 В. Тогда имеет место связь Л —Я—> В .

геТ

Доказательство. Пусть гг - логическая цепочка, связывающая пару (Л(, ), г е Т . Обозначим Л = У Лг и В = У В( . Тогда согласно замечанию 2.2, цепочка г = гг логически связывает пару

геТ геТ геТ

(Л, В) в Я . Отсюда в силу вложений Л 3 Л и В 3 В следует, что пара (Л, В) логически связана цепочкой, составленной последовательно из Л, г, В . П

3. О логическом замыкании. Логическим замыканием нетерового отношения Я называется наименьшее логическое отношение, содержащее Я . Из данных в п. 1 определений следует, что частичный порядок 3 на полной решетке является наименьшим логическим отношением. Заметим, что все канонические векторы вывода для отношения 3 имеют длину, равную единице. Для решения вопроса о существовании логического замыкания сначала рассмотрим структуру логических отношений на полной решетке.

Лемма 3.1. Если Я - продукционно-логическое отношение на полной решетке и пара (Л, В) дистрибутивно связана отношением Я, то (Л, В) е Я .

Доказательство. Поскольку логическое отношение Я содержит 3, то из определения 1.2 следует (Л, Лр ) е Я при всех р е Р . Учитывая, что Я рефлексивно, из определения 1.2 имеем (Лр, Вр ) е Я

при каждом р е Р . Отсюда из свойства транзитивности Я вытекает (Л, Вр ) е Я. Далее, используя дистрибутивность отношения Я , получаем (Л, У Вр) е Я. Наконец, в силу транзитивности Я получаем

реР

(Л, В) е Я.

Лемма 3.2. Если Я - логическое отношение на полной решетке и пара (А, В) логически связана отношением Я, то (А, В) е Я.

Доказательство. Данное утверждение автоматически следует из определения 1.3, леммы 3.1 и транзитивности логического отношения Я . П

Перейдем к доказательству существования логического замыкания.

Теорема 3.1. Для нетерового отношения Я на полной решетке Е логическое замыкание существует и представляет собой множество —Я—> всех упорядоченных пар А, В е Е, логически связанных отношением Я.

Доказательство. Очевидно, что если А з В либо (А, В) е Я, то пара (А, В) дистрибутивно связана

отношением Я (на основе множества пар {(А, В)}). Это означает, что отношение —Я—> содержит з и Я . Из замечания 2.3 следует его дистрибутивность, а из замечания 2.1 - транзитивность. Таким образом, отношение —Я—> является логическим. Покажем, что отношение является наименьшим логическим отношением для Я . Пусть Я1 - любое другое логическое отношение, содержащее Я . Пусть также А —Я—> В . Тогда из Я Я1 следует А —Я—>В . Отсюда по лемме 3.2 получаем, что (А,В) е Я1. Следовательно, ——Я1.

Таким образом, показано, что для нетерового отношения на полной решетке существует логическое замыкание. Это позволяет ввести понятие эквивалентных отношений. Два нетеровых отношения Я1 и Я2, заданные на общей полной решетке, будем называть логически эквивалентными (или просто эквивалентными), если их логические замыкания совпадают. Введем для этого обозначение Я1 ^ Я2.

Теорема 3.2. Пусть Я1, Я2, Я3, Я4 - нетеровы отношения на полной решетке. Если при этом Я1 ~ Я2

и я3 ~ я4 , то я1 и я3 ~ я2 и Я4.

Доказательство. Согласно теореме 3.1 достаточно доказать равенство ——^—> = —Я2 и——>. Пусть А ——^—^ В . Тогда существует цепочка ГАВ = (В1,..., Вт ), логически соединяющая (А, В) посредством отношения Я1 и Я3. Для произвольного к (1 < к < т +1) рассмотрим пару (Вк_1, Вк ) (для единообразия полагаем В0 = А, Вт+1 = В). По определению логической цепочки данная пара дистрибутивно связана отношением Я1 и Я3. Это означает (определение 1.2), что существует множество пар {(Акр, Вр ), р е Р}, таких что Ар = Вр либо (Ар, Вр ) е Я1 и Я3, причем Вк-1 з Ар, р е Р и и Вр з Вк.

реР

Если Ар = Вр, то пара (Ар, Вр) логически связана любым отношением Я. Пусть (Ар, Вр ) е Я1 и Я3. Предположим для определенности, что эта пара принадлежит Я1. Отсюда по условию теоремы (Я1  Я2) имеем Ар ———> В^ . Таким образом, все пары (Ар, В^ ) логически связаны отношением Я2 и Я4. По лемме 2.2 получаем, что и пара (Вк_1, Вк) логически связана отношением Я2 и Я4. По-

1 я2 ия4 ч скольку к является произвольным, то в силу транзитивности отношения -——:—> приходим к выводу,

что и пара (А, В) логически связана отношением Я2 иЯ4, т. е. А —и— > В.

Таким образом, доказано включение ———^ ^ —Я2 иЯ4—>. Обратное включение доказывается аналогично.

Следствие 3.1. Пусть Я1, Я2, Я - нетеровы отношения на полной решетке. Если при этом Я1 ~ Я2, то

я1 и я ~ я2 и я .

Теорема 3.2 и следствие 3.1 обосновывают принцип локальности эквивалентных преобразований нетеро-вых отношений на полной решетке, который состоит в том, что, заменив некоторую часть данного отношения на эквивалентную, можно получить общее эквивалентное отношение. Рассмотрим важный частный случай преобразования ¿Р-структуры.

Теорема 3.3. Пусть Я - нетерово отношение на полной решетке Е. Пусть также

{(А{, В() е Я, , е Т}, причем при каждом , е Т справедливо В( = и Вр - конечное или бесконечное

р, еР

объединение элементов Вр е Е (р е Р(, , е Т). Тогда отношение Я', полученное из Я заменой пар {(А{, В{) е Я, , е Т} совокупностью всех пар {(А1, Вр ), р е Р, , е Т}, эквивалентно Я .

Доказательство. Введем обозначения Я1 = {(А,, В,), , е Т}, Я = {(А,, Вр ), р е Р, , е Т} и Я = Я \ Я1. Таким образом, Я = Я и Я1; Я' = Я и Я2. Рассмотрим логические замыкания —Я—> и ———> отношений Я1, Я2 соответственно. Поскольку по определению —Я—> содержит отношение з, то в силу В( з Вр, р е Р, , е Т и своей транзитивности оно включает также Я2. Это означает, что Я2 3 —Я—> , откуда по свойству замыкания следует ———> 3 —Я—>. С другой стороны, вследствие дистрибутивности отношение ———> включает Я1, что влечет обратное вложение —Я—> 3 —Я—>. Таким образом, —Я—> = —Я—>, т. е. отношения Я1, Я эквивалентны. Применяя теперь к Я1, Я2, Я

следствие 3.1, получим, что Я ~ Я'.

В качестве применения теоремы 3.3 рассмотрим частный случай, а именно приведение отношения к каноническому виду. Отношение Я на полной точечной решетке Е будем называть каноническим, если оно задано множеством пар вида (А, а) , где А е Е , а - точка в Е. Согласно теореме 3.3 для любого нетеро-вого отношения на полной точечной решетке существует эквивалентное ему каноническое отношение.

4. Логические уравнения на полных решетках. Пусть дано нетерово отношение Я на полной решетке Е и имеет место А —Я—> В . Тогда в рамках общей теории отношений В называется образом А , а А -прообразом В при отношении —Я—— . Поскольку в общем случае отношение представляет собой произвольное соответствие, то каждый элемент из Е может иметь много образов и прообразов. В рассматриваемом случае в силу определения логического отношения любой В1 3 В является образом А и каждый

А1 3 А является прообразом В . Поэтому при изучении образов и прообразов логических отношений необходимо уточнение рассматриваемых понятий.

Определение 4.1. Для данного В е Е минимальным прообразом при отношении —Я—> называется такой элемент А е Е , что А —Я—> В и А является минимальным, т. е. не содержит другого элемента А1 е Е , для которого А1 —Я—> В .

В контексте определения 4.1 будем использовать обозначение Я(А) = В.

Далее рассмотрим лишь полные точечные решетки и нетеровы отношения.

Точка X решетки Е называется начальной при отношении Я , если в Я нет ни одной пары (А, В), в которой X содержится в В и не содержится в А . Элемент X точечной решетки Е называется начальным, если все его точки являются начальными (при отношении Я). Подмножество Е0(Я) (будем обозначать Е0, если это не вызовет неоднозначностей) точечной решетки Е, состоящее из всех начальных элементов Е, называется начальным множеством решетки Е (при отношении Я).

Рассмотрим уравнение

Я

где В е Е - заданный элемент; X е Е - неизвестный элемент.

Частным решением уравнения (4.1) называется любой минимальный прообраз элемента В, содержащийся в Е0. Приближенным частным решением уравнения (4.1) называется любой прообраз элемента В ,

содержащийся в Е0. Очевидно, что точное решение является и приближенным. В полной решетке приближенное решение всегда содержит хотя бы одно точное решение. Общим решением уравнения (4.1) называется совокупность всех его частных решений {X5}, 5 е $ .

Уравнения вида (4.1) будем называть продукционно-логическими (в рамках данной работы - просто логическими) уравнениями на полных решетках. Рассмотрим вопрос о возможности "расщепления" уравнения (4.1) на некоторое множество уравнений с более простыми правыми частями.

Лемма 4.1. Пусть X - частное решение уравнения вида (4.1) с правой частью Вр, р е Р. Тогда элемент У X является приближенным решением уравнения

р

реР

Я

реР

Доказательство. При сформулированном условии непосредственно из леммы 2.1 следует логическая связь У Xр —Я—> У Вр , что означает справедливость доказываемого утверждения. П

реР реР

Теорема 4.1. Пусть дано отношение Я на полной решетке Е. Пусть также {Xsp , 5р е $р } - общее решение уравнения вида (4.1) с правой частью Вр, р е Р. Тогда общее решение уравнения (4.2) представляет собой множество всех элементов вида У Xsp , 5р е Бр, из которого исключены элементы, содер-

реР

жащие другие элементы этого множества.

Доказательство. Согласно лемме 4.1 каждый элемент У Xsp , 5р е $р является прообразом элемента

реР

У Вр , т. е. содержит хотя бы одно частное решение уравнения (4.2). Покажем, что это уравнение не имеет

реР

частных решений, отличных от решения вида У XSp . Предположим обратное: пусть некоторый Z е Е0,

реР

являясь частным решением (4.2), не совпадает ни с одним элементом вида У Xр . При этом Z не может

реР

также содержать ни одного элемента вида У Xsp , поскольку в этом случае он был бы приближенным, но

^р р

реР

не частным решением, которое по определению минимально. Отсюда следует, что хотя бы при одном р0 Z не содержит ни одного элемента множества {Xsp^, 5 е ^ }.

С другой стороны, поскольку X —Я—> У Вр , то X —Я—> Вр, р е Р . Это означает, что Z содержит

р

реР

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

частные решения при правой части В содержатся в множестве {Xsp^, 5 е $} (по условию это является

общим решением), то X содержит хотя бы один элемент этого множества.

Таким образом, получаем противоречие, которое опровергает предположение о том, что уравнение

имеет решение X , отличное от вида У Xsp . П

р

реР

Рассмотрим методы решения логических уравнений (4.1). Предположим, что R является каноническим нетеровым отношением на полной точечной решетке Е, не содержащим пар отношения 3. Соответственно правая часть B уравнения (4.1) представляет собой объединение точек.

Введем структурное расслоение исходного отношения R на виртуальные слои {Rt | t е T} . Для этого предварительно разобьем R на непересекающиеся подмножества, каждое из которых образовано парами вида (A, xp ) с одним и тем же точечным элементом xp в качестве правой части. (Это возможно, поскольку

R является каноническим). Обозначим данные подмножества Rp соответственно их элементу xp, р е P .

Слоем — в отношении R на полной точечной решетке называется подмножество отношения R , образованное парами, взятыми по одной из каждого непустого Rp (p е P) . Два слоя, различающиеся хотя бы одной парой, считаются различными.

Замечание 4.1. Каждый слой содержит максимально возможное подмножество пар из R с уникальными правыми частями. Добавление к нему еще одной пары нарушит условие.

Замечание 4.2. Совокупность всех слоев {Rt | t е T} охватывает все возможные такие наборы. Таким

образом, любое подмножество пар в R с уникальными правыми частями принадлежит некоторому слою. Замечание 4.3. В общем случае слои имеют непустые пересечения. Объединение всех слоев равно R . Общее количество (кардинальное число) слоев определяется выражением ^^ N , где Np - кардиналь-

реР

ное число подмножества пар отношения R с правой частью xp.

Определение 4.2. Логическая цепочка ГАВ принадлежит в R некоторому слою —, если все нерефлексивные пары, определяющие логическую связь A ———> B , содержатся в одном и том же слое Rt.

Лемма 4.2. Если A ———> B, то существует логическая цепочка ГАВ, принадлежащая в R некоторому слою Rt.

Доказательство. Из существования канонического вектора вывода следует, что любую связь

A ———> B можно реализовать подмножеством R , в котором все правые части нерефлексивных пар уникальны. Утверждение леммы вытекает непосредственно из этого факта и замечания 4.2. П

Следствие 4.1. Логическое замыкание канонического нетерового отношения R на полной точечной

решетке Е равно объединению логических замыканий его слоев, т. е. ———> = У -

-—.

Доказательство. Поскольку Rt <3 R, согласно теореме 3.1 имеем -t—> 3->(Vt е T). Наоборот, если A —'-——>B , то согласно лемме 4.2 при некотором t е T справедливо A ———> B . Следовательно, (А, В) е У ——.

tеT

Будем считать, что решение X уравнения (4.1) (точное или приближенное) порождается в 1 некоторым слоем —, если X ———> В .

Замечание 4.4. Согласно лемме 4.2 и следствию 4.1 любое частное решение уравнения (4.1) порождается в 1 некоторым слоем —.

Замечание 4.5. Из следствия 4.1 вытекает, что для нахождения решения уравнения (4.1) в некотором слое — достаточно решить аналогичное уравнение с отношением —.

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

Лемма 4.3. Если X - частное решение уравнения (4.1), то существует вектор вывода \хв, соответствующий паре X —-—> В, вида

"лв = ({(С,СДЦ^,Ьр1Д)),((С2,С2),(ЛР1Л,ъ^)},...,«^,ст+1),(АРт+1,т+1,Ъ^)}), (4.3) где каждый элемент с номером к (1 < к < т +1) образован одной рефлексивной парой (Ск, Ск) и непустым множеством пар {(Лр^к, Ъ^к )| рк е Рк}. При этом Ъ^к - попарно различные точки Е (рк е Рк; 1 < к < т +1),

X = и Лр1Д и С!;

Р1ер1

В = и Ърт+1,т+1 и Ст+1 ;

рт+1еРт+1

и ЪРкк и Ск = и Лрк+1,к+1 и Ск+1

Рк еРк рк+1еРк+1

Заметим, что вектор (4.3) является также каноническим в смысле определения 1.4. Доказательство. Опишем способ получения вектора (4.3).

Сначала согласно замечанию 4.4 для пары (X, В) построим обычный канонический вектор вывода (вида (1.1)), образованный парами некоторого слоя — и рефлексивными парами элементов Е. Затем в каждом

элементе вектора (множестве пар) все рефлексивные пары заменим единственной рефлексивной парой, содержащей их объединение (объединяются отдельно левые и правые части). Поскольку рассматриваются точечная решетка Е и каноническое отношение — , полученный вектор имеет вид (4.3). Для доказательства леммы осталось добиться выполнения условий (4.4)-(4.6), которые представляют собой усиленный вариант соотношений (1.2), (1.3).

Условие (4.4) выполняется сразу в силу минимальности X, который по условию леммы является частным решением (см. также соотношение вида (1.2) при к = 1). Для доказательства соотношений (4.5), (4.6) будем последовательно просматривать элементы вектора (4.3) справа налево. Сначала положим к = т +1,

Вк = В.

Исключим из к -го множества пары вида (Л, Ъ), такие что Ъ £ Вк . Такие же элементы Ъ исключим из обеих частей рефлексивной пары данного множества. Очевидно, что условия вида (1.2), (1.3) при этом не нарушатся, однако будет выполняться еще одно из условий (4.5), (4.6) (при данном значении к). Далее, переходя к очередному элементу вектора (множеству пар, справа налево), уменьшим к на единицу и положим

Вк = и Лр+ ^ к+1 и Ск+1 . Данную процедуру проведем для всех элементов вектора вывода. Таким обра-

рк+1еРк+1

зом, получим искомый вектор "У^ . П

Замечание 4.6. Согласно замечаниям 4.4, 4.5 утверждение леммы остается верным, если в ее условии отношение — заменить на —.

Лемма 4.4. Если для некоторых X1, X2 е и В е Е построены векторы вывода и В вида (4.3), все нерефлексивные пары которых содержатся в одном и том же слое —, то X1 = X2.

Доказательство. Предположим противное: что X1 Ф X2. Пусть для определенности существует точка а0 е X1 и а0 £ X2. Рассмотрим сначала вектор У^ В . Будем просматривать его элементы слева направо и при этом строить некоторую специальную последовательность нерефлексивных пар.

Согласно условию (4.4) точка а0, как и любая точка элемента X1, содержится в левой части хотя бы

одной пары первого элемента вектора. Если существует такая нерефлексивная пара (Л1, а1) (а0 е Л1), добавим эту пару к формируемой последовательности и, двигаясь в векторе вправо, будем искать аналогичную

пару для а1. Если же это (С1, С1) , то по условию (4.6) а0 аналогичным образом перейдет в следующий элемент вектора. Пройдя весь вектор, получаем конечную последовательность нерефлексивных пар отношения — (возможно, пустую) {(А{,а.)| . = 1,...,и}, причем а. е +1, а. £ Е0 (0 < . < п), Ап+1 = В.

Если данная последовательность окажется пустой (п = 0), то будем иметь а0 е В .

Теперь рассмотрим вектор \х В . Элементы этого вектора будем просматривать справа налево, пытаясь выделить в нем построенную выше последовательность {(А., а{)}. Поскольку ап е В, то в силу (4.5) точка ап содержится в правой части по крайней мере одной пары последнего элемента вектора \х В . Если существует такая нерефлексивная пара, то это может быть лишь (Ап, ап), так как слой — не может содержать двух пар с общей правой частью ап . В этом случае переходим в предыдущий элемент вектора с новой отправной точкой ап1 е Ап - правой частью предыдущего элемента последовательности. Если же это (Ст+1, Ст+1), то по условию (4.6) в предыдущий столбец аналогичным образом переходит ап . Таким же образом будем продвигаться справа налево в векторе \х В и в последовательности {А., а.} .

Описанный процесс может завершиться в одном из трех случаев. Если элементы вектора УХгВ закончатся одновременно с последовательностью, то получим а0 е Х2, что противоречит начальному предположению а0 £ X2 (см. начало доказательства). Если элементы вектора закончатся раньше, чем исчерпается последовательность, то соотношение а. е Х2, . > 0 будет противоречить тому, что а. £ Е0, так как по условию X2 полностью состоит из начальных точек, а а. таковой не является. Наконец, если последовательность закончится раньше элементов вектора, в векторе Vх В окажется пара вида (А, а0) . Данный

факт противоречит тому, что а0 - начальная точка. Итак, в каждом из возможных случаев приходим к противоречию, что и доказывает лемму. П

Следствие 4.2. Один слой — не может содержать двух различных частных решений уравнения (4.1). Доказательство. Предположим, что существует два решения. Тогда по лемме 4.3 и по замечанию 4.6 для этих решений существуют векторы вывода (4.3), нерефлексивные пары которых принадлежат —. Отсюда по лемме 4.4 получаем, что данные решения совпадают.

Объединяя полученные результаты, можно сформулировать следующее утверждение.

Теорема 4.2. Для нахождения общего решения уравнения (4.1) достаточно найти частное решение Xt

в каждом слое — (если оно существует), после чего из полученного множества решений исключить элементы, содержащие другие элементы этого же множества. Утверждение теоремы следует из замечания 4.4 и леммы 4.4. П

Следствие 4.3. Количество частных решений уравнения (4.1) оценивается сверху выражением | | N ,

реР

где N- кардинальное число подмножества пар отношения — с правой частью Хр, а Р определяет все

такие подмножества (замечание 4.3). П

Теорема 4.2 и замечание 4.5 позволяют свести вопрос о решении уравнения (4.1) к задаче нахождения частного решения уравнения

—

где В - неначальный элемент решетки Е; — - произвольный слой в — .

Согласно следствию 4.2 обратное к ———> отношение является однозначным отображением £ : Е ^ Е с некоторой областью определения 0(£) 3 Е . Рассмотрим некоторые его свойства.

Лемма 4.5. Отображение является полным и -гомоморфизмом, т. е (и Вр) =

реР

= и (ВР ), VBp е В(£ ), р е Р.

реР

Доказательство. Пусть Уг В , р е Р - канонические векторы вывода вида (4.3) соответственно для

Л- рВр

связей X ———> Вр, р е Р. На начальном этапе каждый вектор, имеющий не самую большую длину,

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

Последовательно слева направо будем строить результирующий канонический вектор вывода V . Очередную компоненту " получим как объединение всех соответствующих по номеру компонент векторов Уг В , р е Р (рефлексивные пары совмещаются). Нетрудно проверить, что условия (1.2), (1.3) для V ока-

А- рВр

зываются выполненными. После добавления к V каждой компоненты будем производить "чистку" этого вектора, для того чтобы он оставался каноническим. В силу нетеровости отношения — процесс увеличения длины вектора V когда-либо завершится. Полученный вектор будет осуществлять вывод и Xр ———> и Вр .

реР реР

В новом векторе исключим лишние нерефлексивные пары, как это описано в доказательстве леммы 4.4. В результате получим вектор VX В , который является вектором вида (4.3) для пары (и X , и Вр ) .

реР реР

Таким образом, основываясь на лемме 4.5, для решения уравнения (4.7) достаточно решить уравнение с каждой точкой элемента В в качестве правой части. С учетом данного обстоятельства рассмотрим задачу нахождения частного решения следующего уравнения:

—

где Ъ - неначальная точка полной решетки Е; — - произвольный слой в — .

Рассмотрим методы решения данной задачи. Покажем, что эта задача эквивалентна задаче перечисления на ориентированном графе (возможно, бесконечном, однако с конечной высотой) всех входных вершин, из которых достижимой является данная вершина.

Сначала построим такой граф О— . Каждой точке решетки Е, участвующей в отношении — , сопоставим вершину графа. Далее для каждой пары (Л, а) рассматриваемого слоя — построим дуги, ведущие из

всех вершин, соответствующих точкам Л , в вершину, соответствующую данной а . Для краткости будем отождествлять точки решетки Е и соответствующие им вершины в графе. Конечность высоты графа обеспечивается свойством нетеровости отношения — .

В полученном графе О— выберем вершину Ъ . Рассмотрим подграф О— Ъ 3 О— , содержащий все вершины, из которых достижима вершина Ъ (включая Ъ ), и все дуги, соединяющие такие вершины.

Лемма 4.6. Если подграф О— Ъ не содержит ориентированных циклов, то множество всех входных вершин соответствует частному решению уравнения (4.8).

Доказательство. Предположим, что граф — Ъ является ациклическим. Покажем, как по нему построить соответствующий вектор VXЪ вида (4.3). Построение проведем по индукции по компонентам вектора, справа налево.

Последний компонент (множество пар) вектора сформируем из единственной пары - (Лт+1, Ъ) е — , где элемент Лт+1 состоит из всех точек, непосредственно связанных дугами с вершиной Ъ . Очевидно, что при этом выполнено условие (4.5). Теперь предположим, что построен очередной элемент вектора с парами (Лрк ,к, Ърк ,к) е —, где ЪРк ,к - попарно различные точки Е (Рк е Рк) и (Ск, Ск К

Ск е Е (1 < к < т +1), причем выполнены условия (4.5), (4.6). Тогда для каждой точки а каждого элемента Ар^ к найдем все вершины графа, дуги из которых входят в а. Сформируем из них (в виде объединения) элемент А е Е и поместим пару (А, а) е — в следующий элемент вектора (с номером к — 1). Если точка а е Ар к окажется начальной (соответствующей входной вершине графа), то добавим ее к рефлексивной паре старого элемента вектора, а именно в новый элемент вместо пары (Ск, Ск ) войдет пара вида

(Ск и а, Ск и а) . По принятому способу построения элемента условие (4.6) окажется выполненным. Так

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

"У^ заканчивается. Поскольку таким способом обходятся все дуги графа ь, можно утверждать, что

объединение X левых частей пар первого элемента вектора состоит из всех начальных точек, соответствующих входным вершинам графа ь. С другой стороны, X - решение уравнения (4.8). По лемме 4.4 оно является точным решением.

Лемма 4.7. Если X - решение уравнения (4.8), то в любом его каноническом векторе вывода вида (4.3) содержатся точки, соответствующие всем вершинам графа ь.

Доказательство. Предположим противное: для некоторой вершины у0 графа О— ь соответствующая точка у0 не содержится ни в одной паре вектора . По построению графа существует путь у1,...,уп—1 из вершины у в вершину Ь (можно считать Ь = уп). Аналогично доказательству леммы 4.4 будем просматривать вектор \-jfo справа налево, пытаясь выделить в нем указанную выше последовательность {у.} . Положим . = п.

По условию (4.6) (при . = п - (4.5)) у{ содержится в правой части пары очередного (при . = п - последнего) элемента вектора \}ь . В случае если существует такая нерефлексивная пара (У, у.) (при 1 = п это именно так), то переходим в предыдущий элемент вектора с новой отправной точкой у.—1 е У. (эта принадлежность верна, так как У. содержит все вершины, предшествующие у., в том числе у.—1). Если же это (Ск , Ск ), то по условию (4.6) в предыдущий элемент аналогичным образом переходит у.. Продолжая

данный процесс, будем продвигаться справа налево в векторе и в последовательности {у.}.

Как и ранее, рассмотрим возможные варианты завершения процесса. Если последовательность закончится раньше элементов вектора или одновременно с ними, то получим, что у0 содержится в векторе. Это противоречит сделанному в начале доказательства предположению. Если же элементы вектора закончатся раньше, чем исчерпается последовательность, то соотношение у. е X, . > 0 будет противоречить тому,

что у. £ Е0, так как по определению X полностью состоит из начальных точек. Таким образом, в обоих случаях приходим к противоречию, что и доказывает лемму.

Лемма 4.8. Если в графе ь есть ориентированный цикл, то уравнение (4.8) не имеет решений.

Доказательство. Предположим противное: существует решение X уравнения (4.8). Тогда построим соответствующий этому решению канонический вектор вывода "У^ вида (4.3). Пусть у - некоторая вершина графа О— ь, содержащаяся в его цикле. Согласно предыдущей лемме в векторе "У^ существует пара, в левой или правой части которой присутствует соответствующая точка у .

Пусть в элементе вектора с номером к находится пара, содержащая в правой части точку у (вариант нахождения у в левой части некоторой пары с помощью условия (4.6) сводится к случаю правой части).

Если это (Ck, Ck) , то согласно (4.6) получим, что и в элементе с номером k — 1 имеется пара с точкой y в правой части. Если же это нерефлексивная пара (Y, у) , то рассмотрим вершину y1, предшествующую y в цикле графа. Соответственно имеем е Y , поскольку Y содержит все вершины графа, непосредственно предшествующие у . В силу свойства (4.6) в (k — 1)-м элементе вектора VXb имеется пара, содержащая в правой части y1 .

Таким образом, за один шаг в векторе перемещаемся на один элемент влево, а в графе - не более чем на одну вершину назад в цикле. Продолжая этот процесс, через конечное число шагов (учитывая также условие (4.4)) выйдем из первого элемента в векторе. Это означает, что очередная рассматриваемая точка yi

окажется в X , однако в графе вершина yi останется в том же цикле. Последнее обстоятельство означает

противоречие, так как в X содержатся только начальные точки, а в цикле графа - лишь невходные вершины.

Из лемм 4.6, 4.8 непосредственно вытекает следующее утверждение.

Теорема 4.3. Уравнение (4.8) имеет не более одного решения. Если граф G^ b не имеет циклов, то единственное решение уравнения состоит из всех точек, соответствующих входным вершинам графа. Если Gr ь имеет хотя бы один цикл, то уравнение не имеет решений. D

Данная теорема завершает обоснование пошагового процесса решения исходного продукционно-логического уравнения (4.1).

Список литературы

1. HALMOS P. Algebraic logic. N. Y.: Chelsea Publ. Co, 1962.

2. Махортов С. Д. Логические отношения на решетках // Вестн. Воронеж. гос. ун-та. Сер. Физика, математика. 2003.

Вып. 2. С. 203-209.

3. Махортов С. Д. Логические уравнения на решетках // Вестн. Воронеж. гос. ун-та. Сер. Физика, математика. 2004.

Вып. 2. С. 170-178.

4. DOORENBOS R. B. Production matching for large learning systems: Dr. thesis. UMI Order N GAX95-22942. Pittsburg, 1995.

5. AHO A. V., GAREY M. R., ULLMAN J. D. The transitive reduction of a directed graph // SIAM J. Comput. 1972. N 1. P. 131-137.

6. Биркгоф Г. Теория решеток: Пер. с англ. М.: Наука, 1984.

7. DERSHOWITZ N. Termination of rewriting // J. Symbolic Comput. 1987. V. 3. P. 69-116.

Сергей Дмитриевич Махортов - доц., канд. физ.-мат. наук, зав. кафедрой Воронежского гос. ун-та; e-mail: sd@expert.vrn ru; тел. (4732) 208-698; http://expert.vrn.ru/SD