Научная статья на тему 'Применение диаграмм Вейча в задачах минимизации многопараметрических логических функций'

Применение диаграмм Вейча в задачах минимизации многопараметрических логических функций Текст научной статьи по специальности «Математика»

CC BY
5665
853
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ЛФ (ЛОГИЧЕСКАЯ ФУНКЦИЯ) / ДНФ (ДИЗЪЮНКТИВНАЯ НОРМАЛЬНАЯ ФОРМА) / LOGIC FUNCTION / NORMAL DISJUNCTIVE FORM

Аннотация научной статьи по математике, автор научной работы — Чертков А. А.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

n given clause application of diagrams of Weich for minimization of logic functions with various number of variables is considered.

Текст научной работы на тему «Применение диаграмм Вейча в задачах минимизации многопараметрических логических функций»

II университета

[ЖУРНАЛ в о д н ы х /_/ коммуникации

А. А. Чертков,

канд. техн. наук, доц., СПГУВК

ПРИМЕНЕНИЕ ДИАГРАММ ВЕЙЧА В ЗАДАЧАХ МИНИМИЗАЦИИ МНОГОПАРАМЕТРИЧЕСКИХ ЛОГИЧЕСКИХ ФУНКЦИЙ

APPLICATION OF DIAGRAMS WAICH IN PROBLEMS OF MINIMIZATION MULTIPARAMETER LOGIC FUNCTIONS

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

In given clause application of diagrams of Weich for minimization of logic functions with various number of variables is considered.

Ключевые слова: ЛФ (логическая функция), ДНФ (дизъюнктивная нормальная форма). Key words: logic function, normal disjunctive form.

П

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

Проблема минимизации логических функций решается на основе применения законов склеивания и поглощения с последующим перебором получаемых дизъюнктивных форм и выбором из них оптимальной (минимальной). Существует большое количество методов минимизации ЛФ. Все они отличаются друг от друга спецификой применения операций склеивания и поглощения, а также различными способами сокращения переборов. Среди аналитических методов наиболее известным является метод Квайна-МакКлас-ки, среди табличных — метод с применением диаграмм Вейча [1].

Покажем возможности метода с применением диаграмм Вейча для получения мини-

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

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

Коды единичной длины ( п = 1) являются зеркальными.

Если построен код длины ( п — 1), то нужно построить новую ось симметрии и отобразить зеркально коды длины ( п — 1) относительно этой оси, а затем приписать слева всем кодам, расположенным выше оси, цифру 0, а кодам, расположенным ниже оси, цифру 1. В результате получаем зеркальные коды длины п .

Процесс построения зеркальных кодов для п = 1, 2, 3 показан на рис. 1.

п = 1

Ось

симметрии

00 01

11 10

п = 2 Ось

симметрии

п = 3

000 001 011 010

110 111 101 100

Ось

симметрии

Рис. 1. Иллюстрация построения зеркальных кодов

Диаграммы, построенные с использованием этих кодов, приведены на рис. 2. Диаграмма для пяти переменных показана на рис. 3.

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

Рис. 2. Диаграммы Вейча:

а — с двумя; б — с тремя; в — с четырьмя переменными

0

1

<ч ж

К

с

са

Рис. 3. Диаграмма Вейча с пятью переменными

чениям переменных Х{, / = 1, ..., п, отмечены чертой с обозначением переменной Х{. Таким образом, клетки, расположенные в строке или столбце, отмеченными чертой с переменной Х{, соответствуют наборам, в которых Х{ = 1.

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

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

Для булевой функции двух переменных диаграмма Вейча имеет вид (табл. 1).

Таблица 1

Диаграмма Вейча с двумя переменными

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

Таблица 2

Диаграмма Вейча с тремя переменными

XI

Х2

110 111 011 010

100 101 001 000

хз

Добавление к ней еще такой же таблицы дает диаграмму для функции четырех переменных (табл. 3).

Таблица 3

Диаграмма Вейча с четырьмя переменными

Х2

XI

1100 1101 1001 1000

1110 1111 1011 1010

0110 0111 ООП 0010

0100 0101 0001 0000

Хз

Х4

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

Таблица 4

Диаграмма Вейча с пятью переменными

Для приведенных диаграмм характерно следующее:

— каждой клетке диаграммы соответствует свой набор;

— соседние наборы расположены рядом в строке либо в столбце.

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

х Х2 Хз \/ х Х2 Хз х Х2.

Таблица 5

Диаграмма Вейча с двумя наборами единиц _XI

Х2 ''

1

1

1

о X 3

хз

<ч ж

О паре единиц в правой части диаграммы можно сказать то же самое:

Х2 Х3 \/ Х2 Х3 Х3 .

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

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

т = п - М,

где: п — число переменных функции;

М — число склеиваемых наборов.

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

Рассмотрим примеры.

Булева функция / имеет ДНФ вида

/ = Х Х2 Х3 V Х1Х2 Х3 V х Х2 Х3 V

Х1Х2 Х3 V Х1Х2 Х3.

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

Таблица 6

Исходная диаграмма Вейча (пример 1)

Следовательно, минимальная ДНФ функции имеет вид

/1 — Х1Х2 V/ Х1Х2 V/ Х Х3.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Таблица 7

Исходная диаграмма Вейча (пример 2)

./2 = Х1Х2 Х3 V Х1Х4 .

Таблица 8

Исходная диаграмма Вейча (пример 3)

/3 — х Х2 Х4 ^^ Х2 Х3 Х4 \/ Х Х3 V/ Х2 Х3 Х4 \/ Х1Х2 Х3 Х4.

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

п = 12 -15. Если при этом учесть, что функции иногда приходится решать задачи совместной

могут быть частично определены (значения минимизации систем ЛФ, то минимизация

функций на некоторых наборах переменных ЛФ становится сложной инженерной, практи-

можно определять произвольно), а также, что ческой и научной проблемой.

Список литературы

1. Пятибратов А. П. и др. Вычислительные системы, сети и телекоммуникации: учебник / А. П. Пятибратов, Л. П. Гудыно, А. А. Кириченко; под ред. А. П. Пятибратова. — 2-е изд., пере-раб. и доп. — М.: Финансы и статистика, 2002. — 512 с.

2. Токхейм Р. Основы цифровой электроники: пер. с англ. — М.: Мир, 1988. — 392 с.

3. Прикладная теория цифровых автоматов / К. Г. Самофалов [и др.]. — Киев: Вища школа,

1987. — 300 с.

4. Хоуп Г. Проектирование цифровых вычислительных устройств на интегральных схемах: пер. с англ. — М.: Мир, 1984. — 400 с.

во

о X 3

i Надоели баннеры? Вы всегда можете отключить рекламу.