Построение комплекса кубов и его минимального покрытия 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Построение комплекса кубов и его минимального покрытия



Терм максимального ранга n- куба принято называть 0-кубом (точка вершины) и обозначают К0. Например, для f(x1,x2,x3)= (0,4,7) комплекс 0-кубов будет таким

Определение. Если два 0-куба из комплекса К0 различаются только по одной координате, то два таких 0-куба образуют один 1-куб. Он представляется общими элементами 0-кубов, причем на месте координаты, по которой различаются 0-кубы, указывают символ Х, обозначающий независимую координату (переменную). Различие координат определяют последовательным сравнением первого куба с остальными, затем второго с остальными и так далее. Например, два 0-куба 000 и 100 различаются только по одной координате, и они образуют 1-куб (отрезок), которому соответствует ребро трехмерного куба. Заметим, что 0-куб 111 не склеивается, так как отличается больше чем по одной координате.

Все множество 1-кубов функции называется кубическим комплексом К- один и обозначается- К1.

K1 = {X00}

Комплекс К1 строится по комплексу К0 путем их сравнения и определяет все множество ребер, на концах которых функция принимает единичные значения. Если два 1-куба из комплекса К1 имеют общую независимую компоненту и различаются только по одной координате, то они образуют один 2-куб. Это грань для трехмерного куба. Все множество 2-кубов, построенного из комплекса К1, образует множество комплекса К2 (множество граней). Комплекс К3 = 0 - отсутствует в трехмерном кубе (часто r-куб называют интервалом (расстоянием) r- порядка). Перед построением очередного куба необходимо отметить те кубы, которые склеились хотя бы один раз. Например, звездочкой *. Это необходимо, так как могут быть неотмеченные (не склеившиеся) кубы о которых забывать нельзя. Они являются самостоятельными импликантами, которые так же включают в общее покрытие кубов С(f). Для нашего примера, общее покрытие будет выглядеть

По индукции можно определить, что два r-куба, содержащие r координат и различающиеся только по одной координате, могут объединяться в (r + 1)-куб, (r + 1)-я независимая координата которого соответствует координате, по которой различаются r-кубы.

Запись (r + 1)-куба состоит из общих компонент двух r-кубов, а компонента, принимающая в них различные значения, обозначается в (r + 1)-кубе как независимая компонента Х.

Число независимых координат Х в кубе определяет его размерность.

Например, куб 0Х1Х1ХХ имеет размерность r = 4.

Определение. Объединение кубов комплексов К01,...,Кn функции f(x1, x2, …, хn) называется кубическим комплексом K(f) функции f.

K(f) = K(f) = К0 К1 К2 К3 ...

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

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

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

Определение. Булева функция f(x1, x2, …, хn) представляется как множество С кубов, принадлежащих комплексу К(f), и таких, что каждая вершина комплекса К0 включена по крайней мере в один куб множества С.

Полученное таким образом множество С называется покрытием комплекса K(f) и покрытием булевой функции. Каждому покрытию C(f) соответствует ДНФ функции.

Например, дана функция

f(х)= (3,4,5,6,7)= x2x3+x1 + +x1 x3+x1x2 +x1x2x3

Построим комплекс кубов К0123.

К3= 0

Из комплекса кубов K(f) определяется его покрытие C(f) куда входят не отмеченная импликанта Х11 из куба К1 и покрытие 1ХХ из куба К2.

C(f) =

 

Это покрытие включает в себя все 5 вершин комплекса К°. В самом деле, куб x11 может включать (покрывать) 011; 111. Куб 1xx может включать вершины 100, 101, 110, 111. Таким образом, множество C(f) является покрытием комплекса K(f). Отсюда можно написать минимизированное уравнение:

f(х)= (3,4,5,6,7)=x2x3+x1.

 

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

 

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

Метод Квайна состоит из последовательного выполнения нескольких этапов.

1-й этап. Нахождение первичных импликант.

Все минтермы данной функции сравниваются попарно. Если минтермы отличаются одной координатой типа Fхi+F =F, то выписывается конъюнкция F, являющаяся минтермом (r+l)-гo ранга. Минтермы r-го ранга, для которых произошло склеивание, отмечаются.

Другими словами, нахождение простых импликант сводится к построению комплекса кубов

K(f) = К0 К1 К2 Кr.

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

Этап заканчивается, когда ни один (r+1)-куб не может быть построен. При этом, все неотмеченные кубы комплекса K(f) тоже являются простыми импликантами и входят в покрытие C(f) функции f.

Пример. Пусть задана функция

F(х12345)= (0,1,2,3,4,5,14,15,16,17,18,19,21,23,31)

Для упрощения, 0-кубы упорядочивают по числу 1-ых координат (см. рисунок 6.3).

Рис. 6.3-Комплекс кубов

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

2-й этап. Составление таблиц покрытий.

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

 

 

Таблица 6.1-Таблица покрытий комплекса кубов

  Вершины 0-кубов    
Импликанты                            
X00XX 00X0X X0X01 10XX1 1X111 + + + ++ +   + + +     ++ +   ++   +     ++ +     +       +   +   ++     +  
                                                           

3-й этап. Определение существенных импликант.

Если в столбце таблицы покрытий имеется только одна метка, то первичная импликанта, стоящая в соответствующей строке, является существенной импликантой, и ее выписывают в новое минимальное покрытие C(f). Из таблицы покрытий исключаются строки, соответствующие существенным импликантам и столбцы минтермов, покрываемым этими существенными импликантами. Покрытие будет иметь вид:

 

C(f) = .

В результате упрощения, получим новую таблицу 6.2

Таблица 6.2-Покрытия

импликанты  
X0X01 10XX1 + +

4-й этап. Вычеркивание лишних столбцов.

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

5-й этап. Вычеркивание простых лишних импликант.

Если после вычеркивания столбцов в таблице появляются строки без меток, то импликанты этих строк вычеркиваются.

6-й этап. Выбор минимального покрытия.

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

В нашем примере выбирается импликанта Х0Х01 (или 10ХХ1, т.к. цены СA одинаковы).

Таким образом, покрытие функции имеет вид:

С(f) =

и определяет минимальную ДНФ

f = + + x2x3x4 + x5+x1x3x4x5 ..

При использовании метода Квайна для СКНФ необходимо рассматривать значения функций f=0 и макстермы, соответствующие этим значениям. В результате получим

Далее необходимо воспользоваться соотношением де - Моргана с тем, чтобы привести функцию к СДНФ. Все дальнейшие действия аналогичны.



Поделиться:


Последнее изменение этой страницы: 2016-12-26; просмотров: 636; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.149.230.44 (0.015 с.)