[Список тем]


Получение МКНФ и МДНФ логического выражения


Получить МКНФ и МДНФ логического выражения, заданного таблицей истинности:
Дана полностью заданная функция 4х аргументов (a, b, c, d). Для столбца, соответствующего Вашему варианту, получите  МКНФ и МДНФ.
a b c d 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1
0 0 0 1 0 0 1 0 0 1 0 0 0 0 1 1 1 1 1 0 1
0 0 1 0 1 0 1 1 0 0 1 0 1 1 0 1 0 0 0 1 1
0 0 1 1 0 0 1 1 0 0 0 0 0 1 1 1 1 0 0 0 0
0 1 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 0
0 1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 1 0 1 1 0
0 1 1 0 0 1 0 0 0 0 0 0 1 1 1 1 0 1 0 1 1
0 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 0 0 0 0
1 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 1 0 1 1
1 0 0 1 0 0 0 1 1 1 0 1 0 0 1 0 1 1 0 0 1
1 0 1 0 1 0 0 1 0 0 1 0 0 1 0 1 1 1 1 1 0
1 0 1 1 0 0 0 1 1 0 0 0 0 1 1 1 1 0 0 0 0
1 1 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 0 1
1 1 0 1 1 0 0 0 1 0 0 1 0 1 1 0 1 0 1 1 1
1 1 1 0 0 1 0 0 1 0 1 0 1 1 0 1 0 1 1 0 0
1 1 1 1 1 1 0 0 1 0 0 0 0 1 1 1 1 0 0 0 0

Пример.
Для функции варианта 0 последовательно выполним пункты алгоритма.
Заполним карту Вейча из 16 клеток функцией.
Для нахождения МДНФ охватим замкнутыми прямоуголными областями (по 2, 4, 8 клеток) соседние клетки содержащие 1. Стремимся, чтобы областей было минимальное количество, и каждая из них охватывала максимальное число клеток.

Запишем МДНФ, содержащую элементарные конъюнкции, составленные из тех аргументов функции, которые в данной прямоугольной области не меняют знак:
МДНФ: (a&b&c)(b&c&d)(b&d)
Для нахождения МКНФ охватим замкнутыми прямоуголными областями соседние клетки содержащие 0.

Элементарные дизъюнкции МКНФ составляется из отрицаний значений аргументов функции, не меняющих в пределах прямоугольной области свой знак.
МКНФ: (abс) & (bсd) & (bd).


[Список тем]