Пред.
След.
Макеты страниц
Распознанный текст, спецсимволы и формулы могут содержать ошибки, поэтому с корректным вариантом рекомендуем ознакомиться на отсканированных изображениях учебника выше Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике ДЛЯ СТУДЕНТОВ И ШКОЛЬНИКОВ ЕСТЬ
ZADANIA.TO
3-8. СИНТЕЗ ЛОГИЧЕСКИХ СХЕМ С УЧЕТОМ ТЕОРЕТИКО-СТРУКТУРНЫХ СВОЙСТВ БУЛЕВЫХ ФУНКЦИЙДо сих пор мы рассматривали задачу минимизации в ее классической постановке как нахождение ФАЛ с минимальным числом букв в классе ДНФ. Такая постановка позволила построить нам несколько методов минимизации. Однако при переходе от записи ФАЛ в виде ДНФ или МДНФ к реализующей ее схеме, мы не всегда получали минимальную схему. Другими словами, задача минимизации ФАЛ в классе ДНФ не эквивалентна задаче минимизации схемы, реализующей эту ФАЛ в заданном элементном базисе. Поэтому в последнее время начали разрабатываться другие подходы к проблеме минимизации, учитывающие структурные свойства данной ФАЛ. В этом параграфе мы рассмотрим один из таких достаточно общих подходов к проблеме минимизации. Поскольку при изложении этого подхода используется известное в математике понятие структуры, то вначале это понятие вводится со всей строгостью. Для тех, кто знаком с понятием структуры, можно пропустить следующий ниже текст, напечатанный петитом, и сразу перейти к изложению сути рассматриваемого подхода. Пусть имеется множество А:
Определим на множестве А две операции: пересечение а) идемпотенци и
б) коммутативности
в) ассоциативности
г) поглощения
Определение 3-7. Созоку Рассмотрим структуру 5 и докажем следующую лемму. Лемма. Если
выполняются или не выполняются одновременно. Пусть
Тогда согласно (3-17) и (3-196) имеем:
Следовательно, если Положим теперь
Следовательно, если Будем писать Введем более строго понятие бинарного отношения. Пусть имеется множество А. Назовем множество всех упорядоченных пар Если Следовательно, записи
и
равносильны. Покажем, что введенное выше бинарное отношение рефлексивности, антисимметричности, если транзитивности, если Действительно, согласно (3-16) имеем:
Пусть далее
Тогда согласно (3-17а) имеем:
Следовательно, если
т. е.
Следовательно, если и то Определение 3-8. Бинарное отношение со свойствами рефлективности, антисимметричности и транзитивности будем называть отношением частичной упорядоченности. Множество А с заданным в нем отношением частичной упорядоченности называется частично упорядоченным. Рассмотрим частично упорядоченное множество А, в котором: а) для всякой пары элементов
причем если некоторый элемент б) для всякой лары элементов
причем если некоторый элемент Покажем, что
и докажем, что операции Свойства идемпотентности операций Согласно условию (3-21а) имеем:
Отсюда согласно тому же условию
Таким образом, мы доказали свойство ассоциативности операции
Аналогично доказывается свойство ассоциативности и операции и. Докажем свойство поглощения операций Согласно свойству рефлексивности отношения имеем:
По условию (3-216) имеем:
Тогда согласно условию (3-21 а) получим:
Следовательно,
Аналогично доказывается условие (3-1 Об) для операций Определение 3-9. Структурой Введем бинарное отношение — отношение покрытия. Будем говорить, что элемент Диаграмма, представляющая структуру Каждому элементу структуры Диаграмму, построенную таким образом, обычно называют диаграммой Хассе. Нас будут интересовать логическиеструктуры, под которыми понимают структуру, каждый элемент которой взвешен логической функцией. Например, функцию
можно рассматривать как логическую структуру, элементами которой являются функции алгебры логики Диаграмма Хассе в данном случае имеет вид рис. 3-39.
Рис. 3-39. Из определений диаграммы Хассе и декомпозиции функции очевидно, что построение декомпозиции функции можно рассматривать как частный случай построения диаграммы Хассе. Наибольший интерес представляет собой построение неразделительной декомпозиции функции Рассмотрим задачу построения неразделительных декомпозиций функции
через функции Для исследования этой задачи введем понятие взвешенной структуры. Определение 3-10. Структура называется взвешенной, если каждому ее элементу сопоставлен первичный терм, т. е. переменная или ее отрицание. Взвешенную структуру будем считать соответствующей функции При решении поставленной выше задачи используем два ограничения: на вид взвешенной структуры и на вид функций, соответствующих базисным элементам. Будем рассматривать функции
причем подграф можно было бы заменить вершиной с весом
Рис. 3-40. Построение неразделительной декомпозиции При построении взвешенной структуры используется критерий решетчатости, устанавливающий взаимно однозначное соответствие между первичными термами Лемма. Функция а) он является циклом, составленным из нечетного числа вершин б) во множестве номеров, сопоставленных его вершинам, имеется подмножество
Граф
Рис. 3-41. Для построения взвешенной структуры предварительно приведем заданную функцию к решетчатому виду. Для этого строим специальную решетчатую таблицу. Каждой строке этой таблицы взаимно однозначно сопоставляется первичный терм функции Проиллюстрируем изложенный метод на следующем примере. Пример 3-25. Пусть функция
Рис. 3-42. Необходимо построить декомпозицию заданной функции через импликацию и функцию, тождественно равную нулю. Приведем заданную функцию к решетчатому виду. Граф
Наборы, не соответствующие подграфам типа Например, набор Сочетания Выделенные подграфы
После выделения подграфов типа
Аналогично покрытию таблицы Квайна покрываем решетчатую таблицу, выбирая минимальное число строк. Всего возможно три покрытия: первая, четвертая строки; вторая, пятая строки и, наконец, третья, шестая строки. Эти покрытия равносильны, так как при каждом из покрытий получаем взвешенную структуру с восемью элементами (коль скоро функция, полученная в результате покрытия, является решетчатой). В результате покрытия решетчатой таблицы и расщепления соответствующих первичных термов получаем следующую решетчатую функцию (выбрали первое покрытие):
Диаграмма Хассе, соответствующая полученной решетчатой функции, имеет вид рис. 3-43. Когда размеры решетчатой таблицы настолько велики, что поиск покрытия затруднителен, построение диаграммы Хассе производим непосредственно по тупиковой ДНФ. Рассмотрим этот метод. Введем ряд понятий. Уровнем типа А называется подмножество
где 2) в диаграмме Хассе, реализующей эту функцию, найдется ярус, вершины которого взаимно однозначно взвешены буквами подмножества
Рис. 3-43. Уровнем типа В называется подмножество При взвешивании яруса в диаграмме Хассе буквами Операцию приведения уровня типа В к уровню типа А назовем операцией расщепления первого типа. Введем два понятия. Подграф Вершина Расщепление первого типа производим в следующем случае. Пусть построено I ярусов диаграммы Хассе, причем вершины 1-го яруса взвешены множеством первичных термов
Тогда, если подграф с начальной вершиной Уровнем типа С называется подмножество
3) подмножество Пример 3-26. Задана булева функция, ТДНФ которой имеет следующий вид:
Матрица инцидентности, задающая эту ТДНФ, имеет вид:
Определим подмножества букв, которые могут претендовать на взвешивание вершин первого яруса искомой диаграммы Хассе. Очевидно, что претендентом на веса первого яруса могут быть уровни типа А или С. Подмножество букв, претендующее взвесить первый ярус, должно покрывать своими элементами все строки матрицы инцидентности. Согласно матрице инцидентности имеем следующие покрытия этой матрицы:
Первое и последнее подмножества являются уровнями тина А, остальные — типа С. Операцией расщепления второго типа будем называть приведение уровня типа С к уровню типа А или В. При расщеплении второго типа из подмножества
При расщеплении второго типа порождаются новые подмножества уровней типов А, В и С. Результат операции расщепления первого типа есть повторение некоторых букв внутри одного яруса, а результат операции расщепления второго типа есть повторение некоторых букв между ярусами. Рост мощности множества Пример 3-27. Пусть функция
Допустим, что в качестве первого яруса
Если для первой матрицы инцидентности имеем шесть покрытий
то для второй матрицы инцидентности (после расщепления) имеем восемь покрытий Используя введенные понятия, рассмотрим следующий метод синтеза диаграмм Хассе.
Рис. 3-44. Для снижения трудоемкости при синтезе оптимальных диаграмм Хассе в этом методе используется понятие производной от модели. Подграф с начальной вершиной Объединение подграфов с начальными вершинами Матрица инцидентностн первичный терм булевой функции, столбцу - выделенный подуровень и
Уровни, взвешивающие начальные вершины подграфов, покрывающих вершины построенного яруса, будем оценивать с помощью функции
являющейся обратно пропорциональной производной В качестве уровня, взвешивающего синтезируемый ярус, будем выбирать уровень с максимальной оценкой. Заметим, что понятия уровень и ярус совпадают, если булева функция является решетчатой. В этом случае уровень является идентификатором яруса. Перед изложением метода синтеза рассмотрим случай неодинаковой длины путей синтезируемого графа. В этом случае имеем четвертый тип уровня — уровень типа Подмножество
3) не существует такого элемента Пусть дай граф (рис. 3-45), реализующий булеву функцию
Уровнем типа Предлагаемый алгоритм осуществляет синтез диаграммы Хассе по ярусам, т. е. на каждом шаге находятся первичные термы
Рис. 3-45. Следовательно, для получения таких подмножеств первичных термов (уровней типа А) необходимо в уровень типа
С помощью такого включения производится выравнивание длин путей. В рассматриваемом примере при синтезе графа в качестве подуровней, взвешивающих подграфы, покрывающие вершины, с весами Очевидно, что подграф
где — взаимная частота подуровней, взвешивающих подграфы Частоты Опишем процедуру выравнивания длин путей: 1) отыскивается пара первичных термов 2) проверяется равенство длин путей, началом которых являются соответственно вершины, взвешенные 3) если длпиы путей не равны, то в покрытие вершины, входящей Для рассматриваемого примера повторяем вес Входной информацией для алгоритма синтеза диаграмм Хассе является матрица инцидентности модели Опишем теперь алгоритм синтеза диаграммы Хассе. 1. Выделяем множества уровней типа А и С, претендующих на взвешивание первого яруса. Каждый уровень выделяется с помощью покрытия в матрице инцидентности строк столбцами. Каждое покрытие взаимно однозначно сопоставляется выделяемому уровню. Число выделенных уровней определяет число различных диаграмм Хассе, которые необходимо построить для поиска графа минимальной сложности. Выбираем уровень, соответствующий первому покрытию матрицы инцидентности. 2. Для каждого первичного терма Покрытием подматриц инцидентности находим подуровни, взвешивающие вершины следующего яруса. 3. Для найденного множества подуровней Каждый уровень
где частоты 4. При наличии нескольких максимальных значений оценок, полученных в Выбираем уровень с наибольшим значением 5. Производим выравнивание длин путей. 6. Если диаграмма Хассе не построена, т. е. порядковый номер синтезированного яруса не равен максимальной длине пути графа, то переходим к 1. Если Если
где 8. Выбираем следующий элемент из множества уровней, претендующих на покрытие первого яруса, и переходим к Проиллюстрируем предлагаемый метод синтеза диаграммы Хассе на следующем примере. Примеры 3-28. Синтезировать диаграмму Хассе, реализующую булеву функцию вида Заданной ТДНФ этой функции соответствует матрица инцидентности вида
Выделяем множество претендентов на первый ярус. Каждый претендент на взвешивание первого яруса является покрытием матрицы инцидентности (уровнем типа А или С). В нашем случае имеем следующие покрытия:
Всего имеем 15 покрытий
Длина всех рассматриваемых слов одна и та же. Производя покрытие подматриц В результате покрытия подматрицы имеем следующие множества:
Подуровни Покрытиями подматрицы являются Веса подграфов, покрывающих полученные подуровни, образуют следующие множества. Для подуровней буквы
Для подуровней буквы
Для подуровней буквы
Матрица инцидентности
Каждый уровень, взвешивающий синтезируемый ярус, оценивается суммарной величиной обратных значений производных, вычисленных для каждой пары подуровней, входящих в оцениваемый уровень: (см. скан) Оценка принимает наибольшее значение для уровня
Подматрицы инцидентности, соответствующие Дальнейшее построение искомого графа однозначно. Сложность полученной диаграммы Хассе (рис. 3-46) равна Остальные 14 диаграмм Хассе синтезируются аналогичным образом. Среди них графы Перейдем ко второму этапу синтеза. Преобразуем построенную ранее диаграмму Хассе (см. рис. 3-43) в логическую структуру в заданном базисе Выразим базисную функцию импликации через дизъюнкцию и отрицание. Представим геометрически функции дизъюнкции и отрицания в виде графов на рис. 3-48. Тогда функции импликации будет соответствовать граф вида, показанного на рис. 3-49. Наложим ограничение на вид базисных функций; это будет вторым ограничением на исследуемую задачу.
Рис. 3-46.
Рис. 3-47. Это ограничение заключается в следующем: в графе, соответствующей функции, реализуемой базисным элементом, не должно быть цикла. Для более наглядного изложения алгоритма построения логической структуры по диаграмме Хассе, соответствующей взвешенной структуре, преобразуем диаграмму Хассе в ориентированную сеть так, чтобы каждой вершине с весом
Рис. 3-48.
Рис. 3-49. Такое преобразование, как нетрудно видеть, всегда возможно, если использовать при построении ориентированной сети помимо дуг, взвешенных первичными термами, и дуги с весом 1, обладающие свойством
Ориентированная сеть, соответствующая заданной функции, имеет вид, показанный на рис. 3-50.
Рис. 3-50. Алгоритм построения логической структуры в заданном базисе по ориентированной сети заключается в последовательном разложении ориентированной сети и построении инверсных сетей согласно структуре графа, соответствующего базисной функции. Введем операцию разложения ориентированной сети на направления и операцию построения инверсной сети. Подсеть поочередно отмечаем дуги Будем называть путь ориентированной сетью вида Ориентированная сеть вида Построить сеть Точки, взятые в соседних областях, разделенных источниковой дугой, считаем полюсами сети Проиллюстрируем алгоритм построения логической структуры на рассматриваемом примере для базиса, состоящего из импликации и нуля (рис. 3-51). Построенная логическая структура задает следующую неразделительную декомпозицию функции
Аналогично строится декомпозиция заданной функции и через другие функции, в соответствующем графе которых не содержится цикла.
Рис. 3-51. Например, в качестве упражнения читатель может построить неразделительную декомпозицию этой же функции через функцию Шеффера. Эта декомпозиция имеет следующий вид:
Излагаемый подход построения декомпозиций функции
|
1 |
Оглавление
|