Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры по дискретке.doc
Скачиваний:
11
Добавлен:
20.09.2019
Размер:
1.11 Mб
Скачать

15. Минимизация булевой функции по методу блейка

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

Если в ДНФ для данной функции f(А, В, С) входят две конъюнкции вида АС и B , то имеет место следующее равенство:

Запишем функцию f (А, В, С) в следующем виде:

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

  1. Минимизация булевой функции по методу нельсона

Метод позволяет получать сокращенную ДНФ булевой функции f из ее произвольной конъюнктивной нормальной формы.

Метод эффективен, если функция имеет “сравнительно мало” нулей.

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

Пример 5. Найдем сокращенную ДНФ для функции  методом Нельсона.

СКНФ   .

Раскрываем скобки:

, что и требовалось.

  1. Минимизация булевой функции по карте Карно.

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

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

При заполнении карты Карно в ее клетки проставляют значения функции для соответствующих наборов, которые являются координатами клеток. Например, для функции двух переменных А и В (рис. 5) карта Карно имеет вид

Единицы, представленные в клетках, обозначают конституенты единицы рассматриваемой функции. Отыскание минимальной ее формы сводится к определению варианта, при котором все конституенты единицы накрываются (охватываются контурами покрытия) наименьшим числом наиболее коротких импликант. Объединение клеток на карте эквивалентно выполнению операции склеивания.

Всегда нужно стремиться к минимальному количеству контуров и максимальной площади каждого из них, руководствуясь следующими правилами:

площадь контура покрытия должна быть Sk = 2m-i клеток, где – целое число, m – число переменных. Если, например, m = 3, то Sk = 1, 2, 4, или 8 клеток;

число сокращаемых переменных Nперем. = log2 Sk , т.е. при Sk = 1 не сокращается ни одна переменная, при Sk = 2 сокращается одна переменная и т.д.