Досконалою кон’юнктивною нормальною формою (ДКНФ) булевої функції називається кон’юнкція тих конституент нуля, які перетворюються в нуль на тих самих наборах змінних, що й задана функція.
Також по аналогії з ДДНФ, будь-яка булева функція має одну ДКНФ (кількість її членів дорівнює кількості нульових значень функції) і декілька КНФ.
Можна навести такі властивості ДКНФ, що виділяють її з усіх КНФ:
- в ній немає однакових співмножників;
- жоден із співмножників не містить двох однакових доданків;
- жоден із співмножників не містить якої-небудь змінної разом з її запереченням;
- в кожному окремому співмножнику є як складова або змінна xi, або її заперечення для будь-якого i=1,2,…,n.
Приклад знаходження ДКНФ
Для того, щоб отримати ДКНФ функції, потрібно скласти її таблицю істинності. Наприклад, візьмемо одну з таблиць істинності з статті Метод Куайна:
![{\displaystyle \mathbf {x_{1}} }](https://wikimedia.org/api/rest_v1/media/math/render/svg/d12a043a7a49e8f743fee9bad83d282174636009) |
![{\displaystyle \mathbf {x_{2}} }](https://wikimedia.org/api/rest_v1/media/math/render/svg/1c7a10140aa2f5819c551f839d297b7906f34066) |
![{\displaystyle \mathbf {x_{3}} }](https://wikimedia.org/api/rest_v1/media/math/render/svg/7f8b30f003b9f64ce17e67da9acbebeb6d7bb869) |
![{\displaystyle \mathbf {x_{4}} }](https://wikimedia.org/api/rest_v1/media/math/render/svg/0fc8ed2dc566520e26d2b8969b1ecd4c2a97ef41) |
|
0 |
0 |
0 |
0 |
1
|
0 |
0 |
0 |
1 |
1
|
0 |
0 |
1 |
0 |
1
|
0 |
0 |
1 |
1 |
0
|
0 |
1 |
0 |
0 |
0
|
0 |
1 |
0 |
1 |
0
|
0 |
1 |
1 |
0 |
1
|
0 |
1 |
1 |
1 |
0
|
1 |
0 |
0 |
0 |
0
|
1 |
0 |
0 |
1 |
0
|
1 |
0 |
1 |
0 |
0
|
1 |
0 |
1 |
1 |
0
|
1 |
1 |
0 |
0 |
0
|
1 |
1 |
0 |
1 |
0
|
1 |
1 |
1 |
0 |
1
|
1 |
1 |
1 |
1 |
1
|
В комірках стовпця
відмічаються лишень ті комбінації, які приводять логічний вираз до нуля.
Наприклад, четвертий рядок містить 0 в даній комірці
= 0
= 0
= 1
= 1
В диз'юнкцію змінна записується без інверсії, якщо в наборі вона дорівнює 0, і з інверсією, якщо вона дорівнює 1.
Перший член ДКНФ даної функції має такий вигляд:
Всі інші члени ДКНФ складаються по аналогії і тоді отримується наступна ДКНФ:
![{\displaystyle ({x_{1}}\lor {x_{2}}\lor {\overline {x_{3}}}\lor {\overline {x_{4}}})\land ({x_{1}}\lor {\overline {x_{2}}}\lor {x_{3}}\lor {x_{4}})\land ({x_{1}}\lor {\overline {x_{2}}}\lor {x_{3}}\lor {\overline {x_{4}}})\land ({x_{1}}\lor {\overline {x_{2}}}\lor {\overline {x_{3}}}\lor {\overline {x_{4}}})\land }](https://wikimedia.org/api/rest_v1/media/math/render/svg/a62cee8c34f485e00426e6f95fde20ebb3a75539)
![{\displaystyle ({\overline {x_{1}}}\lor {x_{2}}\lor {x_{3}}\lor {x_{4}})\land ({\overline {x_{1}}}\lor {x_{2}}\lor {x_{3}}\lor {\overline {x_{4}}})\land ({\overline {x_{1}}}\lor {x_{2}}\lor {\overline {x_{3}}}\lor {x_{4}})\land ({\overline {x_{1}}}\lor {x_{2}}\lor {\overline {x_{3}}}\lor {\overline {x_{4}}})\land }](https://wikimedia.org/api/rest_v1/media/math/render/svg/1e20533548ff64ef9036830ea611a104ac5512e5)
![{\displaystyle ({\overline {x_{1}}}\lor {\overline {x_{2}}}\lor {x_{3}}\lor {x_{4}})\land ({\overline {x_{1}}}\lor {\overline {x_{2}}}\lor {x_{3}}\lor {\overline {x_{4}}})}](https://wikimedia.org/api/rest_v1/media/math/render/svg/7430254e9d314e767c5f87380b67a1a5e1d7f939)
Див. також