Аппаратная реализация генетических алгоритмов
Использование генетических алгоритмов как механизма для автоматического проектирования схем на реконфигурируемых платформах. Требования к проектированию генетических алгоритмов. Аппаратная реализация компактного и вероятностного генетического алгоритма.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 16.01.2018 |
Размер файла | 107,9 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
АППАРАТНАЯ РЕАЛИЗАЦИЯ ГЕНЕТИЧЕСКИХ АЛГОРИТМОВ
В.В. Гудилов
Введение
Актуальность работы связана с возрастающим интересом применения генетических алгоритмов в автономных системах, вопросами повышения быстродействия времеемких генетических алгоритмов и развитием нового направления в области проектирования аппаратных средств, получившего название эволюционные аппаратные средства. Как следствие расширения области применения, наиболее остро встает вопрос разработки методов повышения эффективности генетических алгоритмов по целому набору критериев. Решением подобных вопросов выступает аппаратная реализация генетических алгоритмов.
Идея применения генетических алгоритмов в системах автоматизированного проектирования активно развивается наряду с другими направлениями. Впервые эта идея была предложена С. Луисом [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]. В большинстве случаев, генетические алгоритмы выступают как программные модули, где ГА моделируется программно, и только конечное решение, полученное с помощью ГА, используется для эволюционирования схемы. Для автономных решений и задач, связанных с построением эволюционных аппаратных средств, программная реализация ГА является неприемлемой по целому ряду критериев. Сам факт автономности исключает наличие возможности использования программных решений, выполняемых на ПК или кластерным методом. С другой стороны, автономные системы, как правило, функционируют в режиме реального времени, что накладывает ряд требований на временные характеристики используемых алгоритмов, в связи с чем, вопрос использования программных моделей перестает быть актуальным.
Требования к проектированию генетических алгоритмов
Новое направление использования генетических алгоритмов - построение динамически реконфигурируемых аппаратных средств [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], рассматриваемая в данной работе.
Размещено на http://www.allbest.ru/
Рис.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 мин. |
|
Аппаратная реализация |
20 MГц, FPGA |
0.15 сек |
|
Увеличение быстродействия |
1 000 раз |
||
Univariate Marginal Distributiona Algorithm (UMDA) |
Параметры |
Время |
|
Программная реализация |
540 MГц, P3 |
23 сек |
|
Аппаратная реализация |
125 MГц, FPGA |
84 мк.сек. |
|
Увеличение быстродействия |
27 380 раз |
Из таблицы 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 Self-Reconfigurable 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 //Field-Programmable 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 2nd 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.
Размещено на Allbest.ru
...Подобные документы
Комплексное исследование истории развития, основных понятий, области применения и особенностей генетических алгоритмов. Анализ преимуществ генетических алгоритмов. Построение генетического алгоритма, позволяющего находить максимум целочисленной функции.
курсовая работа [27,9 K], добавлен 23.07.2011История появления эволюционных алгоритмов. Нейрокомпьютерные исследования в России. Реализация генетических алгоритмов. Расчет эффективности процедур поиска конкурирующей процедуры. Schema и теорема шим. Примеры использования нейросетевых технологий.
курсовая работа [43,0 K], добавлен 20.10.2008Основные особенности эволюционных алгоритмов. Описание алгоритмов селекции, мутации, скрещивания, применяемых для реализации генетических алгоритмов. Вычисление функции приспособленности. Программная реализация. Тестирование и руководство пользователя.
курсовая работа [1,3 M], добавлен 11.03.2014Описание генетических алгоритмов. Применение генетического алгоритма для решения задачи коммивояжера. Постановка задачи безусловной оптимизации. Изучение распространения генетических алгоритмов на модель с несколькими взаимодействующими популяциями.
дипломная работа [979,1 K], добавлен 30.05.2015Характеристика методов нечеткого моделирования и изучение системы кластеризации в пакетах прикладных программ. Разработка и реализация алгоритма для оптимизации базы правил нечеткого классификатора с помощью генетического алгоритма аппроксимации функции.
дипломная работа [1,9 M], добавлен 21.06.2014Основные генетические операторы. Схема функционирования генетического алгоритма. Задачи, решаемые с помощью генетических алгоритмов. Математическая постановка задачи оптимизации. Решение Диофантова уравнения. Программная реализация. Создание пособия.
курсовая работа [391,4 K], добавлен 20.02.2008Трудности использования эволюционных алгоритмов. Построение вычислительных систем, основанных на принципах естественного отбора. Недостатки генетических алгоритмов. Примеры эволюционных алгоритмов. Направления и разделы эволюционного моделирования.
реферат [187,4 K], добавлен 21.01.2014Первые работы по симуляции эволюции. Основные понятия генетических алгоритмов. Постановка задачи и функция приспособленности. Инициализация, формирование исходной популяции. Выбор исходной популяции для генетического алгоритма, решение задач оптимизации.
курсовая работа [714,1 K], добавлен 31.03.2015Понятие и суть нечеткой логики и генетических алгоритмов. Характеристика программных пакетов для работы с системами искусственного интеллекта в среде Matlab R2009b. Реализация аппроксимации функции с применением аппарата нечеткого логического вывода.
курсовая работа [2,3 M], добавлен 23.06.2012Целые числа в позиционных системах счисления. Недостатки двоичной системы. Разработка алгоритмов, структур данных. Программная реализация алгоритмов перевода в различные системы счисления на языке программирования С. Тестирование программного обеспечения.
курсовая работа [593,3 K], добавлен 03.01.2015Реализация алгоритмов Краскала и Прима для построения минимального остовного дерева взвешенного связного неориентированного графа. Анализ трудоемкости алгоритмов, их псевдокоды и тестирование. Применение алгоритма Краскала на практике в работе авиалиний.
курсовая работа [142,0 K], добавлен 25.12.2012Переход от словесной неформальной постановки к математической формулировке данной задачи. Оценка различных вариантов с целью выбора наиболее эффективных структур данных и алгоритмов обработки. Реализация алгоритмов на одном из языков программирования.
курсовая работа [35,0 K], добавлен 25.06.2013Табличный метод вычисления контрольной суммы. Реализация на практике вычисления циклического контрольного кода параллельным и последовательным методами. Аппаратная реализация вычисления CRC в параллельном и последовательном коде, математическое описание.
курсовая работа [573,7 K], добавлен 09.08.2015Описание особенностей программирования циклических алгоритмов на С/С++. Использование операторов цикла для организации повтора в программе определенных действий. Создание и реализация программы приближенного вычисления интеграла методом трапеций.
лабораторная работа [86,3 K], добавлен 25.03.2019Сущность и экономическое обоснование, методы и подходы к прогнозированию валютного курса. Описание технологии интеллектуальных вычислений. Применение генетических алгоритмов для настройки архитектуры нейронных сетей. Основные способы улучшения модели.
курсовая работа [1,3 M], добавлен 26.03.2016Разработка и анализ алгоритмов с использованием электронных таблиц и прикладных программ Smath Studio, Microsoft Excel. Проверка алгоритма ветвления или выбора. Реализация циклов на примере вычисления определённого интеграла с заданной точностью.
контрольная работа [1,0 M], добавлен 19.03.2016Построение структурных схем - графических представлений алгоритмов цифровой фильтрации. Возможные варианты синтеза структур на примере рекурсивных фильтров. Построение разностного уравнения таких фильтров с записью системной функции в общем виде.
презентация [123,3 K], добавлен 19.08.2013Положения алгоритмов сжатия изображений. Классы приложений и изображений, критерии сравнения алгоритмов. Проблемы алгоритмов архивации с потерями. Конвейер операций, используемый в алгоритме JPEG. Характеристика фрактального и рекурсивного алгоритмов.
реферат [242,9 K], добавлен 24.04.2015Исследование симметричных алгоритмов блочного шифрования. Минусы и плюсы алгоритма IDEA. Разработка программы аутентификации пользователя и сообщений на основе алгоритма IDEA. Выбор языка программирования. Тестирование и реализация программного средства.
курсовая работа [314,2 K], добавлен 27.01.2015Обзор существующих подходов в генерации музыкальных произведений. Особенности создания стилизованных аудио произведений на основе современных нейросетевых алгоритмов. Выбор средств и библиотек разработки. Практические результаты работы алгоритма.
дипломная работа [4,0 M], добавлен 13.10.2017