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

Этот метод ориентирован на числовое задание ФАЛ в виде кубического комплекса, состоящего из 0-кубов. Метод представляет собой формализованный на этапе нахождения простых импликант метод Квайна. Основной недостаток метода Квайна – необходимость выполнения полного сравнения (склеивания) всех первичных импликант. В случае большого их количества сложность этого сравнения существенно возрастает. В рассматриваемом методе все исходные n-кубы разбиваются на непересекающиеся подгруппы по количеству единиц в кубе. Пусть, например, задана функция

f СДНФ(x1x2x3x4) = V (2, 3, 4, 6, 9, 10, 11, 12).

Сформируем кубический комплекс K, состоящий из 0-кубов:

K=(0010, 0011, 0100, 0110, 1001, 1010, 1011, 1100).

Выполнив разбиение комплекса K на группы, получим:

, , .

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

, .

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

, , , .

Далее выполняется сравнение кубов внутри каждой из групп. В результате могут быть получены 2-кубы, которые, в свою очередь, аналогично 1-кубам будут объединены в группы по совпадению свободных координат и вновь будет выполнено сравнение. На каждом шаге сравнения выявляются кубы, не участвовавшие в образовании новых кубов, и исключаются из дальнейшего упрощения. Для рассматриваемого примера сравнение в группах привело к образованию двух новых кубов х01х и х01х и кубов, не образовавших новых {х100, 0х10, 10х1, 01х0}.

, .

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

fсокр.ДНФ={х100, 0х10, 10х1, 01х0, х01х} .

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

Таблица 15

  Простые импликанты Конституенты единицы  
   
  Х100   *   *          
  0х10 *       *        
  10х1           *   *  
  01х0   *     *        
  Х01х *   *       * *  

Из таблицы следует, что простые импликанты x100, 10x1, x01x являются обязательными. Оставшиеся две простые импликанты не являются обязательными и образуют следующие две тупиковые формы.

f МДНФ = {х100, 10х1, х01х, 0х10} – 1-я тупиковая форма;

f МДНФ = {х100, 10х1, х01х, 01x0} – 2-я тупиковая форма.

Алгоритм извлечения (Рота)

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

Специальные логические операции алгоритма Рота: *, ∩ , #

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

Операция умножения кубов (*).Операцияумножения кубов а=а1а2...аn и b=b1b2...bn обозначается как с=а*b и служит для образования r-куба, противоположные (r-1) грани которого содержатся в кубах а и b. Предварительные координаты куба c определяются в соответствии с таблицей, приведенной ниже.

* х
Y
ai
1

у
x х

î ______________Ú_________________þ

bi

Окончательно координаты куба формируются:

m(a1*b1)m(a2*b2) ... m(an*bn), если ai*bi=y только для одного i,

a*b=

Æ, если ai*bi=y для i ³ 2,

где m(ai*bi) – окончательная i-я координата куба с; m(0)=0; m(1)=1; m(x)=x;

y – условное обозначение того, что координаты ai и bi противоположны.

Эта операция соответствует операции склеивания: образуется новый r-куб, если кодовое расстояние двух исходных кубов равно 1.

Рассмотрим некоторые примеры, графическая интерпретация которых приведена на рис. 26.

1) 011 2) 11х

*001*01х

0y1 Þ 0x1– ребро покрывает две вершины у1х Þ х1х – грань

 

3) 0х1 4) х1х

*1х0 *011

уху Þ Æ – две координаты имеют значение у. 011

Операция пересечения кубов (∩).Операция пересечения кубов а=а1а2...аn и b=b1b2...bn обозначается как с=аb и служит для выделения куба с=с1с2...сn , являющегося общей частью кубов а и b. Координаты с1с2...сn определяются согласно следующей таблице.

x
Æ
ai
1

Æ
x x

î______________Ú_________________þ

bi

m(a1∩b1)m(a2∩b2) ... m(an∩bn,),

a∩b=

Æ, если существует такое i, для которого ai ∩ bi =Æ,

где m(ai*bi) – окончательная i-я координата куба с; m(0)=0; m(1)=1; m(x)=x.

Рассмотрим примеры и их графическую интерпретацию (рис. 27).

1) Ç100 2) Ç1х0

00110х

Æ0Æ Þ Æ общей части у 100 Þ 100 общая часть

кубов нет кубов (рёбер) - вершина

3) Çх1х 4) Ç0хх

0хх 0х0

01х Þ 01х общая часть – ребро 0х0 ( совпадает с

операцией *)

Операция вычитания кубов (#).Операция вычитания из куба а=а1а2...аn куба b=b1b2...bn обозначается как с=а#b и служит для удаления из куба а общей части кубов а и b.

Координаты куба с формируются согласно следующей таблице.

# x
z y z
ai
1

y z z
x z

î ______________Ú_________________þ

bi

Æ, если для любого i аi#bi=z,

c=а#b= a, если существует такое i, что аi#bi=y,

U а1а2...аi-1 ai аi+1 ... аn, если ai равно 0 или 1 для одного или

i=1 нескольких i,

где z означает, что координаты совпадают, а y, как для операции *, означает, что координаты ai и bi противоположны.

По этим ai-координатам производится объединение (U) кубов, получаемых в результате замены в кубе а символа х на соответствующее значение (0,1) координаты ai. Рассмотрим примеры выполнения операции # и их графическую интерпретацию (рис. 28).

1) #х1х 2) # х1x

x11110

zz0 Þ x10 0z1 Þ 01x

3) #хx1 4) #х11 x11

x10 xx1

z0y Þ xx1 zzz Þ Æ

 

5) # 0ххx

хх01

zz10 Þ 0x1x

0xx0

 

Далее рассмотрим алгоритм извлечения (Рота) на примере минимизации булевой функции, заданной покрытием С0 (рис.29).

Рис. 29. Геометрическое задание исходного покрытия

Исходное покрытие С0 задано объединением множеств кубов L и N. Кубы комплекса N − это наборы, на которых функция не определена и которые включаются в покрытие ради возможного дополнительного упрощения комплекса L в процессе минимизации. Минимальное покрытие комплексов L и N, С min называется К-покрытием L.

Общий алгоритм построения минимального К-покрытия называется алгоритмом извлечения и состоит в следующем:

▪ нахождении множества Z простых импликант комплекса К;

▪ выделении L-экстремалей на множестве Z;

▪ применении алгоритма ветвления при отсутствии L-экстремалей;

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








Дата добавления: 2016-01-09; просмотров: 1493;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.022 сек.