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

1.4. Совершенные формы

Совершенной дизъюнктивной нормальной формой (СДНФ) относительно переменных x1, x2, …, xn называется ДНФ, в которой нет одинаковых элементарных конъюнкций и все элементарные конъюнкции правильны и полны относительно переменных x1, x2, …, xn.

СДНФ легко построить, если функция задана таблицей истинности (см. пример 5), но если функция задана формулой, то ее СДНФ можно получить без построения таблицы истинности.

Построение СДНФ осуществляется в два этапа:

- сначала строится ДНФ

- затем ДНФ преобразовывается в СДНФ.

Чтобы преобразовать формулу в ДНФ необходимо выполнить следующие действия:

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

2). Заменить знак отрицания, относящийся к выражениям, на знак отрицания, относящийся к переменным, используя законы де Моргана:

3). Избавиться от знаков двойного отрицания.

4). Применить к операциям конъюнкции и дизъюнкции свойства дистрибутивности и законы поглощения, упростить формулу.

Полученную ДНФ преобразовывают в СДНФ, превращая правильные элементарные конъюнкции в полные. Если в правильную элементарную конъюнкцию не входит, например, переменная y, то нужно домножить эту конъюнкцию на скобку вида (y  ) = 1 и раскрыть скобки. Повторить операцию столько раз, сколько нужно, что бы все правильные элементарные конъюнкции стали полными. Если появятся одинаковые конъюнкции, то убрать лишние (yy = y).

Совершенной конъюнктивной нормальной формой (СКНФ) относительно переменных x1, x2, …, xn называется КНФ, в которой нет одинаковых элементарных дизъюнкций и все элементарные дизъюнкции правильны и полны относительно переменных x1, x2, …, xn.

СКНФ легко построить, если функция задана таблицей истинности (см. пример 5.), но если функция задана формулой, то ее СКНФ можно получить без построения таблицы истинности.

Построение СКНФ осуществляется в два этапа:

- сначала строится КНФ

- затем КНФ преобразовывается в СКНФ.

Чтобы преобразовать формулу в КНФ необходимо выполнить следующие действия:

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

2). Заменить знак отрицания, относящийся к выражениям, на знак отрицания, относящийся к переменным, используя законы де Моргана.

3). Избавиться от знаков двойного отрицания.

4). Применить к операциям конъюнкции и дизъюнкции свойства дистрибутивности и законы поглощения, упростить формулу.

Полученную КНФ преобразовывают в СКНФ, превращая правильные элементарные дизъюнкции в полные. Если в правильную элементарную дизъюнкцию не входит, например, переменная y, то нужно прибавить логически к этой дизъюнкции выражение вида (y ) = 0 и воспользоваться законом дистрибутивности. Если появятся одинаковые дизъюнкции, то убрать лишние (yy = y).

1.5. Многочлены Жегалкина

Полиномом Жегалкина называется многочлен (полином), являющийся суммой константы и различных одночленов, в которые каждая из переменных входит не выше, чем в первой степени.

Общий вид полинома Жегалкина:

где a  {0, 1}, число слагаемых равно 2n, где n – число переменных.

Первый способ получения многочлена Жегалкина:

- Находят множество двоичных наборов, на которых функция равна 1.

- Составляют СДНФ.

- В СДНФ каждый знак  заменяют на .

- Упрощают полученное выражение, используя тождество:

x = 1.

- В полученной формуле заменяют отрицание на = x  1.

- Раскрывают скобки, приводят подобные члены, используя тождество xx = 0, x  0 = x.

Второй способ построения полинома Жегалкина с помощью треугольника Паскаля:

верхняя сторона такого треугольника есть строка значений исходной функции. В каждой строке, начиная со второй, любой элемент треугольника равен «сумме по модулю два» двух соседних элементов предыдущей строки. Рассмотрим левую сторону треугольника Паскаля. Единицам этой стороны соответствуют наборы значений переменных исходной функции. Соединив знаком конъюнкции переменные, имеющие значение единицы в наборах, и, соединив их знаком суммы по модулю два, получим полином Жегалкина.

Третий способ построения многочлена Жегалкина методом неопределенных коэффициентов:

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

f(x, y, z) = a0  a1x  a2y  a3z  a4xy  a5xz  a6yz  a7xyz.

f(0, 0, 0) = a0

f(0, 0, 1) = a0  a3

f(0, 1, 0) = a0  a2

f(0, 1, 1) = a0  a2  a3  a6

f(1, 0, 0) = a0  a1

f(1, 0, 1) = a0  a1  a3  a5

f(1, 1, 0) = a0  a1  a2  a4

f(1, 1, 1) = a0  a1  a2  a3  a4  a5  a6  a7.

- Далее приравнивают соответствующие значения функции из таблицы истинности и находят значения коэффициентов.

- Подставляют коэффициенты в формулу, упрощают (остаются только те слагаемые, коэффициент при которых равен 1).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]