Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Способы представления логических функцийСодержание книги
Похожие статьи вашей тематики
Поиск на нашем сайте
Логическая функция (функция алгебры высказываний) 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. □
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2016-04-20; просмотров: 1043; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.223.195.30 (0.006 с.) |