Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект.docx
Скачиваний:
35
Добавлен:
28.05.2022
Размер:
2.46 Mб
Скачать
      1. Дизъюнктивная и конъюнктивная нормальные формы

σi1

σi2

σik

Определение 2.1.9 . Формула вида xi1 xi2 · · · xik , где xij -

логическая переменная, σij - логическая константа, i1 < i2 < ... < ik,

называется конъюнктом.

Определение 2.1.10 . Если f (x1, ..., xn) представлена в виде

f (x1, ..., xn) = K1 K2 ... Ks,

где K1, K2,..., Ks - различные конъюнкты, то говорят, что f

представлена в дизъюнктивной нормальной форме (ДНФ).

Если в каждый Ki входят все переменные x1, ..., xn, то говорят, что f представлена в совершенной дизъюнктивной нормальной форме (СДНФ).

Так же используют обозначения д.н.ф. и с.д.н.ф.

Утверждение 2.1.4 . Пусть f (x1, ..., xn) P2. Если f /= 0, то она представима в виде СДНФ, причем единственным образом точностью до перестановки конъюнктов).

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

Докажем единственность СДНФ. Пусть

s sf

j

f (x1, ..., xn) = I Ki(x1, ..., xn) = I Kt (x1, ..., xn),

i=1

j=1

j

где Ki и Kt

  • конъюнкты, i = 1, s, jt = 1, st. Причем, не умаляя

общности, K1 /∈ {Kt , ..., Kt }, поскольку представления в виде СДНФ

1 sf

должны быть различны.

Пусть K1(x1, ..., xn) = xσ1 · · · xσn .

1 n

s s

f (σ1, ..., σn) = I Ki(σ1, ..., σn) = σσ1 · · · σσn I Ki(σ1, ..., σn) =

i=1

1 n

i=2

s

= 1 I Ki(σ1, ..., σn) = 1,

i=2

так как σσ = 1, для любого σ E2. С другой стороны,

sf

j

f (σ1, ..., σn) = I Kt (σ1, ..., σn).

j=1

j

Нетрудно заметить, что для любого Kt

= xσ

f

1

1 · · ·

xσ

K

t

f

n

n { 1

, ..., K

t

sf }

выполняется

Kt

σf f

n

j (σ1, ..., σn) = σ1 1 · · · σσn = 0,

поскольку m = 1, n, σm /= σt

Таким образом f (σ1, ..., σn) = Vs

0 = 0.

f

m j=1

Противоречие доказывает, что двух различных представлений функции

в СДНФ существовать не может.

D

σi1

σi2

σik

Определение 2.1.11 . Формула вида xi1 xi2 · · · xik , где xij -

логическая переменная, σij - логическая константа, i1 < i2 < ... < ik,

называется дизъюнктом.

Определение 2.1.12 . Если f (x1, ..., xn) представлена в виде

f (x1, ..., xn) = (D1) (D2) ... (Ds),

где D1, D2,..., Ds - различные дизъюнкты, то говорят, что f

представлена в конъюнктивной нормальной форме (КНФ).

Если в каждый Di входят все переменные x1, ..., xn, то говорят, что f представлена в совершенной конъюнктивной нормальной форме (СКНФ).

Так же используют обозначения к.н.ф. и с.к.н.ф.

Утверждение 2.1.5 . Пусть f (x1, ..., xn) P2. Если f /= 1, то она представима в виде СКНФ, причем единственным образом точностью до перестановки дизъюнктов).

Доказательство. Поскольку f /= 1, то f /= 0. Тогда по утверждению

2.1.4 у функции f существует СДНФ, которая по утверждению 2.1.3 имеет

вид:

s

f (x1, ..., xn) = I Ki(x1, ..., xn) = I

xσ1 · · · xσn .

Следовательно,

i=1

I

f (x1, ..., xn) = ¬

1 n

(σ1,...,σn)

f (σ1,...,σn)=1

xσ1 · · · xσn =

Применим правила де Моргана.

1 n

(σ1,...,σn)

f (σ1,...,σn)=0

= ¬(xσ1 · · · xσn ) =

(xσ1 · · · xσn ) =

1 (σ1,...,σn)

f (σ1,...,σn)=0

n 1 n

(σ1,...,σn)

f (σ1,...,σn)=0

= (xσ1 · · · xσn ).

1 n

(σ1,...,σn)

f (σ1,...,σn)=0

Теперь покажем единственность СКНФ. Действительно, пусть у некоторой функции f /= 1 существовало две различных СКНФ:

s sf

i

f (x1, ..., xn) = (Di(x1, ..., xn)) = (Dt(x1, ..., xn)),

i=1

i=1

i

где Di и Dt

  • дизъюнкты. Возьмем отрицание от функции f (x1, ..., xn).

s sf

i

f (x1, ..., xn) = (Di(x1, ..., xn)) = (Dt(x1, ..., xn)).

i=1

i=1

Произведем преобразования по правилам де Моргана и получим

s sf

i

f (x1, ..., xn) = I Ki(x1, ..., xn) = I Kt(x1, ..., xn),

i

где Ki = Di и Kt

i=1

i

= Dt

i=1

  • конъюнкты, полученные по правилам

де Моргана из дизъюнктов СКНФ для функции f . Поскольку

наборы дизъюнктов {D1, ..., Ds} и {Dt , ..., Dt } различны, то и

1 sf

K1, ..., Ks} и {Kt , ..., Kt } не совпадают.

полученные наборы конъюнктов {

1 sf

Таким образом мы получили две различных СДНФ для функции

f , что противоречит утверждению 2.1.4. Противоречие доказывает единственность СКНФ функции.

D

Замечание 2.1.8 . Из утверждений 2.1.3 и 2.1.5 мы получили формулы, которые удобно использовать для построения СДНФ и СКНФ соответственно.

f (x1, ..., xn) = I

xσ1 · · · xσn . (28)

для функции f /= 0.

1 n

(σ1,...,σn)

f (σ1,...,σn)=1

f (x1, ..., xn) =

(xσ1 · · · xσn ). (29)

1 n

(σ1,...,σn)

f (σ1,...,σn)=0

для функции f /= 1.

Теперь для построения СДНФ согласно формуле (28) необходимо

выбрать каждый набор (σ1, ..., σn), для которого f (σ1, ..., σn) = 1,

и сопоставить ему коньюнкт xσ1 · · · xσn

совершенной дизъюнктивной

1 n

нормальной формы.

Аналогично строится совершенная конъюнктивная нормальная форма по формуле (29).

Пример 2.1.11 . Рассмотрим функцию f (x, y, z), заданную таблицей:

x

y

z

f

0

0

0

1

0

0

1

1

0

1

0

0

0

1

1

0

1

0

0

0

1

0

1

1

1

1

0

1

1

1

1

0

Тогда, согласно (28) СДНФ будет выглядеть следующим образом:

f (x, y, z) = x0y0z0 x0y0z1 x1y0z1 x1y1z0 =

= x y z x y z x y z x y z.

СКНФ согласно формуле (29) будет иметь вид:

f (x, y, z) = (x0 y1 z0) (x0 y1 z1) (x1 y0 z0) (x1 y1 z1) = (x1 y0 z1) (x1 y0 z0) (x0 y1 z1) (x0 y0 z0) =

= (x y z) (x y z) (x y z) (x y z).

Соседние файлы в предмете Дискретная математика