Постановка задачи минимизации

Министерство образования и науки

Российской Федерации

Федеральное государственное бюджетное образовательное учреждение

высшего профессионального образования

Национальный исследовательский ядерный университет «МИФИ»

Волгодонский инженерно-технический институт – филиал НИЯУ МИФИ

МЕТОДИЧЕСКИЕ УКАЗАНИЯ

К выполнению индивидуального домашнего задания

(контрольной работы)

по курсу

«ДИСКРЕТНАЯ МАТЕМАТИКА»

для студентов специальностей:

230201 «Информационные системы и технологии»

220301 «Автоматизация технологических процессов и производств»

всех форм обучения

Волгодонск

УДК 681.3 (075.8)

Рецензент д.т.н., профессор В.В. Кривин

Составители: ст. преп. Цуверкалова О.Ф., ст. преп. Лифанская Л.И.

Метод. указ. к выполнению индивидуального домашнего задания (контрольной работы) по дисциплине «Дискретная математика» /ВИТИ НИЯУ МИФИ. Волгодонск, 2010. 26 с.

Предназначены для студентов очной, очно-заочной и заочной формы обучения специальности 230201 – Информационные системы и технологии, 220301 – Автоматизация технологических процессов и производств

ã ВИТИ НИЯУ МИФИ, 2010

ã О.Ф. Цуверкалова, 2010

ВВЕДЕНИЕ

Настоящие методические указания содержат краткое изложение основ булевой (двоичной) логики, а также варианты и пример выполнения индивидуального домашнего задания. Освоение изложенного материала поможет студентам при изучении таких курсов как «Информатика», «Архитектура ЭВМ» и др.

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

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

Выбор варианта задания осуществляется в соответствии с порядковым номером студента по журналу (для студентов дневной формы обучения) или по номеру зачетки (для студентов очно-заочной и заочной форм обучения) в соответствии с Приложением 1.

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

Рекомендуемая литература:

1. Цуверкалова О.Ф. Курс лекций по дисциплине «Дискретная математика»

2. Спирина М.С., Спирин П.А. Дискретная математика. М.: Издательский центр «Академия», 2004. – 368 с.

3. Новиков Ф.А. Дискретная математика для программистов. – СПб.: Питер, 2001. – 304 с.

4. Самсонов Б.Б., Плохов Е.М., Филоненков А.И. Компьютерная математика (основание информатики). – Ростов-на-Дону: «Феникс», 2002 г. – 512 с.

5. Шапорев С.Д. Математическая логика. – СПб.: «БХВ-Петербург», 2005, 416 с.

Методические указания

Логические функции

Пусть имеется функция, заданная на некотором множестве М. Функция называется логической, если она принимает значения в конечном множестве N. Если множество N содержит п элементов, то логическая функция называется
п-значной. Перечень всех символов, соответствующих области значений логической функции, называется алфавитом, а сами элементы множества N – буквами этого алфавита. Логическая функция называется однородной, если её аргументы принадлежат тому же множеству, что и значение функции. Однородная функция двух переменных может быть задана таблицей соответствия (матрицей), строки и столбцы которой соответствуют буквам алфавита. Таким образом можно определять функции одной и двух переменных.

Наиболее простым и в то же время важнейшим классом однородных функций являются двузначные (булевы) функции. Областью определения булевых функций от п переменных слу­жит множество слов длины п. Они представляют собой всевозмож­ные наборы из п двоичных цифр и их общее количество
равно постановка задачи минимизации - student2.ru .

Число всевозможных булевых функций п переменных постановка задачи минимизации - student2.ru быстро возрастает с увеличением п (при п = 3 оно равно 256, а при п = 5 превышает 4 миллиарда). Но функции одной и двух перемен­ных еще можно перечислить и подробно исследовать, так как их количество сравнительно невелико (v = 4 при п = 1 и v = 16 при п = 2).

Общаятаблица соответ­ствия для булевых функций одной переменной имеет следующий вид (справа указаны обозначения функций):

Таблица 1 – Булевы функции одной переменной

постановка задачи минимизации - student2.ru

Две функции постановка задачи минимизации - student2.ru = 0 и постановка задачи минимизации - student2.ru = 1 представляют собой функции-константы (тождественный ноль и тождественная единица), так как они не изменяют своих значений при изменении аргумента. Функ­ция постановка задачи минимизации - student2.ru = х повторяет значения переменной х и потому просто сов­падает с ней.

Единственной нетривиальной функцией является постановка задачи минимизации - student2.ru , назы­ваемая отрицанием или инверсией. Она равна 1, когда аргумент принимает значение 0, и равна 0 при аргументе 1.

Все 16 функций двух переменных приведены в табл. 2, где указаны условные обозначе­ния, названия и значения функции (в скобках даны встречающиеся в литературе варианты).

Таблица 2 - Булевы функции двух переменных

постановка задачи минимизации - student2.ru Обозначение Название
постановка задачи минимизации - student2.ru
постановка задачи минимизации - student2.ru Константа 0 (тождественный 0)
постановка задачи минимизации - student2.ru постановка задачи минимизации - student2.ru Конъюнкция (логическое «и», произведение)
постановка задачи минимизации - student2.ru постановка задачи минимизации - student2.ru Отрицание импликации
постановка задачи минимизации - student2.ru постановка задачи минимизации - student2.ru Повторение первого аргумента
постановка задачи минимизации - student2.ru постановка задачи минимизации - student2.ru Отрицание обратной импликации
постановка задачи минимизации - student2.ru постановка задачи минимизации - student2.ru Повторение второго аргумента
постановка задачи минимизации - student2.ru постановка задачи минимизации - student2.ru Сумма по модулю два (антиэквивалентность, неравнозначность)
постановка задачи минимизации - student2.ru постановка задачи минимизации - student2.ru Дизъюнкция (логическое «или», логическая сумма)
постановка задачи минимизации - student2.ru постановка задачи минимизации - student2.ru Стрелка Пирса (отрицание дизъюнкции, логическое «не-или»)
постановка задачи минимизации - student2.ru постановка задачи минимизации - student2.ru Эквиваленция (равнозначность)
постановка задачи минимизации - student2.ru постановка задачи минимизации - student2.ru Отрицание (инверсия) второго аргумента
постановка задачи минимизации - student2.ru постановка задачи минимизации - student2.ru Обратная импликация
постановка задачи минимизации - student2.ru постановка задачи минимизации - student2.ru Отрицание (инверсия) первого аргумента
постановка задачи минимизации - student2.ru постановка задачи минимизации - student2.ru Импликация (следование)
постановка задачи минимизации - student2.ru постановка задачи минимизации - student2.ru Штрих Шеффера (отрицание конъюнкции, логическое «не-и»)
постановка задачи минимизации - student2.ru Константа 1 (тождественная 1)

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

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

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

- коммутативность постановка задачи минимизации - student2.ru постановка задачи минимизации - student2.ru
- ассоциативность постановка задачи минимизации - student2.ru постановка задачи минимизации - student2.ru
- дистрибутивность постановка задачи минимизации - student2.ru постановка задачи минимизации - student2.ru
- свойства констант постановка задачи минимизации - student2.ru постановка задачи минимизации - student2.ru
  постановка задачи минимизации - student2.ru постановка задачи минимизации - student2.ru
- свойства отрицания постановка задачи минимизации - student2.ru постановка задачи минимизации - student2.ru
-закон двойного отрицания постановка задачи минимизации - student2.ru  
- законы де Моргана постановка задачи минимизации - student2.ru постановка задачи минимизации - student2.ru
- законы идемпотентности постановка задачи минимизации - student2.ru постановка задачи минимизации - student2.ru
- законы поглошения постановка задачи минимизации - student2.ru постановка задачи минимизации - student2.ru
    постановка задачи минимизации - student2.ru

Использование тождеств существенно упрощает запись логических формул.

Из свойств, при­веденных выше видно, что в булевой алгебре имеет место, принцип двойственности. Взаимно двой­ственными операциями являются дизъюнкция и конъюнкция. За­меняя в некоторой формуле каждую операцию на двойственную ей, получаем двойственную формулу. Например, из формулы постановка задачи минимизации - student2.ru имеем постановка задачи минимизации - student2.ru .

На основе законов де Моргана выводится следующее положение: если постановка задачи минимизации - student2.ru и постановка задачи минимизации - student2.ru - двойственные формулы, то постановка задачи минимизации - student2.ru равносильна постановка задачи минимизации - student2.ru . Отсюда следует, что

постановка задачи минимизации - student2.ru = постановка задачи минимизации - student2.ru

т. е. двойственная формула выражается как отрицание формулы, полученной из исходной замещением каждой переменной ее отри­цанием. Таблица соответствия двойственной функции получается заменой аргументов и значений в исходной функции на противополож­ные, т. е. 0 заменяется на 1, а 1 - на 0. Если формулы постановка задачи минимизации - student2.ru и постановка задачи минимизации - student2.ru равносильны, то и двойственные им формулы постановка задачи минимизации - student2.ru и постановка задачи минимизации - student2.ru также равносильны.

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

Нормальные формы

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

Функция приводится к нормальной форме следующим путем:

1) с помощью законов де Моргана формула преобразуется к такому виду, чтобы знаки отрицания относились только к отдельным переменным;

2) на основе первого (второго) дистрибутивного закона формула сводится к дизъюнкции конъюнкций (конъюнкции дизъюнкций);

3) полученное выражение упрощается и соответствии с тождествами постановка задачи минимизации - student2.ru и постановка задачи минимизации - student2.ru ( постановка задачи минимизации - student2.ru и постановка задачи минимизации - student2.ru ).

Пример:

постановка задачи минимизации - student2.ru

постановка задачи минимизации - student2.ru постановка задачи минимизации - student2.ru - дизъюнктивная нормальная форма (ДНФ).

постановка задачи минимизации - student2.ru постановка задачи минимизации - student2.ru - конъюнктивная нормальная форма (КНФ).

Члены дизъюнктивной (конъюнктивной) нормальной формы, представляющие собой элементарные конъюнкции (дизъюнкции) k букв, называют минитермами (макстермами) k-го ранга. Так, в приведенных выше формах ху - минитерм второго ранга, хуz - минитерм третьего ранга, а постановка задачи минимизации - student2.ru - макстерм второго ранга.

Если исходная формула содержит другие операции, то они предварительно выражаются через дизъюнкцию, конъюнкцию и отри­цание, например:

Пример:

постановка задачи минимизации - student2.ru постановка задачи минимизации - student2.ru

Если в каждом члене нор­мальной формы представлены все переменные (либо в прямом, либо в инверсном виде), то она называется совершенной нормальной формой.

Всякая нормальная форма может быть приведена к совершенному виду следующим образом. Если какой-либо член j дизъюнктивной (конъюнктивной) нормаль­ной формы не содержит переменной х, то она вводится тождест­венным преобразованием j = j( постановка задачи минимизации - student2.ru ) = jх Ú j постановка задачи минимизации - student2.ru (соответ­ственно j = j Ú постановка задачи минимизации - student2.ru =(j Ú х)(j Ú постановка задачи минимизации - student2.ru )).
В силу тождеств j Ú j = j и jj = j одинаковые члены, если они появляются, заменяются одним таким членом.

Можно показать, что любая булева функция, не являющаяся тождественным нулем (единицей), имеет одну и только одну совер­шенную дизъюнктивную (конъюнктивную) нормальную форму.

Продолжая второй пример, приведем данную функцию к совершенной дизъюнктивной нормальной форме (СДНФ):

постановка задачи минимизации - student2.ru

Приведение к совершенной конъюнктивной нормальной форме (СКНФ) иллюстрируется следующим при­мером:

постановка задачи минимизации - student2.ru

Для совокупности переменных постановка задачи минимизации - student2.ru выражение постановка задачи минимизации - student2.ru называют конституентой единицы, а выражение постановка задачи минимизации - student2.ru - конституентой нуля ( постановка задачи минимизации - student2.ru означает либо постановка задачи минимизации - student2.ru , либо постановка задачи минимизации - student2.ru ). Данная конституента единицы (нуля) обращается в единицу (нуль) только при одном соответствую­щем ей наборе значений переменных, который получается, если все переменные принять равными единице (нулю), а их отрицания - нулю (единице). Например, конституенте единицы постановка задачи минимизации - student2.ru соот­ветствует набор (1011), а конституенте нуля постановка задачи минимизации - student2.ru - набор (1001).

Так как совершенная дизъюнктивная (конъюнктивная) нор­мальная форма является дизъюнкцией (конъюнкцией) конституент единицы (нуля), то можно утверждать, что представляемая ею булева функция f( постановка задачи минимизации - student2.ru ) обращается в единицу (нуль) только при наборах значений переменных постановка задачи минимизации - student2.ru , соответствующих этим конституентам. На остальных наборах эта функция обращается в нуль (единицу).

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

Пример. Функции, заданной таблицей

постановка задачи минимизации - student2.ru

соответствуют совершенные нормальные формы:

постановка задачи минимизации - student2.ru

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

1.3 Алгебра Жегалкина

Другая алгебра булевых функций строится на основе операций сложения по модулю 2 и конъюнкции. Она называется алгеброй Жегалкина по имени предло­жившего ее советского ученого. Непосредственной проверкой по таблицам соответствия устанавливаются следующие основные свой­ства этой алгебры:

- коммутативностьх + у = у +х; ху = ух;

- ассоциативность х + (у + z) = (х + у) + z; х(уz) = (ху)z;

- дистрибутивность умножения относительно сложения х(у + z ) = ху + хz;

- свойства констант. постановка задачи минимизации - student2.ru ; постановка задачи минимизации - student2.ru ; постановка задачи минимизации - student2.ru

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

- закон приведения подобных членов при сложении х + х =0;

- закон идемпотентности для умножения хх = х.

Таким образом, в формулах алгебры Жегалкина, как и в буле­вой алгебре, не могут появляться коэффициенты при переменных и показатели степени. Существую следую­щие соотношения:

постановка задачи минимизации - student2.ru

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

Пример.

постановка задачи минимизации - student2.ru

постановка задачи минимизации - student2.ru

постановка задачи минимизации - student2.ru

Через операции алгебры Жегалкина можно выразить все другие булевы функции:

постановка задачи минимизации - student2.ru

постановка задачи минимизации - student2.ru

постановка задачи минимизации - student2.ru

постановка задачи минимизации - student2.ru

постановка задачи минимизации - student2.ru .

Любая булева функция приводится к каноническому многочлену, члены которого не содержит числовых коэффициентов и линейны относительно любой из переменных (переменные входят только в первой степени). Действительно, если привести данную функцию к совершенной нормальной форме и заменить все дизъюнкции через суммы по модулю 2, а отрицание переменных представить в соответствии с тождеством постановка задачи минимизации - student2.ru , то после раскрытия скобок получим некоторое алгебраическое выражение. Оно приводится к канониче­скому многочлену на основе соотношений х + х = 0 и хх = х. Такое представление всегда возможно и единственно (с точностью до по­рядка расположения членов).

Пример.

(1 + х + у) (1 + ху) + (х + ху) у = 1 + х + у + ху + хху + уху + ху + хуу =

= 1 + х + у + ху + ху + ху + ху + + ху = 1 + х + у + ху.

Так как эта формула является тождественной единицей, то она невыполнима.

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

х Ú у Ú z = х + у + z + ху + хz + уz + хуz.

Контактные схемы

В качестве одной из интерпретаций булевых функций рассмотрим электрическую схему, состоящую из источника напряжения (батареи), лампочки и одного или двух ключей х1 и x2. Ключи управляются кнопками с двумя состояния­ми: кнопка нажата (1) и кнопка отпущена (0). Если в исходном со­стоянии ключ разомкнут, то при нажатии кнопки он замыкается. Ключ может быть сконструирован и так, что в исходном состоянии он замкнут, тогда нажатие кнопки означает его размыкание, т. е. приводит к противоположному результату. Поэтому нормально за­мкнутые ключи обозначим через постановка задачи минимизации - student2.ru и постановка задачи минимизации - student2.ru .

При соответствующих состояниях кнопок лампочка принимает одно из двух состояний: горит (1) и не горит (0). Состояния кнопок отождествляются со значениями булевых переменных х1 и x2,а со­стояние лампочки - со значением функций этих переменных.

Операции отрицания соответствует схема с одним нормально замкнутым ключом (рис. 1а). Если кнопка нажата (х = 1), ключ разомкнут и лампочка не горит, т. е. f(x) = 0; при отпущенной кнопке (х = 0) ключ замкнут и лампочка горит, т. е. f(x) = 1. Операциям дизъюнкции и конъюнкции соответствуют схемы с двумя нормально разомкнутыми ключами (рис. 1б, в).Легко убедиться, что в схеме рис. 1б лампочка горит при нажатии хотя бы одной из кнопок, а в схеме рис. 1в - только при нажатии обеих кнопок одновременно.

  а) постановка задачи минимизации - student2.ru б) постановка задачи минимизации - student2.ru   в) постановка задачи минимизации - student2.ru

Рисунок 1

Любую сложную булеву функцию можно представить некоторой переключательной схемой. На рис. 2а показана схема, реализую­щая функцию постановка задачи минимизации - student2.ru . Та же функция представляется равносильной формулой постановка задачи минимизации - student2.ru , которой соответствует другая более простая схема (рис. 2б). Следует иметь в виду, что ключи, обозначенные одинаковыми буквами (х или х), связаны между собой и управляются общей кнопкой.

а) постановка задачи минимизации - student2.ru б) постановка задачи минимизации - student2.ru

Рисунок 2

В реальных устройствах используются ключи различной кон­струкции и физической природы (механические, электромагнитные, электронные, гидравлические, пневматические и т. д.). Однако при реализации логических функций многие технические особенности не имеют значения. Существенными свойствами контактных схем являются исходные положения ключей (нормально разомкнуты или нормально замкнуты) и способ их соединения между собой и внешними устройствами. Эта информация полностью отображается графом, ребра которого соответствуют ключам, а вершины - точкам их соединения. Ребра нормально разомкнутых ключей обозначаются соответствующей переменной (х), а нормально замкнутых - отрицанием переменной ( постановка задачи минимизации - student2.ru ). Например, контактная схема (рис. 2б)изображается графом, как показано на рис. 3а. При изображении контактных схем графами принимаются неко­торые специфические условия и упрощения. Обычно переменные обозначаются в разрывах линий, изображающих ребра. При этом ребрами считаются только такие линии, которые обозначены какой-либо переменной или ее отрицанием. Другие линии, не являющиеся ребрами графа, могут изображать входы и выходы схемы, связи с другими схемами и т. п. Кроме того, вершины второй степени могут не изображаться, так как им инцидентны пары последовательно соединенных ребер, из которых каждое обозначено соответствующей переменной. На рис. 3бпоказана контактная схема в обычно принятом виде.

постановка задачи минимизации - student2.ru постановка задачи минимизации - student2.ru

Рисунок 3

Задача анализа контактной схемы состоит в построении соответствующей ей булевой функции. Для параллельно-последовательных схем эта задача решается на основе того, что параллельное соединение контактов соответствует дизъюнк­ции, а последовательное соединение — конъюнкции переменных, которыми эти контакты обозначены в схеме. Например, для двух­полюсной контактной схемы (рис. 4)

постановка задачи минимизации - student2.ru

Если схема (или ее часть) имеет произвольную структуру, то ее анализ проводится путем выделения всех путей между входным и выходным полюсами схемы. Каждый такой путь представляется конъюнкцией переменных входящих в нее контактов, а вся схема — дизъюнкцией этих конъюнкций. Например, для мостиковой схемы (рис. 5)

постановка задачи минимизации - student2.ru

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

постановка задачи минимизации - student2.ru Рисунок 4     постановка задачи минимизации - student2.ru Рисунок 5

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

Пусть, например, функция задана таблицей соответствия, приве­денной ниже.

постановка задачи минимизации - student2.ru

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

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

постановка задачи минимизации - student2.ru

Этому выражению соответствует схема рис. 6б, которая со­держит на два контакта меньше. Еще проще мостиковая схема (рис. 5), которая реализует ту же функцию.

а) постановка задачи минимизации - student2.ru б) постановка задачи минимизации - student2.ru

Рисунок 6

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

Логические схемы

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

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

Таблица 3 - Логические элементы, реализующие булевы функции

Функция Нормальная форма Контактная схема Графическое изображение элемента Название элемента
Отрицание постановка задачи минимизации - student2.ru постановка задачи минимизации - student2.ru постановка задачи минимизации - student2.ru постановка задачи минимизации - student2.ru Инвертор
Конъюнкция постановка задачи минимизации - student2.ru постановка задачи минимизации - student2.ru постановка задачи минимизации - student2.ru постановка задачи минимизации - student2.ru Совпадение
Дизъюнкция постановка задачи минимизации - student2.ru постановка задачи минимизации - student2.ru постановка задачи минимизации - student2.ru постановка задачи минимизации - student2.ru Разделение
Импликация постановка задачи минимизации - student2.ru постановка задачи минимизации - student2.ru постановка задачи минимизации - student2.ru постановка задачи минимизации - student2.ru Разделение с запретом
Эквиваленция постановка задачи минимизации - student2.ru постановка задачи минимизации - student2.ru постановка задачи минимизации - student2.ru постановка задачи минимизации - student2.ru Равнозначность
Отрицание импликации постановка задачи минимизации - student2.ru постановка задачи минимизации - student2.ru постановка задачи минимизации - student2.ru постановка задачи минимизации - student2.ru Совпадение с запретом
Сумма по модулю 2 постановка задачи минимизации - student2.ru постановка задачи минимизации - student2.ru постановка задачи минимизации - student2.ru постановка задачи минимизации - student2.ru Неравнозначность
Штрих Шеффера постановка задачи минимизации - student2.ru постановка задачи минимизации - student2.ru постановка задачи минимизации - student2.ru постановка задачи минимизации - student2.ru Разделение с двумя запретами
Стрелка Пирса постановка задачи минимизации - student2.ru постановка задачи минимизации - student2.ru постановка задачи минимизации - student2.ru постановка задачи минимизации - student2.ru Совпадение с двумя запретами

Подобно суперпозиции функций логические схемы образуются суперпозицией элементов посредством объединения их внешних узлов (полюсов). При этом множество всех узлов схемы разбивается на входные, выходные и внутренние узлы. Например, на рис. 7, а показана схема, реализующая функцию постановка задачи минимизации - student2.ru ,которая имеет три входных, один выходной и три внутренних узла. Обычно для упрощения узлы на схемах не изображаются и во избежание излишних пересечений входы рассредоточиваются с указанием связанных с ними переменных (рис.7, б).

а) постановка задачи минимизации - student2.ru б) постановка задачи минимизации - student2.ru

Рисунок 7

Корректно построенные схемы должны удовлетворять следующим условиям:

1) не допускать замкнутых контуров, которые могут привести к неоднозначности сигналов на входах элементов;

2) любой вход элемента должен быть связан только с одним входом схемы или выходом другого элемента;

3) выходы элементов, не являющиеся выходами схемы и не связанные со входами других элементов, считаются лишними и исключаются из схемы.

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

Как было показано ранее,любая булева функция представима в совершенной нормальной форме (дизъюнктивной или конъюнктивной). Более того, такое представление является первым шагом перехода от табличного задания функции к её аналитическому выражению. В дальнейшем будем исходить из дизъюнктивной формы, а соответствующие результаты для конъюнктивной формы получаются на основе принципа двойственности.

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

Многомерный куб

Каждой вершине n-мерного куба, можно поставить в соответствии конституенту единицы. Следовательно, подмножество отмеченных вершин является отражением на n–мерном кубе булевой функции от n переменных в совершенной дизъюнктивной нормальной форме. На рис. 8 показано такое отражение для функции постановка задачи минимизации - student2.ru .

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

Минитерм постановка задачи минимизации - student2.ru -го ранга постановка задачи минимизации - student2.ru можно рассматривать как результат склеивания двух склеивания двух минитермов n-го ранга (конституент единицы), т.е. постановка задачи минимизации - student2.ru . На n-мерном кубе это соответствует замене двух вершин, которые отличаются только значениями координаты постановка задачи минимизации - student2.ru , соединяющим эти вершины ребром (говорят, что ребро покрывает инцидентные ему вершины). Таким образом, минитермам постановка задачи минимизации - student2.ru -го порядка соответствует рёбра n-мерного куба. Аналогично устанавливается соответствие минитермов постановка задачи минимизации - student2.ru -го порядка граням n-мерного куба, каждая из которых покрывает четыре вершины (и четыре ребра).

Элементы n-мерного куба, характеризующиеся s измерениями, называют s-кубами. Так, вершины являются 0-кубами, рёбра – 1-кубами, грани – 2-кубами и т.д. Обобщая приведённые рассуждения, можно считать, что минитерм постановка задачи минимизации - student2.ru -го ранга в дизъюнктивной нормальной форме для функции n переменных отображается s-кубом, причём каждый s-куб покрывает все те s-кубы низшей размерности, которые связаны с его вершинами. В качестве примера на рис.9 дано отображение функции трёх переменных постановка задачи минимизации - student2.ru . Здесь минитермы постановка задачи минимизации - student2.ru и постановка задачи минимизации - student2.ru соответствуют 1-кубам постановка задачи минимизации - student2.ru , а минитерм постановка задачи минимизации - student2.ru отображается 2-кубом ( постановка задачи минимизации - student2.ru ).

постановка задачи минимизации - student2.ru постановка задачи минимизации - student2.ru

Рисунок 8 Рисунок 9

Итак, любая дизъюнктивная нормальная форма отображается на n-мерном кубе совокупностью s-кубов, которые покрывают все вершины, соответствующие конституентам единицы (0-кубы). Справедливо и обратное утверждение: если некоторая совокупность s-кубов покрывает множество всех вершин, соответствующих единичным значениям функции, то дизъюнкция соответствующих этим s-кубам минитермов является выражением данной функции в дизъюнктивной нормальной форме. Говорят, что такая совокупность s-кубов (или соответствующих им минитермов) образует покрытие функции.

Стремление к минимальной форме интуитивно понимается как поиск такого покрытия, число s-кубов которого было бы поменьше, а их размерность s - побольше. Покрытие, соответствующее минимальной форме, называют минимальным покрытием. Например, для функции, представленной на рис. 8, покрытие на рис.10,а соответствует неминимальной форме постановка задачи минимизации - student2.ru , а покрытия на рис. 10,б и в – минимальным формам постановка задачи минимизации - student2.ru и постановка задачи минимизации - student2.ru .

а) постановка задачи минимизации - student2.ru б) постановка задачи минимизации - student2.ru в) постановка задачи минимизации - student2.ru

Рисунок 10

Карты Карно

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

постановка задачи минимизации - student2.ru   постановка задачи минимизации - student2.ru постановка задачи минимизации - student2.ru

Рисунок 11

Как и в обычных таблицах соответствия, клетки наборов, на которых функция принимает значение 1, заполняется единицами (нули обычно не вписывают, им соответствуют пустые клетки).

Между отображениями функции на n-мерном кубе и на карте Карно имеет место взаимно-однозначное соответствие. На карте Карно s-кубу соответствует совокупность 2s соседних клеток, размещённых в строке, столбце, квадрате или прямоугольнике (с учётом соседства противоположных краёв карты). Считывание минитермов с карты Карно осуществляется по простому правилу. Клетки, образующие s-куб, дают минитерм постановка задачи минимизации - student2.ru -го ранга, в который входят те постановка задачи минимизации - student2.ru переменные, которые сохраняют одинаковые значения на этом s-кубе, причём значениям 1 соответствуют сами переменные, а значениям 0 – их отрицание. Переменные, которые не сохраняют свои значения на s-кубе, в минитерме отсутствуют. Различные способы считывания приводят к различным представлениям функции в дизъюнктивной нормальной форме (рис. 12).

постановка задачи минимизации - student2.ru постановка задачи минимизации - student2.ru постановка задачи минимизации - student2.ru постановка задачи минимизации - student2.ru постановка задачи минимизации - student2.ru постановка задачи минимизации - student2.ru

Рисунок 12

Комплекс кубов

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

Комплекс кубов постановка задачи минимизации - student2.ru функции постановка задачи минимизации - student2.ru определяется как объединение множеств постановка задачи минимизации - student2.ru всех её s-кубов (s=0, 1,…, n), т.е. постановка задачи минимизации - student2.ru , причём некоторые из постановка задачи минимизации - student2.ru могут быть пустыми. Для записи s-кубов и минитермов функции от n переменных используются слова длины n, буквы которых соответствуют всем n переменным. Входящие в минитерм переменные называются связанными и представляются значениями, при которых минитерм равен единице (1 для постановка задачи минимизации - student2.ru и 0 для постановка задачи минимизации - student2.ru ). Не входящие в минитерм переменные являются свободными и обозначаются через х. Например, 2-куб функции пяти переменных, соответствующий минитерму постановка задачи минимизации - student2.ru , запишется как ( постановка задачи минимизации - student2.ru ). 0-кубы, соответствующие конституентам единицы, представляются наборами значений переменных, на которых функция равна единице. Очевидно, в записи s-куба всегда имеется s свободных переменных. Если все n переменных свободны, что соответствует n-кубу, то это означает тождественность единице рассматриваемой функции. Таким образом, для функции, не равных тождественно единице, постановка задачи минимизации - student2.ru .

Множество всех s-кубов постановка задачи минимизации - student2.ru записывается как совокупность слов, соответствующих каждому s-кубу. Для удобства будем располагать слова s-кубов в столбцы, а их совокупность заключать в фигурные скобки. Например, комплекс кубов, соответствующий представлению функции на трёхмерном кубе (рис. 13, а), выражается как постановка задачи минимизации - student2.ru , где

постановка задачи минимизации - student2.ru ; постановка задачи минимизации - student2.ru ; постановка задачи минимизации - student2.ru

Для сравнения на рис. 13, б изображён комплекс кубов в принятых обозначениях.

а) постановка задачи минимизации - student2.ru б) постановка задачи минимизации - student2.ru

Рисунок 13

Комплекс кубов образует максимальное покрытие функции. Исключая из него все те s-кубы, которые покрываются кубами высшей размерности, получаем покрытия, соответствующие тупиковым формам. Так, для рассматриваемого примера (рис. 13) имеем тупиковое покрытие

постановка задачи минимизации - student2.ru

которое соответствует функции постановка задачи минимизации - student2.ru . В данном случае это покрытие является и минимальным.

Для двух булевых функций операция дизъюнкции соответствует объединению их комплексов кубов постановка задачи минимизации - student2.ru , а операция конъюнкции - пересечению комплексов кубов постановка задачи минимизации - student2.ru . Отрицанию функции соответствует дополнение комплекса кубов, т.е. постановка задачи минимизации - student2.ru , причём постановка задачи минимизации - student2.ru определяется всеми вершинами, на которых функция принимает значение 0. Таким образом, имеет место взаимно-однозначное соответствие (изоморфизм) между алгеброй булевых функций и алгеброй множеств, представляющих комплексы кубов.

Постановка задачи минимизации

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

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

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

Куб сокращённого покрытия, который покрывает вершины данной функции, не покрываемые никакими другими кубами, не может оказаться избыточным и всегда войдёт в минимальное покрытие. Такой куб, как и соответствующая ему импликанта, называют экстремалью (существенной импликантой), а покрываемые им вершины – отмеченными вершинами. Множество экстремалей образует ядро покрытия. Ясно, что при переходе от сокращённого покрытия к минимальному прежде всего следует выделить все экстремали. Если множество экстремалей не образует покрытия, то оно дополняется до покрытия кубами из сокращённого покрытия.

Приведённые определения иллюстрируются на рис. 10, где сокращённое покрытие постановка задачи минимизации - student2.ru (рис. 10,а) и минимальные покрытия постановка задачи минимизации - student2.ru (рис. 10,б) и постановка задачи минимизации - student2.ru (рис.10,в) выражаются следующим образом:

постановка задачи минимизации - student2.ru ; постановка задачи минимизации - student2.ru ; постановка задачи минимизации - student2.ru

Сокращённая форма представляет собой дизъюнкцию четырёх простых импликант, т.е. постановка задачи минимизации - student2.ru . Экстремалями являются простые импликанты постановка задачи минимизации - student2.ru и постановка задачи минимизации - student2.ru , которым соответствуют 1-кубы (10х) и (01х), а отмеченные вершины – постановка задачи минимизации - student2.ru и постановка задачи минимизации - student2.ru или соответственно (100) и (010).

1.10 Метод Квайна – Мак – Класки

Этот метод используется в случаях, когда функция задана в дизъюнктивной совершенной нормальной форме (или таблицей соответствия). Приведение к сокращённой форме осуществляется последовательным применением операции склеивания постановка задачи минимизации - student2.ru , где постановка задачи минимизации - student2.ru - конъюнкции переменных отличных от постановка задачи минимизации - student2.ru . Множеству конституент единицы, представленных в исходной форме, соответствует совокупность 0-кубов постановка задачи минимизации - student2.ru , а операции склеивания – объединение двух 0-кубов, которые отличаются только одной координатой. Результатом такого склеивания является 1-куб, в котором различные координаты исходных 0-кубов замещены символом постановка задачи минимизации - student2.ru . Сравнивая попарно все 0-кубы, получаем множество 1-кубов постановка задачи минимизации - student2.ru . Применяя к постановка задачи минимизации - student2.ru операцию склеивания, находим множество 2-кубов постановка задачи минимизации - student2.ru и т.д. Этот процесс продолжается до тех пор, пока получаемое из постановка задачи минимизации - student2.ru очередное постановка задачи минимизации - student2.ru не окажется пустым множество. В результате множество постановка задачи минимизации - student2.ru преобразуется в комплекс кубов постановка задачи минимизации - student2.ru , причём постановка задачи минимизации - student2.ru .

Для выделения из постановка задачи минимизации - student2.ru множества простых импликант постановка задачи минимизации - student2.ru при каждой операции склеивания, необходимо отмечать каким либо знаком (например, меткой постановка задачи минимизации - student2.ru ) те кубы, которые объединяются в кубы высшей размерности. Очевидно, неотмеченные кубы и образуют множество простых импликант постановка задачи минимизации - student2.ru . Чтобы уменьшить число сравниваемых пар при операции объединения целесообразно разбить множество постановка задачи минимизации - student2.ru на классы, в каждом из которых содержатся s-кубы с одинаковым числом единиц (или нулей), и упорядочить эти классы по возрастающему числу единиц. Так как объединяться могут только такие два s-куба, число единиц, в которых точно на одну больше или меньше, то достаточно ограничиться попарным сравнением s-кубов одного класса с s-кубами соседнего класса.

Наши рекомендации