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

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

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

Аннотация научной статьи по математике, автор научной работы — Рубанов Василий Григорьевич, Коробкова Елена Николаевна

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

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

Visual - algebraic way of minimization of logic functions

The analysis of a way of minimization of logic functions based on transformation of minterms and performance them in a matrix with the next accommodation of elements is carried out.

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

доподобия. При этом оценка дисперсии шума более точна, если используется min—log—MAP алгоритм.

Научным результатом работы является установление новых зависимостей между числовыми характеристиками логарифма отношения правдоподобия МАР декодера и дисперсией шума.

Практическая значимость работы заключается в возможности использования полученных зависимостей при реализации МАР декодера для оценки дисперсии шума. При этом, в отличие от известных методов оценки дисперсии шума, не требуется знание амплитуды принятых символов, что уменьшает время декодирования.

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

Литература: 1. Malardel F. Simulation and optimization of the turbo decoding algorithm // EFREI, Nov. 1996, http:/ /www.itr/levels.unisa.edu.au/'steven/turbo/. 2. Reed M. C, Alexander P.D., Asenstorfer J.A. Numerical analysis of the maximum a posteriori algorithm // http:// www.ee.virginia.edu/, University of South Australia. 3.

УДК 681.142.36

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

РУБАНОВ В.Г. , КОРОБКОВА Е.Н._____________

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

1. Постановка проблемы

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

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

Berrou C., Glavieux A., Thitimajshima P. Near Shannon limit error-correcting coding and decoding: Turbo-Codes // ICC’93, Geneva, Switzerland, May 1993, Р.1064-1070.

4. Benedetto S, Divsalar D, Montorsyi G, Pollara F. Soft-output decoding algorithms in iterative decoding of turbocodes // TDA Progress report 42-124, Feb. 1996. 5. Barbulescu S.A. Iterative decoding of turbo codes and other concatenated codes. Dissertation, Feb. 1996, http:// www.nd.edu/~eecoding/.

Поступила в редколлегию 11.12.2003

Рецензент: д-р техн. наук, проф. Стасев Ю.В.

Приходько Сергей Иванович, канд. техн. наук, доцент, начальник кафедры Харьковского военного университета. Научные интересы: помехоустойчивое кодирование. Адрес: Украина, 61023, Харьков, ул. Динамовская, 3а.

Жученко Александр Сергеевич, адьюнкт кафедры Харьковского военного университета. Научные интересы: помехоустойчивое кодирование. Адрес: Украина, 61023, Харьков, ул. Динамовская, 3а.

Пархоменко Данила Александрович, адьюнкт кафедры Харьковского военного университета. Научные интересы: помехоустойчивое кодирование. Адрес: Украина, 61023, Харьков, ул. Динамовская, 3а.________

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

2. Анализ исследований и публикаций, выделение нерешённой части проблемы

Анализ публикаций, посвященных минимизации логических функций, показал, что число работ в этой области настолько велико, что уже простое перечисление их представляет собой далеко не тривиальную задачу [1,2]. Все известные способы минимизации условно можно разделить на аналитические и табличные. Достоинство аналитических способов состоит в их математической строгости и как следствие - регулярности машинных алгоритмов. Недостаток - громоздкость при ручной реализации. Достоинство табличных способов - их удобство и простота, основанные на способности человека к визуальному анализу информации, представленной в виде таблиц, карт, матриц. Однако эта способность ограничена функциями от небольшого числа переменных. В [3-5] предложены способы минимизации, основанные на сжатии области определения функций [6,7]. При сжатии области определения функци^. по k переменным число точек ее уменьшается в 2 раз, что приводит к сокращению обозреваемого массива и, следовательно, облегчает визуальный анализ. Однако при этом значения функции в точках сжатой области будут определяться константами 0 и 1 и любыми функциями от переменных, по которым осуществляется сжатие. В связи с этим возникает проблема нахождения импликант этих функций с последующим оптимальным покрытием их простыми им-пликантами исходной минимизируемой функции. В работах [3-5] решена только часть этой проблемы для случая сжатия по одной - трём переменным.

112

РИ, 2004, № 2

3. Цель работы и постановка задачи исследования

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

4. Метод решения

Известно, что логическую функцию от n переменных, заданную единичными наборами, можно представить в совершенной дизъюнктивной нормальной форме (СДНФ), являющейся исходной позицией для дальнейших аналитических преобразований вообще и минимизации в частности. СДНФ представляет собой логическую сумму минтермов, образуемых произведением литералов всех переменных, соответствующих каждому единичному набору. Если функция зависит от одной переменной, то ее литералы совпадают с минтермами, образуемыми этой переменной, т.е. x = m0, x = m1. Отсюда следует, что любой минтерм, образуемый n переменными, можно представить не только как произведение литералов всех переменных, но и как произведение минтермов, образуемых каждой переменной, что с позиций математики одно и то же. Однако, продолжая рассуждения в этом направлении дальше, приходим к очевидному выводу, что любой из минтермов, образуемый n переменными, можно представить также в виде произведения других минтермов, образуемых группами переменных из множества исходных с любым числом и сочетанием их в группе. Эти рассуждения, непосредственно вытекающие из ассоциативного закона, на первый взгляд кажутся тривиальными, и это действительно так, но они очень важны, так как образуют базу для наших дальнейших представлений логических функций и их преобразований.

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

mi = xn-1 • xn-2-x4 • X3 • x2 • x1 • X0 , то для перехода к предлагаемой форме представле -ния литералы каждого из минтермов разбиваем на группы, содержащие по два в каждой из них, начиная справа налево:

а= xj • xo,P = x3 • x2,Y = x5 • x4 .

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

каждая группа содержит две переменные xkx1, то общее число типов минтермов, образуемых этими переменными, будет рано четырем:

P0 = xkxi,P1 = xkxi,P2 = xkxi,P3 = xkxi

(в записи переменных k — нечетное, i — четное).

Если функция задана списком единичных наборов, представленных двоичными числами, то переход аналогичен. Каждое двоичное число разбиваем на группы, содержащие по два разряда, начиная с младших разрядов, а затем каждое из полученных таким образом двухразрядных двоичных чисел заменяем ее десятичным эквивалентом. В результате такого представления получим запись исходного двоичного числа в алфавите, содержащем четыре цифры — {0,1,2,3}, т.е. в системе счисления с основанием, равным четырем. Каждая из полученных таким образом цифр определяет тип (индекс) минтерма, образованного переменными, соответствующими ему.

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

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

Два произведения S1 и S2 соседние, если они различаются типом только одного минтерма, входящего в каждое из них, причем только таких, сумма индексов которых не равна трем:

Si =aiPi...pJ...mi, S2 =aipi...Pk...mi ,

где i,j,k принадлежат {0,1,2,3}, в общем случаеj или k могут совпадать с i. Это нетрудно доказать, выполнив логическое сложение этих произведений с вынесением за скобки общей их части:

Si v S2 = ai •pi.. .mi (Pj v Pk) .

Если j + k Ф 3 , то минтермы P_j и Pk соседние по одной из переменных, образующих их, следовательно, склеиваются по этой переменной, и логическую сумму Pj v Pk можно представить равной одному из литералов переменных xrxt, образующих эти минтермы. Запишем минтермы, образуемые переменными xrxj (і -четное):

РИ, 2004, № 2

113

P0 = xrxl,P1 = xrxl,P2 = xrxl,P3 = xrxl •

Выполним попарное сложение минтермов в различном их сочетании:

P0 v P1 = xrxl vxrxl = xr;

Po v P2 = xrxl v xrxl = xi ;

Po v P3 = xrxl v xrxl;

Pi v P2 = xrxl v xrxl;

Pi v P3 = xrxl v xrxl = xi;

P2 v P3 = xrxl v xrxl = xr •

Из полученных соотношений видно, что логическая сумма минтермов Pj и Pk равна литералу одной

из перменных, образующих эти минтермы, в том и только в том случае, если сумма их индексов не равна трем, что и требовалось доказать. Отсюда

следует: Si v S2 =а jPj...mj • хгд .

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

Правило 1. Логическая сумма двух соседних минтермов, один из которых имеет индекс, равный нулю, при четной сумме их индексов равна инверсному значению переменной с четным индексом, при нечетной сумме их индексов — инверсному значению переменной с нечетным индексом.

Правило 2. Логическая сумма двух соседних минтермов, один их которых имеет индекс, равный трем, при четной сумме их индексов равна прямому значению переменной с четным индексом, при нечетной сумме их индексов — прямому значению переменной с нечетным индексом.

Анализ алгоритма проведен на примере функции от четырех переменных Fx3x2x1x^ . В этом случае каждый минтерм, образуемый переменными x3x2x1x0, можно представить в виде произведения минтермов m и p , один из которых образован литералами переменных x1x0:

mo = xix0,mi = xix0,m2 = x^^ = x^0 , а второй — литералами переменных x3x2:

P0 = x3x2,P1 = x3x2,P2 = x3x2,P3 = x3x2 -Запишем основные соотношения, определяющие процедуру склеивания двух соседних произведений для всех возможных их сочетаний, которые непосредственно следуют из правил 1, 2 (при применении правил индекс 0 считается четным):

Pjm0 v Pjmi = р (m0 v mi) = Pjxi;

Pjm0 v Pjm2 = Pj(m0 v m2) = Pjx0;

Pjmi v Pjm3 = Pj (mi v m3) = Pjx0;

Pjm2 v Pjm3 = Pj(m2 v m3) = Pjxi;

P0mj v Pimj = (P0 v Pi )mj = x3mj;

P0mj v P2mj = (P0 v P2)mj = x2mj;

Pimj v P3mj = (Pi v P3)mj = x2mj;

P2mj v P3mj = (P2 v P3)mj = x3mj.

На основании этих соотношений нетрудно показать, что логическая сумма четырех соседних минтермов равна произведению двух литералов из

множества переменных x3x2xix0:

Pjm0 v Pjmi v Pjm2 v Pjm3 = Pj;

P0m- v Pimj v P9m- v P3m- = m-;

0j ij 2j 3 j j"

Pjmr v Pjmr v Pjml v Pjml = (Pj v Pj )(mr v ml) = xj j • x^.

В целях иллюстрации методики пользования предложенным алгоритмом найдем минимальную Д НФ некоторой функции от четырех переменных, заданной списком десятичных номеров единичных наборов: F(x3x2xix0): {i,2,4,5,6,9,i0,i2,i3,i5} .

Представляя каждый десятичный номер в четверичной системе счисления:

F(x3x2x1x0): {01,02,10,11,12,21,22,30,31,33}

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

Pimk , которые соответствуют каждому единичному набору заданной функции:

P0m1,P0m2,Pim0,Pim1,Pim2, P2m1,P2m2,P3m0,P3m1,P3m3 -

Группируя полученные произведения в массивы,

k

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

- Pi m0 P3m0 -

P0mi Pi mi P3m1 P2ml

- - P3m3 -

P0m2 Pi m2 - P2m;

114

РИ, 2004, № 2

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

Анализируя приведенную матрицу, нетрудно заметить, что такими массивами будут: вторая строка, содержащая логическую сумму четырех соседних произведений P0mj v Pjmj v P3mj v P2mj, которой соответствует простая импликанта mj = XjX0 ; прямоугольный массив, образуемый двумя элементами первой строки (Pjm0 vP3m0) и двумя элементами второй строки (Pjmj v P3mJ, которому соответствует простая импликанта, равная (P1 V P3 )(mo v mj) = x2xj; массив, образуемый элементом третьей строки P3m3 и элементом P3mj во второй строке, которым соответствует простая импликанта, равная P3(mj v m3) = x3x2x0; массив, образуемый элементами четвертой строки P2m2 v P0m2, которому соответствует простая импликанта, равная (P2 V P0 )m2 = x2xjx0; массив, образованный вторым Pjm2 и первым P0mj элементами четвертой строки, которому соответствует простая импликанта (P0 V PJ )m2 = x3xjx0. Возможен второй вариант покрытия второго элемента четвертой строки (Pjm2): включить его в массив, образуемый этим элементом и элементом Pjm0 первой строки, которым соответствует простая импликанта, равная Pj(m2 v m0) = x3x2x0. Запишем один из вариантов минимальной ДНФ:

F(x3x2xjx0) = xjx0 v x2xj v x3x2x0 vХ2х(Х0 vX3xjx0 .

Отличие второго варианта состоит только в последней импликанте.

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

5. Выводы

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

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

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

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

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

Литература: 1. Соловьев В.В. Проектирование цифровых систем на основе программируемых логических интегральных схем. М.: Телеком, 2001. 636с. 2. Уэйкер-ли Дж. Ф. Проектирование цифровых устройств. Том 1, 2. М.: Постмаркет, 2002. Т.1. 544 с., Т.2. 528 с. 3. Рубанов В.Г., Коробкова Е.Н. Графоаналитический метод нахождения минимальных дизъюнктивных нормальных форм обобщенных логических функций // Системи обробки інформації. X.: НАНУ, ПАНМ, ХВУ. 2002. Вип. 3(19). С.46-53. 4. Коробкова Е.Н. Графоаналитический метод минимизации полностью определенных логических функций в сжатых картах // Системи обробки інформації. X.: НАНУ, ПАНМ, ХВУ. 2002. Вип. 6(22). С.288-298. 5. Коробкова Е.Н. Два способа сжатия области определения логических функций и их приложение к нахождению минимальных ДНФ // Открытые информационные и компьютерные интегрированные технологии. X.: НАКУ «ХАИ», 2003. Вып. 19. С.245-255. 6. Рубанов В.Г., Коробкова Е.Н. Разработка алгоритма сжатия области логических функций // Труды современного гуманитарного университета. Белгородский филиал. Белгород: БФ СГУ. 2000. Вып.18. С. 105-112. 7. Коробкова Е.Н. Анализ табличного алгоритма сжатия области определения полностью определенных логических функций // Открытые информационные и компьютерные интегрированные технологии. X.: НАКУ «ХАИ», 2003. Вып.17. С.42-56.

Поступила в редколлегию 23.03.2004

Рецензент: д-р техн. наук, проф. Харченко В.С.

Рубанов Василий Григорьевич, Заслуженный деятель науки и техники РФ, д-р техн. наук, проф., декан факультета, зав. кафедрой автоматизации производственных процессов Белгородского государственного технологического университета им. В.Г. Шухова. Научные интересы: системы автоматического управления и регулирования. Адрес: Россия, Белгород, ул. Костюкова, 21, тел. 25-98-21.

Коробкова Елена Николаевна, ст. преподаватель кафедры автоматизации производственных процессов Белгородского государственного технологического университета им. В.Г. Шухова. Научные интересы: проектирование цифровых систем обработки информации. Адрес: Россия, Белгород, ул. Костюкова, 21, тел. 35-50-03.

РИ, 2004, № 2

115

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