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

2042

.pdf
Скачиваний:
36
Добавлен:
07.01.2021
Размер:
2.75 Mб
Скачать

Используя основные равносильности, можно получить СДНФ и СКНФ булевой функции, не прибегая к таблицам истинности.

Алгоритм приведения функции к СДНФ

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

x y x y; x y (x y) (x y) (x y) (x y).

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

3.Избавиться от знаков двойного отрицания.

4.Раскрыть скобки в соответствии с законом дистрибутивности.

5.Если не все конъюнкции являются одночленами, то, применяя

закон идемпотентности конъюнкции

x x x, закон противоречия

x

 

0 и свойство

x 0 0 к

конъюнкции, не являющейся

x

одночленом, получить константу 0 либо одночлен. Если получена константа 0, то на основании свойства x 0 x отбросить ее.

6. Пусть в полученной ДНФ не все одночлены являются

совершенными.

Например, если в

одночлене

К

отсутствует

переменная

xi ,

то для

получения

совершенного

одночлена

необходимо

воспользоваться

законом

склеивания

K xi K

 

K .

xi

Применять это преобразование до тех пор, пока все одночлены ДНФ не станут совершенными.

7. Если в полученной ДНФ окажутся одинаковые одночлены, то, удалив все из них, кроме одного, на основании закона идемпотентности получить СДНФ.

Пример. Найти СДНФ для формулы (x y) z , используя эквивалентные преобразования.

Решение.

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

(xyz xyz) (xyz x yz) (xyz x yz)

xyz xyz x yz xyz x yz.

Аналогично выглядит алгоритм получения СКНФ для произвольной булевой функции.

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

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

3.Избавиться от знаков двойного отрицания.

4.Раскрыть скобки в соответствии с законом дистрибутивности.

5.Если не все конъюнкции являются одночленами, то, применяя закон идемпотентности дизъюнкции x x x, закон исключенного

третьего x x 1 и свойство x 1 1 к дизъюнкции, не являющейся одночленом, получить константу 1 либо одночлен. Если получена константа 1, то на основании свойства x 1 x отбросить ее.

6. Пусть в полученной КНФ не все одночлены являются

совершенными.

Например, если в

одночлене К

отсутствует

переменная xi ,

то для получения совершенного одночлена

необходимо

воспользоваться

законом

склеивания

K (xi K) (

 

K). Применять это

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

до тех пор,

xi

пока все одночлены КНФ не станут совершенными.

7. Если в полученной КНФ окажутся одинаковые одночлены, то, удалив все из них, кроме одного, на основании закона идемпотентности получить СКНФ.

Можно доказать, что для нахождения СКНФ булевой формулы F можно построить ее отрицание, затем полученную формулу привести к СДНФ и, наконец, построить отрицание полученной СДНФ. В результате получим СКНФ исходной формулы F. В данном случае имеет место свойство двойственности булевых функций, записанных в СКНФ и СДНФ.

Пример. Используя свойство двойственности, найти СДНФ для булевой функции f (x, y, z) (x y) z .

Решение.

F (x y) z (x y) z = (x y) z xz yz

(xyz xyz) (xyz xyz) xyz xyz xyz.

Получена СДНФ исходной формулы. Для получения СКНФ

построим ее отрицание: (xyz xyz xyz) (xyz) (xyz) (xyz)

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

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

Минимизация булевых функций

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

Алгебраическое упрощение в классе ДНФ по методу БлейкаПорецкого заключается в попарном склеивании всех элементарных конъюнкций СДНФ между собой, а также полученных в процессе склеивания элементарных конъюнкций меньшего числа переменных. Затем происходит поглощение конъюнкциями меньшего числа переменных конъюнкций большего числа переменных.

Пример. Упростить функцию

f (x, y, z) xyz xyz xyz xyz xyz.

Решение.

Для применения закона склеивания можно использовать следующие пары элементарных конъюнкций: первую и вторую; первую и четвертую; вторую и пятую; третью и пятую; четвертую и пятую. Будем иметь

f (x, y, z) xyz xyz x yz xyz xyz

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

xy(z z) xy yz yz xz xy xyz xyz x yz xyz xyz.

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

f (x, y, z) y(x x) y(z z) xy yz yzxz xy xyz xyz x yz xyz xyz

y xy yz yz xz xy xyz xyz xyz xyz xyz.

Врезультате поглощения получим f (x, y, z) y xz.

Контрольные вопросы

1.Дайте определение совершенного одночлена.

2.Дайте определения нормальным формам булевой функции.

3.Как могут быть найдены совершенные нормальные формы по таблицам истинности?

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

5.В чем состоит задача минимизации булевых функций?

 

 

 

 

 

 

Упражнения

 

 

1.

Найти

СДНФ

и СКНФ

функций f1 (x, y, z), f2 (x, y, z),

f3 (x, y, z) и

f4 (x, y, z),

используя их

 

табличное представление.

 

 

 

 

 

 

 

 

 

 

 

x

 

y

 

z

 

f1(x, y, z)

 

f2 (x, y, z)

f3 (x, y, z)

f4 (x, y, z)

0

 

0

 

0

 

0

 

0

1

0

0

 

0

 

1

 

0

 

0

0

1

0

 

1

 

0

 

0

 

1

0

0

0

 

1

 

1

 

1

 

1

1

1

1

 

0

 

0

 

1

 

0

1

1

1

 

0

 

1

 

0

 

1

0

0

1

 

1

 

0

 

1

 

1

1

1

1

 

1

 

1

 

1

 

1

0

1

2.Получить СДНФ функций, используя табличное представление:

а) yz xy xz xyz ; б) xy yz xz xyz ; в) xz yz xy xyz. 3.Используя элементарные преобразования, привести к ДНФ:

а) f (x, y, z) xyz xy xz y; б) f (x, y, z) (x y) xz y .

4. Для функций, заданных в ДНФ, получить СДНФ и минимизировать, используя метод Блейка-Порецкого.

а) xz xyz xz ; б) xy xz yz yz xz .

Лекция 4.4. Применение булевых функций к релейно-контактным схемам

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

контактных схем. Синтез релейно-контактных схем. Схемы функциональных элементов.

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

На возможность описания релейных схем с помощью аппарата математической логики впервые указал профессор Петербургского университета физик П. Эренфест, это было в 1910 г., а в 1936 г. этот метод применили В.И.Шестаков в СССР и Накашима в Японии. В 1938 г. в США К.Шеннон использовал булеву алгебру для синтеза и анализа релейных схем.

 

 

2

 

 

Под

релейно-контактной

 

 

 

 

 

схемой

понимают

устройство

 

 

 

 

 

 

 

 

 

 

из

проводников

и

i

 

1

двухпозиционных

контактов,

 

 

 

 

 

через

которое

полюсы

 

 

 

 

 

источника тока

связаны

с

 

 

 

 

 

некоторым

потребителем.

 

 

 

4*

Каждый контакт подключен к

3

 

 

 

 

некоторому

 

реле

 

 

 

 

(переключателю) ( рис. 4.2).

 

 

 

 

 

 

Реле состоит из обмотки

 

 

 

 

 

 

 

 

 

 

1, сердечника

2,

якоря

3,

 

 

 

 

 

4′ замыкающих контактов 4 ,

размыкающих контактов 4 .

Рис. 4.2

Если реле срабатывает (по обмотке реле протекает ток), то якорь притягивается к сердечнику. При этом все подключенные к нему замыкающие контакты замкнуты, а размыкающие контакты разомкнуты, в противном случае – наоборот. На чертежах все замыкающие контакты, подключенные к реле x, обозначаются символом x, а размыкающие – символом x .

Итак, каждый контакт имеет два устойчивых состояния: замкнутое и разомкнутое. Состояние каждого контакта можно рассматривать как логическую переменную х. При срабатывании реле x всем замыкающим контактам сопоставляется 1, размыкающим x – 0. При отключении реле создается противоположная ситуация.

Всей схеме также ставится в соответствие логическая переменная y, которая равна 1, если схема проводит ток, и 0 в противном случае. Переменная y , соответствующая схеме, является булевой функцией от переменных x1, x2,..., xn , соответствующих реле.

Эта функция называется функцией проводимости схемы, а ее таблица

условиями работы схемы.

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

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

задача анализа состоит в изучении характера работы данной схемы и ее упрощении;

задача синтеза состоит в построении схемы по минимальной

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

Анализ релейно-контактных схем

На рис. 4.3 изображено последовательное соединение двух контактов x и y.

хy

Рис. 4.3

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

Данная схема проводит электрический ток тогда и только тогда, когда оба независимых переключателя x и y замкнуты. Следовательно, функцией проводимости этой схемы будет булева функция от двух аргументов, которая принимает значение 1 в том и только том случае, когда оба ее аргумента принимают значение 1. Такой функцией является конъюнкция f (x, y) x y .

На рис. 4.4 изображено параллельное соединение двух контактов x и y.

х

y

Рис. 4.4

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

Если

контакт

разомкнут

(рис.

4.5)

,

то

f (x)

х

,

так как

1,

если

х 0;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f (x)

если

 

х 1.

 

 

 

 

 

 

 

 

 

 

 

 

 

0,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Схеме, изображенной

на рис.

4.6

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

функция

проводимости

f (x) 0, на рис. 4.7 –

f (x) 1.

 

 

 

 

 

 

 

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 4.5

 

 

 

 

 

Рис. 4.6

 

 

Рис. 4.7

Пусть имеется n контактов, последовательно включенных в

цепь (рис. 4.8).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x1

 

 

x2

 

xn

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Условия работы схемы:

 

Рис. 4.8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1,

 

если

х

... х

1;

 

 

 

 

 

 

 

 

f (x1, x2,..., xn )

 

 

 

 

 

1

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0 в остальных случаях.

 

 

 

 

 

 

 

 

Тогда f (x1, x2,..., xn ) x1

x2

... xn .

 

 

 

 

 

 

 

 

 

Электрическую

сеть

с

контактами

реле

будем

называть

контактной сетью. Контактные сети, в которых применяются только

параллельное и последовательное соединение контактов, будем называть -схемами.

Для -схем (т.е. имеет место комбинация технических устройств, изображенных на рис. 4.3, 4.4 и 4.5 ) условия работы вполне определяются по булевой функции, соответствующей схеме. Проводимость схемы соответствует только таким положениям переключателей, при которых булева функция обращается в единицу.

Пример. По данной -схеме (рис. 4.9) найти функцию проводимости и записать условия её работы.

x y

z x

Рис. 4.9

Решение.

Функция проводимости данной схемы примет вид f (x, y, z) (xy) (zx).

Составим табл. 4.9 истинности для функции, полученной в ДНФ.

 

 

 

 

 

 

 

Таблица 4.9

x

y

z

xy

Z

х

 

f(x,y,z)= xy

xz

0

0

0

0

0

 

 

0

 

 

0

0

1

0

1

 

 

1

 

 

0

1

0

0

0

 

 

0

 

 

0

1

1

0

1

 

 

1

 

 

1

0

0

0

0

 

 

0

 

 

1

0

1

0

0

 

 

0

 

 

1

1

0

1

0

 

 

1

 

 

1

1

1

1

0

 

 

1

 

 

Условия работы -схемы определим по последнему столбцу табл. 4.9. Для этого проанализируем равенство единице полученной функции проводимости: f (x, y, z) (0,0,1) (0,1,1) (1,1,0) (1,1,1).

Упрощение релейно-контактной схемы без изменения условий ее работы осуществляется по плану.

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

2.Найденная ДНФ минимизируется с использованием законов склеивания, поглощения и идемпотентности.

3.По минимальной ДНФ проводится анализ условий работы исходной схемы и строится эквивалентная ей упрощенная схема.

Например, в силу свойств идемпотентности схемы,

изображенные на рис. 4.10 и 4.11, эквивалентны схеме, изображенной на рис. 4.12, содержащей всего один контакт. Следовательно, более простой схеме, чем предыдущие.

х х

Рис. 4.10

х

х

Рис. 4.11

f (x) x x x

f (x) x x x

х

f (x) x

Рис. 4.12

Пример. Упростить схему, изображенную на рис. 4.13.

x

y

x

y

y

Рис. 4.13

Решение.

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

формулу f (x, y) [(x x)y] [y y].

Упростим булеву функцию: f (x, y) 1 y 1 y 1 1.

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

Синтез релейно-контактных схем

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

1.Построить по таблице истинности совершенную ДНФ функции, соответствующей заданным условиям работы.

2.Минимизировать полученную совершенную ДНФ.

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

Пример. Заданы условия работы схемы

f (0,0,1) f (0,1,1) f (1,1,0) f (1,1,1) 1. Требуется синтезировать

схему.

Решение.

Согласно условиям работы -схемы выпишем совершенную ДНФ

функции проводимости f (x1, x2, x3) x1 x2x3 x1x2x3 x1x2 x3 x1x2x3 . Минимизируем функцию проводимости, сгруппировав 1 и 2, 3

и 4 элементарные конъюнкции и применив закон склеивания.

f (x1, x2, x3) x1x3(x2 x2 ) x1x2(x3 x3) x1x3 x1x2 .

По полученной булевой функции вычерчиваем требуемую-схему (рис. 4.14).

х1

х3

х1 х2

Рис. 4.14

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