АППАРАТНАЯ РЕАЛИЗАЦИЯ ГЕНЕТИЧЕСКИХ АЛГОРИТМОВ

advertisement
АППАРАТНАЯ РЕАЛИЗАЦИЯ ГЕНЕТИЧЕСКИХ АЛГОРИТМОВ
В.В.Гудилов1
Актуальность работы связана с возрастающим интересом применения
генетических алгоритмов в автономных системах, вопросами повышения
быстродействия времеемких генетических алгоритмов и развитием нового
направления в области проектирования аппаратных средств, получившего
название эволюционные аппаратные средства. Как следствие расширения
области применения, наиболее остро встает вопрос разработки методов
повышения эффективности генетических алгоритмов по целому набору
критериев. Решением подобных вопросов выступает аппаратная
реализация генетических алгоритмов.
.
Введение
Идея
применения
генетических
алгоритмов
в
системах
автоматизированного проектирования активно развивается наряду с
другими направлениями. Впервые эта идея была предложена С. Луисом
[Louis et al., 1991] и Д. Раулинсом [Rawlins et al., 1993] в 1991 году и
экспериментально проверена в области цифровых схем. В дальнейшем,
предложенные методы были развиты и доработаны, и получили
применение во многих автоматизированных системах проектирования
аппаратуры. В настоящий момент бурно развивается одно из наиболее
перспективных направлений в данной области, связанное с
проектированием самореконфигурируемых аппаратных средств [Sidhu et
al., 2000] и автоматического проектирования схем, реализации
динамической реконфигурации в мобильных системах [Smit et al., 2002],
построение реконфигурируемых аппаратных средств на одном кристалле
БИС [Kajitani et al., 1998]. [Chatchawit et al., 2001] и др.
Использование генетических алгоритмов (ГА) [Курейчик 2004 и др.]
как механизма для автоматического проектирования схем на
реконфигурируемых платформах [Blondet et al., 2003], получило название
эволюционные аппаратные средства (Evolvable Hardware) [Higuchi et al.,
1993], [Sakanashi et al., 1999], которое также используется синонимом для
несколько общего направления, известного как эволюционная
электроника (Evolutionary Electronics) [Zebulum et al., 2002].
В большинстве случаев, генетические алгоритмы выступают как
программные модули, где ГА моделируется программно, и только
1
344111, Ростов-на-Дону, пр. Ставского 43/15, 41, profnight@mail.ru
конечное решение, полученное с помощью ГА, используется для
эволюционирования схемы. Для автономных решений и задач, связанных
с построением эволюционных аппаратных средств, программная
реализация ГА является неприемлемой по целому ряду критериев. Сам
факт автономности исключает наличие возможности использования
программных решений, выполняемых на ПК или кластерным методом. С
другой стороны, автономные системы, как правило, функционируют в
режиме реального времени, что накладывает ряд требований на
временные характеристики используемых алгоритмов, в связи с чем,
вопрос использования программных моделей перестает быть актуальным.
Требования к проектированию генетических алгоритмов
Новое направление использования генетических алгоритмов –
построение динамически реконфигурируемых аппаратных средств [Smit et
al., 2002], в которых производится эволюционное изменение архитектуры
системы в режиме реального времени в соответствии с изменением
внешних факторов. При реализации подобных систем, ГА как правило
выступает как внешний аппаратный модуль или встраивается в один
кристалл с реконфигурируемой аппаратной системой [Kajitani et al., 1998].
При подобной реализации, кроме требований к быстродействию и
автономности, дополнительными требованиями выступают малый размер
площади кристалла, занимаемого алгоритмом и небольшое потребление
энергии. Данные параметры являются актуальными не только для
автономных или динамически реконфигурируемых аппаратных систем, но
и для целого класса систем, в которых возможно применение ГА.
Этим можно объяснить возрастающий интерес к моделям
генетических алгоритмов, адаптированных для аппаратной реализации
[Scott et al., 2001] и к самой аппаратной реализации ГА. Как пример
можно рассмотреть работы по аппаратной реализации компактного
генетического алгоритма [Chatchawit et al., 2001] и рассмотрения
семейства компактных генетических алгоритмов для встраиваемых
эволюционных аппаратных средств [Gallagher et al., 2004].
Аппаратные решения на примере
компактного генетического алгоритма
Работа по аппаратной реализации компактного генетического
алгоритма [Chatchawit et al., 2001] рассматривает переход от программной
реализации компактного ГА [Harik et al., 1999] к аппаратному исполнению
на примере реализации алгоритма на FPGA фирмы Xilinx [Brown et al.,
1992]. В результате, аппаратно реализованный компактный ГА выполняет
одну генерацию за три тактовых цикла для задачи one-max. Количество
тактов на генерацию зависит от задачи оптимизации. Более сложным
задачам требуется 3+e циклов, где е количество циклов, используемое при
оценке значения функции фитнесса индивидуума. При реализации размер
популяции n и длина хромосомы l установлены как 256 и 32
соответственно и не могут изменяться в процессе функционирования. По
результатам синтеза для задачи one-max, проект использует 15210
эквивалентных вентилей, максимальная частота функционирования 23,57
MГц, было достигнуто повышение быстродействия по сравнению с
программной версией в 1000 раз.
Данный алгоритм был также рассмотрен Джоном Галлагхером
[Gallagher et al., 2004] и доработан для применения в эволюционных
аппаратных средствах, на примере использования алгоритма в схеме
управления, в котором реконфигурируемая аналоговая нейронная сеть
изменяется в интерактивном режиме, для управления физическими
процессами. В структуру компактного ГА были добавлены некоторые
генетические операторы, например стратегия элитизма, оператор мутации
и схема перевыборки лучшего решения (champion resampling), а также
были внесены изменения в структуру алгоритма, что позволило добиться
получения качественно новых результатов при тестировании алгоритмами
ДеДжонга [DeJong 1975]. Основной уклон при аппаратной реализации в
данной работе делался в области уменьшения потребляемой мощности и
требуемого пространства кристалла для размещения алгоритма. Алгоритм
был реализован с применением языка описания аппаратуры VHDL и
протестирован на отладочных платах с FPGA фирмы Xilinx семейства
VirtexII (xc2v 1000) и XC4000 BORG. Для разрядности хромосомы в 32
бита и размере популяции в 255 особей, при решении задачи one-max, по
техническим параметрам были достигнуты результаты, сопоставимые с
результатами аппаратной реализации компактного ГА. При этом, данный
алгоритм превосходил компактный ГА по эффективности и области
применения.
Вероятностный генетический алгоритм UMDA
Другим решением повышения эффективности генетических
алгоритмов и области их применения является аппаратная реализация
генетического алгоритма UMDA (Univariate Marginal Distributional
Algorithm) [Mühlenbein 1998], рассматриваемая в данной работе.
Блок
Данные
инициализации инициализации
Блок
генерации
популяции
Блок
вычисления
критерия
Блок
отбора
Блок
вычисления
вероятности
Блок
формирования
элитной
Формирование
области
результата
Рис.1. Структурная схема функционирования вероятностного генетического
алгоритма UMDA
На рисунке 1 представлена схема функционирования вероятностного
генетического алгоритма UMDA. Функционирование алгоритма
заключается в последовательном выполнении генетических операторов.
При
инициализации
производится
настройка
параметров
функционирования алгоритма. Блок генерации популяции отвечает за
формирование популяции посредством последовательной генерации
особей (хромосом). Для каждой хромосомы производится вычисление
критерия отбора (функции пригодности), на основе которого выполняется
отбор лучших особей и формирование элитной области. На основе
сформированной элитной области производится вычисление вероятности,
необходимой для генерации следующего поколения.
Признаком нахождения решения является решение задачи onemax
или выполнение заданного количества итерационных циклов.
Аппаратные решения на примере
вероятностного генетического алгоритма UMDA
При проектировании и аппаратной реализации ГА UMDA, автором
были учтены технические вопросы и требования к ГА, не
рассматриваемые при решении рассмотренных выше алгоритмов и в
других подобных работах [Takashi 1999]. В частности, основной уклон
был выполнен на предоставление пользователю наибольшей гибкости при
настройке алгоритма, возможности динамического изменения параметров
функционирования в процессе работы алгоритма, максимальновозможному повышению производительности алгоритма с позиции
ускорения работы по целому набору параметров и др.
Повышение функциональной эффективности
С целью повышения эффективности реализуемого устройства, было
решено внести дополнительные возможности в настойки алгоритма. В
частности была реализована возможность варьирования размера
популяции, элитной области, размера хромосомы (количество ген);
установка количества итерационных циклов и установка начального
значения генератора случайного числа (эти значения устанавливает
пользователь или выполняется внутренняя генерация). Необходимо
отметить, что данные значения могут изменяться в процессе
функционирования, а не только при инициализации устройства, чем
достигается возможность динамического изменения параметров
функционирования устройства.
Все характеристики данного устройства, представленные выше,
должны поддерживаться с точки зрения управления. Отсутствие жестко
заданных параметров функционирования
устройства приводит к
неопределенности с точки зрения управления и вынуждает прибегнуть к
использованию микропрограммного принципа
управления. Т.е.
управление устройством осуществляется посредством обработки набора
внутренних и внешних приоритетных аппаратных прерываний, и
считывания из памяти микрокоманд соответствующих управляющих
сигналов.
Повышение производительности
При проектировании алгоритма особое внимание было уделено
вопросам модификации алгоритма с точки зрения оптимизации
временных характеристик функционирования. Основополагающим
критерием
модификации
являлось
сохранение
принципа
функционирования алгоритма при максимально возможном сокращении
временных характеристик алгоритма в целом.
Повышение эффективности алгоритма с точки зрения быстродействия
было достигнуто посредством перехода к параллельной внутриблочной
организации и параллельному взаимодействию на уровне блоков, т.е.
организации многоуровневой конвейерной обработки. При подобном
решении все стадии функционирования алгоритма UMDA, вплоть до
выделения 8 лучших элементов в порядке убывания, производятся за
время генерации популяции. Процесс вычисления вероятности совмещен с
формированием элитной области, при этом отобранные элитные элементы
исключаются из пространства последующего поиска.
На рисунке 2 представлена структурная схема устройства,
поясняющая принцип взаимодействия генетических операторов на уровне
взаимодействия блоков.
Рисунок 2. Структурная схема устройства,
вероятностного генетического алгоритма UMDA.
аппаратной
реализации
В таблице 1 приведено значение общего повышения быстродействия
алгоритма при аппаратной реализации по отношению к программной
реализации для алгоритма UMDA, рассматриваемого в данной работе и
компактного генетического алгоритма, представленного в работе
[Chatchawit 2001].
Таблица 1. Общее повышение быстродействия
Compact Genetic Algorithm
Параметры
Время
Программная реализация
200 MГц, Ultra Sparc 2
2:30 мин.
Аппаратная реализация
Увеличение быстродействия
Univariate Marginal
Distributiona Algorithm (UMDA)
Программная реализация
Аппаратная реализация
Увеличение быстродействия
20 MГц, FPGA
1 000 раз
Параметры
540 MГц, P3
125 MГц, FPGA
27 380 раз
0.15 сек
Время
23 сек
84 мк.сек.
Из таблицы 1 видно, что при аппаратной реализации, было
достигнуто повышение быстродействия по сравнению с программной
моделью, более чем на пять порядков, чем обеспечивается возможность
применения аппаратно реализованного алгоритма в системах реального
времени.
Ниже
представлены
основные
временные
характеристики
генетического алгоритма при тактовой частоте 125 МГц:
 инициализация всех необходимых параметров - 176 нс.
 генерация популяции на 256 особей при параллельном
вычислении критерия пригодности и функционировании оператора отбора
– 6.176 мкс.
 формирование 8 элементов элитной области и параллельного
вычисления вероятности – 540 нс.
 чтение из памяти 120 значений критериев пригодности с
параллельным процессом селекции (отбора) – 2,88 мкс.
 чтение из памяти 8 значений критериев пригодности с
параллельным процессом селекции без инициализации процесса чтения и
ожидания освобождения внутреннего конвейера – 192 нс.
 время одного цикла (итерации) генетического алгоритма
(популяция = 256, элитная область = 128) составляет 8,409 микросекунды.
Основные параметры проектирования:
 производитель ПЛИС: Altera
 семейство: ACEX1K
 обозначение: EP1K100FC256-1
 максимальная частота: 125 МГц
 необходимое количество логических ячеек – 3017
 необходимый объем внутренней памяти – 24112 bit.
Выводы
Современные тенденции развития области применения ГА
обуславливают расширение методик проектирования и разработку новых
методов повышения эффективности генетических алгоритмов. Эти
методики будут востребованы как при исследовании новых областей
применения ГА так и практическом применении для решения конечных
задач. Предложенный подход решения задачи повышения эффективности
генетических алгоритмов является одним из наиболее перспективных
методов по повышению эффективности и расширению областей
применения не только для рассмотренных задач генетического поиска, но
задач, для решения которых требуется значительные временные затраты.
При этом, основной целью выступает разработка методик построения
объекта, максимально оптимизированного под конкретный класс задач,
универсального внутри этого класса, и использующего современные
методы аппаратной реализации (конвейеризация, распараллеливание
вычислений, микропрограммный принцип управления, предоставление
пользователю
возможности
реконфигурирования
функционирования и организации алгоритма и т.п.).
параметров
Список литературы
[Louis et al., 1991] Louis, S. J. and Rawlins, J. E., Designer genetic algorithms:
genetic algorithms in structure design // ICGA-91, in Proceedings of the Fourth
International Conference on Genetic Algorithms, Belew, K..K. and Booker, L.B., Eds.,
Booker, Morgan Kaufman, San Manteo, CA, 1991, 53.
[Rawlins et al., 1993] J.E. Rawlins and S.J. Louis. Syntactic Analysis of
Convergence in Genetic Algorithms, Foundations of Genetic Algorithms // 2 ed. by L.D.
Whitley, San Mateo, CA: Morgan Kaufmann, pp. 141, 1993.
[Sidhu et al., 2000] R. Sidhu, S. Wadhwa, A. Mei and V. K. Prasanna. A SelfReconfigurable Gate Array Archtecture// Field-Programmable Logic and Applications.
The Roadmap to Reconfigurable Computing. 10th International Conference, FPL 2000,
Villach, Austria, August 27-30, 2000 Proceedings.
[Smit et al., 2002] Gerard J.M. Smit, Paul J.M. Havinga, Lodewijk T. Smit, Paul M.
Heysters, Michel A.J. Rosien. Dynamic Reconfiguration in Mobile Systems //FieldProgrammable Logic and Applications. 12th International Conference, FPL 2002 Lisbon,
Portugal 2002 Proceedings, pp 171-181.
[Kajitani et al., 1998] I. Kajitani, T. Hoshino, D. Nishikawa, H. Yokoi, S. Nakaya,
T. Yamauchi, T. Inuo, N. Kajihara, M. Iwata, D. Keymeulen, T. Higuchi. A gate-level
EHW chip: Implementing GA operations and reconfigurable hardware on a single LSI//
Evolvable Systems: From Biology to Hardware, Lecture Notes in Computer Science
1478 (Proc. of ICES1998), pp. 1-12, Springer Verlag, 1998.
[Chatchawit et al., 2001] A. Chatchawit and C. Prabhas, A Hardware
Implementation of the Compact Genetic Algorithm, in Proceedings of the 2001 IEEE
Congress on Evolutionary Computation// Seoul, Korea, May 27-30, 2001, pp.624-629.
[Курейчик 2004 и др.] В.М. Курейчик, В.В. Курейчик, Л.А. Гладков.
Генетические алгоритмы // Ростов-на-Дону, Ростиздат 2004 г. 400 стр.
[Blondet et al., 2003] B. Blondet, P. James-Roxby, E. Keller, S. McMillan, P.
Sundararajan. A Self-reconfiguring Platform // Field-Programmable Logic and
Applications. 13th International Conference, FPL 2003 Proceedings, pp. 565-574.
[Higuchi et al., 1993] T. Higuchi et al. Evolvable hardware: A first step towards
building a Darwin machine. In Proc. of the 2 nd Int. Conference on Simulated Behaviour,
pages 417-424. MIT Press, 1993.
[Sakanashi et al., 1999] H. Sakanashi, M. Tanaka, M. Iwata, D. Keymeulen, M.
Murakawa, I. Kajitani and T. Higuchi. Evolvable Hardware Chips and their
Applications// Proc. of the 1999 IEEE Systems, Man, and Cybernetics Conference
(SMC'99), pp. V559-V564, 1999.
[Scott et al., 2001] Stephen D. Scott, Ashok Samal, Sharad Seth. HGA: A
Hardware-Based Genetic Algorithm // Dept. of Computer Science Washington
University St. Louis, MO 63130-4899, 7 p. 2001.
[Chatchawit et al., 2001] A. Chatchawit and C. Prabhas, A Hardware
Implementation of the Compact Genetic Algorithm, in Proceedings of the 2001 IEEE
Congress on Evolutionary Computation// Seoul, Korea, May 27-30, 2001, pp.624-629.
[Gallagher et al., 2004] John C. Gallagher, Saranyan Vigraham and Gregory
Kramer. A Family of Compact Genetic Algorithms for Intrinsic Evolvable Hardware //
IEEE Transactions on Evolutionary Computation, vol. 8, No. 2, April, 2004
[Zebulum et al., 2002] R.S. Zebulum, M.A. Pacheco, M.M. Vellasco. Evolutionary
Electronics: Automatic Design of Electronic Circuits and Systems by Genetic
Algorithms// USA, CRC Press LLC, 2002
[Harik et al., 1999] G. Harik, F. Lobo and D. Goldberg. The Compact genetic
Algorithm // IEEE Transactions on Evolutionary Computation, vol. 3, Nov, 1999, pp.
287-309
[Brown et al., 1992] Stephen D. Brown, Robert J. Francis, Jonathat Rose, Zvonko
G. Vranesic. Field-Programmable Gate Arrays // Kluwer Academic Publishers, USA
1992. 206 s.
[DeJong 1975] K.A. DeJong. An analysis of the behavior of a class of genetic
adaptive systems // Ph.D. dissertation, Univ. Michigan, Ann Arbor, MI, 1775
[Mühlenbein 1998] H. Mühlenbein. The Equation for Response to Selection and
its Use for Prediction// Evolutionary Computation, May 1998, pp.303-346.
[Takashi et al., 1999] Iwamoto Takashi, Yasuda Mitsuhiro, Shackleford J Barry,
Okushi Etsuko. Genetic algorithm machine and its production method, and method for
executing a genetic algorithm Patent number: US5970487, Application number:
US19970910103 19970813, 1999.
Download