Научная статья на тему 'Эволюционный синтез конечных автоматов'

Эволюционный синтез конечных автоматов Текст научной статьи по специальности «Математика»

CC BY
500
138
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ЭВОЛЮЦИОННЫЙ СИНТЕЗ / NP-ЗАДАЧА / КОНЕЧНЫЙ АВТОМАТ / ГЕНЕТИЧЕСКИЕ АЛГОРИТМЫ / EVOLUTIONARY SYNTHESIS / NP TASK / FINITE STATE MACHINES / GENETIC ALGORITHMS

Аннотация научной статьи по математике, автор научной работы — Берёза Андрей Николаевич, Ляшов Максим Васильевич

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

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

Похожие темы научных работ по математике , автор научной работы — Берёза Андрей Николаевич, Ляшов Максим Васильевич

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

EVOLUTIONARY SYNTHESIS OF FINITE STATE MACHINES

A complex digital system consists of combinational and sequential logic circuits, and the behavior of sequential circuits can be described by a finite state machines. One of the most important steps in the synthesis of finite state machines is a state assignment. The state assignment task is searching the combinations triggers to the finite state machines. In modern systems, synthesis of coding the internal states of a finite automaton algorithms are used NOVA, MUSTANG and their modifications. However, state assignment of finite state machines is far from optimum. This article describes an evolutionary algorithm developed by coding the internal states of a finite state machines, which showed better results compared to traditional methods.

Текст научной работы на тему «Эволюционный синтез конечных автоматов»

Polenov Maxim Yuryevich

E-mail: polenov@dce.tsure.ru.

Phone: +78634371656.

The Department of Computer Engineering; Associate Professor.

Gerasimov Alexander Alexandrovich

E-mail: sunsunger@gmail.com.

Phone: +78634371656.

The Department of Computer Engineering; Post-graduate Student.

УДК 004.27; 007.52

A.H. Берёза, M.B. Ляшов ЭВОЛЮЦИОННЫЙ СИНТЕЗ КОНЕЧНЫХ АВТОМАТОВ*

Сложная цифровая система состоит из комбинационных и последовательностных

,

конечным автоматом. Один из самых важных шагов в синтезе конечного автомата - это кодирование внутренних состояний. Задача кодирования внутренних состояний состоит в обнаружении лучшего назначения комбинаций триггеров к состояниям автомата. В современных системах автоматизированного проектирования для кодирования внутренних состояний конечного автомата используются алгоритмы NOVA, MUSTANG и их модификации. Однако сгенерированные коды состояний для конечного автомата являются далекими от оптимума. В данной статье рассмотрен разработанный эволюционный алгоритм кодирования внутренних состояний конечного автомата, показавший лучшие результаты по сравнению с традиционными методами.

Эволюционный синтез; NP-задача; конечный автомат; генетические алгоритмы.

A.N. Bereza, M.V. Lyashov EVOLUTIONARY SYNTHESIS OF FINITE STATE MACHINES

A complex digital system consists of combinational and sequential logic circuits, and the behavior of sequential circuits can be described by a finite state machines. One of the most important steps in the synthesis of finite state machines is a state assignment. The state assignment task is searching the combinations triggers to the finite state machines. In modern systems, synthesis of coding the internal states of a finite automaton algorithms are used NOVA, MUSTANG and their modifications. However, state assignment of finite state machines is far from optimum. This article describes an evolutionary algorithm developed by coding the internal states of a finite state machines, which showed better results compared to traditional methods.

Evolutionary synthesis; NP task; finite state machines; genetic algorithms.

Введение. Сложная цифровая система состоит из комбинационных и последовательностных логических схем, при этом поведение последовательностной схемы может быть описано конечным автоматом (КА). Методы синтеза КА непрерывно развиваются [1-5]. Один из самых важных шагов в синтезе КА - это кодирование внутренних состояний. Задача кодирования внутренних состояний состоит в обнаружении лучшего назначения комбинаций триггеров к состояниям

* Работа выполнена при поддержке: АВЦП (гранты № 2.1.2/9625, № 2.1.2/9981), г/б № Г-11.11.МР (0120.1155814).

.

, , -

[1].

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

Задача синтеза конечных автоматов. Традиционно процесс проектирова-

( . 1):

Рис. 1. Процесс проектирования конечного автомата

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

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

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

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

.

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

К - наименьшее положительное целое число такое, что 2К > N . Проблема кодирования внутренних состояний состоит в обнаружении лучшего назначения комбинаций триггеров к состояниям автомата.

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

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

Все методы синтеза конечных автоматов делятся на [2]:

♦ класс ические, применимые к любому конечному автомату, независимо от способа его реализации;

двухуровневый синтез, ориентированный для реализации на РЬБ со структурой двух программируемых матриц И и ИЛИ;

, , , -нечных автоматов на ЕРОЛ [2].

Число различных и неравнозначных вариантов кодирования для конкретного автомата определяется выражением [1]:

С =

(2К -1)!

(2К - N)!К!'

(1)

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

Эволюционный алгоритм кодирования состояний.

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

р . . II х<1, • Хч\к

(2)

где

\хд,, Хц1

к =0

расстояние по Хеммингу между кодами состояний к-того пере-

хода, р - количество переходов. Целевая функция определяет сложность (аппаратные затраты) на построение комбинационной схемы функции возбуждения, т.е. является одной из оценок сложности комбинационной схемы автомата [1-3].

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

. 2.

Х±хг

00 01 10 11

4і 4і 42 Чб 4з

42 4з 42 Чі 4б

4з 42 Чз Чб 44

44 44 Чз Чг 4б

43 4з Чз 44 42

4б Чз 42 44 4з

О 4і 42 4з 44 4з 4б

9і 0 1 0 0 1 1

42 1 0 1 0 0 1

4з 0 1 0 1 1 0

44 0 1 0 0 1 1

4з 0 1 1 1 0 0

4б 0 1 1 1 1 0

Рис. 2. Пример преобразования таблицы переходов в матрицу смежности

к

Используя матрицу смежности, целевую функцию (2) можно представить в следующем виде:

N N

Р = М,, , (3)

1=1 ] =1

где N - число состояний конечного автомата.

Количество переходов при этом будет равно:

N N

р=<4)

,=1 ]=1

Задачей генетического алгоритма является минимизация целевой функции:

Р ^ 1ГЛП .

Предельным случаем задачи является кодирование, при котором Р ^ р, . . .

Г енетические операторы и структура генетического алгоритма. Основными

, , являются операторы кроссинговера, инверсии и мутации [8,9]. Использование различных методов представления хромосом накладывает ограничения на типы применяе-. -формации от исходных хромосом, создавая новые. Согласно целевой функции, расстояние по Хэммингу между двумя битовыми строками - это расстояние между отдельными битами в строке, т.е. целевую функцию можно представить как сумму колонок двоичной матрицы. Таким образом, в результате применения оператора кроссинговера в новой хромосоме должно присутствовать больше колонок от хромосомы с лучшей целевой функцией. Поэтому для определения точки разрыва хромосомы вводится весовой коэффициент, зависящий от значения целевой функции.

Рассмотрим работу этого кроссинговера, изображенного на рис. 3, на примере конечного автомата с 6 состояниями. Пусть Родитель 1 имеет лучшую целевую

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

состояния имеют одинаковые двоичные коды. В приведенном примере состояния q1 и ^2 имеют одинаковый двоичный код 010. Чтобы исправить нелегальное решение один из кодов заменяется свободным двоичным кодом из множества 2к .

Родитель 1

Родитель 2

Ч1 0 1 0

Ч 2 0 1 1 ■ Промежуточное Потомок

Ч з 1 0 0 V решение

Ч 4 1 1 1 Ч1 0 1 0 Ч1 0 1 0

Ч 5 0 0 0 Ч 2 0 1 0 Ч 2 0 1 1

Ч 6 1 0 1 Ч 3 1 0 1 1 N Ч з 1 0 1

Ч 4 1 1 1 1 / Ч 4 1 1 1

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

Ч і 1 0 0 Ч 5 0 0 1 Ч 5 0 0 1

Ч2 0 1 0 Ч 6 1 0 0 Ч 6 1 0 0

Ч з 1 0 1

Ч4 0 1 1

Ч 5 0 0 1

Ч6 0 0 0

Рис. 3. Прішер работы оператора кроссинговера

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

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

Пример выполнения оператора мутации показан на рис. 4. Для выполнения операции мутации случайным образом в хромосоме выбираются два кода состояний и меняются местами.

п После

До мутации

' мутации

Ч1 0 1 0 Ч1 0 1 0

Ч 2 0 11 К Ч 2 0 0 0

Ч 3 1 0 0 1 1 Ч Ч 3 1 0 0

Ч 4 1 1 1 ) ' ^ Ч 4 1 1 1

Ч 5 0 0 0 * Ч 5 0 1 1

Ч 6 1 0 1 Ч 6 1 0 1

Рис. 4. Пример работы оператора мутации

Также в ГА введен оператор инверсии, который заключается в том, что хромосома делится на две части, и затем они меняются местами.

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

Структурная схема генетического алгоритма назначения состояний конечного автомата представлена на рис. 5. Приведенная схема генетического алгоритма , . кодирования и декодирования хромосомы используют графы недопустимых кодировок, что препятствует возникновению «нелегальных» решений. Эти особенности позволяют уменьшить пространство поиска, и тем самым, ускорить получение .

Экспериментальное исследование алгоритма. Разработанный генетический алгоритм кодирования состояний конечного автомата быт протестирован на промышленных бенчмарках МСЖ1 [7]. Сводная таблица результатов и график показаны на рис. 6.

с

Начало

)

1 *

Ввод исходных данных

і г

Определение структуры хромосомы

1 Г

Генерация исходного множества решений

1 1

Оценка исходного множества решений Установка счетчика Count = 1

► і 1

Да

1 г

Вывод результата

1 г

Конец

J

Рис. 5. Структурная схема генетического алгоритма назначения состояний

конечного автомата

В первом столбец каждой секции на графике приведено значение целевой , -ным генетическим алгоритмом (шуОЛ) и стандартных алгоритмов NOVA1 и NOVA2. В качестве аналога взяты результаты кодирования состояний конечного автомата генетическим алгоритмом, представленным в работе [3]. Как видно из приведенного графика, результаты в среднем от 15 % до 25 % лучше, чем у суще.

Рис. 6. Сводная таблица результатов и график

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Закре вский АД., Поттосин ЮМ., Черемисинова Л Д. Логические оси овы проектирования дискретных устройств. - М.: Физматлит, 2007. - 592 с.

2. Соловьев В.В. Логическое проектирование цифровых систем на основе программируемых логических интегральных схем. - М.: Горячая Линия - Телеком, 2008. - 376 с.

3. Nedjah N. Evolvable Machines: Theory and Practice // Studies in Fuzziness and Soft Computing. - 2004. - Vol. 161. - 260 c.

4. Chyz' y M., Kosin'ski W. Genetic Algorithm for the State Assignment Problem, Communications of the 10th International Symposium Intelligent Information Systems, Zakopane, Poland, 2001. - P. 7-11.

5. Belgasem A., Kalganova T. and Almaini A. (2002) Extrinsic Evolution of Finite State Machine. ACDM2002, UK. I. C. Paimee (Ed.) Published by Springer. - P. 157-168.

6. ГладкоеЛ.А., Курейчик В.В. Генетические алгоритмы. - М.: Физматлит. 2006. - 320 с.

7. Ken McElvain. LGSynth93 Benchmark Set: Version 4.0. - Mentor Graphics. 1993. - 96 c.

8. . . // -вестия ЮФУ. Технические науки. - 2010. - № 7 (108). - С. 7-12.

9. . ., . ., . . , -

// . . - 2009.

- № 4 (93). - C. 16-24.

Статью рекомендовал к опубликованию д.т.н., профессор Н.Е. Галушкин. Берёза Андрей Николаевич

Волгодонский институт сервиса (филиал) Южно-Российского государственного университета экономики и сервиса.

E-mail: anbirch@mail.ru.

347360, . , . , 6.

Тел.: +79281574449.

Кафедра информатика; к.т.н.; доцент; заведующий кафедрой.

Ляшов Максим Васильевич E-mail: maxl85@mail.ru.

Тел.: +79604591974.

Магистр техники и технологии.

Bereza Andrew Nicolaevich

The Volgodonsk Institute of Service (branch) of the South-Russian State University of Economy and Service.

E-mail: anbirch@mail.ru.

6, Volgodonsk, Chernikova Street, Volgodonsk, 347360, Russia.

Phone: +79281574449.

The Department of Information; Cand. of Eng. Sc.; Associate Professor; Head of Department.

Liyshov Maksim Vasilievich

E-mail: maxl85@mail.ru.

Phone: +79604591974.

Master of Engineering.

УДК 004.382.2

А.И. Дордопуло, И.И. Левин, ДА. Сорокин

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

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

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

A.I. Dordopulo, I.I. Levin, D.A. Sorokin

DOCKING REALIZATION FOR MOLECULAR MODELING ON RECONFIGURABLE COMPUTER SYSTEMS

The paper is devoted to description of methods of task fragments optimization and adaptation of architecture of reconfigurable computer system to the structure of the solving task of docking (method of molecular modeling) hardware realization. In comparison with existing realizations, the distinctive feature of the viewed solution is all-in-one solution of complete problem of docking on reconfigurable computer system, providing coordinated functioning of all fragments of the task in a single computer system.

Hardware realization; docking; supercomputer molecular modeling; reconfigurable computer systems; ligand.

. -

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

,

этапов исследований нового лекарства, занимающих в среднем около 5 лет.

Для выбора соединений-кандидатов широко используются методы моле, -ингибитора (лиганда) в активный центр молекулы-мишени (белка). Процедура докинга [1,2] представляет собой перебор пространственных конфигураций моле-,

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