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

Логика_РГР

.pdf
Скачиваний:
11
Добавлен:
03.05.2015
Размер:
276.72 Кб
Скачать
F = x1 x2
F = x1 x2

11

Таблица истинности функции равнозначности представлена на рис. 8а. Эта функция реализуется элементом равнозначности (сравнения), УГО которого показано на рис. 8б. Элемент используется для сравнения двоичных сигналов.

x1

x2

F

 

 

 

0

0

1

0

1

0

1

0

0

1

1

1

 

 

 

x1

=1

F

x2

а)

б)

 

Рис. 8. Элемент равнозначности

Импликация (функция следования): левая и правая

Импликация –

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

принимает нулевое значение тогда и только тогда, когда из единичного значения первой переменной «следует» нулевое значение второй переменной (левая импликация), либо из единичного значения второй переменной «следует» нулевое значение первой переменной (правая импликация).

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

x1 следует x2», а запись функции для правой импликации

читается как «из x2 следует x1». Используя элементарные логические функции получим выражения для импликации:

F = x1 x2 = x1 + x2 и F = x1 x2 = x1 + x2 .

Таблицы истинности функции представлены на рис. 9 (а – левая импликация, б – правая импликация), а элемент.

12

x1

x2

F

 

 

 

0

0

1

0

1

1

1

0

0

1

1

1

 

 

 

x1

x2

F

 

 

 

0

0

1

0

1

0

1

0

1

1

1

1

 

 

 

Рис. 9. Таблицы истинности функции импликации

2. ФОРМЫ ПРЕДСТАВЛЕНИЯ ЛОГИЧЕСКИХ ФУНКЦИЙ

2.1. Нормальные формы записи логических функций

Одна и та же логическая функция может быть записана различным образом. Например, функция F (x1, x2 ) может быть записана следующими эквивалентными выражениями:

F (x1, x2 ) =

x1x2 +

 

 

 

 

2 +

 

 

 

 

(2.1)

x1

x

x1x2 ;

F(x1, x2 ) =

x1 + x1x2 ;

(2.2)

F (x1, x2 ) =

 

 

 

 

 

 

x1(

x1 +

 

 

 

2 )

(2.3)

x

Эквивалентность выражений легко проверить подстановкой в них значений x1 и x2 . Для исключения неоднозначности записи логические

функции представляют в унифицированных формах. Такими формами являются: дизъюнктивная и конъюнктивная. В них используются элементарные дизъюнкции и конъюнкции.

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

x1x2 ; x1x2 ; x1 × x2 ; x1x2 x3 ; x1x2 x3 .

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

x1 + x2 ;

x1 +

 

2 ;

x1 +

 

2 +

 

3.

x

x

x

13

В элементарные конъюнкции (дизъюнкции) не могут входить одинаковые переменные, а также переменные с их отрицаниями. Такие дизъюнкции (конъюнкции) должны преобразовываться. При этом они

упрощаются, а также превращаются

в 0 или 1, например,

x1x1x1 = x1; x1

 

= 0 ; x1 + x1 + x1 = x1 ;

x2 +

 

2 = 1 и т. п.

x

x

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

Дизъюнктивная нормальная форма (ДНФ) — это форма, в которой логическая функция представляется в виде дизъюнкции элементарных конъюнкций, например:

F = x1x2 +

x1x3 + x1x2 x3.

(2.4)

Функции выражений (2.1), (2.2) записаны также в ДНФ.

Конъюнктивной нормальной формой (КНФ) называется такая форма,

в которой функция представляется в виде конъюнкции элементарных дизъюнкций. Например: F = (x1 + x2 )(x1 + x2 + x3 ).

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

F = x1x2

+

x1x3 + x2 x3;

(2.5)

F = x1x2

+

 

 

(2.6)

x1x3.

2.2. Совершенные формы записи логических функций

Среди нормальных форм выделяются такие, в которых функции записываются единственным образом. Их называют совершенными. Применяются совершенная дизъюнктивная и совершенная конъюнктивная нормальные формы (СДНФ и СКНФ). Формы СДНФ и СКНФ имеют две отличительные особенности:

14

1)все элементарные конъюнкции и дизъюнкции имеют одинаковый

ранг;

2)в элементарные конъюнкции (дизъюнкции) входят все те переменные или их отрицания, от которых зависит функция.

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

Функция F (x1, x2 , x3 ) = x1x2 x3 + x1x2 x3 + x1x2 x3 + x1x2 x3 записана

в СДНФ.

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

Правило записи СДНФ функции по таблице истинности

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

Например, логическая функция задана таблицей истинности, представленной на рис. 10а. Для наборов 3, 5, 6, 7 записываем конъюнкции через пробел:

x1x2 x3 x1x2 x3 x1x2 x3 x1x2 x3

В пробелы ставим знак дизъюнкции и получаем функцию в СДНФ, т. е.

F( x1 ,x2 ,x3) = x1x2 x3 + x1x2 x3 + x1x2 x3 + x1x2 x3 .

Для задания функции не обязательно всегда составлять таблицу истинности. Можно указать, что функция F (x1 , x2 , x3 ) равна единице,

например, на наборах 3, 5, 6, 7 (011, 101, 110, 111).

15

x1

x2

x3

F

 

 

 

 

0

0

0

0

0

0

1

0

0

1

0

0

0

1

1

1

1

0

0

0

1

0

1

1

1

1

0

1

1

1

1

1

 

 

 

 

а)

x1

x 2

x3

F

 

 

 

 

0

0

0

0

0

0

1

1

0

1

0

0

0

1

1

1

1

0

0

0

1

0

1

0

1

1

0

1

1

1

1

1

 

 

 

 

б)

Рис. 10. Таблицы истинности логических функций

Правило записи СКНФ функции по таблице истинности

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

Например, пусть логическая функция задана прежней таблицей истинности, представленной на рис. 10а. Для наборов 0, 1, 2, 4 записываем элементарные дизъюнкции:

(x1 + x2 + x3 ) (x1 + x2 + x3 ) (x1 + x2 + x3 ) (x1 + x2 + x3 ) .

Дизъюнкции соединяем знаками конъюнкции и получаем функцию в СКНФ, т. е.

F (x1, x2 , x3 ) = (x1 + x2 + x3 )× (x1 + x2 + x3 )× (x1 + x2 + x3 )×(x1 + x2 + x3 )

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

16

3. ЗАКОНЫ АЛГЕБРЫ ЛОГИКИ И ИХ СЛЕДСТВИЯ

3.1. Основные законы

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

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

Формулировка: логические переменные можно менять местами. Возможные варианты записи:

F = x1 + x2 + x3 = x2 + x1 + x3 = x3 + x1 + x2 и F = x1x2 x3 =x1x3 x2 = x2 x1x3 .

Сочетательный закон

Формулировка: логические переменные в конъюнкциях и дизъюнкциях можно объединять в группы. Возможные варианты записи:

F = x1 + x2 + x3 = (x1 + x2 ) + x3 = x1 + (x2 + x3 ) ;

F = x1x2 x3 x4 = (x1x2 )× (x3 x4 ) = x1 (x2 x3 x4 ) = (x1x2 x3 )x4 .

Распределительный закон

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

F = x1 (x2 + x3 ) = x1x2 + x1x3 .

Вторая модификация закона называется распределением дизъюнкции по конъюнкции. Форма записи закона во второй модификации:

17

F = x1 + (x2 x3 ) = (x1 + x2 )(x1 + x3 ).

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

Закон отрицания (инверсии)

Закон отрицания имеет две формулировки. Первая: отрицание от конъюнкции равно дизъюнкции отрицаний переменных. Форма записи:

F = x1 × x2 =x1+x2 .

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

F = x1 + x2 + x3 = x1 × x2 × x3 и F = x1 + x2 = x1 × x2

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

3.2. Тождественные соотношения

Тождественные соотношения проверяются подстановкой возможных значений логических переменных. Основные тождественные соотношения:

1)x1 Ù x1 Ùx1Ù... Ù x1 = x1 ;

2)x1 + x1 + x1 + ... + x1 = x1 ;

3)x1 Ù x1 = 0 ;

4)x1 + x1 = 1 ;

5) x1 = x1; x1 = x1

6)1 + F = 1 ;

7) 1 F = F ;

18

8) 0 F = 0 ;

В тождествах 6, 7, 8 символом F обозначена любая логическая функция или переменная.

3.3. Следствия из законов алгебры логики

Следствия из законов алгебры логики применяются в качестве правил для упрощения логических функций. Упрощение логических функций называется также минимизацией, а упрощенная функция — минимальной. Минимальная функция обычно записывается в ДНФ. Она содержит наименьшее количество конъюнкций минимально возможного ранга. Минимальная логическая функция не поддается дальнейшему упрощению. Для минимизации логических функций используются следующие правила: поглощения, свертки, расширения и склеивания. Рассмотрим эти правила.

Правило поглощения. Данное правило является следствием из распределительного закона. Оно может быть записано в следующем виде:

x1 + x1x2 + x1x2 x3 = x1.

Правило доказывается следующим образом. Переменная x1 , общая для всех конъюнкций, выносится за скобки, т. е.

x1 + x1x2 + x1x2 x3 = x1 (1 + x2 + x2 x3 ).

При F = x2 + x2 x3 получаем x1(1 + x2 + x2 x3 ) = x1(1 + F ). Выражение (1 + F )равно единице и, следовательно, правило доказано.

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

xy + xyz + xyr + xyrs = xy(1 + z + r + rs) = xy.

Правило свертки. Правило является следствием второго распределительного закона. Запись правила:

а) x1 + x1x2 = x1 + x2 ; б) x1 + x1x2 = x1 + x2 .

19

Доказательство. К левой части выражения применяется второй распределительный закон, т.е.

x1 + x1x2 = (x1 + x1 )(x1 + x2 )

Первая скобка правой части равна единице (см. тождественное соотношение 4), поэтому x1 + x1x2 = x1 + x2 . Также доказывается равенство x1 + x1x2 = x1 + x2 .

Правило расширения. Правило записывается в следующем виде:

x1x2 + x1x3 + x2 x3 = x1x2 + x1x3 .

Понятие расширения объясняется возможностью добавления к правой части конъюнкции x2 x3 . Справедливость правила доказывается искусственным приемом. Конъюнкция x2 x3 умножается на дизъюнкцию

(x1 + x1 ) = 1 , а затем делаются простые преобразования, т. е.

x1x2 + x1x3 + x2 x3 (x1 + x1 ) = x1x2 + x1x3 + x1x2 x3 + x1x2 x3 = x1x2 (1+ x3 )+ + x1x3 (1+ x2 ) = x1x2 + x1x3

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

представлением одной переменной. Например, конъюнкции x1x2 x3 и

x1x2 x3 , x1x2 x3 и x1x2 x3 являются попарно соседними. В первой паре

конъюнкции отличаются представлением x2 , а во второй — представлением x1 . По этим переменным конъюнкции склеиваются.

Формулировка правила: две соседние конъюнкции склеиваются с образованием одной конъюнкции меньшего ранга; исчезает та переменная, по которой конъюнкции склеиваются.

Пример: Задана логическая функция в СДНФ

. F = x1x2 x3 + x1x2 x3

Необходимо упростить функцию. Так как конъюнкции функции

20

соседние и отличаются представлением x1 , то путем их склеивания получаем F = x2 x3 . Справедливость преобразования (склеивания)

доказывается вынесением общих переменных в конъюнкциях за скобку, т.е.

F = x1

 

2

 

3 +

 

 

 

2

 

3 =

 

2

 

3 (

x1 +

x1 ) =

 

2

 

3 .

(2.7)

x

x

x1

x

x

x

x

x

x

При решении логических задач следует строго соблюдать порядок выполнения логических операций, согласно их приоритету:

1 – инверсия (отрицание),

2 – конъюнкция,

3 – дизъюнкция (строгая и нестрогая),

4 – импликация и равнозначность (эквивалентность).

4. ПРИМЕР ВЫПОЛНЕНИЯ ЗАДАНИЯ

Задание 1. Построить таблицу истинности для заданной логической функции (см. Приложение А, табл.1).

Рассмотрим пример выполнения задания для функции:

F( A,B,C ) = B & C + A C .

Вначале определим значение наборов переменных. Их восемь - 000, 001, 010, 011, 100, 101, 110, 111. Затем вычисляем значение функции на каждом наборе. Любая рассматриваемая логическая функция представляет собой суперпозицию элементарных логических функций и может быть вычислена последовательно при помощи подстановок определенных ранее значений.

На 1-м шаге выписываем значения наборов переменных и определяем порядок выполнения элементарных логических функций:

А В С

B & C

 

B &C +

 

 

B &C +

 

 

B&C +

 

C

 

 

А

А

 

A

A

0 0 0

0 0 1

0 1 0

0 1 1

1 0 0

1 0 1

1 1 0

1 1 1

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