Научная статья на тему 'Разработка метода бинарной декомпозиции функциональных предикатов'

Разработка метода бинарной декомпозиции функциональных предикатов Текст научной статьи по специальности «Математика»

CC BY
215
447
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
БИНАРНАЯ ДЕКОМПОЗИЦИЯ / ПРЕДИКАТ / ФУНКЦИОНАЛЬНЫЕ ПРЕДИКАТЫ / ДЕКАРТОВА ДЕКОМПОЗИЦИЯ / BINARY DECOMPOSITION / PREDICATE / FUNCTION PREDICATE / DESCARTES DECOMPOSITION

Аннотация научной статьи по математике, автор научной работы — Рудометкина Моника Николаевна

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по математике , автор научной работы — Рудометкина Моника Николаевна

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

The author analyzed the only sound binary decomposition method of finite predicates, the Descartes decomposition method. For the first time the author developed and substantiated the partial binary decomposition method for the function predicates based on the analysis of dependences; a number of values of the auxiliary variable was minimized. The algorithm of binary decomposition for function predicates was formed based on the proposed method.

Текст научной работы на тему «Разработка метода бинарной декомпозиции функциональных предикатов»

Управление, вычислительная техника и информатика

УДК 004.8

РАЗРАБОТКА МЕТОДА БИНАРНОЙ ДЕКОМПОЗИЦИИ ФУНКЦИОНАЛЬНЫХ ПРЕДИКАТОВ

М.Н. Рудометкина

Томский политехнический университет Карагандинский государственный технический университет E-mail: monika_7272@mail.ru

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

Ключевые слова:

Бинарная декомпозиция, предикат, функциональные предикаты, декартова декомпозиция. Key words:

Binary decomposition, predicate, function predicate, Descartes decomposition.

Средства декомпозиции предикатов разрабатывались в работах Ю.Н. Павловского, М.Ф. Бондаренко, Ю.П. Шабанова-Кушнаренко, А.И. Мальцева [1-4]. Однако обзор работ этих авторов показал, что в области аппарата декомпозиции обнаруживается недостаток обоснованных, не требующих проверки эквивалентности полученного результата исходному предикату, и в то же время рациональных методов, позволяющих получать компактное бинарное представление. Следует отметить, что почти все имеющиеся формальные средства декомпозиции предикатов в указанных работах не учитывают зависимости между переменными. Учет таких особенностей в строении предиката позволяет выполнять его декомпозицию более рациональным путем. Между тем теория реляционных баз данных предлагает средства декомпозиции отношений в виде утверждений о зависимостях между атрибутами. Если взять во внимание наличие связи между реляционными отношениями и предикатами, то можно использовать средства декомпозиции отношений для декомпозиции предикатов. Как показал анализ литературы, такие средства в аппарате алгебры предикатов на данный момент отсутствуют.

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

Функциональным (однозначным) назовем предикат РеРге(^) с функциональной зависимостью Х^У, для которого ХОУ=К Иначе говоря, в функциональном предикате должна содержаться функ-

циональная зависимость, которая охватывает все его переменные. Предикат РеРге(^) может содержать функциональную зависимость X^ У, но при этом не быть функциональным. Это возможно в случае, когда ХиУфУ, т. е. когда функциональная зависимость охватывает не все переменные предиката Р.

Для постановки задачи вводим обозначения, характеризующие предметное пространство. Пусть задан остов Т<^Ух и, а конечное множество Vсостоит из двух непересекающихся групп переменных: Х={х1,х2,^,лт} и /Над,...,^}, т- е. V={XlX,■■■Xm,Zl,Zь■■■,zl,}. В качестве универсума предметов выбирается произвольное непустое не более чем счетное множество и, элементы которого называются предметами. Пусть предметное пространство ^ размерности п образуется с помощью остова Ткак декартово произведение областей изменения переменных из V.

Теперь задан произвольный конечный предикат РеРге(^) с функциональной зависимостью Х^2. Необходимо выполнить бинарную декомпозицию предиката Р(Х,2) с помощью одной вспомогательной переменной.

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

Единственным обоснованным методом бинар-

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

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

Р( X, 2) =

V

I єРУ

= V X “ /=1 1

Х1 ••••х™ г->

где г - количество кортежей отношения Рт (которое будет конечно в силу конечности предиката Р).

Согласно методу декартовой декомпозиции вводится вспомогательная переменная у со значениями В={ЬьЬ2,...,Ьг|, которые интерпретируются как уникальные имена кортежей отношения Рт. Каждому кортежу из Рт произвольным образом взаимно однозначно сопоставляется уникальное имя:

I Х^ •••Х^ ^2 •••£,

Ї* 22^2 • ••2^■ = уЬ .

уаг\уаг2 уагм ~сг1-сг2 ~сгп _ -.А /1\

Х1 Х2 •••Хт г1 г 2 "'^п = У • Vі/

На основе системы (1) определяется вспомогательный предикат Ру:

Ру (X, г, .у) = V уь'хїп ха 2^тт<'1 г 2' 2^Н

(2)

Так как предикат Ру(Х,1,у) выражает взаимно однозначное соответствие между каждым кортежем (Х,2) и его именем у, то он удовлетворяет паре функциональных зависимостей у^{х1,х2,.,хт,г.1,12,.,1„}. Тогда в силу следствия из теоремы Хеза предикат Ру(ХДу) удовлетворяет зависимости конъюнкции Л{{х1,у},{х2,у},...,{Хт,у}, {^1,у},{г2,у},.,{г„,у}}. Бинарная декомпозиция предиката Ру выполняется с помощью кванторов существования в соответствии с последней зависимостью.

Предикат Ру связан с исходным Р равенством Р(Х, 2) = ЗуРу (X, 2,7). (3)

Действительно, последовательно применяя к правой части (3) тождество (2) и равенство (1), имеем

ЗуРу (X, 2, ^) = ^у / Ъ(Ру (X, 2, ^)) =

ЪеБ

= ч (X, 2, Ъ)) =

/=1

= чх?» x^...xmrz{^1 = Р(X, 2).

/=1

Таким образом, декартова декомпозиция Р(Х,7) выполняется путем построения вспомогательного предиката Ру(ХДу) в соответствии с равенствами

(1), (2) и последующей бинарной декомпозицией Ру(Х,2,у) с помощью кванторов существования. Равенство (3) позволяет вернуться к исходному предикату Р(Х,7).

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

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

Введем несколько обозначений. Через РТ обозначим область истинности предиката РєРге (6), РТс£. Предикат Р(Х,2) с зависимостью Х^-2можно рассматривать как сюръективную функцию р: Л^С, где

Л=РТ[Д^отХ,С=РТ[Д^от2. (4)

Пусть г - число кортежей отношения Л, / - число кортежей отношения С. Т к. для любого с є С найдется а єЛ такой, что с=р(а), то р:Л^С - сю-ръекция. Для любого предиката Р(Х,І) с зависимостью Х^-2 справедливо неравенство г>/, поскольку в разных кортежах (а,с)єРТзначения с- могут повторяться, а значения а - нет. Учитывая зависимость Х^Х, число кортежей в отношении РТ будет равно г, т. е. числу кортежей отношения Л.

При декартовой декомпозиции предиката Р(Х,І) число значений вспомогательной переменной у в рамках полученных формул будет равно количеству всех кортежей отношения РТ, которое совпадает с количеством элементов области определения функции р:Л^С, т. е. к=г.

В силу принципа однозначности [3] все морфологические модели, построенные на его основе, являются функциями [2, 3]. При этом оказывается, что количество элементов области определения таких функций сильно превосходит количество элементов области значений.

Рассмотрим модель флексии как функцию р:Л^С. Область определения такой функции - это различные наборы признаков, характеризующие влияние контекста на флексию (окончание), область значений - множество всех флексий. Количество элементов множества Л лежит в пределах от 103 до 104, тогда как количество элементов множества С составляет от 10і до 102.

г

Смысл предлагаемого ниже метода состоит в том, чтобы соотнести вспомогательную переменную, которая вводится с целью бинарной декомпозиции предиката Р(Х,2) не с областью определения функции р:Л—С (как это происходит при декартовой декомпозиции), а с областью ее значений или со вспомогательной областью, которая строится на ее основе. Кроме того, предлагаемый метод учитывает функциональную зависимость в исходном предикате. Тем самым предполагается сократить количество значений вспомогательной переменной до минимума.

В предлагаемом методе будут повсеместно использоваться зависимости конъюнкции вида Х^>х1|х2|.|х„, которые являются мощным инструментом декомпозиции предикатов. Непосредственными операторами декомпозиции в данном методе являются кванторы существования.

Перейдем к описанию метода бинарной декомпозиции предиката Р(Х,2) с функциональной зависимостью Х—2, где Х={х1,х2,...,хт}, 2={гьг2,...,г„}. Прежде всего, рассмотрим тривиальную ситуацию - когда группа переменных состоит только из одной переменной, т. е. т=1. Тогда на основании следствия из теоремы Хеза функциональная зависимость х—{гьг2,...,г„} влечет зависимость конъюнкции Л{{х,11},{х,12},.{х,1„}}. Бинарная декомпозиция Р(х,2) выполняется на основе последней зависимости с помощью кванторов существования. Вспомогательная переменная не требуется. Но это тривиальный случай, не характерный для задач реальной сложности, поэтому будем полагать, что т>2.

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

При бинарной декомпозиции функционального предиката Р(Х,2) прежде всего надо проверить, являются ли аргументы {х1,х2,.,хт} описываемой функции р: Л—— С независимыми друг от друга. Взаимная независимость переменных х1,х2,.,хт в предикате Р(Х,2) означает выполнение зависимости 2— >х1|х2|.|хт. Для строгой проверки предиката Р(Х,2) на наличие зависимости 2—>хх1--\хт необходимо выполнить дизъюнктивное разложение предиката Р(Х,2) по переменным 2. После этого с помощью утверждения этого разложения можно точно установить, выполняется зависимость 2—>хх1--\хт в предикате Р(Х,2) или нет. Если предикат Р(Х,2) удовлетворяет зависимости 2—>х1|х2|.|хт, то бинарная декомпозиция выполняется достаточно просто. При этом возможны две ситуации.

Первая ситуация имеет место, когда группа переменных 2состоит из одной переменной - г. Тогда вспомогательная переменная не требуется: бинарная декомпозиция Р(Х,г) выполняется с помощью кванторов существования непосредственно на основе данной зависимости конъюнкции, которую можно представить в виде Л{{х1,г},{х2,г},.,{хт,г}}. Это самый простой случай. Чуть более сложный слу-

чай - когда группа 2 состоит из двух и более переменных; тогда имеет место вторая ситуация.

Во второй ситуации надо заменить группу переменных 2 одной вспомогательной переменной у, после чего осуществить переход к двум вспомогательным предикатам - Р1(Х,у) и Р2(у,2), - которые являются результатом промежуточной декомпозиции предиката Р(Х,2). Бинарная декомпозиция предикатов Р1(Х,у) и Р2(у,2) осуществляется с помощью кванторов существования на основе зависимостей конъюнкции Л{{у,х1},{у,х2},...,{у,хт} и Л{{у,г1},{у,г2},.,{у,г„}} соответственно, которые, как будет показано далее, выполняются в силу построения этих предикатов.

Если Р(Х,2) не удовлетворяет зависимости 2—>x1|x2|...|xm то имеет место самая сложная ситуация из трех возможных. Здесь так же происходит переход к вспомогательным предикатам Р1(Х,у) и Р2(у,2) с последующей бинарной декомпозицией последних. Однако способ образования данных вспомогательных предикатов в этом случае гораздо сложнее.

В первой ситуации ясно как проводить бинарную декомпозицию функционального предиката Р(Х,2).

Ситуация, когда предикат Р(Х,2) удовлетворяет зависимости 2—>x1|x2|...|xm и группа переменных 2 включает более одной переменной, является довольно распространенной, поскольку аргументы функции, как правило, не зависят друг от друга. Однако если предикат Р(Х,2) выражает частичную, а не определенную всюду функцию из DomX в Dom2, то указанная зависимость может не выполняться.

Выполним дизъюнктивное разложение предиката Р по переменным 2:

Р( X, 2) =

= V $ ^„^""ДдСр х2,..., х„С1, с2,..., си) =

I

V 2 ..^"'"Р(х1, Х2 ,..., Хт,С1, С2 ,..., С"), (5)

'=1

где множество С определяется выражением (4), а / - число кортежей отношения С. Тогда функцию р:Л—С, описываемую уравнением Р(Х,2)=1, вяв-ном виде можно выразить системой вида

Р(Х1, Х2 ,..., Хт, С11, С12 , ..., С1" ) = Z1 11 22 12 ...Z" 1П ,

Р(х1, Х2,..., Хт , С21, С22 ,..., С2" ) = 21 21Z2 2" ,

Р(Х1> Х2 ,..., Хт , СЦ> С/ 2,..., С" ) = Z1 11 Z2,2...Z"

где (ся,са,.,с;„)бС, /=1,2,.,/.

Выполним декомпозицию этих уравнений за счет введения вспомогательной переменной у со значениями В={Ь1,Ь2,.,Ь1}, которые будем понимать как уникальные имена кортежей отношения С. Каждому кортежу (ся,сй,...,с;„)еС произвольным образом ставим во взаимно однозначное соответствие его уникальное имя ЬеВ с помощью следующих уравнений алгебры предикатов:

-с11 - с12 -с1и _ 1;Ь1

22 •••гн = У ,

■7^21 7 с22 7с2 п — 1;Ь2

22 •••гп = У ’

г^1 г2'2 •••2"'" = _уЬ? • (7)

На основании (7) образуем вспомогательный предикат Р{:

Р2(7, г ) ^ уЧ'1 г * 2•••zn'n • (8)

'=1

В силу такого построения предикат Р2(у,2) содержит пару функциональных зависимостей у^ад,...,*:,,}.

Преобразуя систему (6) на основе уравнений (7), получим

Р(Х, сц, с12 , •••, с1п) = У ,

Р( Х > с21> с22 ’ •••’ с2 п ) = Л,

Р(Х> с», с12 ’ •••’ с1п ) = /' • (9)

С помощью выражения (9) образуем вспомогательный предикат Р1:

Р (х > .У) = \/, /Р( х > с'1 > с 2 > • - > с'п \ (10)

=1

Т к. Р1(Х,у) был образован из Р(Х,2) с зависимостью {гь,г2,...,,г„}^>х1|х2|...|хт путем взаимно однозначной замены каждого значения переменной 2 значением переменной у, то предикат Р1(Х,у) будет содержать зависимость у^>х1|х2|...|х„1.

Нетрудно показать, что предикат Р выражается через Р1 и Р2 в виде

Р( X, 2) = 3(Р1(Х, 7) л Р2(у, г)) (11)

Применив тождество (2) к правой части равенства (11) и пользуясь законами для операций подстановки, получим

Зу( Р( X, 7) л Р2СУ, г)) =

^ 7 / ь( Р( X, 7) л Р2СУ, г)) =

ЬєВ

V(.У1 ь( Р (X > •У)) л .У1 ь( Р2( у 2))) =

ЬєВ

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

V (Р( X, ь) л р, (ь, г)) =

'=1

= V (P(X> с'-1> с2> • > с'п ) л г1с'122с'2 ••Л'" )•

=1

Последнее выражение представляет собой дизъюнктивное разложение предиката Р в виде (5), из чего следует справедливость (11).

После построения предикатов Р1 и Р2 можно выполнить их бинарную декомпозицию. Бинарная декомпозиция предиката Р1(Х,у) выполняется с помощью кванторов существования на основе зависимости конъюнкции Л{{хЬу},{х2,у},...,{хм,у}}, бинарная декомпозиция Р2(у,2) - на основе зависимости л{{у,11},{у,12},...,{у,1„}}, которая имеет место в силу функциональной зависимости

у—{гьг2,...,г„} и следствия из теоремы Хеза. Таким образом, бинарная декомпозиция предиката Р(Х,2) выполнена.

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

Пусть к - число значений вспомогательной переменной у. Когда предикат Р(Х,2) с зависимостью Х—2так же удовлетворяет зависимости 2—>хх1--\хт, то при его бинарной декомпозиции описанным выше способом имеем к=/, где / - количество элементов множества С=РТ[2]. Это минимальное количество значений вспомогательной переменной, так как оно равно количеству элементов области значений функции р:Л— С. Поэтому данная ситуация устанавливает нижний предел для параметра к.

Как показано выше, верхним пределом параметра к является г - количество элементов множества Л=РТ[Х (когда вспомогательная переменная у вводится на основе декартовой декомпозиции предиката Р(Х,2) и количество ее значений равно количеству элементов области определения функции р:Л— С. Следовательно, при выполнении бинарной декомпозиции функционального предиката с помощью одной вспомогательной переменной параметр к должен лежать в пределах /<к<г.

Последняя и самая сложная ситуация с точки зрения бинарной декомпозиции функционального предиката Р(Х,2) имеет место тогда, когда зависимость 2—>х1|х2|.|хт не выполняется. В данном случае так же требуется вспомогательная переменная. Она будет введена после того, как будет сформирована система специальных подмножеств множества Л, определяемого выражением (4). Значения вспомогательной переменной в данном случае будут выступать в качестве имен этих подмножеств. При таком подходе, с одной стороны, во вспомогательных предикатах будут выстроены зависимости, которые позволят выполнить их бинарную декомпозицию. С другой стороны, будет образовано минимально необходимое количество указанных подмножеств, что сведет количество значений вспомогательной переменной к минимуму.

Введем обозначения: с;=(ся,с,2,...,с;„), 2г'=г1С1,гС/2, /=1,2,.,/. Предикат Р(Х,с) описывает полный прообраз {Х|(Х,с;)=1} элемента — еС при отображении р:Л— С. Обозначим множество {X|(Х,с,-)=1} через з(с). Множество всех полных прообразов {^(с1),^(с2),.,5(с/)} является разбиением множества Л[М]. Элементы разбиения называют слоями. Каждый элемент с;=(с;ьсй,...,с;„)еС можно рассматривать как составное имя соответствующего ему слоя я(с), поскольку данное соответствие взаимно однозначно (это так называемое каноническое отображение [4]).

Чтобы выполнить бинарную декомпозицию предиката Р(Х,2), используя минимум значений вспомогательной переменной, предлагается следующий способ действий.

Для каждого слоя 5(с;)={Х|Р(Х(с;)=1}, /=1,2,...,/, строим такое семейство его подмножеств {Д,ДГ. .,Ь‘к}, которое удовлетворяет условию

s(ci) = Д и Д и... и Д, (12)

где

д' = д;1 х д;2 х ...х

д = д;2 х а;2 х ...х А2,

Д = А'1' х Д2к' х ...х А'1'.

к 12 т

Каждое множество A1^fcDomxbA2^fcDomx2,..., Affl^fcDomxш /=1,2,.,/, #=1,2,.,к выбирается произвольно в пределах своего домена. Множества ДО,...,Ьк назовем параллелепипедами слоя л(с;) (по аналогии с термином из функционального анализа). В силу условия (12) семейство параллелепипедов {Д,Д‘,..., Б/к1} является покрытием слоя

^С,.).

Таким образом, предлагается для каждого слоя 5 (—) подобрать минимальное количество т-мерных параллелепипедов пространства Dom X, которые совместно покрывают этот слой.

Для выполнения декомпозиции вводим вспомогательную переменную у со значениями ЬьЬ2,...,Ьь которые будем понимать как имена всех параллелепипедов, построенных в рамках данной модели; к - общее число построенных параллелепипедов, к=к1+к2+.+к/, {ЬъЬ2,...,Ьк}=Б. Мы стремимся сделать множество значений вспомогательной переменной у минимальным, поэтому задача состоит в том, чтобы количество элементов к в каждом семействе {Д,Д‘г..,Ь‘к}, удовлетворяющем условию

(12), было минимальным.

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

Пусть Г - количество всех кортежей слоя 5(с;) разбиения множества А, /=1,2,.,/. Тогда

г1+г2+.+г/=г, г - число кортежей множества А.

Так как отдельно взятый кортеж (аь а2,..., ат) еА можно рассмотреть как параллелепипед {а!}х{а2}х.х{аи}сА, то для каждого слоя всегда можно подобрать покрытие, состоящее из таких одноэлементных параллелепипедов. Число таких параллелепипедов для слоя ^(с/) совпадает с числом всех кортежей этого слоя и равно г, /=1,2,.,/. Поэтому число г возьмем в качестве максимального значения для параметра к .

Минимально возможное значение параметра к равно 1, когда слой л(с) сам по себе является параллелепипедом пространства Dom X. Но этот случай возможен не для всех полных прообразов 5 (—), иначе, выполнялась бы зависимость /^>х1|х2|.|хт. Следовательно, каждое число к, /=1,2,.,/ удовлетворяет неравенству 1<к<г. Так как к1+к2+.+к/=к, то, выполнив суммирование по всем индексам /=1,2,.,/, получим предельные значения параметра к:/<к<г.

В силу построения покрытий каждое значение к будет минимальным, /=1,2,.,/, поэтому и сумма kl+k2+...+kj=k будет минимальной.

Тогда в ситуации, когда зависимость Z^>x1\x2\.\xm в функциональном предикате P(X,Z) не выполняется, количество значений вспомогательной переменной, введенной для бинарной декомпозиции, будет находиться в допустимых пределах от /до r и при этом будет минимальным.

Перепишем выражение (13) в терминах алгебры предикатов:

P(X, С) = A'(X) V D2(X) v... v D X X), (13)

где

d; (x, x2,xm) = a;1(x1) л a'22(x2) л... a a”(xm x D2( xi, x2,..., xm) = A; 2( xi) a A ;22( x2) a ... a A'm2( xJ, D' (xi,x2,..., x.) = A®'(xi) a A?'(x,) A... a Ami'(x.), =1,2,., /.

После того как для каждого слоя P(X,c), /=1,2,.,/, построено минимальное покрытие (13) можно перейти к построению вспомогательных предикатов.

Каждому параллелепипеду произвольным образом взаимно однозначно сопоставим уникальное имя beB (уникальное для всей модели, а не только в пределах данного слоя). Последовательно рассматривая каждый слой P(X,c), /=1,2,.,/, положим, что

D ( x )=/ 1, d2 ( x )=/2,..., D (X) = /'*'. (14)

На основании (14) образуем вспомогательный предикат P1:

Р( X, у) = = V(Di'(X)У'1 vD2(X)/2 v...vD(X)/'“). (15)

'=1 '

Так как k1+k2+.+k/=k, то Pl можно представить в более удобном виде:

P( X, y) = vDy. (X)ybj.

j=i

В соответствии с утверждением X—>Y и YuZ—> W, XuZ—> W\(YuZ), предикат P1(X,y) удовлетворяет зависимости y—>>xx\x2\.\xm, т. к. для каждого bj&B

P(X, bj) = Dj (X) = A/ (xi) A (x2) A... A Am (x).

Благодаря тому, что покрытие каждого слоя состоит только из параллелепипедов, вспомогательный предикат P1(X,y) удовлетворяет зависимости y—>x1\x2\.\xm или, что тоже самое, A({x1,y|, {x2,y},.,{xm,y}}. На основе этой зависимости можно выполнить бинарную декомпозицию P1.

Заметим, что система уравнений (14), /=1,2,., /, равносильна одному уравнению P1(X,y)=1.

Строим второй вспомогательный предикат.

Как говорилось выше, функцию p:A—C, описываемую уравнением P(X,Z)=1, в явном виде

можно выразить системой равенств (6). С учетом

(13) и (14) каждое уравнение из системы (6) можно представить в виде:

У'1 V У2 V... V У* = 7е7. (16)

Уравнения (16), /=1,2,., /, связывают имена параллелепипедов с именем слоя, покрытие которого они образуют.

На основании (16) образуем вспомогательный предикат Р2:

Р;(у,^) = V(У1 У4-2 V... V Ук )7С". (17)

'=1

Система уравнений (16), /=1,2,.,/, равносильна одному уравнению Р2(у,2)=1.

Заметим, что предикат Р(Х,у) описывает всюду определенное многозначное отображение из множества А во множество В, т. к. параллелепипеды, покрывающие один и тот же слой, могут пересекаться, а значит, кортеж а еА может входить в разные параллелепипеды. Но параллелепипеды, покрывающие разные слои разбиения пересекаться не могут, поэтому каждый параллелепипед является подмножеством только одного слоя. Следовательно, предикат Р2(у,Т) описывает функцию из множества В во множество С, т. е. содержит функциональную зависимость у—>{^1,г2,.,^„}. Тогда в силу следствия из теоремы Хеза предикат Р2(у,Т) удовлетворяет зависимости конъюнкции Л{{у,г1},{у,г2},.,{у,г„}}, которая позволяет выполнить его бинарную декомпозицию.

Предикаты Р1 и Р2 образованы так, что представляют собой результат декомпозиции исходного предиката Р. Покажем, что Р выражается через Р и Р2 в виде (11).

Действительно, пользуясь тождеством

Зх( (Р) = V X / а(Р)

аеДотх

и законами для операций подстановки, имеем Эу (Р( X, у) л Р;(У, ^)) =

^ У / 4( Р( X, у) л Р;(У, ^)) =

4еВ

= V(У/ 4( Р (х ’ •У)) л У/ 4( Р2( У7))) =

4еВ

к

= V (Р( X, 4;) л (Р;(4у., 7)) =

'=1 ■* ■*

= V(Р(X,4Я) л Р;(41,7) VР(X,4;) лР;(42,7) V

=1

V... V Р( X, 4а_) л Р2(4*', 7)) =

= V (Дя(X) л 7е V Д2(X) л 7е V... V

/=1

V Дк (X) л 2' =

= V(Д1 (X) V Д;(X) V... V Д . (X) л 7е.

=1

Далее, используя (13) и (5), получим

Эу (Р( X, у) л Р;(у, 7)) = V (Р( X, С)77 = Р( X, 7),

=1

что и требовалось.

После того, как вспомогательные предикаты построены, остается выполнить их бинарную декомпозицию. Бинарная декомпозиция предиката Р1(Х,у) выполняется с помощью кванторов существования на основе зависимости конъюнкции Л{{х1,у},{х2,у},.,{хи,у}|, Р2(у,2) - на основе зависимости л{{у,гі},{у,г2},.,{у,г„}|. Тем самым бинарная декомпозиция исходного предиката Р(Х,2) выполнена; при этом к - число значений переменной у в полученных предикатах - является минимальным и лежит в пределах /<к<г.

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

Пусть задан конечный предикат Р(Х,2) с функциональной зависимостью Х^2. Для выполнения его бинарной декомпозиции с помощью одной вспомогательной переменной, принимающей минимально возможное количество значений, надо выполнить следующие шаги.

1. Выполнить дизъюнктивное разложение предиката Р(Х,7) по переменным /(5). С помощью утверждения: Х^>У и Ю/^>Ж, Хи7^>№\(7иД), по виду разложения проверить, выполняется зависимость 2^>х1\х2\.\хт в предикате Р(Х,2) или нет.

Если указанная зависимость выполняется, то дальнейшие шаги зависят от количества переменных /={г1,г2,-••,£»}: если и=1, то перейти к пункту 2; если и>1, то перейти к п. 3. Если зависимость 2^>х1\х2\.\хт не выполняется, то перейти к п. 5.

2. В данном случае предикат Р(Х,і) удовлетворяет зависимости конъюнкции Л{{^,х1},{^,х2},.,{^,хт}}. С помощью кванторов существования на основе данной зависимости выполнить бинарную декомпозицию Р (Х,і). Бинарная декомпозиция предиката Р (Х,2) выполнена.

3. По формулам (7) ввести вспомогательную переменную.

4. По формулам (8) образовать вспомогательный предикат Р2(у,/). По формулам (9), (10) образовать вспомогательный предикат Р1(Х,у). Перейти к пункту 7.

5. Каждый предикат Р(Х,с), /=1,2,.,/представить в виде выражения (13) так, чтобы число слагаемых было минимальным. Ввести вспомогательную переменную по формулам (14).

6. По формулам (15) образовать вспомогательный предикат Р1(Х,у). По формулам (16), (17) образовать вспомогательный предикат Р2(у,2).

7. Выполнить бинарную декомпозицию вспомогательных предикатов на основе содержащихся в них зависимостей конъюнкции с помощью кванторов существования: декомпозицию предиката Р1(Х,у) выполнить на основе зависимости Л{{х1,у},{х2,у},.,{хт,у}} декомпозицию предиката Р2(у,2) выполнить на основе зависимости Л{{у,^1},{у,г2},.,{у, £„}}. Так как равенство

(11) выражает неэквивалентную декомпозицию предиката Р(Х,2) на предикаты Р1(Х,у) и Р2(у,2), то бинарная декомпозиция предиката Р(Х,2), выполнена.

Отметим некоторые достоинства и недостатки предложенного метода для декомпозиции функциональных предикатов.

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

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

СПИСОК ЛИТЕРАТУРЫ

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

1. Павловский Ю.Н. Геометрическая теория декомпозиции и некоторые ее приложения. - М.: Вычислительный центр им. А.А. Дородницына РАН, 2011. - 93 с.

2. Бондаренко М.Ф. Модели языка // Бионика интеллекта. -2004. - №1. - С. 27-37.

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

Выводы

1. Проведен анализ единственного обоснованного метода бинарной декомпозиции конечных предикатов - метода декартовой декомпозиции.

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

3. На основе предложенного метода разработан алгоритм бинарной декомпозиции функциональных предикатов.

3. Шабанов-Кушнаренко Ю.П. Теория интеллекта. Проблемы и перспективы. - Харьков: Высшая школа, 1987. - 159 с.

4. Мальцев А.И. Алгебраические системы. - М.: Наука, 1970. -392 с.

Поступила 10.01.2012 г.

i Надоели баннеры? Вы всегда можете отключить рекламу.