Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции_П.doc
Скачиваний:
3
Добавлен:
31.08.2019
Размер:
3.43 Mб
Скачать

3.3. Минимизация функций алгебры логики

Введем понятие конечного автомата, как некоторой абстрактной системы, характеризующейся конечным числом состояний. Работа такого автомата напрямую связана с реализацией соответствующей ему логической функции в виде схемы или программы и поступающими из вне данными в каждый такт времени. На основе теории конечных автоматов организуется работа управляющих программ ЭВМ.

Работа конечного автомата может быть полностью описана с помощью следующей системы функций алгебры логики [7]:

y1= f1 (x1 ... xn )

y2= f2 (x1 ... xn )

...

ym= fm (x1 ... xn )

Здесь Pi = ( X1, X2, ...,Xn ); Qj = ( y1, y2, ...,ym ) - соответственно входное и выходное слово. Работа автомата может быть задана либо в виде конечных таблиц, либо в виде аналитической записи функций fi .

Проблема полноты системы функций эквивалентна проблеме выбора стандартного набора элементов, из которого будет строиться автомат, при этом все функции fi должны быть выражены через базисные функции. Уменьшение числа функций в базисе приводит к уменьшению стандартных элементов, на которых строится схема, однако, при этом увеличивается общее число элементов схемы. Возникает задача о “простейшем” представлении логических функций через систему базисных функций. Для этого используют методы минимизации:

  • метод вынесения за скобки;

  • метод неопределенных коэффициентов;

  • метод с использованием карт Карно;

  • метод Мак - Класки;

  • метод Блэка.

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

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

Рассмотрим карты Карно.

Для двух переменных: Для трех переменных:

a a

c

b

b

Для четырех переменных:

a

c

c d

d

b

Пример. Для логической функции заданной таблицей

x1

x2

x3

f

1

1

1

1

1

1

0

1

1

0

1

1

1

0

0

1

0

1

1

1

построить карту Карно и на ее основе минимизировать функцию.

Решение. Построим карту согласно описанным выше правилам.

x1

1 1 f = x1 v x2 & x3

x2 1 1 1

x3

Рассмотрим пример представления простейшей функции картой Карно

a

c 1 1

c 1 1 d

f = b

1 1 d

1 1

b

Рассмотрим построение логической схемы для функции вида:

f1 = V2 & V4 v V3 & V1 & V2 v V3 & V4 & V1.

V 1

V 2

V 3

V 4

& & & & &

& &

&

&

1

1

f1