Изменения

Перейти к: навигация, поиск

Сокращённая и минимальная ДНФ

769 байт добавлено, 19:12, 4 сентября 2022
м
rollbackEdits.php mass rollback
{{Определение
|definition =
'''Сокращенная ДНФ''' (англ. ''reduced disjunctive normal form'') {{---}} форма записи функции, обладающая следующими свойствами: * любые два слагаемых различаются как минимум в двух позициях, * ни один из конъюнктов не содержится в другом.
}}
'''Например:'''
*Операция попарного неполного склеивания:
:<tex>A x \lor A \neg x = A x \lor A \neg x \lor A</tex>
*Операция элементарного поглощения:
:<tex>A \tilde x \lor A = A </tex>
:(где <tex>A</tex> {{---}} некоторая элементарная конъюнкция, то есть конъюнкт, в который каждая из переменных входит не более одного раза)
'''Например:'''
 
Пусть <tex>A = y\neg z\neg w</tex>, тогда:
*Операция попарного неполного склеивания:
:<tex>y\neg z\neg w x \lor y\neg z\neg w \neg x = y\neg z\neg w x \lor y\neg z\neg w \neg x \lor y\neg z\neg w</tex>
*Операция элементарного поглощения:
:<tex>y\neg z\neg w \tilde x \lor y\neg z\neg w = y\neg z\neg w</tex>
 
Метод состоит в последовательном выполнении всех возможных склеиваний и затем всех поглощений частей СДНФ пока это может быть осуществимо.
====Описание алгоритма====
На данном этапе получаем элементы сокращённой ДНФ <tex>\neg x \land \neg z \land \neg w</tex> и <tex>y \land \neg z \land \neg w</tex>
{|borderclass="1wikitable" style="background-color:#FFF;text-align:center;"|!|!Элементарная конъюнкция|!Поглощение
|-
|<tex> 1</tex>
|<tex>xz</tex>
|
|-
|<tex> 2</tex>
|<tex>xy</tex>
|
|-
|}
 
Обе элементарные конъюнкции на данном шаге являются элементами сокращённой ДНФ.
*Единицы функции, покрываемые ядром, но не покрываемые только каким-то одним конъюнктом из системы элементов сокращённой ДНФ помечаются “>>”.
{|borderclass="1wikitable" style="background-color:#FFF; text-align:center;"
|
|!<tex>\neg x\neg y\neg z\neg w</tex> <tex>></tex>|!<tex>\neg x y\neg z\neg w</tex><tex> >></tex>|!<tex>x\neg yz\neg w</tex> <tex>></tex>|!<tex>x\neg yzw</tex> <tex>></tex>|!<tex>xy\neg z\neg w</tex><tex> >></tex>|!<tex>xy\neg zw</tex> <tex>></tex>|!<tex>xyz\neg w</tex><tex> >></tex>|!<tex>xyzw</tex><tex> >></tex>
|-
|!<tex>\neg x\neg z\neg w^*</tex>*|style="background-color:#F4A460FF7F50;"| <tex>+</tex>| <tex>+</tex>
|
|
|
|-
|!<tex>y\neg z\neg w</tex>
|
| <tex>+</tex>
|
|
| <tex>+</tex>
|
|
|
|-
|!<tex>xz^*</tex>*
|
|
|style="background-color:#F4A460FF7F50;"| <tex>+</tex>|style="background-color:#F4A460FF7F50;"| <tex>+</tex>
|
|
| <tex>+</tex>| <tex>+</tex>
|-
|!<tex>xy^*</tex>*
|
|
|
|
| <tex>+</tex>|style="background-color:#F4A460FF7F50;"| <tex>+</tex>| <tex>+</tex>| <tex>+|-</tex>
|}
1632
правки

Навигация