Тверской государственный университет
Опубликован: 21.08.2007 | Доступ: свободный | Студентов: 3170 / 268 | Оценка: 4.08 / 3.92 | Длительность: 15:40:00
ISBN: 978-5-9556-0110-6
Специальности: Программист, Математик
Лекция 4:

Эквивалентность формул и нормальные формы

< Лекция 3 || Лекция 4: 1234 || Лекция 5 >

Сокращенные ДНФ

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

Напомним, что мы рассматриваем булевы функции над переменными \mathbf{X}=\{X_1,\ldots, X_n\}. С каждой элементарной конъюнкцией K=X_{i_1}^{\sigma_1}\wedge X_{i_2}^{\sigma_2}\wedge \ldots \wedge
          X_{i_k}^{\sigma_k}
        связано множество N_K^+ наборов переменных, на которых K принимает значение 1. Нетрудно понять, что это множество содержит 2(n-k) наборов, в которых каждая из входящих в K переменных X_{i_r}\ (1 \leq r\leq k) имеет фиксированное значение \sigma _{r}, а значения остальных (n-k) переменных произвольны.

Определение Пусть f - произвольная булева функция над \mathbf{X}. Элементарная конъюнкция K называется допустимой для f, если N_K^+ \subseteq N_f^+.

Элементарная конъюнкция K называется максимальной для f, если для любой элементарной конъюнкции L из условия N_K^+ \subseteq N_L^+\subseteq N_f^+ следует, что N_K^+ = N_L^+.

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

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

Примером сокращенной ДНФ является формула \Phi_1=( X \wedge \neg Z)\vee \neg Y \vee (\neg X \wedge Z) из примера 4.1.

Сокращенную ДНФ можно получить из произвольной ДНФ D, используя процедуру, называемую методом Блейка.

  1. Применять, сколько возможно, закон поглощения

    (П3): (X\wedge K_1) \vee (\neg X \wedge K_2) \equiv
              (X\wedge K_1) \vee (\neg X \wedge K_2) \vee (K_1\wedge K_2)

    слева направо при условии, что конъюнкция (K_{1} \wedge  K_{2}) непротиворечива, т.е. не содержит одновременно некоторую переменную и ее отрицание. (Заметим, что на этом этапе число элементарных конъюнкций в ДНФ, вообще говоря, увеличивается).
  2. Применять, сколько возможно, правило поглощения

    (П1): X \vee (X\wedge K) \equiv X.

    Затем удалить повторные вхождения конъюнкций.

Теорема 4.2. В результате применения метода Блейка к произвольной ДНФ через конечное число шагов будет получена эквивалентная ей сокращенная ДНФ.

Доказательство Пусть после (1)-го этапа процедуры ДНФ D функции f преобразовалась в эквивалентную ДНФ D1 . Покажем, что для всякой допустимой для f элементарной конъюнкция K в D1 найдется такая конъюнкция K', что N_K^+ \subseteq N_{K'}^+. Доказательство проведем возвратной индукцией по числу переменных в K.

Базис индукции. Пусть K содержит все n переменных из \mathbf{X}. Тогда N_K^+ состоит из единственного набора и, поскольку N_K^+ \subseteq N_{D_1}^+, то в D_1 сущетсвует конъюнкция K', для которой N_K^+ \subseteq N_{K'}^+.

Шаг индукции. Пусть для некоторого k < n утверждение верно для всех допустимых для f конъюнкций, содержащих не менее (k+1) -ой переменной. Докажем, что оно верно и для допустимых конъюнкций с k переменными.

Пусть допустимая для f элементарная конъюнкция K содержит k переменных и пусть X \in \mathbf{X} - переменная, не входящая в K. Тогда обе элементарные конъюнкции K_1=(X \wedge K) и K_2=(\neg X \wedge K) являются допустимыми для f и по предположению индукции для них в \Phi _{1} найдутся такие K_1^{\prime} и K_2^{\prime}, что N_{K_1}^+ \subseteq N_{K_1'}^+ и N_{K_2}^+ \subseteq N_{K_2'}^+. Если хотя бы одна из них не содержит X, то ее можно выбрать в качестве K'. В противном случае, их можно представить в виде K_1^{\prime}= (X \wedge K_1^{\prime\prime}) и K_2^{\prime}= (\neg X \wedge K_2^{\prime\prime}). При этом N_{K}^+ \subseteq N_{K_1"}^+ и N_{K}^+ \subseteq N_{K_2"}^+ . Поскольку все преобразования вида (П3) выполнены, то D1 тогда содержит и конъюнкцию K^{\prime}= (K_1^{\prime\prime}\wedge K_2^{\prime\prime}), для которой N_{K}^+ \subseteq N_{K'}^+.

Заметим, что если K максимальна для f, то N_{K}^+ = N_{K'}^+. Таким образом, все максимальные конъюнкции входят в D1 .

Теперь, чтобы завершить доказательство теоремы, нужно показать, что на этапе (2) из D1 будут удалены все немаксимальные элементарные конъюнкции. (Докажите это индукцией по числу немаксимальных конъюнкций в D1 .)

Пример 4.2. Применим метод Блейка к совершенной ДНФ функции f(X1,X2,X3) , принимающей значение 1 на наборах множества N_f^+=\{(001), (010), (011), (101)\}.

Ее совершенная ДНФ D= (\neg X_1\wedge \neg X_2 \wedge X_3)\vee (\neg X_1\wedge X_2 \wedge \neg X_3)\vee
          (\neg X_1\wedge  X_2 \wedge X_3)\vee ( X_1\wedge \neg X_2 \wedge X_3).

После применения преобразований (П3) на (1)-ом этапе получим

D_1= (\neg X_1\wedge \neg X_2 \wedge X_3)\vee (\neg X_1\wedge X_2 \wedge \neg X_3)\vee
        (\neg X_1\wedge  X_2 \wedge X_3)\vee\\
        ( X_1\wedge \neg X_2 \wedge X_3)\vee
        (\neg X_2\wedge X_3) \vee (\neg X_1 \wedge X_2)
        \vee (\neg X_1 \wedge X_3)

После поглощений (П1) на втором этапе останется сокращенная ДНФ

D_2=(\neg X_2\wedge X_3) \vee (\neg X_1 \wedge X_2)
        \vee (\neg X_1 \wedge X_3).

Заметим, что она не является самой короткой ДНФ для f, т.к. D_2\equiv (\neg X_2\wedge X_3) \vee (\neg X_1 \wedge
          X_2)
        .

< Лекция 3 || Лекция 4: 1234 || Лекция 5 >
Елена Алексеевская
Елена Алексеевская

Это в лекции 3.

Татьяна Дембелова
Татьяна Дембелова

Почему в вводной лекции курса Основы дискретной математики одним из свойств отношения частичного порядка упоминается антирефлексивность? Посмотрела в других источниках, там -0  рефлексивность... http://ru.wikipedia.org/wiki/%D0%9E%D1%82%D0%BD%D0%BE%D1%88%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BF%D0%BE%D1%80%D1%8F%D0%B4%D0%BA%D0%B0