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

УДК 681.3.001

Ю.О. ЧЕРНЫШЕВ, Н.Н. ВЕНЦОВ

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

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

Ключевые слова: минимизация булевых функций, автоматы адаптации, САПР СБИС.

Введение. Базовым направлением научно-технической проблематики является построение фундаментальной теории интеллектуальных САПР. Разработка математического аппарата, описывающего весь процесс автоматизированного проектирования СБИС, требует формализации всех задач проектирования, решаемых САПР. Наименее формализованным является этап логического проектирования СБИС [1]. На данном этапе осуществляется разработка логической схемы цифрового узла или устройства в заданном функциональном базисе. Оптимизация на уровне логической схемы -это минимизация логической (булевой) функции, описывающей эту схему [1,2]. Для оценки степени минимализма или сложности булевой функции обычно используется критерий минимума букв в ее аналитическом представлении [2,3]. В настоящее время известны алгоритмы, способные минимизировать логические функции, содержащие порядка нескольких тысяч входных переменных [4].

Недостатки булевых структур как математического аппарата логического синтеза состоят в следующем [1]:

- процедуры минимизации носят переборный характер;

- процедуры синтеза с увеличением числа аргументов становятся громоздкими, плохо обозримыми уже при числе переменных п = 5,6. Постановка задачи. Необходимо разработать алгоритмы, позволяющие ускорять процесс поиска. Предложенный в [2] метод минимизации булевых функций основан на разбиении конституент единиц СДНФ булевых функций на два множества и соединения соседних конституент. При таком подходе задача минимизации булевой функции сведена к итеративному решению задачи о покрытии графа с последующим понижением ранга конституент единиц. Например, конъюнкции х1 х2 х3 и х1 х2 х3 покрываются

конъюнкцией меньшего ранга х1 х2, т.е. происходит склеивание конъюнкций [5]. Применение методов альтернативной адаптации [5,6] позволило авторам улучшить данный алгоритм.

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

обозначено вертикальной чертой перед переменной, а не над ней, например, записи | х1 х2| х3 соответствует запись х1 х2х3.

Пусть введена булева функция вида:

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

Л1 = {х1х2х3 | х4,| х11 х2х3 | х4};

В1 = {| х1х2х3 | х4,х1х21 х3 | х4,| х11 х2х3х4,х11 х2х3 | х4}. Соответственно число конституент единиц на /-й итерации

определим как сумму мощностей множеств Л. и В., т.е. Li = |Л.| + |В.|.

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

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

А

В

а)

А

в

б)

Рис.2. Результаты реализации вариантов склеивания исходной булевой функции

Из рис.1 и 2 следует, что более перспективной является первая альтернатива. Таким образом, если на первом шаге был выбран второй способ склеивания, то после его реализации целесообразно осуществить переход к предыдущему состоянию с целью поиска более оптимального решения. Алгоритмическим аппаратом для программной реализации подобных механизмов поиска являются автоматы адаптации [3]. Большинство автоматов адаптации поддерживают некоторое количество альтернатив, как правило, от 2 до 5 [6,7]. Пример граф-схемы автомата адаптации (АА), поддерживающего две альтернативы, приведен на рис.3. Каждой альтернативе соответствуют группы состояний Бц- 5т или Б21- S2m, называемых цепочками состояний. Под действием сигналов поощрения "+" и наказания "-" АА переходит в новое состояние.

А1 А2

Рис.3. Пример граф-схемы автомата адаптации

Для решения поставленной задачи предлагается использовать вероятностный автомат адаптации (рис.4), в котором альтернатива А1 - заключается в понижении ранга минимизируемой функции, А2 - в возврате к

А1 А2 дз

Рис.4. Граф-схема предлагаемого автомата адаптации представлению минимизируемой функции, используемому на предыдущей итерации, с последующим понижением ранга минимизируемой функции,

А3 - в возврате к представлению минимизируемой функции, используемому на предыдущей итерации (если это возможно).

В начале работы АА находится в состоянии 5<11, соответствующем

альтернативе А1, после реализации данной альтернативы, в зависимости

от сформированного управляющего сигнала, АА переходит в новое состояние.

Среда, в которой функционирует АА, вырабатывает два класса сигналов:

1) поощрения, формируемые при выполнении условия

' — ^

> k

-

or (Li+1 = min(K |,|Bi |));

2) наказания, формируемые при не выполнении условия

/ \

L +

В случае реализации альтернативы A3 (см.рис.4) автомат сразу же переходит в состояние Z. Вероятность перехода из состояния Z в состояние Sn обозначим как P11, а вероятность перехода в состояние S31 определим как P31 = 1 - P11. Модифицированный алгоритм на тестовых наборах данных позволяет получать результаты на 2...5 % лучше, чем решения, полученные при помощи исходного алгоритма, с вероятностью 0,05.0,10.

Библиографический список

1. Чернышев Ю.О. Оптимизация вычислительных структур целочисленными методами теории потоков в сетях: дис. ... докт. техн. наук. / Ю.О. Чернышев. - Таганрог, 1979. - 429 с.

2. Чернов Н.И. Разработка основ теории логического синтеза компонентов СБИС в линейных пространствах: дис. ... докт. техн. наук. / Н.И. Чернов. - Таганрог, 2003.- 335 с.

3. Курейчик В.М. Адаптация на основе самообучения. / В.М. Курей-чик, Б.К. Лебедев, О.Б. Лебедев, Ю.О. Чернышев. - Ростов н/Д: РГАС-ХМ ГОУ, 2004. - 146 с.

4. Petr Fiska, Jan Hlavicka. Boom — a heuristic boolean minimizer. Computing and Informatics, Vol. 22, 2003, 1001-1003, V, 2003-Jun-25.

5. Поспелов Д.А. Логические методы анализа и синтеза схем; изд. 3-е, перераб. и доп. / Д.А. Поспелов. - М.: Энергия, 1974. - 368 с.

6. Лебедев Б.К. Адаптация в САПР: монография. / Б.К. Лебедев.

- Таганрог: Изд-во ТРТУ, 1999. - 160 с.

7. Борисова Л.В. К вопросу построения нечеткой экспертной си-

стемы продукционного типа для технологической регулировки машин. / Л.В. Борисова, В.П. Димитров. // Вестник

ДГТУ. - 2008. - Т.8. - № 3(38). - С 145-156.

Материал поступил в редакцию 21.05.09.

Y.O. CHERNYSHEV, N.N. VENCOV

MINIMIZATION LOGICAL FUNCTION BY METHOD TO ALTERNATIVE ADAPTATION

Approach is offered In article to minimization boolean function, founded on use automaton to adaptation. As bases is used known method to minimization boolean function, founded on partition implicant units made disjunctive normal form boolean function on two ensembles and join nearby implicant. The Proposed automaton to adaptation, in the event of hit in local optimum allows to realize return to previous decision. Given characteristic allows effectively to come out of local optimum.

ЧЕРНЫШЕВ Юрий Олегович (р. 1937), заведующий кафедрой «Прикладная математика и вычислительная техника» ГОУ ВПО РГАСХМ, доктор технических наук (1984), профессор (1985). Окончил Таганрогский радиотехнический институт (1959).

Области научных интересов: нетрадиционные методы оптимизации, эволюционное моделирование, средства обеспечения САПР.

Автор более 300 научных работ.

ВЕНЦОВ Николай Николаевич (р.1981), доцент кафедры «Прикладная математика и вычислительная техника» ГОУ ВПО РГАСХМ, кандидат технических наук (2007). Окончил Ростовскую-на-Дону государственную академию сельскохозяйственного машиностроения (2003).

Научные интересы: адаптивное поведение, логическое проектирование, эволюционные алгоритмы.

Автор 17 научных работ.

pmivt@rgasm.ru

vencov@list.ru