Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
METOD_UKAZANIYa_po_matlogike.doc
Скачиваний:
55
Добавлен:
07.06.2015
Размер:
993.28 Кб
Скачать

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

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

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

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

1, х2)

3,х4)

00

01

11

10

00

01

11

10

1,х2)

00

01

2,х3)

11

00

01

11

10

10

1)

0

1

Рис. 9.1

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

Рассмотрим на примере считывание минитермов из таблицы соответствия, представленной на рис.9.2.

Выделим в таблице прямоугольные области (содержащие 1, 2, 4 или 8 клеток), соответствующие значениям функции, равным 1 (рис.9.3). Выделенная область называется областью минимального покрытия.

Рассмотрим первую слева область. Она характеризуется значением х1, равным единице, их3, равным нулю. Следовательно в минитерме будет присутствоватьх1непосредственно их3в виде отрицания. Переменныех2их4не остаются постоянными внутри данной области и в соответствующем минитерме не учитываются. Таким образом, данная область описывается минитермом.

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

Пример

Пусть функция трех переменных y(x1,x2,x3) задана следующей таблицей:

x1

x2

x3

y(x1,x2,x3)

0

0

0

1

0

0

1

1

0

1

0

1

0

1

1

1

1

0

0

0

1

0

1

1

1

1

0

0

1

1

1

1

Преобразуем исходную таблицу соответствия в карту Карно (рис.9.4).

Выделим в полученной таблице область минимального покрытия. Очевидно, что способов разбиения этой области может существовать несколько. Каждому способу будет соответствовать свое аналитическое описание функции. Рассмотрим для примера три различных способа разбиения (рис.9.5, 9.6, 9.7).

На каждом из рисунков получилось по две области. На рис.9.5 одна из областей объединяет элементы левого и правого крайнего столбцов таблицы. Вспомним, что эти столбцы карты Карно рассматриваются как соседние (аналогично – первая и последняя строки), поскольку отличаются значением только одной переменной (в данном случае х2). На рис.9.7 области пересекаются между собой, что также допустимо. Выпишем соответствующие всем этим областям минитермы (рис.9.8, 9.9, 9.10).

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

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

;

.

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

В принципе, независимость уотх2можно было установить уже на начальном этапе, проанализировав исходную таблицу соответствия. При использовании карт Карно вывод о независимости был получен автоматически, без выдвижения дополнительных гипотез и применения каких-либо дополнительных процедур.

Алгоритм получения аналитического описания функции, заданной таблично:

1. Записать таблицу соответствия в виде карты Карно.

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

3. Разбить всю область минимального покрытия на прямоугольные области площадью 1, 2, 4 или 8 клеток. Желательно, чтобы количество таких областей было минимальным. Допускаются пересечения областей.

4. Выписать соответствующие всем полученным областям минитермы.

5. Образовать из полученных минитермов дизъюнктивную нормальную форму.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]