Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

тарф методичка с сдо3

.pdf
Скачиваний:
0
Добавлен:
06.02.2025
Размер:
1.33 Mб
Скачать

Теорема 3

 

 

 

Система

*

(

)+ полна в .

Доказательство

 

 

Заметим, что

 

 

 

( )

 

( )

̅.

Последовательная композиция

̅( ),

( )

( ( ))

( )

(

( )) даѐт

( )

и ( (

))

(

) в .

В силу теоремы 2 получаем утверждение данной теоремы.

Определение 3

 

 

 

Замыканием подмножества

в

называется множество , - всех функций

из , которые представимы в виде всевозможных композиций через функции

из .

 

 

 

 

 

 

 

 

 

Подмножество

в

называется функционально замкнутым, если его за-

мыкание , - совпадает с .

 

 

 

 

 

 

Примеры

 

 

 

 

 

 

 

 

1.Само множество

замкнуто.

 

 

 

 

2.

Для подмножества

в

*

 

+ рассмотрим множество

всех функций

(

)

принадлежащих

и удовлетворяющих условию

(

)

, если

для

всех

 

.

Подмножество функций

(класс)

замкнуто.

 

 

 

 

 

 

 

3.

Для системы

функций

*

(

)+

возьмѐм подмножество

*

+ в

, где

. Тогда

 

. Подмножество не равно

, так

как

не содержит постоянных

 

. Отсюда вытекает, что система

не

полна.

В следующем параграфе рассматривается полнота систем функций в частном случае при k=2. Это нужно для сравнения со случаями k-значной логики при k>2.

K-значные логики при k>2 имеют ряд специфических особенностей по сравнению со случаем k=2. Для k-значных логик при k>2 полнота систем функций и критерии распознавания полноты изложены в последующих параграфах.

23

2.3. Полнота и замкнутость систем функций алгебры логики

Определение 1. Некоторая система функций

B = { 1, 2,…, p…} из P2 называется функционально полной, если каждая функция алгебра логики может быть записана с помощью формулы через функции этой системы.

Примеры: Сама система P2 всех булевых функций является функционально полной.

Уже была доказана полнота следующих систем функций.

 

*

+

 

 

*

+

 

3. *

+

 

 

 

*

+

 

 

*

+

 

 

*

+

 

Теорема 1. Если имеются две системы функций B = { 1,

2,…} и D =

{ 1, 2,…}, и система В функционально полна, а каждая функция

j из В выра-

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

Доказательство. Возьмем произвольную функцию h из P2, тогда в силу функциональной полноты системы В имеется формула над В такая, что h = С [ 1, 2,…, p…], то есть h выражается с помощью композиций функций из В. Также по условию теоремы имеются формулы над системой D такие, что j = Сj

[ 1, 2,…] для любого j. Поэтому

 

С [ 1,

2,…] = С [С1 [ 1,

2,…], C2[ 1,

2,…],…]

или

 

 

 

С [С1 [

1, 2,…], C2[ 1,

2,…],…] = С| [

1, 2,…],

где формула со строением С| над системой D определяется левой частью

равенства. Итак, h = С| [ 1,

2,…], то есть функция выражена через функции

системы D в виде формулы над системой D.

 

Определение 2. Если М – подмножество функций P2, то множество [M] всех функций, которые представляются в виде формул через функции из М, называется замыканием М.

Из этого определения вытекает, что замыкание инвариантно относительно введения и удаления фиктивных переменных.

В связи с понятиями замкнутости и полноты часто рассматриваются следующие важные классы функций.

24

1. Класс Т0 всех функций алгебры логики

( 1,…, xn), которые сохраняют

постоянную 0, то есть

( ,…, 0) = 0.

 

 

 

 

 

 

 

Например, функции β1(х) = 0, β2(х) = х, β3(х,у) =

4(х,у) =

, β5(х,у) =

принадлежат классу Т0, но функции β6(х) = 1, β7(х) =

не входят в Т0.

В классе Т0 содержится

 

 

 

функций n переменных х1,…,хn, так как пер-

 

 

вая строка таблицы каждой такой функции содержит 0. Если

,

1,…, m Т0,

то ( 1(0,…,0)…, m(0,…,0)) =

(

 

)

, следовательно, класс Т0 замкнут.

2.

 

 

Класс Т1

функций алгебры логики

(

1,…, xn), кото-

рые сохраняют постоянную 1, что выражается равенством

 

 

 

( ,…, 1) = 1.

 

 

 

 

 

 

 

 

 

 

 

 

Функции β1(х) = 0 и β7(х) =

 

не входят в Т1, а функции

 

 

 

β2(х) = х, β3(х,у) =

, β4(х,у) =

 

, β6(х) = 1

 

 

 

 

содержатся в классе Т1.

 

 

 

 

 

 

 

 

 

Можно легко усмотреть, что

(

1,…, xn) принадлежит Т1 тогда и только то-

гда, когда двойственная ей функция

β*( 1,…, xn) =

( 1,…,

 

xn) принадле-

жит Т0. Поэтому классы Т0 и Т1

двойственны друг к другу. Класс Т1 также за-

мкнут и содержит

 

 

функций

(

1,…, xn) n переменных.

 

 

 

 

 

 

 

3. Класс всех самодвойственных функций β* =

обозначают S.

Например, функции

 

 

 

 

 

 

 

 

 

β2(х) = х и β7(х) =

 

 

 

 

 

 

 

 

 

 

 

 

принадлежат S, а также

 

 

 

 

 

 

 

 

 

β(х1, х2, х3) = х12

х1& х3

х2& х3

 

 

 

 

 

 

являются самодвойственными.

 

 

 

 

 

 

 

Отметим, что самодвойственная функция

( 1,…,xn) на противоположных

наборах (а1,…,аn) и (

а1,…, аn) принимает противоположные значения, следо-

вательно, таблица для

полностью характеризуется ее верхней половиной. По-

этому число самодвойственных функций, зависящих от n переменных 1,…,xn,

равно

. Если ,

1,…,

m принадлежат S, то β*( β*1,…, β*m) = β( β1,…, βm),

следовательно класс S замкнут.

Лемма 1

 

 

Пусть

( 1,…,xn) – несамодвойственная функция. Тогда существует под-

становка функций

в , дающая несамодвойственную функцию одной пе-

ременной, то есть постоянную.

Доказательство

 

 

Поскольку

,

то существует набор (а1,…,аn), для которого

( а1,…,

аn) = (а1,…,аn). Возьмем функцию

25

(

)

( 1(х),…,

n(х)),

 

 

 

 

 

 

 

где

k(x)=

,

{

 

 

Тогда выполняются равенства

 

(0) =

(

1(0),…,

n(0)) =

(

 

)

( а1,…, аn) =

(

) =

( 1(1),…,

n(1)) = (1).

 

 

 

 

 

 

 

Определение 3. Если aj

bj

для всех j = 1,…, n, то полагают, что выполнено

отношение

предшествования

a

 

b для

двух

наборов a =

(a1,…,an) и

b =

(b1,…,bn).

 

 

 

 

 

 

 

 

 

 

Очевидно, что если a b и b

c, то a

c.

 

 

 

Множество векторов из булевого куба Bn частично упорядочено отноше-

нием предшествования , где B = {0,1}, а n – натуральное число.

 

Определение 4. Функция алгебры логики

( 1,…,xn) называется монотон-

ной, если для всяких двух булевых векторов a

b из Bn выполняется неравен-

ство

( )

 

( ).

 

 

 

 

 

Например, функции 0, 1, х,

,

монотонны.

 

Проверим, что класс М всех монотонных функций замкнут. Функция х

принадлежит М. Если ,

1,…,

m принадлежат М и ̃j ̃j при j = 1,…, m, то

β( β1( ̃1),…, βm( ̃m))

β( β1( ̃1 ),…, βm( ̃m )),

 

так как βj( ̃j) βj( ̃j ) для всех j = 1,…, m,

 

β( ̃)

β( ̃ ),

 

 

 

 

 

где ̃ = (a1,…,an), ̃j = (aj1,…,aj p(j)), aji

{ a1,…,an}, ak bk для всех k = 1,…,

n, βj зависит от p(j) переменных. Итак,

 

 

 

=

 

(

1,…,

m),

 

 

 

 

следовательно, класс М монотонен.

 

 

Определение

 

 

 

 

 

Наборы ̃ и ̃ называются соседними, если

 

 

̃ = (a1,…,ai-1, аi, ai+1, …, an),

 

 

 

 

̃ = (a1,…,ai-1,

i, ai+1, …, an),

 

 

где

 

i =

i.

 

 

 

 

 

Лемма 2

 

 

 

 

 

Пусть ( 1,…,xn) – немонотонная функция. Тогда имеется подстановка по-

стоянных 0 и 1, и функции х такая, что из

получается функция .

 

Доказательство

 

 

 

 

Поскольку

, то существуют наборы ̃1 и ̃1, для которых ̃1

̃1 и

β( ̃1)

β( ̃1). Если наборы соседние, то получаем это неравенство для соседних

наборов.

26

В общем случае, если ̃1 и ̃1 не соседние наборы, то они отличаются в k координатах, причем в ̃1 эти координаты нулевые, а в ̃1 они единичные, следовательно, существует цепочка соседних наборов ̃2,…, ̃k, удовлетворяющих неравенством

̃1 ̃2 ̃k ̃1.

Поскольку β( ̃1) β( ̃1), то по крайней мере на одной паре соседних наборов в этой цепочке выполняется β( ̃) β( ̃).

Эту пару соседних наборов обозначим ̃ и ̃, где ̃ ̃. Они имеют вид

̃ = (a1,…,ai-1, 0, ai+1, …, an),

 

 

̃ = (a1,…,ai-1, 1, ai+1, …, an).

 

 

Возьмем функцию (х) = β(a1,…,ai-1, х, ai+1, …, an), тогда

(0) = β( ̃)

β( ̃) = (1), следовательно, (0)

= 1, (1) = 0. Таким образом

 

(х) =

 

 

2.4.Распознавание полноты

Полноту можно распознавать с помощью следующих полезных теорем. Теорема 1

Если система

полна в

, то существует конечная подсистема в , ко-

торая также является полной.

 

 

Доказательство

 

 

 

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

*

+. Поскольку , -

, то функция

Вебба

выражается через функции системы при помощи некоторой форму-

лы

 

 

 

 

 

(

)

,

-.

 

 

В силу теоремы 3 второго параграфа подсистема {

} является ис-

комой.

 

 

 

 

 

Теорема (о распознавании полноты) 2

 

Для распознавания полноты существует алгоритм.

 

Доказательство

 

 

 

Если задана система функций в

, то согласно теореме 1 без ограниче-

ния общности можно предполагать, что

конечна, то есть,

 

{}.

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

27

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

построены множества

 

 

 

, где

 

 

 

 

 

 

 

 

2

(

 

)

 

(

)(

)3,

 

 

 

 

 

 

 

(

)

.

 

 

 

 

 

 

 

 

 

 

 

 

 

Рассмотрим всевозможные формулы типа

 

 

 

 

 

(

(

 

)

 

(

 

)), где либо

 

 

 

 

 

 

 

(

)

(

)(

 

), либо

 

 

 

 

 

 

 

 

(

)

( )(

 

) ( ) *

 

( )+,

 

 

 

 

 

 

 

 

 

 

 

 

 

(

 

)

 

 

 

 

 

 

 

*

 

+

(

)

*

+.

 

 

 

 

 

 

 

Так получается

(

(

)

 

) формул. Если среди них получаются функ-

ции не вошедшие в

 

,

то обозначим их ( )

(

)

(

)(

) и

зададим

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

{ ( )

(

 

)

(

)(

)}.

 

 

 

 

Таким образом получается последовательность семейств функций

 

Если для некоторого

выполняется равенство

 

 

 

 

 

 

 

 

, то

 

 

 

 

 

 

 

 

 

 

 

 

для любого положительного целого числа .

 

 

 

 

 

В силу теоремы 1 из §1 мощность

 

не превосходит

 

для любого

. По-

этому существует минимальное , начиная с которого наступает стабилизация

 

, обозначим его .

 

Тогда имеются два варианта:

 

1.

Если

содержит все функции двух переменных, то функция Вебба

(

) принадлежит , следовательно, исходная система функций полна.

2.

Если

не содержит всех функций двух переменных, то , - не со-

держит всех функций от переменных и , так как , -

.

Таким образом алгоритм состоит в том, что строится последовательность

классов

 

до момента стабилизации и рассматривается класс .

По полученному классу

определяется полнота.

 

Далее описывается второй подход ля решения вопроса о полноте системы

функций. Обозначим через

некоторый класс функций (

) из , за-

висящих от переменных, причѐм такой, чтобы все функции

принадлежали

, где

(

)

.

 

28

Определение 1

 

 

 

 

 

 

 

Если для любых функций

( )(

 

)

( )(

) из

выпол-

няется включение

( ( )(

)

(

)(

))

, то говорят, что

функция (

) сохраняет множество

. Класс всех таких функций со-

храняющих

обозначим через

 

(

).

 

 

 

 

 

 

 

 

 

Пример 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Положим

 

 

 

 

 

*

̅+. Функции,

сохраняющие множество

,

удовлетворяют равенству

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(

 

 

 

)

 

, где

 

 

 

 

 

 

 

 

 

 

 

 

 

 

{̅

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

В частности,

(

) содержит самодвойственные функции

(̅̅̅

̅̅̅)

 

̅

 

 

).

Поскольку

 

 

̅

 

(

 

)

(

̅

 

̅̅̅

)

 

(

 

 

 

 

 

 

 

 

 

 

 

̅

 

(

 

 

 

)

(

 

 

)

 

,

следовательно,

 

(

̅

̅̅̅

 

,

 

 

 

 

 

 

 

 

 

)

 

̅

 

 

).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таким образом,

(

) совпадает с классом

самодвойственных функций.

 

Лемма 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

,

-

для

 

 

(

), где

 

 

 

 

 

 

 

 

 

 

 

 

(

) и

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

даются определением 1.

 

 

 

 

 

 

 

 

 

 

 

 

Доказательство

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Из

определения

1

следует, что

содержит тождественную функцию

(

)

 

,

так

как

 

.

(

 

)/

 

 

(

). Пусть

 

 

 

принадлежат

. Возьмѐм их композицию

 

(

 

). Тогда

 

зависит от

конечного числа

 

переменных.

Если

(

)

( )

принадлежат

,

то

( ( )

 

( ))

 

. ( ( ))

 

( ( ))/

 

 

 

 

 

 

 

 

(

(

(

)

(

))

 

(

( )

 

( ))

(

 

), где

 

 

 

 

 

 

 

 

(

(

)

 

(

))

 

 

 

 

 

 

 

 

 

 

 

 

 

для любого

 

 

 

 

. Поэтому

 

 

 

 

 

 

 

 

 

 

 

(

 

 

)

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Лемма 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Пусть класс

удовлетворяет ограничению

 

 

 

 

 

 

 

 

,

 

-

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Тогда для класса

 

 

(

) выполняется равенство

 

 

 

 

 

 

29

.

Доказательство

Возьмѐм

 

 

 

 

 

 

(

)

,

, тогда

 

 

 

(

)

 

 

 

 

 

 

так как в силу условия леммы

 

 

 

 

,

-

.

 

 

 

 

 

Если же

 

 

 

 

 

 

(

)

,

 

 

 

 

 

то подставим функции

вместо

и получим

 

(

)

, то есть

(

)

.

 

 

Теорема (о функциональной полноте А.В. Кузнецова) 3

 

Существует

алгоритм

построения

системы

замкнутых

классов

 

в

таких, что

не содержит целиком

для любых

. Бо-

лее того, подсистема функций

из

полна тогда и только тогда, когда она це-

ликом не содержится ни в одном из классов

.

 

 

Доказательство

 

 

 

 

 

Сначала строится система классов

. Для этого берѐтся система

собственных подмножеств из

состоящих из функций двух перемен-

ных и

, удовлетворяющих условиям (1) и (2) для любого

 

(1)содержит и

(2), -

Для построения подмножеств

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

жества в (

) функций зависящих от двух переменных

и

из . Это

возможно, так как мощность

(

) равна

 

 

,

 

 

 

 

 

а мощность семейства всех конечных подмножеств в (

) равна .

Среди просматриваемых подмножеств оставляют те подмножества, кото-

рые содержат

и . Из оставшихся подмножеств отбирают те

, для кото-

рых

 

 

 

 

 

, -

.

 

 

 

 

Последнее условие проверяют аналогично тому, как это делается в доказа-

тельстве теоремы 2 о распознавании полноты. Рассмотрим

 

 

(

),

 

 

 

 

где

, классы

сохранения .

 

 

30

Из лемм 1 и 2 следует, что класс замкнут и

( ) .

Отсюда вытекает, что классы все попарно различны и не полны в Из этого списка удаляют те классы, которые целиком содержатся в каком-

либо . В результате получается система

. Пусть подсистема

функ-

ций из

полна. Тогда

не содержится целиком ни одном из

, так как

замкнутый и неполный класс. Пусть теперь подсистема

функций из

не со-

держится целиком ни в одном из классов , где

 

. Поскольку каждый

класс

замкнут, то без ограничения общности достаточно рассмотреть слу-

чай, когда класс

замкнут. Положим

 

 

 

 

 

,

*

+-.

 

 

 

 

 

 

Тогда

 

 

 

 

 

 

 

 

 

 

,*

+-.

 

 

 

 

 

 

Классы

и

одновременно либо полны, либо неполны,

так как функция

Вебба

(

) либо входит в

, либо не содержится ни в одном из этих

классов. Рассмотрим

 

. Докажем, что

содержит все функции, зави-

сящие от двух переменных

и . Если бы это было не так, то

и

для некоторых и

. Из

следует, что

.

 

 

 

Получилось противоречие с условием теоремы. Итак

, а значит и

, со-

держит функцию Вебба

(

). Отсюда следует, что класс

и класс

пол-

ны.

Замечание Указания в доказательстве теоремы процедура практически трудно осуще-

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

 

 

 

Система

* (

 

)+ является полной. В самом деле, в силу теоремы 3

система

(

 

)+ является полной. Далее заметим, что

̅

(

)

 

 

 

̅

* (

)+

 

(

)

(

(

))

(

)

(

(

)), где

( )

̅,

 

 

 

 

 

 

 

 

 

 

 

 

(

)

̅

(

( ))

 

(

)

(

(

)).

 

 

 

 

 

(

)

*

(

)+,

 

 

 

 

где

обозначает множество формул, полученных из данных в * +.

31

2.5.Существенные функции и критерий полноты

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

 

Лемма 1

 

 

 

 

 

 

 

 

 

 

 

 

 

Пусть

(

 

) – существенная функция, которая принимает p значе-

ний,

где

. Если

 

существенная переменная функции

, то существует

два таких набора (

 

) и (

 

 

), что

 

(

 

)

(

) и

функция

(

 

)

принимает значения

отличное

и от

(

) и

(

 

 

).

 

 

 

 

 

 

 

 

 

 

 

 

 

Доказательство:

 

 

 

 

 

 

 

 

 

 

 

 

Поскольку

 

существенная переменная функции

 

, то существуют зна-

чения

 

 

такие, что среди значений функции

(

 

)

(

 

 

 

) имеется не менее двух различных.

 

 

 

 

 

 

 

Вариант 1

 

 

 

 

 

 

 

 

 

 

 

 

 

В рассматриваемой последовательности содержатся не все

значений.

Возьмем набор (

 

 

) такой,

что значение

(

 

) не встречается

среди

(

 

) где

 

 

 

 

 

 

 

 

 

 

 

Тогда

(

 

)

(

 

 

). В качестве

возьмем то,

для кото-

рого

(

 

 

)

(

 

) При этом выполняется также неравенство

(

 

 

)

(

 

).

 

 

 

 

 

 

 

 

 

 

Вариант 2

 

 

 

 

 

 

 

 

 

 

 

 

 

Среди

(

 

) где

 

 

встречаются все

значения. По-

скольку функция

существенна, то существует

такое,

что

(

)

 

,

иначе бы

существенно зависела лишь от одной переменной. Поэтому

имеются наборы (

 

)

и (

 

) для которых

(

)

(

 

 

). Тогда существует

такое, что

(

 

 

)

(

)

и (

 

 

)

 

(

 

), так как

 

 

 

 

 

 

 

Для конечного множества

через

обозначается число элементов в .

 

Лемма 2

 

 

 

 

 

 

 

 

 

 

 

 

 

Пусть

существенная функция n переменных k-значной логики, которая

принимает

различных значений с

 

Тогда существуют n подмножеств

 

 

множества

*

 

 

+такие

,

что

 

 

 

 

 

 

 

 

 

функция

принимает значений.

 

 

 

 

32