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

Учебное пособие 800514

.pdf
Скачиваний:
6
Добавлен:
01.05.2022
Размер:
3.99 Mб
Скачать

1)Мать сказала: «Ты можешь купить светлый шкаф, если только он будет березовым желтого цвета».

2)Бабушка сказала: «Если шкаф будет березовым, то светлый тон должен быть достаточным признаком желтой окраски».

3)Дети сказали: «Если шкаф будет коричневым, то для того, чтобы он был темным, необходимо, чтобы он был сделан из дуба».

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

Указание: решение задач 7-9 сводится к поиску минимальной КНФ.

2.6 Приложение алгебры логики к релейно-контактным схемам

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

Рассматриваемые здесь электрические цепи являются частным случаем так называемых релейно-контактных схем (РКС) (иногда их называют переключательными схемами).

Простейшая схема, содержащая один переключатель P ,

имеет один вход T1

и один выход T2

:

 

T1

 

 

 

T2

 

P

 

 

 

 

 

 

Истинному высказыванию P , гласящему: «Переключатель P замкнут» поставим в соответствие переключатель P . В этом случае схема пропускает ток.

Высказыванию P соответствует: «Переключатель P разомкнут» и схема не проводит ток.

«1» (истина) интерпретируется как состояние переключателя «ток проходит», «0» (ложь) —«ток не проходит».

Конъюнкции двух высказываний P &Q соответствует схема с последовательным соединением контактов:

T1

P

 

 

Q

 

T2

 

 

 

 

 

 

 

 

 

Дизъюнкции

двух

высказываний P

Q соответствует

схема с параллельным соединением контактов:

P

T1

 

T2

 

Q

Так как любая функция алгебры логики представима в виде ДНФ (или КНФ), то для любой булевой функции можно составить соответствующую схему, а каждой схеме соответствует некоторая формула алгебры логики, задающая некую булеву функцию.

Две схемы считаются эквивалентными, если через од-

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

Пример 1. Составит РКС для следующей функции:

f ( x , y , z ) ( x

y ) ( x( y z )).

Решение. С помощью равносильных преобразований найдем нормальную форму (ДНФ или КНФ):

 

 

 

 

f ( x, y, z) ( x

y) x( y z) ( x y) ( xy xz) xy xy xz

(ДНФ).

Итак, имеем РКС:

X

Y

X

Y

 

X

 

Z

 

 

 

 

 

 

 

 

 

Пример 2. Построить РКС для функции f ( x , y , z ), если f (1,1,1 ) f (1,1,0 ) f ( 0,1,1 ) f ( 0,0,1 ) 1,

а остальные значения функции равны нулю.

Решение. Составим СДНФ для данной функции и затем упростим:

f (x, y, z) xyz xyz xyz xyz xy(z z) xz( y y) xy xz

Тогда имеем следующую РКС:

X

X

Пример 3. Упростить РКС:

Y

Z

X

X

 

Y

 

 

 

 

Z

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Y

 

 

Z

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Y

 

 

Z

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Решение. Составим по данной РКС формулу, задающую функцию проводимости, и затем упростим ее:

yz

x y z x y z yz ( x y z x y z )

yz

yz( x x ) yz yz ( y y )z z.

Тогда упрощенная схема вида:

 

 

 

 

 

Z

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ЗАДАЧИ И УПРАЖНЕНИЯ

1.

 

Построить схемы, реализующие следующие

элементарные булевы функции:

 

 

1)

x

y

 

 

2) x

y

2)

3) x y

 

 

4) x

y

3)

) x

y

 

 

 

 

 

 

2.Реализовать схемами следующие формулы:

1)

 

xy z

 

6)

( x y ) z

2)

 

 

 

 

 

7)

( x

y )

z

 

xy

zu

 

3)

 

xy

yz

xz

8)

( x

y )

z

4)

 

x( x y )

 

9)

( x

y )

z

5)

( x

y )

x

10) ( x

z )

( y x )

3. Составить несколько РКС для следующих функций:

1)

( x

 

y ) & ( y

z )

 

2)

(( x

 

y ) & ( y

z ) ( x

z )

3)

( y

z ) xy

 

 

 

4)

xy

 

yz

 

 

 

 

 

 

 

 

 

 

 

5)

( x

 

y ) & ( y

x ) ( x y )

 

 

 

 

 

 

 

6)

( x

z ) & ( x

y )

 

7)

x ( x y ) & ( y z ) y z

 

4.Из контактов p, q , r составить схему так, чтобы

она замкнулась тогда и только тогда, когда замкнуты какиенибудь два из трех контактов p, q , r .

5. Требуется, чтобы в большом зале можно было включать или выключать свет при помощи любого из четырех переключателей, расставленных на четырех стенах.

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

6. Для группы из трех человек построить электрическую схему для регистрации тайного голосования простым большинством голосов. Требуется так построить схему, чтобы каждый человек, голосующий «за», нажимал кнопку, и не нажимал, если он голосует «против», и чтобы в случае, если будет большинство человек голосовать «за», — загоралась лампочка.

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

2.7.1Полином Жегалкина

Элементарная конъюнкция называется монотонной, если она не содержит отрицательных переменных.

Полиномом Жегалкина или полиномом по модулю 2 на-

зывается формула:

P x1 ,..., xn K1 K2 K3 ... Kl ,

где Ki i 1,...,l – попарно различные монотонные элементарные конъюнкции, составленные из переменных x1 , ..., xn .

Наибольший из рангов элементарных конъюнкций, входящих в полином, называется степенью этого полинома. Чис-

ло

l называется длиной полинома. При l 0 полагаем

P

x1 , ..., xn

0 .

Имеет место следующее утверждение.

Для каждой булевой функции существует, и при этом единственно, представление в виде полинома Жегалкина, который может быть записан следующим образом:

P x1 , ..., xn

ai

...i

s

xi ... xi

.

 

 

 

 

1

 

1

s

 

 

i1 ,...,is 1,...,n

 

 

 

 

 

Число возможных монотонных конъюнкций xi

...xi

 

 

 

 

 

 

 

1

 

s

равно количеству подмножеств

 

 

i1 ,..., is

множества

1,2,...,n , т.е. 2n .Коэффициенты ai

...i

s

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

1

 

 

 

 

 

 

 

либо 0, либо 1.

Отметим два способа построения полинома Жегалкина.

1. Метод неопределенных коэффициентов. Применяет-

ся в основном тогда, когда булева функция f x1 ,..., xn зада-

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

Во-первых, выписываем общий вид полинома Жегалкина для функций от n переменных;

Во-вторых, исходя из того, что f x1 ,..., xn и искомый полином P x1 ,..., xn на одинаковых наборах входящих в них переменных принимают одинаковые значения, составляем систему 2n уравнений с 2n неизвестными ai1 ...is .

В-третьих, решаем систему, найденную на предыдущем шаге, находим коэффициенты ai1 ...is и выписываем искомый полином.

Пример 1. Построить полином Жегалкина для функции

f x, y,z 01110011 .

Решение. Запишем общий вид полинома Жегалкина для функции, зависящей от 3-х переменных:

P x, y,z a0 a1 x a2 y a3 z a12 xy a13 xz a23 zy a123 xyz .

Составим систему уравнений:

a0

0;

 

 

 

a0

a1

0;

 

 

a0

a2

1;

 

 

a0

a3

1;

 

 

a0

a2

a3

a23

1;

a0

a1

a3

a13

0;

a0

a1

a2

a12

1;

a0

a1

a2

a3

a12 a13 a23 a123 1.

Учитывая свойства операции «сложение по модулю 2»:

1 1 0; 0 1 1;

0 0 0; 1 0 1,

находим коэффициенты полинома Жегалкина

a0 a1 a12 0,

a2 a3 a23 a13 a123 1

и выписываем полином третьей степени:

P x, y,z y z yz xz xyz .

2. Метод эквивалентных преобразований. Этот метод применяется в том случае, когда функция f x1 ,..., xn задана

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

При этом следовать схеме:

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

конъюнкцию и отрицание:

u v

w

u

 

w ;

(1)

v

в) в полученной в пункте б) формуле освободиться от от-

рицания, используя эквивалентность:

 

u

u

1;

 

 

(2)

г) раскрыть скобки в полученном выражении, пользуясь

свойством дистрибутивности операции

относительно логи-

ческого умножения

 

u v

w

uv uw;

(3)

д) привести подобные члены по правилу:

u u 0.

(4)

Пример 2. Пусть f x, y,zx yy z . По-

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

преобразований.

 

 

 

 

 

 

 

 

 

 

Решение. Построим д.н.ф.

 

 

 

 

 

 

 

 

 

 

x

 

y y

z

x y y z

x y x z yz .

 

Освободимся от знака дизъюнкции :

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

x y x z

yz

 

x y x z

 

yz .

 

Применим формулу (2):

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x 1 y 1 1 x 1 z 1 yz 1 1.

 

x y x z yz

Пользуясь (3), раскроем скобки в последнем выражении и приведем подобные, получим:

xy x y xz z 1 yz 1 1 yz xy y x 1.

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

множителя x

y и y

z , их произведение и дает полином

Жегалкина для f

x, y,z

. Действительно,

u v u v uv u v 1 1 uv u 1 ,

откуда следует

 

 

 

x

y y

z

xy x 1 yz y 1 ,

поэтому

 

 

 

x

y y

z

xy yz y x 1.

Для формул, содержащих символы ~ и | при построении полинома Жегалкина, полезно использовать эквивалентности:

u ~ v

 

 

u

v

 

u

v

1,

 

(5)

 

 

 

 

 

 

 

1.

 

 

 

 

u

v

uv

uv

 

 

 

(6)

 

 

 

 

Пример 3. Построим полином Жегалкина для функции

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f x , y ,z

xy ~ z

x y .

 

Решение.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5 , 6

 

 

 

 

 

xy ~ z

 

x y

 

 

xy

z

1 xy x 1 xyz xz

x z 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

Булева функция, которой соответствует полином Жегалкина первой степени, называется линейной. Функции, задаваемые формулами

x ~ y , x y , x , x , x y z ,

являются линейными. Множество всех линейных булевых функций обозначается через L , множество линейных функций, зависящих от n переменных, – через L n . Для каждой

функции f L n имеет место представление

 

f x1 ,..., xn

c0

c1 x1 ...

cn xn ,

(7)

где коэффициенты ci

принимают значения либо 0, либо 1.

Из представления (7) следует, что число всех линейных

функций от n переменных равно

2n 1 . Другими

словами,

мощность множества L n

равна 2n 1 .

 

Если функция

f

L , то она называется нелинейной.

Степень полинома Жегалкина нелинейной функции не меньше 2. Элемен-

тарные функции xy , x y , x

y , x

y являются нели-

 

 

 

нейными.

Справедливо утверждение (лемма о нелинейной функ-

ции):

Если f x1 ,..., xn нелинейная функция, то, подставляя на места ее переменных 0, 1, x , y , x , y , можно получить либо xy , либо xy .

ЗАДАЧИ И УПРАЖНЕНИЯ

1.Найти число монотонных элементарных конъюнкций ранга r , составленных из переменных x1 ,..., xn .

2.Найти число полиномов Жегалкина степени r над множеством переменных x1 ,..., xn .

3.Методом неопределенных коэффициентов построить полином Жегалкина для следующих функций:

1)

f

1001 ;

4)

x ~ y

x

y ;

2)

f

01101000 ;

5)

xyz

x

y ;