Карты карно в excel

Встречаются электронные таблицы, в которых необходимо применить логические функции, логические схемы разного порядка. На помощь приходит программный пакет Microsoft Excel. Он способен не только вычислить логическое значение выражения, но и провести сложные математические расчеты.

Что такое Excel?

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

Восстание Тадеуша Костюшко: причины, ход событий, итогиВам будет интересно:Восстание Тадеуша Костюшко: причины, ход событий, итоги

Пользователь применяет в Excel не только логические функции, но и математические, статистические, финансовые, текстовые и т. д.

Особенности Excel

Сферы применения программного продукта разнообразны:

  • Рабочий лист Excel представляет собой готовую таблицу, поэтому у пользователя отпадает необходимость в проведении расчетов по приведению документа к надлежащему виду.
  • Программный пакет предлагает использовать булевы функции, а также тригонометрические, статистические, текстовые и т. д.
  • На основе вычислений Excel строит графики и диаграммы.
  • Поскольку программный пакет содержит большую библиотеку математических и статистических функций, школьники и студенты могут использовать его для выполнения лабораторных и курсовых работ.
  • Пользователю полезно применять возможности Excel для домашних и личных расчетов.
  • В программный продукт встроен язык программирования VBA, способный облегчит жизнь бухгалтеру при автоматизации рабочего процесса небольшой фирмы.
  • Электронная таблица Excel выступает и как база данных. Полностью функционал реализуется только с версии 2007 года. В ранних продуктах было ограничение по количеству строк.
  • При создании отчетности различной направленности Excel приходит на помощь, поскольку помогает создать сводную таблицу.

Логические операторы Excel

Интересные факты по географии: новейшие открытия, описание, фотоВам будет интересно:Интересные факты по географии: новейшие открытия, описание, фото

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

Логические функции (иначе называемые булевы) в качестве элементов задействуют числа, текст, ссылки с адресами ячеек.

Изучить подробнее каждый оператор и его синтаксис можно несколькими способами:

  • Вызвать «Мастер функций».
  • Воспользоваться справкой Microsoft через F1.
  • В версиях Excel от 2007 года изучить состав каждой категории на панели инструментов.

логические функции в excel

Булева алгебра

География: интересные факты о странах мираВам будет интересно:География: интересные факты о странах мира

Основателем логики высказываний (иное название раздела математики) является Д. Буль, занимавшийся в юности переводами работ древнегреческих философов. Именно оттуда он почерпнул знания и предложил ввести специальные обозначения для высказываний: 1 – Истина, 0 – Ложь.

Булевой алгеброй называют раздел математики, изучающий высказывания, рассматривающий их в качестве логических значений и совершаемые над ними операции. Любое утверждение можно закодировать, а затем использовать, манипулировать им для доказательства истинности или ложности.

Булевой функцией называют f(x1, x2, … , xn), от n переменных, если функция или любой из ее операторов принимает значения только из множества {0;1}. Законы алгебры логики применяются при решении задач, в программировании, кодировании и т. д.

Отображать булеву функцию можно следующими способами:

  • словесным (утверждением, записанным в текстовом виде);
  • табличным;
  • численным;
  • графическим;
  • аналитическим;
  • координатным.

Функция «И»

Оператор «И» является конъюнкцией в программном пакете Excel. Иначе она называется логическим умножением. Обозначается обычно ∧, &, * или знак между операндами вовсе опускается. Функция нужна для определения правдивости введенного выражения. В булевой алгебре конъюнкция принимает значения из множества, и результат вычисления также записывается в него. Логическое умножение бывает:

  • бинарным, поскольку содержит 2 операнда;
  • тернарным, если имеется 3 множителя;
  • n-арным, если множество содержит n операндов.

Решить пример можно через согласование с правилом либо через создание таблицы истинности. Если выражение содержит несколько операндов, удобнее воспользоваться программным пакетом Excel для второго способа решения, поскольку весь процесс при вычислениях вручную будет громоздким.

Результатом вычислений могут быть:

  • Истина: если все аргументы правдивы.
  • Ложь: если все критерии ложны или хотя бы один из них.

Операторы «И» и «ИЛИ» могут содержать до 30 критериев.

Пример.

1) Необходимо определить истинность вписанных данных. Очевидно, что последний пример, заключенный в скобках, неверен с математической точки зрения, поэтому функция выдаст ответ «Ложь».

2) В двух ячейках указаны противоположные значения. Функция «И» выдает результат «Ложь», поскольку один из аргументов неправдив.

3) Заданы арифметические действия. Необходимо проверить их истинность. Данный оператор выдает ответ «Истина», поскольку с арифметической точки зрения все верно.

конъюнкция и дизъюнкция

Функция «ИЛИ»

Оператор «ИЛИ» в категории «Логические функции» является дизъюнкцией, т. е. позволяет получить правдивый ответ в некатегоричной форме. Иное название оператора в булевой алгебре: логическое сложение. Обозначают: ∨, +, «или». Переменные берут значения из множества и туда же записывается ответ.

Результатом вычислений бывают:

  • Истина: если хотя бы один из аргументов или все они являются правдивыми.
  • Ложь: если все критерии ложны.

Пример.

1) Дизъюнкция в Excel проверяет не только логические выражения, но и математические на правильность. Так, в конкретном случае оба результата ложны с арифметической точки зрения, поэтому ответ – «Ложь».

2) Оператор выдает ответ «Истина», поскольку один из аргументов правдивый, другой ложный. Это является допустимым критерием для дизъюнкции.

булевы функции

Функция «ЕСЛИ»

В группе «Логические функции» почетное место занимает оператор «ЕСЛИ». Функция необходима для получения результата, если информация правдива, и другого итога, если данные ложны.

  • В условном операторе возможна проверка до 64 условий за 1 раз.
  • Если один из критериев – массив, тогда функция проверяет каждый элемент.
  • Если ответ ложный, но в формуле не прописано, чему должен равняться итог в случае «False», тогда оператор выдает результат, равный 0.

Пример.

Дано:

  • наименование товара;
  • его цена за 1 единицу;
  • количество приобретенного товара;
  • стоимость.

Необходимо рассчитать графу «К оплате». Если стоимость покупки превышает 1000 рублей, то покупателю предоставляется скидку в 3 %. В противном случае графы «ИТОГО» и «К оплате» одинаковы.

логические функции таблица

1) Проверка условия: стоимость превышает 1000 рублей.

2) В случае истинности критерия стоимость умножается на 3 %.

3) В случае ложности высказывания результат «К оплате» не отличается от «ИТОГО».

Проверка нескольких условий

Имеется таблица, в которой указаны баллы за экзамен и отметка преподавателя.

1) Нужно проверить, меньше ли сумма баллов 35. Если ответ истинный, то результат работы – «Не сдал».

2) Если предыдущее условие ложное, сумма баллов >35, оператор переходит к проверке следующего аргумента. Если значение в ячейке >=75, то рядом присваивается «Отлично». При иных вариантах функция вернет «Сдал».

логические функции

Несмотря на то что оператор «Если» работает с логическими значениями, он прекрасно действует и с числами.

Пример.

Даны:

  • имена продавцов;
  • их продажи.

Следует вычислить, кому из продавцов какая комиссия причитается:

  • если количество продаж менее 50 тысяч, то процент не начисляется;
  • если объем сделок варьируется в пределах 50-100 тысяч, то комиссия составляет 2 %;
  • если количество продаж более 100 тысяч, то премия выписывается в размере 4 %.

Под цифрой 1 отмечен первый блок «ЕСЛИ», где проверяется на истинность. Если условие ложно, то выполняется блок 2, где прописываются дополнительно еще 2 критерия.

минимизация логических функций

Функция «ЕСЛИОШИБКА»

Булевы функции дополняются данным оператором, поскольку он способен вернуть некий результат, если в формуле имеется ошибка. Если все верно, «ЕСЛИОШИБКА» возвращает результат вычислений.

Функция «ИСТИНА» и «ЛОЖЬ»

Булевы функции в Excel не обходятся без оператора «ИСТИНА». Он возвращает соответствующее значение.

Оператором, обратным по действию «ИСТИНЕ» является «ЛОЖЬ». Обе функции не имеют аргументов и крайне редко используются в качестве самостоятельного примера.

Оператор «НЕ»

Все логические функции в Excel можно опровергнуть посредством оператора «НЕ». Введенное значение при использовании данной процедуры будет в результате противоположным.

Пример.

Очевидно, что оператор выдает ответ, противоположный изначальным данным.

логические функции логические схемы

Минимизация логических функций

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

Существуют специальные алгоритмические методы минимизации. Благодаря им пользователь способен самостоятельно упростить функцию быстро и без ошибок. Среди таких методов выделяют:

  • карты Карно;
  • метод Квайна;
  • алгоритм импликантных матриц;
  • метод Квайна-Мак-Класки и т. д.

Если количество аргументов не превышает 6, тогда пользователю для наглядности лучше использовать метод карт Карно. В противном случае применяется алгоритм Квайна-Мак-Класки.

[Править]Принципы склейки

  • Склейку
    клеток карты Карно можно осуществлять
    по единицам (если необходимо получить ДНФ)
    или по нулям (если требуется КНФ).

  • Склеивать
    можно только прямоугольные области с
    числом единиц (нулей) 2n,
    где n —
    целое число. Для карт Карно с числом
    переменных более четырёх могут получаться
    более сложные области, о чём будет
    сказано в следующих разделах.

  • Область,
    которая подвергается склейке должна
    содержать только единицы (нули).

  • Крайние
    клетки каждой горизонтали и каждой
    вертикали также граничат между собой
    (топологически карта Карно для четырёх
    переменных представляет собой тор) и
    могут объединяться в прямоугольники.
    Следствием этого правила является
    смежность всех четырёх угловых ячеек
    карты Карно для N=4.
    Если во всех четырёх угловых ячейках
    стоят единицы (нули) они могут быть
    объединены в квадрат, как показано на
    рис. 2в.

  • Все
    единицы (нули) должны попасть в какую-либо
    область.

  • С
    точки зрения минимальности ДНФ (КНФ)
    число областей должно быть как можно
    меньше (каждая область представляет
    собой терм), а число клеток в области
    должно быть как можно больше (чем больше
    клеток в области, тем меньше переменных
    содержит терм. Терм размером 2n ячеек
    содержит Nn переменных).

  • Одна
    ячейка карты Карно может входить сразу
    в несколько областей. Это следует из
    очевидного свойства булевых функций:
    повторение уже существующего слагаемого
    (сомножителя) не влияет на функцию:

  • В
    отличие от СДНФ (СКНФ), ДНФ (КНФ) не
    единственны. Возможно несколько
    эквивалентных друг другу ДНФ (КНФ),
    которые соответствуют разным способам
    покрытия карты Карно прямоугольными
    областями.

[Править]Описание

Карта
Карно может быть составлена для любого
количества переменных, однако удобно
работать при количестве переменных не
более пяти. По сути Карта Карно — это
таблица истинности составленная в 2-х
мерном виде. Благодаря использованию
кода Грея в ней верхняя строка является
соседней с нижней, а правый столбец
соседний с левым, т.е. вся Карта Карно
сворачивается в фигуру тор (бублик).
На пересечении строки и столбца
проставляется соответствующее значение
из таблицы истинности. После того как
Карта заполнена, можно приступать к
минимизации.

Если
необходимо получить минимальную ДНФ,
то в Карте рассматриваем только те
клетки которые содержат единицы, если
нужна КНФ,
то рассматриваем те клетки, которые
содержат нули. Сама минимизация
производится по следующим правилам (на
примере ДНФ):

  1. Объединяем
    смежные клетки, содержащие единицы, в
    область так, чтобы одна область
    содержала  ( целое
    число = 0…)
    клеток (помним про то, что крайние строки
    и столбцы являются соседними между
    собой), в области не должно находиться
    клеток, содержащих нули;

  2. Область
    должна располагаться симметрично
    оси(ей) (оси располагаются через каждые
    четыре клетки);

  3. Несмежные
    области, расположенные симметрично
    оси(ей), могут объединяться в одну;

  4. Область
    должна быть как можно больше, а количество
    областей как можно меньше;

  5. Области
    могут пересекаться;

  6. Возможно
    несколько вариантов покрытия.

Далее
берём первую область и смотрим, какие
переменные не меняются в пределах этой
области, выписываем конъюнкцию этих
переменных; если неменяющаяся переменная
нулевая, проставляем над ней инверсию.
Берём следующую область, выполняем то
же самое, что и для первой, и т. д. для
всех областей. Конъюнкции областей
объединяем дизъюнкцией.
Например
(для Карт на 2 переменные):

Для
КНФ всё то же самое, только рассматриваем
клетки с нулями, неменяющиеся переменные
в пределах одной области объединяем в
дизъюнкции (инверсии проставляем над
единичными переменными), а дизъюнкции
областей объединяем в конъюнкцию. На
этом минимизация считается законченной.
Так для Карты Карно на рис.1 выражение
в формате ДНФ будет иметь вид:

В
формате КНФ:

Так
же из ДНФ в КНФ и обратно можно перейти
использовав Законы
де Моргана
.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]

  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #

Расположение термов в карте Карно для функции 4 переменных, изображённой на плоскости и на поверхности тора. Изображение на поверхности тора наглядно показывает соседство первой и последней строк таблицы и крайнего правого и крайнего левого столбцов. Отмеченные точками клетки являются соседними.

Ка́рта Ка́рно (куб Ка́рно, диагра́мма Ка́рно, ка́рта Ве́йча) — графический способ представления булевых функций с целью их удобной и наглядной ручной минимизации[1].

Является одним из эквивалентных способов описания или задания логических функций наряду с таблицей истинности или выражениями булевой алгебры. Преобразование карты Карно в таблицу истинности или в булеву формулу и обратно осуществляется элементарным алгоритмом.

Удобство и наглядность такого представления логической функции обусловлено тем, что логические термы, к которым могут быть применены операции попарного неполного склеивания и элементарного поглощения группируются в карте Карно в виде визуально очевидных прямоугольных массивов, содержащих в своих ячейках одинаковые значения (нули и единицы).

Карты Карно можно рассматривать как развертку на плоскость n-мерного булева куба, причем размерность этого гиперкуба совпадает с количеством переменных представляемой функции, а каждая вершина гиперкуба взаимно однозначно соответствует одной клетке карты Карно. Графически карта Карно изображается в виде прямоугольника или квадрата из ячеек, число которых равно [math]displaystyle{ 2^n }[/math], причем любые две соседние ячейки по вертикали или горизонтали или, иными словами — в окрестности фон Неймана описывают термы, различающиеся только по одной переменной — с логическим отрицанием и без логического отрицания. Также соседним являются первая и последняя строки, крайний левый и крайний правый столбцы таблицы, поэтому таблица Карно является фактически разверткой логического гиперкуба на поверхность тороида. Возможно построение самых различных карт для одной и той же функции, удовлетворяющих условию: геометрическое соседство ячеек в смысле фон Неймана — логическое соседство термов — то есть с расстоянием Хэмминга между термами соседних ячеек равным 1. Любая из таких таблиц одинаково удобна для минимизации функции, но обычно переменные по строкам и столбцам в карте Карно упорядочивают по рефлексивному коду Грея из-за мнемоничности и наглядности.

История

Карты Карно были предложены в 1952 году Эдвардом В. Вейчем[2] и усовершенствованы в 1953 году физиком из «Bell Labs» Морисом Карно (Maurice Karnaugh), чтобы упростить проектирование цифровых систем[3].

Основные принципы

Карта Карно представляет собой таблицу истинности, отформатированную особым образом, пригодным для наглядной ручной минимизации. Результатом минимизации является либо дизъюнктивная нормальная форма (ДНФ), либо конъюнктивная нормальная форма (КНФ). В первом случае работа ведётся с клетками карты, где находятся единицы, во втором — с клетками, где находятся нули. В исходной карте, как и в таблице истинности, каждая единица соответствует одному терму cовершенной дизъюнктивной нормальной форме (СДНФ), а каждый ноль — одному терму cовершенной конъюнктивной нормальной форме (СКНФ).

Рядом расположенные группы единиц или нулей на карте Карно объединяют в прямоугольные области или «склейки» размером [math]displaystyle{ 2^a times 2^b }[/math] клеток. Каждая такая группа в итоговой логической формуле будет соответствовать одному терму (если считать, что операция логического «ИЛИ» — это «суммирование», а операция логического «И» — это «перемножение», то один терм соответствует одному слагаемому в случае ДНФ, или одному сомножителю в случае КНФ), содержащему [math]displaystyle{ n-a-b }[/math] переменных, это группирование обычно называют «склейкой»[4]. Таким образом, работа с картой сводится к выделению оптимального набора нескольких групп единиц (нулей) и преобразование их в логическое выражение.

Принципы минимизации

Основным методом минимизации логических функций, представленных в виде СДНФ или СКНФ, является операция попарного неполного склеивания и элементарного поглощения. Операция попарного склеивания осуществляется между двумя термами, содержащими одинаковые переменные, вхождения которых (прямые и инверсные) совпадают для всех переменных, кроме одной. В этом случае все переменные, кроме одной, можно вынести за скобки, а оставшиеся в скобках прямое и инверсное вхождение одной переменной подвергнуть поглощению. Например:

[math]displaystyle{
overline {X}_1X_2X_3X_4
vee
overline{X}_1X_2overline{X}_3X_4 =
overline {X}_1X_2X_4 (X_3 vee overline{X}_3) =
overline {X}_1X_2X_4 cdot 1 =
overline {X}_1X_2X_4.
}[/math]

Аналогично для КНФ:

[math]displaystyle{
(overline {X}_1vee X_2vee X_3vee X_4)
(overline {X}_1vee X_2vee overline{X}_3vee X_4) =
overline {X}_1vee X_2vee X_4vee X_3overline {X}_3 =
overline {X}_1vee X_2vee X_4vee 0 =
overline {X}_1vee X_2vee X_4.
}[/math]

Возможность поглощения следует из очевидных равенств:

[math]displaystyle{
A vee overline{A} = 1;
Aoverline{A} = 0.
}[/math]

Таким образом, главной задачей при минимизации СДНФ и СКНФ является поиск термов, пригодных к склейке с последующим поглощением, что для функций многих логических переменных может оказаться достаточно сложной задачей. Карты Карно предоставляют наглядный способ отыскания таких термов.

Булевы функции N переменных, представленные в виде СДНФ или СКНФ, могут иметь в своём составе не более чем [math]displaystyle{ 2^n }[/math] различных термов. Все эти элементарные термы можно представить в виде некоторой структуры, топологически эквивалентной [math]displaystyle{ n }[/math]-мерному кубу, причём любые два терма, соединённые ребром, пригодны для склейки и поглощения.

На рисунке изображена простая таблица истинности для функции из двух переменных, соответствующий этой таблице 2-мерный куб (квадрат), а также 2-мерный куб с обозначением членов СДНФ и эквивалентная таблица для группировки термов:

Karnaugh map 01 fixed.gif

В случае функции трёх переменных приходится иметь дело с трёхмерным кубом. Это сложнее и менее наглядно, но технически возможно. На рисунке в качестве примера показана таблица истинности для булевой функции трёх переменных и соответствующий ей куб.

Файл:Karnaugh map 02.gif

Как видно из рисунка, для трёхмерного случая возможны более сложные конфигурации термов. Например, четыре терма, принадлежащие одной грани куба, объединяются в один терм с поглощением двух переменных:

[math]displaystyle{
overline {X}_1overline {X}_2overline {X}_3
vee
X_1overline {X}_2overline {X}_3
vee
overline {X}_1overline {X}_2X_3
vee
X_1overline {X}_2X_3
= }[/math]

[math]displaystyle{ =
overline {X}_2 (overline {X}_1overline{X}_3 vee overline {X}_1X_3 vee X_1overline {X}_3 vee X_1X_3)
= overline {X}_2 (overline {X}_1 vee X_1)(overline {X}_3 vee X_3) = overline {X}_2
}[/math]

В общем случае можно сказать, что [math]displaystyle{ 2^k }[/math] термов, принадлежащие одной что [math]displaystyle{ k }[/math]-мерной грани гиперкуба, склеиваются в один терм, при этом поглощаются [math]displaystyle{ k }[/math] переменных.

Для упрощения работы с булевыми функциями большого числа переменных был предложен следующий удобный приём. Куб, представляющий собой структуру термов, разворачивается на плоскость, как показано на рисунке. Таким образом появляется возможность представлять булевы функции с числом переменных больше двух в виде плоской таблицы. При этом следует помнить, что порядок кодов термов в таблице (00 01 11 10) не соответствует порядку следования двоичных чисел записанных в лексикографическом порядке (00 01 10 11), а клетки, находящиеся в крайних столбцах таблицы, соседствуют между собой.

Файл:Karnaugh map 03.gif

Аналогичным образом можно работать с логическими функциями большего числа переменных.

Стили представления карт Карно

Традиционно существует несколько стилей представления карт Карно. Часто в шапке и левой колонке проставляются численные значения переменных, подобно тому, как они указаны в таблице истинности (а). В этом стиле наиболее очевидно, что карта Карно является своеобразной формой представления таблицы истинности. Однако клетки карты Карно следуют в несколько ином порядке, чем строки в таблице истинности, так как в таблице истинности принято строки упорядочивать в лексикографическом нарастании двоичных чисел. Например, в карте Карно для четырёх переменных порядок следования ячеек карты и строк таблицы истинности совпадёт, если переставить местами третий-четвёртый столбцы и третью-четвёртую строки карты.

Каждая строка таблицы истинности и каждая клетка карты Карно соответствует одному слагаемому ДНФ, поэтому в шапке и левой колонке карты можно указывать вхождения переменных (прямые и инверсные), как они выглядят в СДНФ (б). Существует сокращённый вариант этого стиля представления, где во вспомогательных строках и колонках указывается, в каком виде, прямом или инверсном, представлена каждая переменная в соответствующей строке или столбце карты (в).

Наконец, в некоторых случаях на краях карты линиями указываются столбцы и строки, где соответствующая переменная представлена в прямом виде (г).

а) Karnaugh Style 1.png
б) Karnaugh Style 2.png
в) Karnaugh Style 3.png
г) Karnaugh Style 4.png

Порядок работы с картой Карно

Исходной информацией для работы с картой Карно является таблица истинности минимизируемой функции. Таблица истинности содержит полную информацию о логической функции, задавая её значения на всех возможных 2n наборах входных переменных X1Xn. Карта Карно также содержит 2n клеток, каждая из которых ассоциируется с уникальным набором входных переменных X1Xn. Таким образом, между таблицей истинности и картой Карно имеется взаимно однозначное соответствие, и карту Карно можно считать соответствующим образом отформатированной таблицей истинности.

В данном разделе в качестве примера используется функция четырёх переменных, заданная таблицей истинности, изображённой на рис. 2а. Карта Карно для той же функции изображена на рис. 2б.

Рис. 2. Пример работы с картой Карно

Принципы склейки

Прямоугольную область в карте Карно, которая состоит из 2k одинаковых значений (единиц или нулей в зависимости от того, какую форму нужно получить) будем называть склейкой, группой или областью. Распределение всех имеющихся в карте Карно нулей (единиц) по склейкам будем называть покрытием. С целью минимизации булевой функции необходимо построить такое покрытие карты Карно, чтобы количество склеек было минимальным, а размер каждой склейки максимально возможным. Для этого необходимо руководствоваться следующими правилами.

  • Склейку клеток одной и той же карты Карно можно осуществлять как по единицам (a), так и по нулям (б). Первое необходимо для получения ДНФ, второе — для получения КНФ.

a) Карта Карно — склейка по единицам.png
б) Карта Карно — склейка по нулям.png

  • Склеивать можно только прямоугольные области с числом единиц (нулей), являющимся целой степенью двойки (1, 2, 4, 8, 16, 32… клетки).

Карта Карно — правильные размеры областей.png
Карта Карно — неправильный выбор размера области.png

  • Рекомендуется выбирать максимально возможные области склейки. Если область склейки не является максимально возможной, это не будет ошибкой, однако ДНФ (КНФ) не получится минимальной.

Карта Карно — неоптимальный выбор областей склейки.png

  • В некоторых ситуациях в раскладке образуется изолированная единица или ноль, которую невозможно включить в какую-либо область. В этом случае единица (ноль) склеивается «сама с собой». Нельзя оставлять «висячие» единицы (нули), так как это приведёт к некорректной записи выражения для функции.
  • Все единицы (нули) должны попасть в какую-либо область.

Карта Карно — что делать с висячей единицей.png

  • Область, которая подвергается склейке, должна содержать одинаковые значения — только единицы или только нули.

Карта Карно — однородность области склейки.png

  • Для карт Карно с числом переменных 3 и 4 применимо следующее правило: крайние клетки каждой горизонтали и каждой вертикали граничат между собой и могут объединяться в прямоугольники (топологически карта Карно представляет собой тор). Следствием этого правила является смежность всех четырёх угловых ячеек карты Карно для 4 переменных. Для карт Карно с числом переменных менее 3 это правило не имеет смысла, так как крайние клетки и так граничат между собой; для карт Карно с числом переменных более четырёх правила смежности более сложные.

Карта Карно — объединение граничных клеток.png

  • Одна ячейка карты Карно может входить сразу в несколько областей. Это следует из очевидного свойства булевых функций: повторение уже существующего слагаемого (сомножителя) не влияет на функцию: [math]displaystyle{
    A vee A = A;
    A cdot A = A.
    }[/math]

Карта Карно — одна клетка может входить в несколько склеек.png

  • Не следует без нужды включать клетку во все возможные склейки, это не является ошибкой, но усложняет формулу. С точки зрения минимальности ДНФ (КНФ) число склеек должно быть как можно меньше (каждая дополнительная склейка порождает дополнительный терм), а число клеток в склейке должно быть максимально возможным (чем больше клеток в склейке, тем меньше переменных содержит терм. Склейка размером 2k клеток порождает терм с nk переменными)[4].

Карта Карно — не следует без нужды включать клетку во множество склеек.png

  • В отличие от СДНФ и СКНФ, ДНФ и КНФ не всегда единственны. Для некоторых функций существует несколько эквивалентных друг другу ДНФ (КНФ), которые соответствуют разным способам покрытия карты Карно прямоугольными областями. Очень часто две различные ДНФ (КНФ) имеют одинаковую сложность, что не позволяет сделать однозначный выбор минимальной формулы.

Карта Карно — различные покрытия одной карты.png

Карты с неопределёнными значениями

На практике встречаются случаи, когда при некоторых значениях аргументов булева функция не определена. Например, булева функция описывает цифровое устройство, у которого некоторые сочетания входных сигналов физически невозможны или же при некоторых значениях входных сигналов реакция устройства не имеет значения. В таких случаях говорят о «неопределённых условиях», а функция такого вида называется «частично определённой» или просто «частичной»[5].

На рисунке показано цифровое устройство F с четырьмя двоичными входными сигналами [math]displaystyle{ x_1 … x_4 }[/math]. Входными сигналами могут быть показания датчиков, работающих на замыкание и следовательно имеющих только два значения — «включено» (1) и «выключено» (0). Предположим, что в силу особенностей конструкции устройства 2-й и 4-й датчики не могут сработать одновременно, то есть сочетание сигналов [math]displaystyle{ x_2x_4=11 }[/math] физически невозможно. В этом случае значение функции в четырёх клетках карты Карно не имеет значения, что условно показано символом «×».

Такие клетки могут произвольным образом включаться в любые склейки, а также могут не включаться ни в какие склейки, то есть их по желанию можно доопределять и как 1, и как 0[5].

Карта Карно — неопределённые значения в некоторых клетках.png

Преобразование карты в формулу

Когда все склейки на карте Карно определены, необходимо преобразовать полученную карту Карно в формулу. При этом руководствуются следующими принципами:

  • Каждая склейка на карте Карно является слагаемым ДНФ при склеивании по единицам и сомножителем КНФ при склеивании по нулям.
  • Если склейка охватывает 2k клеток, то ей будет соответствовать слагаемое из n–k сомножителей в ДНФ и сомножитель с n-k слагаемыми в КНФ. Например, при минимизации функции 4 переменных склейка из 4 единиц будет соответствовать слагаемому из двух сомножителей.
  • В карте Карно для каждой переменной существуют две зоны, каждая из которых занимает ровно половину клеток карты. В одной зоне переменная присутствует в прямом виде, в другой — в инверсном. Если склейка целиком лежит в одной из этих зон, соответствующая переменная присутствует в слагаемом (сомножителе). Если склейка лежит одновременно в двух зонах, то данная переменная испытывает поглощение и не присутствует в слагаемом (сомножителе).

Преобразование карты Карно в ДНФ.pngПреобразование карты Карно в КНФ.png

Описание

Карта Карно может быть построена для любого количества переменных, однако удобно работать при количестве переменных не более пяти. По сути Карта Карно — это таблица истинности, представленная в виде матрицы в 2-мерном виде.

Каждая клетка этой карты соответствует одной строке в классической таблице истинности и обозначается строкой переменных с инверсиями и без инверсий. Например, пусть в таблице истинности для функции 4 переменных [math]displaystyle{ x_1, x_2, x_3, x_4, }[/math] одна из строк имеет вид: 0 1 1 0 | 1, тогда клетка в карте Карно, соответствующая этой строке, будет иметь имя [math]displaystyle{ overline {x}_1, x_2, x_3, overline {x}_4 }[/math] и в этой клетке ставится 1. Указание имён клеток в карте Карно обычно выполняется дополнительной строкой сверху и дополнительным столбцом слева.

Существенно, что в карте Карно соседние клетки обязательно имеют соседние, в смысле расстояния Хэмминга коды, то есть расстояние Хэмминга между соседними клетками равно 1, и различаются только состоянием — с инверсией или без, одной и только одной из переменных. Соседними клетками считаются клетки, примыкающие друг к другу стороной, также соседними клетками считаются клетки крайнего левого и крайнего правого столбцов и клетки первой и последней строк. Таком образом, карта Карно на плоскости топологически эквивалентна поверхности тора в трёхмерном пространстве, или гипертору в пространстве с размерностью на 1 больше размерности соответствующей многомерной карты Карно.

Так как перестановка переменных в логической функции не изменяет саму функцию, то есть, например, [math]displaystyle{ F(x_1, x_2, x_3, x_4) = F(x_4, x_2, x_3, x_1) }[/math] или, что то же самое, — перестановка столбцов переменных в таблице истинности не изменяет функцию, существует несколько вариантов отображения таблицы истинности на карту Карно с сохранением «соседства» клеток. Но практически наиболее часто карту Карно заполняют, используя нарастающий код Грея для обозначения строк и столбцов. Такой подход гарантирует порождение карты Карно с избеганием субъективных ошибок.

При заполнении карты на пересечении строки и столбца проставляется соответствующее значение из таблицы истинности — 0 или 1. После того как карта заполнена, приступают к минимизации.

Если необходимо получить минимальную ДНФ, то в Карте рассматриваем только те клетки, которые содержат единицы, если нужна КНФ, то рассматриваем те клетки, которые содержат нули. Сама минимизация производится по следующим правилам (на примере ДНФ).

  1. Объединяем смежные клетки, содержащие единицы, в область так, чтобы одна область содержала [math]displaystyle{ 2^n }[/math] ([math]displaystyle{ n }[/math] целое число = 0…[math]displaystyle{ infty }[/math]) клеток (помним про то, что крайние строки и столбцы являются соседними между собой), в области не должно находиться клеток, содержащих нули;
  2. Область должна располагаться симметрично оси(ей) (оси располагаются через каждые четыре клетки);
  3. Несмежные области, расположенные симметрично оси(ей), могут объединяться в одну;
  4. Область должна быть как можно больше, а количество областей как можно меньше;
  5. Области могут пересекаться;
  6. Возможно несколько вариантов покрытия.

Далее берём первую область и смотрим, какие переменные не меняются в пределах этой области, выписываем конъюнкцию этих переменных; если неменяющаяся переменная нулевая, проставляем над ней инверсию. Берём следующую область, выполняем то же самое, что и для первой, и т. д. для всех областей. Конъюнкции областей объединяем дизъюнкцией.
Например (для Карт на 2 переменные):

Karnough map 2 1 1.PNG Karnough map 2 1 2.PNG Karnough map 2 1 3.PNG Karnough map 2 1 4.PNG Karnough map 2 1 5.PNG Karnough map 2 1 6.PNG Karnough map 2 1 7.PNG Karnough map 2 1 8.PNG
[math]displaystyle{ overline{X_1} overline{X_2} }[/math] [math]displaystyle{ overline{X_1} X_2 }[/math] [math]displaystyle{ X_1 X_2 }[/math] [math]displaystyle{ X_1 overline{X_2} }[/math] [math]displaystyle{ overline{X_2} }[/math] [math]displaystyle{ overline{X_1} }[/math] [math]displaystyle{ {X_2} }[/math] [math]displaystyle{ {X_1} }[/math]
Karnough map 2 1 9.PNG Karnough map 2 1 10.PNG Karnough map 2 1 11.PNG Karnough map 2 1 12.PNG Karnough map 2 1 13.PNG Karnough map 2 1 14.PNG
[math]displaystyle{ S_1vee S_2 = }[/math] [math]displaystyle{ S_1vee S_2 = }[/math] [math]displaystyle{ S_1vee S_2 = }[/math] [math]displaystyle{ S_1vee S_2 = }[/math] [math]displaystyle{ S_1vee S_2 = }[/math] [math]displaystyle{ S_1vee S_2 = }[/math]
[math]displaystyle{ =X_1X_2vee }[/math] [math]displaystyle{ =X_1overline{X_2}vee }[/math] [math]displaystyle{ =X_2vee X_1 }[/math] [math]displaystyle{ =X_1veeoverline{X_2} }[/math] [math]displaystyle{ =overline{X_1}veeoverline{X_2} }[/math] [math]displaystyle{ =X_2vee overline{X_1} }[/math]
[math]displaystyle{ veeoverline{X_1} overline{X_2} }[/math] [math]displaystyle{ veeoverline{X_1}X_2 }[/math]

Для КНФ всё то же самое, только рассматриваем клетки с нулями, неменяющиеся переменные в пределах одной области объединяем в дизъюнкции (инверсии проставляем над единичными переменными), а дизъюнкции областей объединяем в конъюнкцию. На этом минимизация считается законченной.
Так, для Карты Карно на рис. 1, выражение в формате ДНФ будет иметь вид:

[math]displaystyle{ f(X_1,X_2,X_3,X_4)=S_1vee S_2vee S_3=overline{X_1} overline{X_4}vee X_1 X_2 X_4vee overline{X_4}overline{X_2}. }[/math]

В формате КНФ:

[math]displaystyle{ f(X_1,X_2,X_3,X_4)=S_1 S_2 S_3=(X_1vee overline{X_4})(X_2vee overline{X_4})(overline{X_1}vee overline{X_2} vee X_4). }[/math]

Так же из ДНФ в КНФ и обратно можно перейти, использовав Законы де Моргана.

Примеры

Пример 1

У мальчика Коли есть мама, папа, дедушка и бабушка. Коля пойдёт гулять на улицу, тогда и только тогда, когда ему разрешат хотя бы двое родственников.

Для краткости обозначим родственников Коли через буквы:
мама — X1
папа — X2
дедушка — X3
бабушка — X4

Условимся обозначать согласие родственников единицей, несогласие — нулём. Возможность пойти погулять обозначим буквой f, Коля идёт гулять — f = 1, Коля гулять не идёт — f = 0.
Составим таблицу истинности:

Nikolay true table.png

Перерисуем таблицу истинности в 2-мерный вид:

2d true table.png

Переставим в ней строки и столбцы в соответствии с кодом Грея (последний и предпоследний столбец меняют местами). Получили Карту Карно:

Karnough map 4 empty.png

Заполним её значениями из таблицы истинности (первая строка не соответствует таблице истинности, так как f=0 и разрешения на гулять нет):

Nikolay map.png

Минимизируем в соответствии с правилами:

Nikolay map DNF.png

  1. Все области содержат 2^n клеток;
  2. Так как Карта Карно на четыре переменные, оси располагаются на границах Карты и их не видно (подробнее смотри пример Карты на 5 переменных);
  3. Так как Карта Карно на четыре переменные, все области симметрично осей — смежные между собой (подробнее смотри пример Карты на 5 переменных);
  4. Области S3, S4, S5, S6 максимально большие;
  5. Все области пересекаются (необязательное условие);
  6. В данном случае рациональный вариант только один.

[math]displaystyle{ f(X1,X2,X3,X4)=S1vee S2vee S3vee S4vee S5vee S6 = }[/math]

[math]displaystyle{ = X3X4 vee X1X2 vee X2X4 vee X1X4 vee X1X3 vee X2X3 }[/math]

Теперь по полученной минимальной ДНФ можно построить логическую схему:

Logic Nikolay.PNG

Из-за отсутствия в наличии шестивходового элемента ИЛИ, реализующего функцию дизъюнкции, пришлось каскадировать пяти- и двух-входовые элементы (D7, D8).

Составим мин. КНФ:

Nikolay map KNF.png

[math]displaystyle{ f(X1,X2,X3,X4) = (S1) (S2) (S3) (S4) = }[/math]

[math]displaystyle{ = (X1vee X2vee X3)(X1vee X3vee X4)(X2vee X3vee X4)(X1vee X2vee X4) }[/math]

~logic Nikolay.PNG

См. также

  • ДНФ
  • КНФ
  • СДНФ
  • СКНФ
  • Минимизация логических функций методом Куайна
  • Минимизация комбинационных схем
  • en:Espresso heuristic logic minimizer
  • Метод Куайна — Мак-Класки

Примечания

  1. Гивоне Д. Россер Р. (1983), с. 67—76.
  2. Veitch E. W. (May 1952).
  3. Karnaugh M. (November 1953).
  4. 4,0 4,1 Гивоне Д. Россер Р. (1983), с. 69.
  5. 5,0 5,1 Гивоне Д. Россер Р. (1983), с. 75.

Источники

  • Veitch E.W. (May 1952) A Chart Method for Simplifying Truth Functions. Proceedings, Association for Computing Machinery, Pittsburgh, Pa., May 2, 3, 1952, pp. 127—133. DOI:10.1145/609784.609801.
  • Karnaugh M. (November 1953) The Map Method for Synthesis of Combinational Logic Circuits. Transactions of the American Institute of Electrical Engineers, Part I: Communication and Electronics. 72 (5): 593—599. DOI:10.1109/TCE.1953.6371932.
  • Токхейм Р. Основы цифровой электроники: Пер. с англ. — М.: Мир, 1988. — 392 с.. ил. (Глава 4, страницы 88—95)
  • Гивоне Д. Россер Р. Микропроцессоры и микрокомпьютеры: Вводный курс: Пер. с англ. — М.: Мир, 1983.— 464 с., ил.

Ссылки

  • Using Karnaugh maps in practical applications, Разработка схемы управления светофором.

Программное обеспечение

  • Karnaugh Minimizer, Коммерческое Windows-приложение (часто работает некорректно, например для этого уравнения: 0,1,5,8,10,13).
  • Logic Minimizer, Коммерческое Windows-приложение, но можно сделать, чтобы запускалось на Unix.
  • Kmap minimizer Онлайн-приложение (Flash).
  • GKMap, свободное ПО на SourceForge.net.
  • Karnaugh Map Minimizer, бесплатное (но часто некорректно работающее) ПО на SourceForge.net.
  • Gorgeous Karnaugh, коммерческое ПО Gorgeous Karnaugh для минимизации по картам Карно.

Видео

  • Карты Карно. Лекция. Youtube.

Схемотехника. Минимизация логических функций

Зачем это нужно?

Сложность логической функции, а отсюда сложность и стоимость реализующей ее схемы (цепи), пропорциональны числу логических операций и числу вхождений переменных или их отрицаний. В принципе любая логическая функция может быть упрощена непосредственно с помощью аксиом и теорем логики, но, как правило, такие преобразования требуют громоздких выкладок.

К тому же процесс упрощения булевых выражений не является алгоритмическим. Поэтому более целесообразно использовать специальные алгоритмические методы минимизации, позволяющие проводить упрощение функции более просто, быстро и безошибочно. К таким методам относятся, например, метод Квайна, метод карт Карно, метод испытания импликант, метод импликантных матриц, метод Квайна-Мак-Класки и др. Эти методы наиболее пригодны для обычной практики, особенно минимизация логической функции с использованием карт Карно. Метод карт Карно сохраняет наглядность при числе переменных не более шести. В тех случаях, когда число аргументов больше шести, обычно используют метод Квайна-Мак-Класки.

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

Минимизация логических функций при помощи карт Карно

Карта Карно — графический способ минимизации переключательных (булевых) функций, обеспечивающий относительную простоту работы с большими выражениями и устранение потенциальных гонок. Представляет собой операции попарного неполного склеивания и элементарного поглощения. Карты Карно рассматриваются как перестроенная соответствующим образом таблица истинности функции. Карты Карно можно рассматривать как определенную плоскую развертку n-мерного булева куба.

Карты Карно были изобретены в 1952 Эдвардом В. Вейчем и усовершенствованы в 1953 Морисом Карно, физиком из «Bell Labs», и были призваны помочь упростить цифровые электронные схемы.

В карту Карно булевы переменные передаются из таблицы истинности и упорядочиваются с помощью кода Грея, в котором каждое следующее число отличается от предыдущего только одним разрядом.

Основным методом минимизации логических функций, представленных в виде СДНФ или СКНФ является операция попарного неполного склеивания и элементарного поглощения. Операция попарного склеивания осуществляется между двумя термами (членами), содержащими одинаковые переменные, вхождения которых (прямые и инверсные) совпадают для всех переменных, кроме одной. В этом случае все переменные, кроме одной, можно вынести за скобки, а оставшиеся в скобках прямое и инверсное вхождение одной переменной подвергнуть склейке. Например:

Возможность поглощения следует из очевидных равенств

Таким образом, главной задачей при минимизации СДНФ и СКНФ является поиск термов, пригодных к склейке с последующим поглощением, что для больших форм может оказаться достаточно сложной задачей. Карты Карно предоставляют наглядный способ отыскания таких термов.

Как известно, булевы функции N переменных, представленные в виде СДНФ или СКНФ могут иметь в своём составе 2N различных термов. Все эти члены составляют некоторую структуру, топологически эквивалентную N–мерному кубу, причём любые два терма, соединённые ребром, пригодны для склейки и поглощения.

На рисунке изображена простая таблица истинности для функции из двух переменных, соответствующий этой таблице 2-мерный куб (квадрат), а также 2-мерный куб с обозначением членов СДНФ и эквивалентная таблица для группировки термов:

В случае функции трёх переменных приходится иметь дело с трёхмерным кубом. Это сложнее и менее наглядно, но технически возможно. На рисунке в качестве примера показана таблица истинности для булевой функции трёх переменных и соответствующий ей куб.

Как видно из рисунка, для трёхмерного случая возможны более сложные конфигурации термов. Например, четыре терма, принадлежащие одной грани куба, объединяются в один терм с поглощением двух переменных:

В общем случае можно сказать, что 2K термов, принадлежащие одной K–мерной грани гиперкуба, склеиваются в один терм, при этом поглощаются K переменных.

Для упрощения работы с булевыми функциями большого числа переменных был предложен следующий удобный приём. Куб, представляющий собой структуру термов, разворачивается на плоскость как показано на рисунке. Таким образом появляется возможность представлять булевы функции с числом переменных больше двух в виде плоской таблицы. При этом следует помнить, что порядок кодов термов в таблице (00 01 11 10) не соответствует порядку следования двоичных чисел, а клетки, находящиеся в крайних столбцах таблицы, соседствуют между собой.

Аналогичным образом можно работать с функциями четырёх, пяти и более переменных. Примеры таблиц для N=4 и N=5 приведены на рисунке. Для этих таблиц следует помнить, что соседними являются клетки, находящиеся в соответственных клетках крайних столбцов и соответственных клетках верхней и нижней строки. Для таблиц 5 и более переменных нужно учитывать также, что квадраты 4х4 виртуально находятся друг над другом в третьем измерении, поэтому соответственные клетки двух соседних квадратов 4х4 являются сосоедними, и соответствующие им термы можно склеивать.

Карта Карно может быть составлена для любого количества переменных, однако удобно работать при количестве переменных не более пяти. По сути Карта Карно — это таблица истинности составленная в 2-х мерном виде. Благодаря использованию кода Грея в ней верхняя строка является соседней с нижней, а правый столбец соседний с левым, т.о. вся Карта Карно сворачивается в фигуру тор (бублик). На пересечении строки и столбца проставляется соответствующее значение из таблицы истинности. После того как Карта заполнена, можно приступать к минимизации.

Если необходимо получить минимальную ДНФ, то в Карте рассматриваем только те клетки которые содержат единицы, если нужна КНФ, то рассматриваем те клетки которые содержат нули. Сама минимизация производится по следующим правилам (на примере ДНФ):

  1. Объединяем смежные клетки содержащие единицы в область, так чтобы одна область содержала 2 n (n целое число = 0…) клеток(помним про то что крайние строки и столбцы являются соседними между собой), в области не должно находиться клеток содержащих нули;
  2. Область должна располагаться симметрично оси(ей) (оси располагаются через каждые четыре клетки);
  3. Не смежные области расположенные симметрично оси(ей) могут объединяться в одну;
  4. Область должна быть как можно больше, а кол-во областей как можно меньше;
  5. Области могут пересекаться;
  6. Возможно несколько вариантов накрытия.

Далее берём первую область и смотрим какие переменные не меняются в пределах этой области, выписываем конъюнкцию этих переменных, если неменяющаяся переменная нулевая, проставляем над ней инверсию. Берём следующую область, выполняем то же самое что и для первой, и т. д. для всех областей. Конъюнкции областей объединяем дизъюнкцией.
Например(для Карт на 2-ве переменные):

Порядок работы с картой Карно

Лекция №11

Упрощение логических выражений методом карт Карно

2. Принцип минимизации.

3. Порядок работы с картой Карно.

Куб Карно

Куб Карно́ — графический способ минимизации переключательных (булевых) функций, обеспечивающий относительную простоту работы с большими выражениями и устранение потенциальных гонок. Представляет собой операции попарного неполного склеивания и элементарного поглощения. Карты Карно рассматриваются как перестроенная соответствующим образом таблица истинности функции. Карты Карно можно рассматривать как определенную плоскую развертку n-мерного булева куба.

Карты Карно были изобретены в 1952 Эдвардом В. Вейчем и усовершенствованы в 1953 Морисом Карно, физиком из «Bell Labs», и были призваны помочь упростить цифровые электронные схемы.

В карту Карно булевы переменные передаются из таблицы истинности и упорядочиваются с помощью кода Грея, в котором каждое следующее число отличается от предыдущего только одним разрядом

Принцип минимизации

Основным методом минимизации логических функций, представленных в виде СДНФ или СКНФ, является операция попарного неполного склеивания и элементарного поглощения. Операция попарного склеивания осуществляется между двумя термами (членами), содержащими одинаковые переменные, вхождения которых (прямые и инверсные) совпадают для всех переменных, кроме одной. В этом случае все переменные, кроме одной, можно вынести за скобки, а оставшиеся в скобках прямое и инверсное вхождение одной переменной подвергнуть склейке. Например:

Аналогично для КНФ:

Возможность поглощения следует из очевидных равенств

Таким образом, главной задачей при минимизации СДНФ и СКНФ является поиск термов, пригодных к склейке с последующим поглощением, что для больших форм может оказаться достаточно сложной задачей. Карты Карно предоставляют наглядный способ отыскания таких термов.

Как известно, булевы функции N переменных, представленные в виде СДНФ или СКНФ, могут иметь в своём составе 2 N различных термов. Все эти члены составляют некоторую структуру, топологически эквивалентную N–мерному кубу, причём любые два терма, соединённые ребром, пригодны для склейки и поглощения.

На рисунке изображена простая таблица истинности для функции из двух переменных, соответствующий этой таблице 2-мерный куб (квадрат), а также 2-мерный куб с обозначением членов СДНФ и эквивалентная таблица для группировки термов:

В случае функции трёх переменных приходится иметь дело с трёхмерным кубом. Это сложнее и менее наглядно, но технически возможно. На рисунке в качестве примера показана таблица истинности для булевой функции трёх переменных и соответствующий ей куб.

Таблица не верна. Верной будет: 1 1 0 0 1 1 0 0. Как видно из рисунка, для трёхмерного случая возможны более сложные конфигурации термов. Например, четыре терма, принадлежащие одной грани куба, объединяются в один терм с поглощением двух переменных:

В общем случае можно сказать, что 2 K термов, принадлежащие одной K–мерной грани гиперкуба, склеиваются в один терм, при этом поглощаются K переменных.

Для упрощения работы с булевыми функциями большого числа переменных был предложен следующий удобный приём. Куб, представляющий собой структуру термов, разворачивается на плоскость как показано на рисунке. Таким образом, появляется возможность представлять булевы функции с числом переменных больше двух в виде плоской таблицы. При этом следует помнить, что порядок кодов термов в таблице (00 01 11 10) не соответствует порядку следования двоичных чисел, а клетки, находящиеся в крайних столбцах таблицы, соседствуют между собой.

Аналогичным образом можно работать с функциями пяти, семи (обязательно простое число) и т.д., используя не визуализируемые многомерные булевы кубы.

Порядок работы с картой Карно

Исходной информацией для работы с картой Карно является таблица истинности минимизируемой функции. Таблица истинности содержит полную информацию о логической функции, задавая её значения на всех возможных 2 N наборах входных переменных X1 . XN. Карта Карно также содержит 2 N клеток, каждая из которых ассоциируется с уникальным набором входных переменных X1 . XN. Таким образом, между таблицей истинности и картой Карно имеется взаимно однозначное соответствие, и карту Карно можно считать соответствующим образом отформатированной таблицей истинности.

В данном разделе в качестве примера используется функция четырёх переменных, заданная таблицей истинности, изображённой на рис. 2а. Карта Карно для той же функции изображена на рис. 2б.

Рис. 2. Пример работы с картой Карно

Принципы склейки

· Склейку клеток карты Карно можно осуществлять по единицам (если необходимо получить ДНФ) или по нулям (если требуется КНФ).

· Склеивать можно только прямоугольные области с числом единиц (нулей) 2 n , где n — целое число. Для карт Карно с числом переменных более четырёх могут получаться более сложные области, о чём будет сказано в следующих разделах.

· Область, которая подвергается склейке должна содержать только единицы (нули).

· Крайние клетки каждой горизонтали и каждой вертикали также граничат между собой (топологически карта Карно для четырёх переменных представляет собой тор) и могут объединяться в прямоугольники. Следствием этого правила является смежность всех четырёх угловых ячеек карты Карно для N=4. Если во всех четырёх угловых ячейках стоят единицы (нули) они могут быть объединены в квадрат, как показано на рис. 2в.

· Все единицы (нули) должны попасть в какую-либо область.

· С точки зрения минимальности ДНФ (КНФ) число областей должно быть как можно меньше (каждая область представляет собой терм), а число клеток в области должно быть как можно больше (чем больше клеток в области, тем меньше переменных содержит терм. Терм размером 2 n ячеек содержит Nn переменных).

· Одна ячейка карты Карно может входить сразу в несколько областей. Это следует из очевидного свойства булевых функций: повторение уже существующего слагаемого (сомножителя) не влияет на функцию:

· В отличие от СДНФ (СКНФ), ДНФ (КНФ) не единственны. Возможно несколько эквивалентных друг другу ДНФ (КНФ), которые соответствуют разным способам покрытия карты Карно прямоугольными областями.

Описание

Карта Карно может быть составлена для любого количества переменных, однако удобно работать при количестве переменных не более пяти. По сути, Карта Карно — это таблица истинности, составленная в 2-х мерном виде. Благодаря использованию кода Грея в ней верхняя строка является соседней с нижней, а правый столбец соседний с левым, т.е. вся Карта Карно сворачивается в фигуру тор (бублик) (рис.4.1).

Рис. 4.1. Метод скручивания карты Карно

На пересечении строки и столбца проставляется соответствующее значение из таблицы истинности. После того как Карта заполнена, можно приступать к минимизации.

Если необходимо получить минимальную ДНФ, то в Карте рассматриваем только те клетки которые содержат единицы, если нужна КНФ, то рассматриваем те клетки, которые содержат нули. Сама минимизация производится по следующим правилам (на примере ДНФ):

1. Объединяем смежные клетки, содержащие единицы, в область так, чтобы одна область содержала ( целое число = 0… ) клеток (помним про то, что крайние строки и столбцы являются соседними между собой), в области не должно находиться клеток, содержащих нули;

2. Область должна располагаться симметрично оси (ей) (оси располагаются через каждые четыре клетки);

3. Несмежные области, расположенные симметрично оси(ей), могут объединяться в одну;

4. Область должна быть как можно больше, а количество областей как можно меньше;

5. Области могут пересекаться;

6. Возможно несколько вариантов покрытия.

Далее берём первую область и смотрим, какие переменные не меняются в пределах этой области, выписываем конъюнкцию этих переменных; если неменяющаяся переменная нулевая, проставляем над ней инверсию. Берём следующую область, выполняем то же самое, что и для первой, и т. д. для всех областей. Конъюнкции областей объединяем дизъюнкцией.
Например (для Карт на 2 переменные):

Для КНФ всё то же самое, только рассматриваем клетки с нулями, неменяющиеся переменные в пределах одной области объединяем в дизъюнкции (инверсии проставляем над единичными переменными), а дизъюнкции областей объединяем в конъюнкцию. На этом минимизация считается законченной. Так для Карты Карно на рис.1 выражение в формате ДНФ будет иметь вид:

Так же из ДНФ в КНФ и обратно можно перейти использовав Законы де Моргана.

Пример 1.

Упростить полученную СДНФ, используя склеивание, а так же применить карту Карно для получения ДНФ.

, применено свойство и склеивание по «z» и по «y».

Дизъюнкции в скобках получены по парам наборов переменных (0,0,0), (0,0,1) и (0,0,0), (0,1,0). Наборы в каждой паре отличаются только в одной позиции и называются соседними. После упрощения остаются совпадающие в паре переменные. Карты Карно представляют собой таблицу истинности, в которой соседние наборы переменных расположены рядом (метод скользящей единицы при этом нарушается).

Для нашей функции имеем

Карты Карно позволяют получить ДНФ минимальную по числу переменных или их отрицаний. Для этого необходимо заключить в круги рядом стоящие значения функции равные 1, причём

1) Каждый руг может содержать только 2 K (к = 0, 1, 2,…) единиц, например16, 8, 4, 2, 1.

2) Круги должны быть наибольшего размера.

3) Число кругов наименьшее, покрывающее все единицы.

4) Так как наборы (0,0) и (1,0) соседние. То края карты соединяются друг с другом.

5) По каждому из кругов составляется простая конъюнкция, входящая в ДНФ. При этом оставляются только те переменные, которые сохраняют свое значение во всем круге и как обычно, если хi = 1, то пишем хi , если хi = 0, то .

Построим круги для нашего примера.

yz x
1 1 1 2

Имеем две конъюнкции. Для первого круга и сохраняют свое значение, получаем . Во втором круге не меняется и , получаем . Окончательно .

Пример 2

У мальчика Коли есть мама, папа, дедушка и бабушка. Коля пойдёт гулять на улицу, если ему разрешат хотя бы двое родственников.
Для краткости обозначим родственников Коли через буквы:
мама — х1
папа — х2
дедушка — х3
бабушка — х4
Условимся обозначать согласие родственников единицей, несогласие — нулём. Возможность пойти погулять обозначим буквой f, Коля идёт гулять — f = 1, Коля гулять не идёт — f = 0.
Составим таблицу истинности:

Перерисуем таблицу истинности в 2-х мерный вид:

Переставим в ней строки и столбцы в соответствии с кодом Грея. Получили Карту Карно:

Заполним её значениями из таблицы истинности:

Минимизируем в соответствии с правилами:

1. 1. Все области содержат 2^n клеток;

2. 2. Так как Карта Карно на четыре переменные, оси располагаются на границах Карты и их не видно (подробнее смотри пример Карты на 5 переменных);

3. 3. Так как Карта Карно на четыре переменные, все области симметрично осей — смежные между собой (подробнее смотри пример Карты на 5 переменных);

4. 4. Области S3, S4, S5, S6 максимально большие;

5. 5. Все области пересекаются (необязательное условие);

6. 6. В данном случае рациональный вариант только один.

Теперь по полученной минимальной ДНФ можно построить логическую схему:

Из-за отсутствия в наличии шести — входового элемента ИЛИ, реализующего функцию дизъюнкции, пришлось каскадировать пяти- и двух-входовые элементы (D7, D8).

Составим мин. КНФ:

Для минимизации логических функций возможно использовать разные методы:

  • карта Карно (Вейча)
  • Квайна
  • Квайна- Мак-Класки
  • Петрика

Отличие метода карт Карно от карт Вейча заключается в способе обозначения строк и столбцов карт. У карт Карно строки и столбцы обозначаются с помощью кода Грея. Однако, принципиальной разницы между ними нет.

Метод минимизационных карт Карно (или карт Вейча) хорошо работает при числе аргументов 3,4 и даже 5 и обеспечивает простоту получения результата. Этот метод основан на зрительном анализе таблиц (карт) и не может быть применен для обработки вычислительной техникой.

1. Минимизировать нижеприведённые функции, представленные картами Карно.

Не заполненные клетки соответствуют нулю. Переменные, обозначенные буквами, соответствуют прямому значению, а не обозначенные — инверсному.

1. Определение куба Карно.

2. Кем и в каком году были изобретены карты Карно?

3. Основной метод минимизации логических функций?

4. Принципы склейки карты Карно.

5. В какую фигуру сворачивается карта Карно?

Электростанции

Навигация

  • Меню сайта
    • Организация эксплуатации
    • Электрические схемы
    • Турбогенераторы
    • Трансформаторы и автотрансформаторы
    • Распределительные устройства
    • Электродвигатели
    • Автоматика
    • Тепловая изоляция
    • Регулирование энергоблоков
    • Тяговые подстанции
    • Выпрямители и зарядные устройства
    • Проектирование электрических сетей и систем
    • Электрооборудование электротермических установок
    • Электрооборудование земснарядов
    • Цифровая электроника

Меню раздела

Метод карт Карно

Метод карт Карно служит для наглядного представления и упрощения нормальной формы ИЛИ. Он был придуман математиком Карно, и его еще называют методом диаграмм Карно.

Карта Карно для двух переменных

Карты Карно могут быть представлены в виде таблиц истинности для полных конъюнкций.
3—2114
Карты Карно всегда имеют количество полей, равное количеству возможных полных конъюнкций.
При двух переменных возможны 4 полные конъюнкции. Таким образом, карта Карно для двух переменных должна иметь 4 поля (см. рис. 5.12). По краям карты записываются переменные. Каждая переменная величина должна быть представлена в инвертированной и в неинвертированной форме (рис. 5.12).
Переменные по краям являются координатной сеткой. Они определяют, какая полная конъюнкция какому полю принадлежит. На рис. 5.13 по своим полям расписаны 4 полных конъюнкции.

Поле полной конъюнкции А а В обозначено координатами А и В
(рис. 5.13). Соответственно поле полной конъюнкции А а В находится по
координатам А и В. Так как полные конъюнкции определяются координатами, то нет необходимости записывать их в полной форме, как на рис. 5.13. Наличие полной конъюнкции может обозначаться 1 в соответствующем поле.
1 в поле карты Карно означает наличие полной конъюнкции.
На карте Карно (рис. 5.14) отмечены полные конъюнкции А а В и А а В. Карта Карно отражает следующую нормальную форму ИЛИ:
Z = (AaB)v(AaB).
Символ Z в верхнем левом углу карты на рис. 5.14 показывает, что полные конъюнкции относятся к Z.
Отсутствующие полные конъюнкции обозначены нулем в соответствующем поле, или поле не заполняется.
Присваивание переменных координатам карты Карно производится произвольным образом.
Также возможно менять местами А и В на карте (рис. 5.15). Разумеется, переменные могут иметь совершенно другие обозначения, например Ег и Ег Прямое и инверсное значения переменной должны обязательно находиться на одной стороне карты.
Другое распределение координатных переменных ведет, естественно, к другому распределению полных конъюнкций по полям карты.
Желательно придерживаться определенной схемы распределения переменных и не менять ее без причины. Для облегчения работы рекомендуется первую переменную, например А, и ее инверсию все время ставить на верхнюю часть карты. Вторую переменную (например В) и ее инверсию ставить на левую часть карты.

Покажем на примере заполнение карты Карно нормальной формой ИЛИ и восстановление нормальной формы ИЛИ по карте Карно.
Пример 1
Занесите в карту Карно нормальную форму ИЛИ:
Z = (Л л В) v (А л В) v (Л а В).
Сначала нужно нарисовать карту Карно с данными координатами. Затем найти поля с полными конъюнкциями, присутствующими в нормальной форме и обозначить их 1. Результат показан на рис. 5.16.

Пример 2—————————————————————
Запишите нормальную форму ИЛИ, представленную на карте Карно (рис. 5.17).
Нормальная форма ИЛИ содержит 2 полные конъюнкции: одна А д В, вторая АлВ. Следовательно, нормальная форма:
W = (АлВ)ч(АлВ).
Представленная на карте Карно нормальная форма ИЛИ может быть упрощена при наличии определенных условий.
«Соседние» полные конъюнкции можно объединять в «группы».
Соседними считаются полные конъюнкции, клетки которых имеют общие стороны (рис. 5.18). Если клетки с полными конъюнкциями имеют только общий угол, то они не являются соседними.

Рис. 5.18. Соединение и несоединение конъюнкции

В одной группе могут быть объединены 2 или 4 соседние полные конъюнкции.
Каждая группа имеет определенные координаты. Группа слева наверху на карте Карно (рис. 5.18) имеет по одной стороне координату Д по другой —
координату А и А.
Содержание группы характеризуется ее координатами. Переменные, чьи координаты присутствуют в прямой и инверсной форме одновременно, исключаются.
Представленная на рис. 5.19 группа имеет координаты А, В ж В. Переменная В имеет как прямую, так и инверсную формы. Следовательно, она исключается. Значение группы будет А. Нормальная форма ИЛИ

Это упрощение может быть проверено с помощью алгебры логики.

Особый случай представляет группа из 4 полных конъюнкций (рис. 5.20).
Она имеет координаты А, А, В, В. Значит, переменные Аж В исключаются. Значение группы равно 1. Справедливость этого можно доказать с помощью таблицы истинности. Алгебра логики также приведет к этому результату:
Z = (А а В) v (А а В^ v (А а В> v [А а В^;
Z = [А а (В v 5)] v _А а (В v 5)];
Z = (AaI)v(AaI);
Z = Av А;
Z = l.

На одной карте можно образовать несколько групп (рис. 5.21). Одна полная конъюнкция может присутствовать в нескольких группах.
При наличии нескольких групп упрощенное уравнение получается в результате логического сложения значений отдельных групп.
Для карты (рис. 5.21) значения групп получаются равными А и В.
Упрощенное уравнение:
Z = AvB.
На карте Карно (рис. 5.20) можно образовать также две группы из двух полей. Тогда получится упрощенное уравнение, но не в самом простом виде. Покажем это. На рис. 5.22 показана карта Карно с такой группировкой. Значения групп равны В ж В. Упрощенное уравнение, следовательно:
Z = Bv В.
Сложение переменной величины с ее инверсией дает в итоге по правилам алгебры логики 1. Поэтому самой простой формой уравнения является Z = 1.
Для максимального упрощения уравнения необходимо образовывать группы как можно большего размера.
Чтобы закрепить полученные знания, решим следующий пример.
Пример 3——————————————————-
Максимально упростите при помощи карты Карно нормальную форму ИЛИ. Запишите упрощенное уравнение:
X = (AaB)v(AaB)v(AaB).
Сначала полные конъюнкции заносятся в карту (рис. 5.23).

Рис. 5.23. Карта Карно

Затем образуются две группы по два поля. Они имеют значения А и В. Упрощенное уравнение:
X = А а В.

Карта Карно для трех переменных

Для трех переменных возможны 8 различных полных конъюнкций (рис. 5.24). Следовательно, карта Карно для трех переменных должна иметь 8 клеток.
Распределение переменных по координатам может происходить, как и в карте для двух переменных любым образом. Однако целесообразно первые переменные поместить на верхнюю сторону диаграммы, а вторые величины — на левую сторону диаграммы. Третья переменная величина размещается на нижней стороне диаграммы. Для переменных величин А, В и С карта Карно изображена на рис. 5.25.

Третья переменная С должна быть размещена, как указано на рис. 5.25.
Если обозначить обе левые стороны клетки как С, а обе правые как С, то для некоторых полных конъюнкций будет двойное место, а для некоторых — ни одного. На рис. 5.26 полные конъюнкции расписаны по ячейкам.
Для карт Карно с тремя переменными действуют правила, установленные для карт Карно с двумя переменными, со следующими дополнениями:
В одной группе могут быть объединены 2, 4 или 8 соседних полных конъюнкций .
Если быть совсем точными, карта Карно для трех переменных имеет цилиндрическую форму (рис. 5.27). Поэтому клетки, находящиеся в противоположных концах одной строки, являются соседними.

Рис. 5.28. Группировка по принципу расширенного соседства

Карту Карно сложно представлять в виде цилиндра. Поэтому предпочитают форму на рис. 5.25, соблюдая принцип расширенного соседства. На рис. 5.28 представлены соседние полные конъюнкции и их группировки.
Группа из двух клеток на верхней диаграмме имеет в итоге значение В и С.
Группа из четырех клеток на нижней диаграмме имеет значение С. Группа должна быть прямоугольной или квадратной. Группа, изображенная на рис. 5.28а, недопустима.

Рис. 5.28а. Недопустимая группа карты Карно

Рассмотрим несколько примеров работы с картами Карно для трех переменных.
Пример 1——————————————————————-
Заполните карту Карно полными конъюнкциями следующего уравнения:
Y — <^А а В а v а В а v а В а v [А а В а С).
Сначала надо правильно разместить полные конъюнкции по ячейкам (рис. 5.29). Запись лучше производить в алгебраической форме, тогда можно легко контролировать правильность выбора ячейки.
Каждую полную конъюнкцию обозначим 1 (рис. 5.30). При отсутствии затруднений можно сразу же рисовать обычную карту Карно.

Пример 2———————————————————————
Занесите данную нормальную форму ИЛИ в карту Карно и максимально упростите:
Z — (А а В а С) v <А а В л С) v <А а В л С) v а В л С1).
Имеющиеся полные конъюнкции обозначаются 1 (рис. 5.31). Затем производится группировка. Группу из четырех элементов образовать невозможно. Зато можно образовать 3 группы из двух клеток. Однако выделенная пунктиром группа является избыточной, так как двумя основными серыми группами все 1 уже охвачены. Если бы мы выбрали пунктирную группу в качестве основной, найденное уравнение не было бы максимально простым.

Рис. 5.31. Карта Карно к примеру 2
Верхняя серая группа (рис. 5.31) имеет значение А а В. Значение нижней серой группы — В а С. (Переменная А выпадает, так как встречается в координатах этой группы как в прямой, так и в инверсной формах.) Значения групп логически складываются. При этом получается упрощенное уравнение:
Z = (AaB)v(B аС).
Пример 3————————————————————-
Запишите нормальную форму ИЛИ, заключенную в карте Карно (рис. 5.32).

Рис. 5.32. Карта Карно к примеру 3

Максимально упростите нормальную форму ИЛИ.
Нормальная форма ИЛИ по карте Карно:
Z = [А аВ aC^v (А а В aC)v <А аВ aC^v <А а В aC>v (А аВ aC^v А аВ аС.
Могут быть образованы 2 группы из четырех клеток. Одна имеет значение В, другая С. Упрощенное уравнение:
Z = BvC.
Так как возможно образование двух больших групп из четырех клеток, то получается значительное упрощение нормальной формы.

Карта Карно для четырех переменных

Карта Карно для четырех переменных должна иметь 16 клеток, так как возможны 16 различных полных конъюнкций (рис. 5.33). Карта Карно для четырех переменных изображена на рис. 5.34.

Переменные обозначены, как и раньше, А, В и С. Плюс добавлена переменная величина D. Разумеется, переменные могут быть обозначены иначе, например Ev Е2, Е3, Ег 16 полных конъюнкций показаны на рис. 5.35.
Для карт Карно с четырьмя переменными действуют правила, ранее установленные для карт Карно, со следующими дополнениями:

Рис. 5.35. Карта карно для четырех переменных с занесенными полными конъюнкциями

В одной группе могут быть объединены 2, 4, 8 или 16 соседних полных конъюнкций.
Карта Карно для четырех переменных имеет форму шара. Поэтому клетки, находящиеся в противоположных концах одной строки или столбца, являются соседними.
Разъясним подробнее принцип расширенного соседства. Рассмотрим рис. 5.36. Карта (а) показывает, что группы из двух клеток можно образовать не только из полных конъюнкций, которые находятся на концах одной строки, но и из полных конъюнкций, находящихся на концах одного столбца.

Рис. 5.36. Группировка по принципу расширенного соседства

Диаграмма (б) показывает образование группы из четырех клеток.
Диаграмма (в) также показывает образование счетверенной группы. Единицы по У У I К углам являются соседними, так как при
форме шара поля прилегают друг к другу
смежными сторонами.
Другое дело карта на рис. 5.37. Только две единицы по углам не могут образовать сдвоенную группу, так как они не являются смежными — как показано на виде снизу. Рассмотрим ряд примеров с картами Карно для четырех переменных.
Пример 1 ——————————————————
Составьте карту Карно по следующей нормальной форме ИЛИ:
Y = [А л В лС л D^v л В лС л D^v (А л В лС л D)

‘ <А / В аС a (А л В лС л Z)).
Для большей наглядности полные конъюнкции отмечены серыми номерами. Они обозначают соответствующие клетки. На рис. 5.38 показана искомая диаграмма.

Рис. 5.38. Карта Карно к примеру 1

Пример 2—————————————————————-
Для задач управления требуется схема, удовлетворяющая таблице истинности (рис. 5.39). Эта схема должна быть максимально простой.

Рис. 5.39. Таблица истинности к примеру 2

Из таблицы истинности может быть определена нормальная форма ИЛИ Z = [А а В а С a D^jv <А а В а С a D^v [А а В а С a Z))’
v Номера полных конъюнкций совпадают с номерами вариантов таблицы истинности. Полные конъюнкции далее заносятся в диаграмму (рис. 5.40).

Следующим шагом является упрощение нормальной формы ИЛИ с помощью группировки соседних полных конъюнкций. Возможно образование двух групп из 4 клеток со значениями С лВи АлС. Упрощенное уравнение выглядит так:
Z = (с aD)v(AaC).
Переменная С может быть вынесена за скобку:
Z = (С л D)v (А аС) = С а(А v/>).
Получившаяся схема представлена на рис. 5.41.

Карта Карно для пяти переменных

Для пяти переменных возможны 32 различные полные конъюнкции. Следовательно, карта Карно для пяти переменных должна иметь 32 поля. Но на одном уровне в диаграмму для четырех переменных новые переменные уже добавить не получится.
Диаграмме надо добавить второй уровень. На рис. 5.42 показано, что имеется в виду. Переменные величины будут, как раньше, обозначены А, В, С и D. К ним добавляется переменная Е.
К нижнему уровню диаграммы присоединяется координата Е, к верхнему — координата Ё. Нарисовать такую двухуровневую карту сложно, поэтому уровни рисуют рядом.
Диаграмма для пяти переменных состоит из двух таблиц, расположенных одна над другой (рис. 5.42а). Такая диаграмма имеет 32 ячейки для 32 полных конъюнкций.
Для карт Карно с пятью переменными действуют правила, ранее установленные для карт Карно, со следующими дополнениями:

Рис. 5.42. Карта Карно для пяти переменных

Рис. 5.42а. Карта Карно для пяти переменных, состоящая из двух таблиц

В одной группе могут быть объединены 2, 4, 8, 16 или 32 соседних полных конъюнкций.
Сгруппированы могут быть также те полные конъюнкции, чьи поля находят-ся друг под другом в таблицах (рис. 5.42).
Рассмотрим эти правила на примерах.
Пример 1————————————————————
Занесите данную нормальную форму ИЛИ в карту Карно и максимально упростите:

Для большей наглядности полные конъюнкции отмечены серыми номерами. Они обозначают соответствующие клетки диаграммы. Возможно образование двух групп из 4 клеток. Серая группа на правой таблице имеет значение АлСлЕ. Переменные В и D в этой группе исключаются.

Рис. 5.43. Карта Карно к примеру 1.

Выделенная пунктиром группа из 4 клеток проходит сквозь оба уровня. Для этого следует мысленно положить друг на друга уровни (рис. 5.43).
Значение этой группы АлВ лС. Так как группа проходит сквозь два уровня, переменная Е выпадает. Переменная D также выпадает. В итоге получается упрощенное уравнение:
Z ^ <А а В aC|v [А а С а Еу
Пример 2————————————————————-
В диаграмме на рис. 5.44 задана нормальная форма ИЛИ. Максимально упростите ее.

Рис. 5.44. Карта Карно к примеру 2

Единицы по углам обоих уровней образуют восьмерную группу (группа
из восьми ячеек). Эта группа проходит через два уровня. Ее значение С л D. Далее можно сформировать группы из 2 и 4 клеток. Группа из 4 клеток
имеет значение В aD л Е. Значение сдвоенной группы В л С л D л Е. Получается упрощенное уравнение:
Y = (CaD)v(BaDaE)v(BaCaDaE).
Упрощение значительно. Это видно, если записать содержащуюся в диаграмме на рис. 5.44 нормальную форму ИЛИ.
Пример 3——————————————————-
Запишите содержащуюся в диаграмме на рис. 5.44 нормальную форму ИЛИ.
Левая таблица диаграммы содержит 6 полных конъюнкций, правая таблица — 8. Таким образом, получается нормальная форма ИЛИ с 14 полными конъюнкциями:
Y = (А А В аС A D A <А А В аС A D A (А А В аС A D A E)v
v(v4 л В аС aD а Е) v (A aBaCaDaE)v (A aBaCaDaE)v

Карта Карно для более чем пяти переменных

На практике нормальные формы ИЛИ с более чем пятью переменными встречаются редко. Поэтому редко возникает необходимость и в диаграммах Карно для более чем пяти переменных. Однако такие диаграммы реальны. Диаграммы для шести переменных еще можно наглядно представить.
При семи и более переменных наглядное представление диаграммы затруднительно.
Для шести переменных возможны 64 различные полные конъюнкции. Следовательно, карта Карно для шести переменных должна иметь 64 поля. Если в качестве исходной брать диаграммы ДЛЯ пяти переменных величин, то к ней надо добавить еще третий и четвертый уровни-этажи (рис. 5.45).

Рис. 5.45. Карта Карно для шести переменных

Четыре уровня можно расположить в одной плоскости (рис. 5.46). При группировке нужно постоянно помнить, как реально расположены уровни относительно друг друга.

Рис. 5.45. Карта Карно для шести переменных, развернутая на одной плоскости

Для нормальной формы ИЛИ с шестью и более переменными целесообразно заменять две или три переменных новой переменной. Упрощение может происходить в несколько этапов:
Z = [А а В а С a D л Е л Fjv (л а В а С a D а Е л F’jv v ^А aBaCaDaEa v (A aBaCaDaEa F).
Пример ————————————————————
Все четыре полные конъюнкции содержат переменные А и Е в одинаковом, в данном случае, неинвертируемом виде. Будем рассматривать А а Е как одну переменную.
А а Е = Р.
При таком условии получается нормальная форма ИЛИ только с пятью переменными:
Z = <р А В аС A D A F^

v^PaBaCaDaF^v^PaBaCaDaF).
После упрощения снова заменим Р на А а Е.

источники:

http://lektsii.org/16-81366.html

http://elektro-dox.ru/cif-electr/16.html

Like this post? Please share to your friends:
  • Карты для excel 2010
  • Кассовая книга в казахстане образец excel
  • Карты xml для excel скачать
  • Кассовая книга бланк скачать word скачать бесплатно
  • Карты xml в excel что это такое