Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект лекций ПТЦА (АЛО ЭВМ) .doc
Скачиваний:
2321
Добавлен:
23.02.2016
Размер:
3.14 Mб
Скачать

8.3 Метод Нельсона

Метод позволяет получить СкДНФ булевой функции из ее произвольной КНФ. Если в произвольной КНФ булевой функциираскрыть все скобки и произвести все поглощения, то в результате будет получена СкДНФ булевой функции.

Пример:

Найдем СкДНФ:

Произведем поглощения: - СкДНФ.

8.4 Метод диаграмм Вейча

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

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

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

Примеры: Булевы функции заданы диаграммами Вейча. Найти их МДНФ.

8.5 Метод самопонижающихся циклов

М

x1

x2

xm-3

xn-2

xn-1

xn

f

n

0

0

0

1

n

0

0

1

1

.

.

0

1

0

1

.

.

0

1

1

1

.

.

1

0

0

1

.

.

1

0

1

1

.

.

1

1

0

1

n

1

1

1

1

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

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

Пример:

Найти СкДНФ булевой функции методом самопонижающихся циклов. Функция задана таблицей истинности.

  1. Ищем циклы максимального ранга. Имеется только один такой цикл №1. Найденный цикл покрывает не все "1" таблицы истинности функции .

  2. Ищем циклы ранга . Имеется два таких цикла №2 и №3. Цикл №3 полностью содержится в цикле №1, поэтому цикл №3 не рассматривается. Поиск цикла меньшего ранга не нужен, так как циклы 1 и 2 полностью покрывают конституэнты "1" функции .

СкДНФ: