Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
практикум по мат.логике.docx
Скачиваний:
82
Добавлен:
01.05.2015
Размер:
1.13 Mб
Скачать

2.1.4. Дизъюнктивные и конъюнктивные нормальные формы в алгебре высказываний

Если х — логическая переменная, δ{0,1}, то выражение

называется литерой. Литеры х и ¬х называются контрарными.

Элементарной конъюнкцией или конъюнктом называется конъюнкция литер. Элементарной дизъюнкцией или дизъюнктом называется дизъюнкция литер.

Пример 8.Формулыx¬y¬z и xyx¬x — дизъюнкты, формулы¬xyz и xy¬x — конъюнкты, а¬xявляется одновременно и дизъюнктом, и конъюнктом.

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

Пример 9.Формула(x¬y)(yz)— ДНФ, формулаz¬y)(xz)yКНФ, а формулаx¬y является одновременно КНФ и ДНФ.

Теорема 2. Для любой формулыφ АВ существует ДНФ (КНФ)ψАВ такая, чтоφψ.

Опишем алгоритм приведения формулы к ДНФ.

  1. Выражаем импликацию, участвующую в построении формулы, через дизъюнкцию и отрицание, используя эквивалентность φψ≡¬φψ.

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

3. Используя закон дистрибутивности φ(ψχ)≡(φψ)(φχ), преобразуем формулу так, чтобы все конъюнкции выполнялись раньше дизъюнкций.

В результате применения пп. 1-3 получается ДНФ, эквивалентная исходной формуле.

Пример 10. Привести к ДНФ формулу φ¬((xy)¬(yz)).

Решение. Выразим логическую операцию → через и ¬: φ≡¬((¬xy)¬(¬yz)). Воспользуемся законами де Моргана и двойного отрицания: φ≡¬(¬xy)¬¬(¬yz)≡(¬¬x¬y)yz)≡(x¬y)yz). Используя закон дистрибутивности, приводим формулу к ДНФ: φ≡(x¬y¬y)(x¬yz). Упростим полученную формулу:(x¬y¬y)(x¬yz)≡(1) (x¬y)(x¬yz)≡(2) x¬y(для преобразования(1)использовался закон идемпотентности, для(2)– закон поглощения). Таким образом, формулаφ эквивалентными преобразованиями приводится к формулеx¬y, являющейся одновременно ДНФ и КНФ.

Приведение формулы к КНФ производится аналогично при­ведению ее к ДНФ, только вместо п. 3 применяется п. 3':

3'. Используя закон дистрибутивности φ(ψχ)≡(φψ)(φχ), преобразуем формулу так, чтобы все дизъюнкции выполнялись раньше, чем конъюнкции.

Пример 11. Привести к КНФ формулу φ(xy)((¬yz)→¬x).

Решение. Преобразуем формулуφк формуле, не содержащей →:φ≡(¬xy)(¬(¬¬yz)¬x). В полученной формуле перенесем отрицание к переменным и сократим двойные отрицания:φ≡(¬xy)((¬¬¬y¬z)¬x)≡(¬xy)((¬y¬z)¬x).Используя закон дистрибутивности, приводим формулу к КНФφxy)x¬y)x¬z). Упростим полученную формулу:xy)x¬y)x¬z)≡(1)(¬x(y¬y))x¬z)≡(2)¬xx¬z)≡ ≡(3)¬x(для преобразования(1)использовался закон дистрибутивности, для(2)– эквивалентность 1 утверждения 1, для(3)— закон поглоще­ния). Таким образом, формулаφ эквивалентными преобразованиями приводится к формуле¬x, являющейся одновременно ДНФ и КНФ.

2.1.5. Совершенные дизъюнктивные и конъюнктивные нормальные формы

Пусть 1,..., хn)— набор логических переменных,Δ=(δ1,…,δn) — набор нулей и единиц.Конституентой единицы набораΔназывается конъюнктК1(δ1,…,δn)=x1δ1x2δ2xnδn.Конституентой нуля набора Δ называется дизъюнктК0(δ1,…,δn)=x11-δ1x21-δ2xn1-δn.

Отметим, что K1(δ1,δ2,…,δn)=1 (K0(δ1,δ2,…,δn)=0)тогда и только тогда, когдаx1=δ1, x2=δ2,…, xn=δn.

Совершенной ДНФ называется дизъюнкция некоторых конституент единицы, среди которых нет одинаковых,совершенной КНФ называется конъюнкция некоторых конституент нуля, среди которых нет одинаковых. Таким образом, СДНФ (СКНФ) есть ДНФ (КНФ), в которой в каждый конъюнкт (дизъюнкт) каждая переменнаяхiиз набора1,...,хп} входит ровно один раз, причем входит либо самахi, либо ее отрицание¬xi.

Пример 12. Формула x1¬x2x3 есть конституента единицы K1(1,0,1), формула xy¬z есть конституента нуля K0(0,0,1), формула (x1¬x2)x1x2) – СДНФ, формула (xy¬z)x¬yz)xyz) – СКНФ, а формула (x1¬x2x3)x1x2x3)(x1¬x2x3) не является СДНФ.

Теорема 3. Для любой не тождественно ложной (не тождественно истинной) формулыφ АВ существует единственая СДНФ (СКНФ)ψАВ такая, чтоφψ.

Заметим, что единственность формулы в формулировке теоремы понимается с точностью до порядка следования конъюнктивных сомножителей и дизъюнктивных слагаемых в этой формуле.

Опишем алгоритм приведения формулы к СДНФ.

  1. Приводим данную формулу к ДНФ.

  2. Преобразовываем ее конъюнкты в конституенты единицы с помощью следующих действий:

а) если в конъюнкт входит некоторая переменная вместе со своим отрицанием, то мы удаляем этот конъюнкт из ДНФ;

б) если в конъюнкт одна и та же литера xδ входит несколько раз, то удаляем все литеры хδ, кроме одной;

в) если в конъюнкт x1δ1xkδk не входит переменная у, то этот конъюнкт заменяем на эквивалентную формулу (x1δ1xkδky)∨(x1δ1xkδk¬y);

г) если в полученной ДНФ имеется несколько одинаковых конституент единицы, то оставляем только одну из них.

В результате получается СДНФ.

Пример 13. Найти СДНФ для ДНФ φ(x¬x)x(yzy).

Решение. Имеем φx(yz)≡(xy)(x¬y)(xyz)xyz)≡

(xyz)(xy¬z)(x¬yz)(x¬y¬z)(xyz)xyz)≡

(xyz)(xy¬z)(x¬yz)(x¬y¬z)xyz).

Описание алгоритма приведения формулы к СКНФ аналогично вышеизложенному описанию алгоритма приведения формулы к СДНФ и оставляется читателю в качестве упражнения.