Тверской государственный университет
Опубликован: 21.08.2007 | Доступ: свободный | Студентов: 1684 / 243 | Оценка: 5.00 / 5.00 | Длительность: 14:18:00
ISBN: 978-5-94774-714-0
Специальности: Программист, Математик
Лекция 1:

Предварительные сведения

Лекция 1: 123456 || Лекция 2 >

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

Определение 1.3. Булевы формулы \Phi и \Psi называются эквивалентными, если соответствующие им функции f_{\Phi} и f_{\Psi} равны.

Обозначение: \Phi \equiv \Psi. Эквивалентные формулы называют также тождественно равными, а выражения вида \Phi \equiv \Psi логическими тождествами.

Таким образом, эквивалентные формулы являются различными заданиями одной и той же булевой функции. Ниже мы приводим ряд пар эквивалентных формул (тождеств), отражающих существенные свойства логических операций и важные соотношения между различными операциями. Они часто позволяют находить для булевых функций по одним задающим их формулам более простые формулы. Большинство из приводимых тождеств имеют собственные имена. Часто их называют законами логики.

Пусть \circ - это одна из функций \wedge, \vee,
+. Для этих трех функций выполнены следующие две эквивалентности (законы ассоциативности и коммутативности).

(1) Ассоциативность:

((X_1 \circ X_2) \circ X_3) \equiv (X_1 \circ(X_2 \circ X_3))
(2) Коммутативность:
(X_1 \circ X_2)  \equiv (X_2 \circ X_1 ))
(3) Дистрибутивные законы:
((X_1 \vee X_2) \wedge X_3) \equiv ((X_1 \wedge X_3)\vee (X_2 \wedge
X_3))
((X_1 \wedge X_2) \vee X_3) \equiv ((X_1 \vee X_3)\wedge (X_2 \vee
X_3))
((X_1 + X_2) \wedge X_3) \equiv ((X_1 \wedge X_3)+ (X_2 \wedge
X_3))
(4) Двойное отрицание:
\neg (\neg X) \equiv X
(5) Законы де Моргана (внесение отрицания внутрь скобок):
\neg (X_1 \vee X_2) \equiv (\neg X_1 \wedge \neg
X_2)
\neg (X_1 \wedge X_2) \equiv (\neg X_1 \vee \neg
X_2)
(6) Законы упрощения:
(X \wedge X) \equiv X  \hspace{20mm}  (X \vee X) \equiv
X
(X \wedge \neg X) \equiv 0  \hspace{20mm}  (X \vee \neg X)
\equiv 1
(X \wedge 0) \equiv 0  \hspace{20mm}  (X \vee 0) \equiv
X
(X \wedge 1) \equiv X  \hspace{20mm}  (X \vee 1) \equiv
1
Некоторые законы упрощения имеют собственные названия: эквивалентности в первой строке называются законами идемпотентности, (X \wedge \neg X) \equiv 0 - это закон противоречия, (X \vee \neg X) \equiv 1 - это закон исключенного третьего.

Следующие две эквивалентности позволяют выразить импликацию и сложение по модулю 2 через дизъюнкцию, конъюкцию и отрицание.

(X_1 \rightarrow X_2) \equiv (\neg X_1 \vee X_2) ( 7)
(X_1 + X_2) \equiv (( X_1 \wedge \neg X_2)\vee (\neg X_1\wedge
X_2)) ( 8)

Правильность этих эквивалентностей легко устанавливается прямым вычислением функций для их левых и правых частей.

Соглашения об упрощенной записи формул. Законы ассоциативности показывают, что значения формул, составленных из переменных и одних операций конъюнкции, не зависят от расстановки скобок. Поэтому вместо формул (X_1 \wedge X_2) \wedge
X_3) и (X_1 \wedge (X_2 \wedge X_3)) мы будем для упрощения писать (X_1 \wedge X_2 \wedge X_3). Аналогично, будем использовать выражения (X_1 \vee X_2 \vee X_3) и (X_1 + X_2
+ X_3)\ для сокращения формул, состоящих из одних дизъюнкций или одних сложений по модулю 2, соответственно. Будем также опускать внешние скобки в записи формулы, если ее внешней функцией является одна из функций \wedge, \vee, +, \rightarrow.

Таким образом, с использованием этих соглашений формула (((X \vee Y)\vee(Z \wedge \neg X))\rightarrow ((Y + Z)+\neg X)) может быть записана как (X \vee Y \vee (Z \wedge \neg X))\rightarrow (Y + Z+\neg X).

Дизъюнктивные и конъюнктивные нормальные формы

Имеется ряд специальных подклассов формул, позволяющих задавать все булевы функции. В этом разделе мы определим два таких подкласса функций, использующих только операции \wedge, \vee и \neg.

Пусть \mathbf{X}=\{X_1,\ldots, X_n\} - это множество пропозициональных переменных. Введем для каждого i=1,...,n обозначения: X_i^0= \neg X_i и X_i^1= X_i. Формула X_{i_1}^{\sigma_1}\wedge X_{i_2}^{\sigma_2}\wedge \ldots \wedge
X_{i_k}^{\sigma_k} ( X_{i_1}^{\sigma_1}\vee X_{i_2}^{\sigma_2}\vee \ldots \vee
X_{i_k}^{\sigma_k} ), в которой \sigma_{i_j} \in \{0,1\} и все переменные разные, т.е. X_{i_j} \neq X_{i_r} при j \neq r, называется элементарной конъюнкцией (элементарной дизъюнкцией).

Определение 1.4.Формула \mathcal{D} называется дизъюнктивной нормальной формой (ДНФ), если она является дизъюнкцией элементарных конъюнкций, т.е. имеет вид \mathcal{D}= K_1 \vee K_2\vee \ldots \vee K_r, где каждая формула K_j\ ( j=1,...,r) - это элементарная конъюнкция. \mathcal{D} называется совершенной ДНФ, если в каждую из ее конъюнкций K_j входят все n переменных из \mathbf{X}. Аналогично, формула \mathcal{C} называется конъюнктивной нормальной формой (КНФ), если она является конъюнкцией элементарных дизъюнкций, т.е. \mathcal{C}= D_1 \vee D_2\vee \ldots \vee D_r, где каждая формула D_j\ ( j=1,...,r) - это элементарная дизъюнкция. Она является совершенной КНФ, если в каждую D_j входят все n переменных из \mathbf{X}.

Рассмотрим произвольную булеву функцию f(X_1,\ldots,X_n), зависящую от переменных из \mathbf{X}. Oбозначим через N_f^+ множество наборов значений переменных, на которых f принимает значение 1, а через N_f^- множество наборов, на которых f принимает значение 0, т.е. N_f^+= \{(\sigma_1,\ldots, \sigma_n)\ |\ f(\sigma_1,\ldots,
\sigma_n)=1\} и N_f^-= \{(\sigma_1,\ldots, \sigma_n)\ |\ f(\sigma_1,\ldots,
\sigma_n)=0\}. Определим по этим множествам две формулы:

\mathcal{D}_f = \bigvee_{(\sigma_1,\ldots, \sigma_n)\in N_f^+}
(X_1^{\sigma_1}\wedge X_2^{\sigma_2}\wedge \ldots \wedge X_n^{\sigma_n})
и
\mathcal{C}_f = \bigwedge_{(\sigma_1,\ldots, \sigma_n)\in N_f^-}
(X_1^{\neg\sigma_1}\vee X_2^{\neg\sigma_2}\vee \ldots \vee X_n^{\neg\sigma_n})

Теорема 1.1.

(1) Если функция f не равна тождественно 0, то формула \mathcal{D}_f - это совершенная ДНФ, задающая функцию f.

(2) Если функция f не равна тождественно 1, то формула \mathcal{C}_f - это совершенная КНФ, задающая функцию f.

Пример 1.2. Например, для функции f_{\Phi_1}, представленной в таблице 1.1 совершенная ДНФ равна \mathcal{D}= (\neg X_1 \wedge \neg X_2 \wedge \neg X_3) \vee (\neg X_1
\wedge \neg X_2 \wedge  X_3) \vee (X_1 \wedge X_2 \wedge \neg X_3) \vee ( X_1 \wedge \neg X_2 \wedge \neg
X_3) \vee
( X_1 \wedge  X_2 \wedge  X_3), а ее совершенная КНФ: \mathcal{C}=(X_1 \vee \neg X_2 \vee X_3) \wedge (\neg X_1 \vee  X_2 \vee
\neg X_3) \wedge 
(\neg X_1 \vee \neg X_2 \vee X_3).

Отметим, что совершенные ДНФ и КНФ часто являются чересчур сложными и длинными представлениями булевых функций. В нашем примере f_{\Phi_1} может быть задана более простой ДНФ: \mathcal{D}_1= (\neg X_1 \wedge \neg X_2 )  \vee ( X_2 \wedge 
X_3)\vee (X_1 \wedge \neg X_2 \wedge \neg  X_3).

Лекция 1: 123456 || Лекция 2 >