Таким образом, главной задачей при минимизации СДНФ и СКНФ является поиск термов, пригодных к склейке с последующим поглощением, что для больших форм может оказаться достаточно сложной задачей. Карты Карно предоставляют наглядный способ отыскания таких термов. Как известно, булевы функции N переменных, представленные в виде СДНФ или СКНФ могут иметь в своём составе 2. N различных термов. Все эти члены составляют некоторую структуру, топологически эквивалентную N–мерному кубу, причём любые два терма, соединённые ребром, пригодны для склейки и поглощения. На рисунке изображена простая таблица истинности для функции из двух переменных, соответствующий этой таблице 2- мерный куб (квадрат), а также 2- мерный куб с обозначением членов СДНФ и эквивалентная таблица для группировки термов: В случае функции трёх переменных приходится иметь дело с трёхмерным кубом. Это сложнее и менее наглядно, но технически возможно.
На рисунке в качестве примера показана таблица истинности для булевой функции трёх переменных и соответствующий ей куб. Как видно из рисунка, для трёхмерного случая возможны более сложные конфигурации термов. Например, четыре терма, принадлежащие одной грани куба, объединяются в один терм с поглощением двух переменных: В общем случае можно сказать, что 2. K термов, принадлежащие одной K–мерной грани гиперкуба, склеиваются в один терм, при этом поглощаются K переменных. Для упрощения работы с булевыми функциями большого числа переменных был предложен следующий удобный приём. Куб, представляющий собой структуру термов, разворачивается на плоскость как показано на рисунке.
Таким образом появляется возможность представлять булевы функции с числом переменных больше двух в виде плоской таблицы. При этом следует помнить, что порядок кодов термов в таблице (0. Аналогичным образом можно работать с функциями четырёх, пяти и более переменных.
Создать книгу · Скачать как PDF · Версия для печати . Карты Карно. Минимизация логических функций.
Примеры таблиц для N=4 и N=5 приведены на рисунке. Для этих таблиц следует помнить, что соседними являются клетки, находящиеся в соответственных клетках крайних столбцов и соответственных клетках верхней и нижней строки. Для таблиц 5 и более переменных нужно учитывать также, что квадраты 4х. Карта Карно может быть составлена для любого количества переменных, однако удобно работать при количестве переменных не более пяти.
По сути Карта Карно — это таблица истинности составленная в 2- х мерном виде. Благодаря использованию кода Грея в ней верхняя строка является соседней с нижней, а правый столбец соседний с левым, т. На пересечении строки и столбца проставляется соответствующее значение из таблицы истинности. После того как Карта заполнена, можно приступать к минимизации.
Если необходимо получить минимальную ДНФ, то в Карте рассматриваем только те клетки которые содержат единицы, если нужна КНФ, то рассматриваем те клетки которые содержат нули. Сама минимизация производится по следующим правилам (на примере ДНФ): Объединяем смежные клетки содержащие единицы в область, так чтобы одна область содержала 2n (n целое число = 0. Берём следующую область, выполняем то же самое что и для первой, и т. Конъюнкции областей объединяем дизъюнкцией. Например(для Карт на 2- ве переменные). Для КНФ всё то же самое, только рассматриваем клетки с нулями, не меняющиеся переменные в пределах одной области объединяем в дизъюнкции (инверсии проставляем над единичными переменными), а дизъюнкции областей объединяем в конъюнкцию.
На этом минимизация считается законченной. Так для Карты Карно на рис. ДНФ будет иметь вид.
Карты Карно. Минимизация логических функций. Завантаження списк.
Теперь программа умеет находить ДНФ и КНФ. Так же усовершенствованы некоторые алгоритмы. Не забываем так же скачивать аналогичную . Совершенная конъюнктивная нормальная форма · Минимизация логических функций · Метод непосредственных преобразований. Карты Карно.