Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ДМ_РФ_Конспект_полный.doc
Скачиваний:
410
Добавлен:
29.02.2016
Размер:
3.04 Mб
Скачать

Тема 19. Неполностью определенные (частные) пф. Минимизация пф и неполностью определенных пф. Понятие минимизации булевых функций.

Необходимо решить задачу простейшего представления функций алгебры логики, т. е. Решить задачу минимизации. Для этого необходимо указать: 1)Базис логических функций;2)Представление функций в выбранном базисе;3)Критерии минимизации представления функции в данном базисе. Если не задано дополнительное условие, то используют стандартный базис И, ИЛИ, НЕ. Функцию представляют в ДНФ или КНФ. Элементарную дизъюнкцию в дальнейшем будем называть конъюнктивным термом, элементарную конъюнкцию – дизъюнктивным термом. Ранг терма – число переменных, входящих в данный терм.

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

В общем случае существует несколько способов записи одной и той же функции.

Сложность записи можно оценивать числом элементарных операций.

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

Задачу поиска наиболее простой записи функции называют задачей минимизации.

Пример:

Состав устройства, реализуйщий булеву функцию обычно представляют как схему, соединяющие ячейки устройств. Пусть ячейки, реализующие булевы функции обозначают:

И

ИЛИ НЕ

Например: Изобразим схематично СДНФ функции (f21, х2) – СДНФ):

f21, х2)=1 х1x1 х2

Тема 20. Геометрическая интерпретация минимизации. Метод неопределенных коэффициентов. Метод карт Карно Метод Петрика для нахождения тупиковых ДНФ.

Геометрическая интерпретация минимизации функций алгебры логики.

Для иллюстрации выполнения преобразований над булевыми функциями иногда удобно давать им геометрическое представление. Например, функцию f(x1,x2) удобно представлять на плоскости в системе координатx1,x2. Отложив единичные отрезки, получим квадрат, вершины которого соответствуют комбинациям переменныхx1иx2.

__________________

Пример:Пусть функцияf(x1,x2) =x1x2 vx1,x2.

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

Метод неопределённых коэффициентов.

Предназначен для получения линейных форм логических формул, может быть применен для минимизации логических формул для любого числа переменных. В ручном варианте применяют для числа переменных не более пяти. Логическую функцию представляют в виде ДНФ. В общем виде, например, для трех переменных она имеет следующий вид:

f(x1,x2,x3) = k11x1 k01x1 k12x2 k02x2 k13x3 k03x3 k1112x1x2 k1012x1x2 k12x1x2 k0112x1x2 k0012x1x2 k1113x1x3 k1013x1x3 k0013x1x3 k1123x2x3 k1023x2x3 k0123x2x3 k0023x2x3 k111123x1x2x3 k110123x1x2x3 k101123x1x2x3 k100123x1x2x3 k011123x1x2x3 k010123x1x2x3 k001123x1x2x3 k000123x1x2x3

В этойдизъюнктивной норм. форме коэффициенты с индексами – это определенный коэффициент, принимающий значение 0 и 1 и подбирается таким образом, чтобы ДНФ была минимальная. Задавая различные наборы переменныхx1,x2,x3 и приравнивая полученные выражения соответствующим значениям функции, получают систему уравнений для определения коэффициента к:

f(0,0,0) = k01k02k03k0012k0023k000123

f(0,0,1) = k01k02k13k0012k0113k0123k001123

……………………………………………

f(1,1,1) = k11k12k13k1112k1113k1123k111123

f(x1,x2,x3) = 0  1

Задание некоторой функции определяет значение первых частей системы: если f= 0 на соответствующем наборе переменных, то все коэффициенты входящие в уравнение, будут равны нулю. Это следует из свойства дизъюнкции. Тогда и в уравнении, где функция принимает единичное значение, надо вычеркивать все нулевые коэффициенты. Из оставшихся коэффициентов надо выбрать такой, который определяет темп наименьшего, и приравнять его к единице. А остальные коэффициенты приравнять к 0. Т.о. единичные коэффициенты определяют искомую ДНФ для системы уравнений.

Рассмотрим f(x1,x2,x3) =F(0,2,4,7), так называется десятичная форма записи для логического выраженияf(x1,x2,x3)= ,, ,x2, x1,, x1,x2,x3

Для получения коэффициентов:1) Выбрать строку, в которой функция равна нулю, и все коэффициенты приравнять к нулю. Если все нулевые строки просмотрены, то переходим к шагу 2.2) Просмотрим строки, где функция равна еденице, и в этих строках вычеркиваем коэффициенты, которые принадлежат строкам с нулевым значением функции.3) Переписывают все модифицированные уровнения.

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

k0023k0013k000123=1

k0013k000123=1

k0023k000123=1

k000123=1

В модифицированной системе вычеркивают коэффициенты максимального ранга. Оставшиеся коэффициенты позволяют получить минимальную форму:

f*(x1,x2,x3)= ,, x1,x2,x3