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

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

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

y1= f1 (x1... xn)

y2= f2 (x1... xn)

...

ym= fm (x1... xn)

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

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

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

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

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

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

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

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

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

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

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

a a


c


b


b

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

a


c


cd

d


b

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

x1 x2 x3 f
       
       
       
       
       

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

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

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.

V1

V2

V3

V4


& & & & &


& &


&

&




Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: