Главная Случайная страница Категории: ДомЗдоровьеЗоологияРнформатикаРскусствоРскусствоКомпьютерыКулинарияМаркетингМатематикаМедицинаМенеджментОбразованиеПедагогикаПитомцыПрограммированиеПроизводствоПромышленностьПсихологияРазноеРелигияСоциологияСпортСтатистикаТранспортФизикаФилософияФинансыХимияХоббиРкологияРРєРѕРЅРѕРјРёРєР°Рлектроника |
Способы представления логических функцийЛогическая функция (функция алгебры высказываний) f(X1, X2, …, Xn) от n переменных – n-арная операция на множестве [0; 1]. В этой функции логические переменные X1, X2, …, Xn представляют собой высказывания и принимают значения 0 или 1. Существует различных логических функций от n переменных. Логические операции, рассмотренные в предыдущем разделе, можно рассматривать как логические функции от двух переменных. Набор функций, с помощью которого можно представить (выразить) все логические функции, называется функционально-полным или базисом. Основными базисами являются: 1) булевый базис, состоящий из конъюнкции, дизъюнкции и отрицания; 2) базис NOR, состоящий из стрелки Пирса; 3) базис NAND, включающий штрих Шеффера. Рассмотрим некоторые способы представления логических функций. Аналитический. Функция задается в виде алгебраического выражения, состоящего из функций одного или нескольких базисов, применяемых к логическим переменным. Табличный. Функция задается в виде таблицы истинности (соответствия), которая содержит 2n строк (по числу наборов аргументов), n столбцов по числу переменных и один столбец значений функции. В такой таблице каждому набору аргументов соответствует значение функции. Числовой. Функция задается в виде десятичных (восьмеричных, шестнадцатеричных) эквивалентов номеров тех наборов аргументов, на которых функция принимает значение 1. Нумерация наборов начинается с нуля. Аналогичным образом логическая функция может быть задана по нулевым значениям. Пример 6.1. Функция задана аналитически: f(X, Y, Z) = + . Записать функцию в табличном и числовом представлениях. Решение. Переход к другому представлению возможен и в таком виде. Однако лучше преобразовать функцию, чтобы упростить процесс перехода к другому представлению. Опустим отрицание до переменных по законам де Моргана (6.8)-(6.9): f(X, Y, Z) = + = Z + X + Y + Z. Сократим одинаковые слагаемые по формуле (6.10) и перегруппируем их: f(X, Y, Z) = Z + X + Y + Z = X + Y + Z. По полученному выражению построим таблицу истинности, путем подстановки значений переменных в строке и записи значения функции в эту строку (табл. 6.2) Таблица 6.2. Таблица истинности
Чтобы представить функцию РІ числовом представлении, выпишем номера наборов, РЅР° которых функция принимает значение 1: 1, 2, 4, 5, 6, 7 Рё номера наборов, РЅР° которых функция принимает значение 0: 0, 3. РўРѕРіРґР° функция f(X, Y, Z) = X + Y + Z имеет РґРІР° числовых представления. Р’ первом случае перечисляются РІСЃРµ наборы, РЅР° которых функция равна 1: f(1, 2, 4, 5, 6, 7) = 1. Р’Рѕ втором случае перечисляются РІСЃРµ наборы, РЅР° которых функция равна 0: f(0, 3) = 0. Р’СЃРµ эти представления эквивалентны Рё описывают РѕРґРЅСѓ функцию. □ Правило 6.2. (переход РѕС‚ табличного Рє аналитическому представлению функции РІ ДНФ) Необходимо РІ тех строках таблицы истинности, РіРґРµ функция равна 1, выписать набор переменных Рё соединить РёС… конъюнкцией. Причем, если переменная РІ наборе равна 0, то Рє переменной добавляется отрицание. Конъюнкции переменных соединить дизъюнкцией. Пример 6.2. Функция задана таблично (табл. 6.3). Таблица 6.3. Таблица истинности некоторой функции
Записать функцию РІ аналитическом представлении ДНФ Рё числовом представлении. Решение. Выпишем те наборы переменных, РЅР° которых функция принимает значение 1, Рё запишем РёС… РІ РІРёРґРµ конъюнкции переменных: набор 3: X = 0, Y = 1, Z = 1 В® YZ; набор 6: X = 1, Y = 1, Z = 0 В® XY ; набор 7: X = 1, Y = 1, Z = 1 В® XYZ. Соединим полученные конъюнкции переменных дизъюнкцией Рё получим аналитическое представление функции: f(X, Y, Z) = YZ + XY + XYZ. Функция принимает значение 1 РЅР° наборах 3, 6, 7 Рё значение 0 РЅР° наборах 0, 1, 2, 4, 5, поэтому РІ числовом представлении функция будет иметь РІРёРґ f(3, 6, 7) = 1. f(0, 1, 2, 4, 5) = 0. □ Правило 6.3. (переход РѕС‚ табличного Рє аналитическому представлению функции РІ РІРёРґРµ РљРќР¤) Необходимо РІ тех строках таблицы истинности, РіРґРµ функция равна 0, выписать набор переменных Рё соединить РёС… дизъюнкцией. Причем, если переменная РІ наборе равна 1, то Рє переменной добавляется отрицание. Дизъюнкции переменных соединить конъюнкцией. Пример 6.3. Функцию, заданную таблично РІ примере 6.2, записать РІ аналитическом представлении РљРќР¤. Решение. Выпишем наборы, РЅР° которых функция принимает значение 0 Рё преобразуем РёС… РІ дизъюнкции переменных: набор 0: X = 0, Y = 0, Z = 0 В® X + Y + Z; набор 1: X = 0, Y = 0, Z = 1 В® X + Y + ; набор 2: X = 0, Y = 1, Z = 0 В® X + + Z; набор 4: X = 1, Y = 0, Z = 0 В® + Y + Z; набор 5: X = 1, Y = 0, Z = 1 В® + Y + . Запишем функцию РІ РІРёРґРµ РљРќР¤ (произведения СЃСѓРјРј): f(X, Y, Z) = (X + Y + Z)(X + Y + )(X + + Z) ´ ´ ( + Y + Z)( + Y + ). □ 6.3.2. РЎРїРѕСЃРѕР±С‹ перевода логических функций Рассмотрим СЃРїРѕСЃРѕР±С‹ перевода функции РёР· РѕРґРЅРѕРіРѕ базиса РІ РґСЂСѓРіРёРµ. Правило 6.4. (переход РѕС‚ булевого базиса Рє базису NOR) Алгоритм перехода включает следующие этапы. 1. Упростить функцию Рё преобразовать ее Рє произведению СЃСѓРјРј произведений Рё С‚. Рґ. РїРѕ формуле (6.7), причем РІ каждой СЃСѓРјРјРµ или произведении должно быть РїРѕ РґРІР° аргумента. Если невозможно свести формулу, РіРґРµ РІ каждой операции РїРѕ РґРІР° аргумента, то использовать следующие преобразования: X+Y+Z=(X+Y+Z)(X+Y+Z)=((X+Y)(X+Y)+Z)((X+Y)(X+Y)+Z)= = ; XYZ=(XY+XY)Z= = = . 2. Преобразовать конъюнкции РїРѕ формуле (6.24): X×Y= . 3. Преобразовать отрицание над переменными РїРѕ формуле (6.25): = . 4. Заменить полученные операции стрелкой РџРёСЂСЃР° РїРѕ формуле (6.26): =X¯Y. Пример 6.4. Привести упрощенную функцию РёР· примера 6.1 Рє базису NOR. Решение. Приведем формулу Рє произведению СЃСѓРјРј Рё С‚. Рґ. РїРѕ формуле (6.7): f(X, Y, Z) = X + Y + Z = (X + Y + )(X + Y + Z) = = ((X + Y)(X + ) + )((X + Y)(X + ) + Z). Преобразуем конъюнкции: ((X + Y)(X + ) + )((X + Y)(X + ) + Z) = = . Преобразуем отрицания над переменными: = = . Заменим операции стрелкой РџРёСЂСЃР°: = = ((X ¯ Y)(X ¯ (Z ¯ Z)) ¯ (Y ¯ Y)) ¯ ((X ¯ Y)(X ¯ (Z ¯ Z)) ¯ Z). Формула приведена Рє базису NOR. □ Правило 6.5. (переход РѕС‚ булевого базиса Рє базису NAND) Алгоритм перехода включает следующие этапы. 1. Упростить функцию Рё преобразовать ее Рє СЃСѓРјРјРµ произведений СЃСѓРјРј Рё С‚. Рґ. РїРѕ формуле (6.7), причем РІ каждой СЃСѓРјРјРµ или произведении должно быть РїРѕ РґРІР° аргумента. Если невозможно свести формулу, РіРґРµ РІ каждой операции РїРѕ РґРІР° аргумента, то использовать следующие преобразования: X+Y+Z=(X+Y)(X+Y)+Z= = ; XYZ=XYZ+XYZ=(XY+XY)Z+(XY+XY)Z= = . 2. Преобразовать дизъюнкции формуле X+Y= . (6.27) 3. Преобразовать отрицание над переменными РїРѕ формуле: = . (6.28) 4. Заменить полученные операции штрихом Шеффера РїРѕ формуле: =X½Y. (6.29) Пример 6.5. Привести функцию РёР· примера 6.2 Рє базису NAND. Решение. Упростим выражение Рё приведем Рє РІРёРґСѓ СЃСѓРјРјС‹ произведений Рё С‚. Рґ.: f(X, Y, Z) = YZ + XY + XYZ = Y( Z + X + XZ) = = Y( Z + X( + Z)) = Y( Z + X) = Y(Z + X) = YZ + YX. Преобразуем дизъюнкции: YZ + YX = . Отрицания над переменными отсутствуют, поэтому приведем операции Рє штриху Шеффера: = (Y ½ Z) ½ (Y ½ X). Формула приведена Рє базису NAND. □ Минимизация логических функций РћРґРЅР° Рё та же функция может иметь несколько аналитических представлений. Функция называется минимальной, если ее аналитическое представление имеет минимальное количество слагаемых Рё минимальное количество переменных РІ каждом слагаемом. Таким образом, минимизация справедлива только для аналитического представления логической функции РІ РІРёРґРµ ДНФ. Существует несколько методов минимизации логических функций. Наиболее простым Рё эффективным является метод Блейка. Правило 6.6. (метод Блейка) Алгоритм метода состоит РёР· трех этапов: 1) привести формулу Рє ДНФ; 2) для всевозможных пар слагаемых, если это возможно, применить операцию склеивания: Y + XZ = Y + XZ + YZ; 3) Рє исходным Рё полученным слагаемым применить операцию поглощения: X + XY = X. Пример 6.6. Минимизировать функцию РёР· примера 6.2. Решение. Рсходная функция имеет РІРёРґ: f(X, Y, Z) = YZ + XY + XYZ. Выполним последовательно этапы метода Блейка. Применим операцию склеивания для всевозможных пар слагаемых: YZ + XY = YZ + XY + YZY = YZ + XY + 0; YZ + XYZ = YZ + XYZ + YZ; YZ + XY = YZ + XY + XY; XY + YZ = XY + YZ + YZ. Р’ результате выполнения второго этапа получено следующее выражение: f(X, Y, Z) = YZ + XY + XYZ + YZ + XY. Применим операцию поглощения: f(X, Y, Z) = YZ + XY. Таким образом, функция минимизирована. Сравните полученный результат СЃ упрощением функции РІ примере 6.5, то есть минимизация может быть достигнута преобразованиями над функцией. □ |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2016-07-23 lectmania.ru. Все права принадлежат авторам данных материалов. В случае нарушения авторского права напишите нам сюда... |