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

Лекция 11 Аналитическое представление функций алгебры логики

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

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

Терм – это выражение, связывающее переменные или их инверсии одной операцией. В качестве связывающей операции обычно выступает конъюнкция или дизъюнкция. Рангом терма называется количество переменных в терме.

Конъюнктивный терм (например, ) называют иногда словом минтерм, поскольку он принимает единичное значение только лишь в одном случае: когда x1=1, x2=0, x5=1, x7=0, x12=0. При любых других значениях переменных значение терма будет равно нулю. Минимальное количество ситуаций, когда терм равен единице (собственно, лишь одна такая ситуация) и определяет его название – минтерм.

Дизъюнктивный терм (например, ) называют также словом макстерм. Терм равен единице во всех случаях, кроме одного: если x3=1, x5=0, x6=1, x7=0, x10=1, то терм равен нулю. То есть дизъюнктивный терм равен единице в максимально возможном количестве случаев, поэтому и называется макстерм.

Дизъюнктивная нормальная форма (днф)

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

;

;

;

;

.

Рассмотрим на примере процесс построения ДНФ функции, заданной таблицей истинности. Пусть некоторая булева функция задана следующей таблицей истинности:

x1

x2

x3

f

0

0

0

0

0

0

1

1

0

1

0

0

0

1

1

0

1

0

0

1

1

0

1

1

1

1

0

0

1

1

1

1

Рассмотрим строки таблицы, равные единице. Во второй строке таблицы функция равна единице при условии x1=0, x2=0, x3=1. Единичному значению функции f(x1=0, x2=0, x3=1) будет соответствовать минтерм , поскольку он равен единице только при данных значениях аргументов. Остальным строкам таблицы, в которых f=1, будут соответствовать следующие минтермы: , , . Поскольку наша функция равна единице на втором наборе аргументов ИЛИ на пятом наборе ИЛИ на шестом наборе ИЛИ на восьмом наборе, то для получения окончательной аналитической записи нашей функции полученные нами минтермы следует объединить операцией ИЛИ. В результате получим следующую ДНФ:

f =    .

По сути, каждый терм здесь отвечает за определенную строку таблицы истинности, то есть за одну из ситуаций, когда функция принимает единичное значение. Если, например, все аргументы функции будут равны нулям (первая строка таблицы истинности), то в построенной ДНФ каждый из четырех термов будет равен нулю, и их дизъюнкция также будет равна нулю. Таким образом, функция даст нулевое значение, что совпадает с ее таблицей истинности.

Отметим, что если в ДНФ ранг каждого терма равен количеству аргументов функции, то такая формула называется совершенной дизъюнктивной нормальной формой или СДНФ. Наша функция f, а также функции y3, y4, y5 на предыдущей странице, представлены в виде СДНФ.

Таким образом, алгоритм построения СДНФ по таблице истинности заключается в следующем:

1. Для каждой строки таблицы истинности, равной единице, сформировать минтерм, в котором аргументы, равные нулю, указать с инверсией, а аргументы, равные единице, указать без инверсии.

2. Объединить все полученные термы операцией дизъюнкция.