Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Математическая логика и теория алгоритмов. Учебное пособие для студентов механико-математического факультета и факультета компьютерных наук и информац.pdf
Скачиваний:
0
Добавлен:
12.08.2026
Размер:
713 Кб
Скачать

8.

 

Установить,

для

каких

Gi

верно

отношение

F1, F2, F3 Gi(i =

= 1, …, 10):

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

P

Q

R

F1

 

F2

 

F3

G1

G2

G3

G4

G5

G6

G7

G8

G9

G10

0

 

0

 

0

0

 

1

 

0

1

1

 

1

1

0

1

 

0

1

1

1

0

 

0

 

1

1

 

0

 

1

1

0

 

0

0

1

1

 

0

1

1

1

0

 

1

 

0

1

 

1

 

1

0

1

 

1

1

1

1

 

1

0

1

0

0

 

1

 

1

0

 

0

 

0

1

1

 

1

1

0

1

 

1

0

0

1

1

 

0

 

0

0

 

1

 

1

0

1

 

0

0

1

1

 

0

0

1

1

1

 

0

 

1

1

 

1

 

1

1

1

 

0

1

0

1

 

1

0

1

0

1

 

1

 

0

1

 

0

 

0

0

0

 

1

1

0

1

 

1

1

1

0

1

 

1

 

1

1

 

1

 

1

0

1

 

1

1

1

1

 

1

1

1

0

1.2.Приложения алгебры высказываний

1.2.1.Функции алгебры высказываний (булевы функции)

Функцией алгебры высказываний (булевой функцией) называется n-

местная операция на множестве {0,1}.

А л ф а в и т:

(1)x,y, …, x1, x2, … – предметные переменные;

(2)f ,g, …, f1, f2, … функциональные символы.

Те р м ы:

(1)x,y, …, x1, x2, … – предметные переменные являются термами;

(2)если f (n) – функциональный символ, t1, …, tn – термы, то f (n)(t1, …, tn) – терм.

Значение терма:

(1)если t – предметная переменная x, то зн t = γ(x);

(2)если t = f (n)(t1, …, tn), то зн t = f (n) (зн t1, …, зн tn).

Функция f (n)(x1, …, xn) представима термом t(v1, …, vm), если {v1, …, vm} {x1, …, xn} и t[γ] = f (n)[γ] для всех интерпретаций γ : {x1, …, xn} {0, 1}.

ТЕОРЕМА. Для каждой формулы A алгебры высказываний существует функция алгебры высказываний f (A) такая, что A1 A2 f (A1) = f (A2).

Функция f есть суперпозиция функций f1, …, fm, если f предста-

вима термом, все функциональные символы которого содержатся среди

f1, …, fm.

Назовем элементарной конъюнкцией (дизъюнкцией) произвольную конъюнкцию (дизъюнкцию), составленную из пропозициональных букв или их отрицаний. Дизъюнктивной нормальной формой (д. н. ф.) называ-

ют дизъюнкцию элементарных конъюнкций. Совершенной дизъюнктивной

12

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

ТЕОРЕМА. Всякая выполнимая (опровержимая) формула эквивалентна подходящей с. д. н. ф. (с. к. н. ф.).

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

 

 

1, σm

x1σ1 & ... & xmσm & f 1,...,σm,xm+1,...,xn),

f (x1,...,xn) =

 

 

...,

 

)

 

 

 

 

 

 

где σi

{0,1}, xi0 = ¬xi,

xi1 = xi (i = 1,

…,

m).

В частности, f (x1, …, xn) = 1,...,σn) x1σ1

& ... & xnσn.

 

 

 

 

 

f 1,...,σn)=1

 

 

 

 

 

 

 

 

Упражнение

 

 

 

1.

Используя истинностную таблицу функции f = (11100101), полу-

чить ее с. д. н. ф.:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

y

 

z

 

f

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

0

 

0

 

1

 

 

 

0

 

 

0

 

1

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

1

 

0

 

1

 

 

 

0

 

 

1

 

1

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

0

 

0

 

0

 

 

 

1

 

 

0

 

1

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

1

 

0

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

1

 

1

 

1

 

f (x,y,z) =

= (¬x& ¬y& ¬z) (¬x& ¬y& z) (¬x& y& ¬z) (x& ¬y& z) (x& y& z).

Определим конъюнктивную нормальную форму (к. н. ф.) как конъ-

юнкцию элементарных дизъюнкций. Аналогично определяется совершен-

ная конъюнктивная нормальная форма (с. к. н. ф.). Используя понятие

13

двойственной формулы для с. д. н. ф., можно получить формулу для с. к. н. ф.:

f (x1,...,xn) = & x1σ1 ... xnσn,

1,...,σn)

 

 

 

f 1,...,σn)=0

 

 

где σi {0,1}, xi0 = ¬xi,

xi1 = xi(i = 1, …,

n).

2. Разложить функцию f (x1, x2, x3, x4) = (0100111101011111), исполь-

зуя к. н. ф.: a) по переменным x2, x4; b) по всем переменным.

Решение:

 

 

 

 

 

 

1) Используя с. к. н. ф., зададим функцию формулой:

 

 

 

 

 

 

 

 

 

x1

x2

x3

x4

 

f (x1, x2, x3, x4)

 

 

0

0

0

0

 

0

 

 

0

0

0

1

 

1

 

 

 

 

 

 

 

 

 

 

0

0

1

0

 

0

 

 

0

0

1

1

 

0

 

 

 

 

 

 

 

 

 

 

0

1

0

0

 

1

 

 

0

1

0

1

 

1

 

 

 

 

 

 

 

 

 

 

0

1

1

0

 

1

 

 

0

1

1

1

 

1

 

 

 

 

 

 

 

 

 

 

1

0

0

0

 

0

 

 

1

0

0

1

 

1

 

 

 

 

 

 

 

 

 

 

1

0

1

0

 

0

 

 

1

0

1

1

 

1

 

 

 

 

 

 

 

 

 

 

1

1

0

0

 

1

 

 

1

1

0

1

 

1

 

 

 

 

 

 

 

 

 

 

1

1

1

0

 

1

 

 

1

1

1

1

 

1

 

 

 

 

 

 

 

 

 

f (x1,x2,x3,x4) =

=(x1 x2 x3 x4) & (x1 x2 ¬x3 x4) & (x1 x2 ¬x3 ¬x4) &

&(¬x1 x2 x3 x4) & (¬x1 x2 ¬x3 x4) =

=x2 (x1 & x4) (¬x3 & x4) = x2 ((x1 ¬x3) & x4) =

=(x2 x1 ¬x3) & (x2 x4).

14

2) По формуле

 

 

 

 

f (x1,x2,x3,x4) = & x2σ2

 

x4σ4

 

f (x1,σ2,x3,σ4) =

2,σ4)

 

 

=(x21 x41 f (x1,0,x3,0)) & (x21 x40 f (x1,0,x3,1)) &

&(x20 x41 f (x1,1,x3,0)) & (x20 x40 f (x1,1,x3,1)).

3)Вычислив соответствующие значения f (x1, x2, x3, x4), подставим их в формулу

f (x1,x2,x3,x4) = (x21 x41 0) & (x21 x40 x1 ¬x3) &

&(x20 x41 1) & (x20 x40 1) =

=(x2 x4) & (x2 ¬x4 x1 ¬x3) & (1) & (1) =

=(x2 x4) & (x2 ¬x4 x1 ¬x3) =

=x2 (x4 & (¬x4 x1 ¬x3)) = x2 (x4 & (x1 ¬x3)).

1.2.2.Полнота и замкнутость систем булевых функций

ТЕОРЕМА 1. Каждая функция из P2 может быть представлена единственным образом полиномом по mod 2 (полиномом Жегалкина)

f (x1, ..., xn) = ai1,...,is xi1 ...xis ,

i1,...,is

где число членов xi1 ... xis равно количеству подмножеств (i1, …, is) множества (1, …, n), т. е. 2n. Поскольку ai1,...,is принимают значения из множества {0,1}, число полиномов Жегалкина равно 22n . Отсюда можно доказать единственность представления булевых функций полиномами Жегалкина.

Д о к а з а т е л ь с т в о. Число всех булевых функций от n переменных равно 22n . Число полиномов Жегалкина от переменных x1, …, xn равно 22n . Отсюда следует единственность представления булевых функций полиномами Жегалкина.

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

Примеры:

1)M = P2, то [M] = P2.

2)M = {1, x1 + x2}, то [M] = L – класс линейных функций, т. е. функ-

ций вида f (x1, …, xn) = c0 + c1x1+…+ cnxn (mod 2), где ci = 0, 1 (i = = 0, …, n).

Свойства замыкания:

15

1)M [M];

2)[[M]] = [M];

3)если M1 M2, то [M1] [M2];

4)[M1] [M1] [M1 M2].

Определение. Множество M называется (функционально) замкнутым, ес-

ли M = [M].

Примеры:

1)Класс P2 – замкнутый класс.

2)Класс M = {1, x1 + x2} – не замкнут.

3)Всякий класс [M] – замкнут.

Важнейшие замкнутые классы булевых функций

1.T0 – класс булевых функций f (x1, …, xn), для которых f (0, …,

0)= 0.

2.T1 – класс булевых функций f (x1, …, xn), для которых f (1, …,

1)= 1.

Легко увидеть, что мощности классов T0 и T1 равны (1/2)22n .

3. S – класс всех самодвойственных функций, т. е. функций из P2 таких, что f = f , где f – двойственна к f , f (x1, …, xn) = f (x1, x2,

…, xn). Число самодвойственных функций, зависящих от переменных x1,

…, xn, равно 22n , поскольку самодвойственная функция (как следует из определения) полностью определяется своими значениями из первой половины строк своей истинностной таблицы.

4. Для определения класса монотонных функций введем отношение

(частичного) порядка на наборах: α = (α1, …, αn), β = (β1, …, βn).

Положим α = (α1, …, αn) β = (β1, …, βn), если αi βi(i =1, …, n).

Для f 1, …, αn) введем обозначение f (α).

Определение. Функция f (x1, …, xn) называется монотонной, если для любых наборов α и β таких, что α β имеет место f (α) f (β).

Примеры монотонных функций: 0, 1, x, x1 & x2, x1 x2.

5. Класс линейных функций – линейные полиномы Жегалкина.

ТЕОРЕМА 2. Классы T0, T1, S, M и L – замкнутые. (Поскольку все они содержат тождественную функцию, достаточно доказать замкнутость для суперпозиций функций из данного класса). Также классы T0, T1, S, M и L попарно различны.

Система функций {f1, f2, …,} из класса P2 называется (функционально) полной, если любая булева функция может быть представлена через функции этой системы. Не все системы булевых функций являются полными.

16

Примеры:

1.Система {x & y, x y} не полна, через ее функции нельзя, например, выразить функцию ¬x.

2.Если [R] = P2, то R – полный класс.

Построения, используемые в доказательстве теоремы о полноте:

ЛЕММА 1 (о несамодвойственной функции). Если f (x1, …, xn) / S, то из f (x1, …, xn) подстановкой x и x можно получить константу.

ЛЕММА 2 (о построении функции x). Если f (x1, …, xn) / M, то из f (x1, …, xn) подстановкой 0, 1 и x можно получить функцию x.

ЛЕММА 3 (о нелинейной функции). Если f (x1, …, xn) / L, то из f (x1, …, xn) подстановкой 0, 1, x и x, а также, возможно, путем навешивания отрицания на f , можно получить функцию x1 & x2.

ТЕОРЕМА 3 (необходимое и достаточное условия полноты). Система функций R из P2 полна тогда и только тогда, когда она целиком не содержится ни в одном из пяти замкнутых классов T0, T1, S, M и L.

Д о к а з а т е л ь с т в о. Н е о б х о д и м о с т ь: Пусть R полна, т. е. [R] = P2. Допустим, что R содержится в одном в одном из указанных пяти классов,

обозначим его N, т. е. R N. Тогда по свойству замыкания и замкнутости класса N: P2 = [R] [N] = N, т. е. N = P2. Что не верно. Необходимость доказана.

Д о с т а т о ч н о с т ь: Пусть R целиком не содержится ни в одном из пяти указанных классов. Тогда из R можно выделить подсистему из пяти функций, обладающую тем же свойством. Пусть функции fi, f j, fk, fm, fl от одних и тех же переменных x1, …, xn не принадлежат классам T0, T1, S, M и L, соответственно. Д о к а з а т е л ь с т в о состоит из следующих построений.

Констант 0 и 1: Возьмем fi / T0.

1)fi(1, …, 1) = 1, тогда ϕ(x) = fi (x, …, x) есть константа 1:

ϕ(0) = fi(0, …, 0) = 1, ϕ(1) = fi (1,...,1) = 1.

2)fi(1, …, 1) = 0, тогда ϕ(x) = fi (x, …, x) есть x:

ϕ(0) = fi(0, …, 0) = 1, ϕ(1) = fi (1,...,1) = 0.

По лемме 1 из fk / S и x получим константу. Имея x, находим и вторую константу. В обоих случаях получены константы 0 и 1.

Функции x: По лемме 2 из констант 0, 1 и функции fm / M построим функцию x.

Функции x1 & x2: По лемме 3 при помощи констант 0 и 1 и функций x и fl / L построим функцию x1 & x2.

17

При помощи формул над {fi, f j, fk, fm, fl }, а значит над R, построены функции x и x1 & x2, что указывает на полноту системы R. Достаточность доказана.

СЛЕДСТВИЕ. Всякий замкнутый класс R функций из P2, R ≠ P2 содержится по крайней мере в одном из пяти классов T0, T1, S, M, L.

Упражнение

1.Доказать утверждение: Система функций R = {f1, f2, …} из класса P2 – полная, система H = {g1, g2, …} – неизвестная, и каждая функция из R выразима с помощью суперпозиций через функции из H. Тогда система H полная.

2.Доказать полноту систем: a) , &, }, b) {|} и c) { ↓ }, где функции x | y = ¬(x & y) (штрих Шеффера), x ↓ y = ¬(x y) (стрелка Пирса).

3.Доказать полноту системы функций {0, 1, x & y, x + y (mod 2)}. Булевы функции, построенные из констант 0, 1 и функций x & y и x + y (mod 2) приводятся к полиному Жегалкина.

4.Доказать леммы 1–3.

5.Дана система булевых функций из двух функций f1 и f2. Определить полноту данной системы функций. Для решения необходимо проверить принадлежность ее к классам T0, T1, S, M, L.

a)f1 = (x + y) (x + z), f2 = x + (y → z);

b)f1 = 00001111, f2 = 10000111.

6.Замкнутый класс K называется предполным, если K ≠ P2 и K не содержится ни в каком другом замкнутом классе, отличном от P2.

Доказать, что классы T0, T1, S, M, L предполные.

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

Доказать, что

a){ & , → } – базис для T1;

b){ & , +} – базис для T0;

c){ , & , 0, 1} – базис для M;

d){0, } – базис для L;

e), xy + xz + yz} – базис для S.

8.Доказать, что не существует предполных классов, отличных от T0,

T1, S, M, L.

9.Доказать, что всякий базис P2 содержит не более четырех функций.

18

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]