□
ЛИТЕРАТУРА
1. D.E. Goldberg, Genetic Algorithms in Search, Optimisation & Machine
Learning, Addison-Wesley, Reading, MA, 1989.
УДК 658.512
И.В. Мухлаева Организация макроэволюции для одномерной генетической упаковки.
В алгоритме предложен макроэволюционный подход, при котором используются не одна, а несколько начальных популяций (субпопуляции). Каждую субпопуляцию макроэволюционный ГА (МГА) обрабатывает независимо, за исключением периодов коммуникации, или миграции. Во время фазы коммуникации индивиды из различных субпопуляций мигрируют в соседние субпопуляции и выступают там в качестве одного из родителей при межпопуляционном кроссинговере.
МГА может быть описан следующим образом:
MGA- (Ро, sp, spn, np, it, GA, lo, stop), где РО - начальная популяция, sp • количество субпопуляций,
spn - количество индивидов в субпопуляции (размер субпопуляции) пр - количество соседних субпопуляций (субпопуляций, с которыми некоторая субпопуляция вступает в коммуникацию), it - время изоляции (в поколениях),
GA - ГА, действующий в субпопуляции,
1о - локальный оптимизатор, stop - критерий прерывания.
Коммуникация имеет место в периоды, равные it, 2it, 3it, поколений ГА, действующий в субпопуляции, может быть описан следующим образом-
GA = (Ро, spn, s, с, т, г, stop), где s - оператор селекции, с - оператор кроссинговера, m - оператор мутации, г - оператор рекомбинации.
Прерывание работы МГА осуществляется:
• при достижении в какой-либо субпопуляции глобального оптимума,
• при достижении приемлемого по качеству решения,
• либо через определенное, указанное пользователем, количество поколений.
зюр = {0,1 }*р а {0,1}.
Работа не с одной, а с несколькими начальными популяциями позволяет получить большее разноообразие генетического материала, позволяя вести эволюцию в отдельных субпопуляциях, в каждой из которых можно получить решения, недостижимые в одной популяции. Это связано не только с различием начального генетического материала в популяциях, но и с тем, что в каждой популяции ГО работают по-разному, что определяется случайными процессами (выбор точки кроссинговера, мутации, инверсии) и, соответственно получают в каждом поколении субоптимальные решения, отличающиеся по своей структуре. Комбинирование этих решений из разных популяций приводит к улучшению окончательного решения.
Одним из мотивов разделения ГА является потенциальный рост быстродействия благодаря использованию процессора или многопроцессорной системы для обработки отдельной популяции. Онако, наиболее важным мотивом является то, что после некоторого числа поколений хромосомы в отдельной популяции становятся очень похожими. Разнообразие генетического материала будет потеряно, и рекомбинация в дальнейшем может быть неэффективной. Одним из способов преодоления этой проблемы и является независимая обработка отдельных популяций. Так как ГА включают в себя элементы случайного поиска, независимая эволюция отдельных популяций будет направлять процесс в различные области пространства решений. Если оптимизируемая в каждой популяции функция одна и та же, каждая популяция даст конкурентоспособное, но при этом значительно отличающееся решение.
Число взаимодействий между популяциями может быть критическим фактором в определениии эффективности параллельного ГА. При наличии большого числа взаимодействий преимущества использования субпопуляций оказываются потерянными, так как хорошие хромосомы из одной субпопуляции быстро попадают в другие субпопуляции, и эволюция недолго остается независимой. Результаты, полученные в исследованиях, подверждают это положение.
Подобным образом в биологии популяции видов обычно состоят из нескольких относительно независимых субпопуляций, которые взаимодействуют.
Потенциальный недостаток такой архитектуры ГА состоит в том, что локальные оптимумы могут легко распространиться из начальной популяции. Размеры популяций должны быть достаточно велики, чтобы хромосомы, °пределяющие локальный оптимум, не пришли бы легко к доминированию. Создавая эффект расстояния по аналогии с естественными процессами, можно понижать норму взаимодействия некоторых субпопуляций с той целью, чтобы они, как более изолированные, могли создать уникальные хромосомы.
При определении эффективности МГА необходимо учитывать эффекты, произведенные на начальную популяцию операторами кроссинговера, мутации и Секции.
Эффект мутации. Обозначим рт норму случайной мутации, одинаковую для Каждого ОА. Тогда вероятность того, что схема 8 порядка п(Б) во всей популяции Подвергнется случайной мутации, будет равна ртпф). В стандартном Последовательном ГА вероятность того, что схема выживет, равна: 1- ртп(8). Таким образом, МГА в сравнении с ГА не изменяет эффект случайной мутации. Однако, учитывая, что при случайной мутации точки мутации выбираются СлУчайно, эволюция в отдельных субпопуляциях пойдет разными путями. С ростом нормы мутации эффект, производимый ею в разных популяциях, сближается, но станет одинаковым лишь если мутация осуществит полный перебор генов в хромосоме, что не допускается.
Эффект кроссинговера. Возьмем случайно выбранный индивид. Вероятность того, что он подвергнется кроссинговеру, равна рс. Характеристики потомков этого индивида зависят от того, какой индивид будет выбран в качестве второго родителя. В субпопуляции размером spn у всякого другого индивида есть
1
шансов быть выбранным в качестве второго родителя
spn - 1
Эффективность ГА определяется нормой выживания схемы. Важно определить, какой эффект на выживаемость схемы имеет выбор индивида для кроссинговера. Вероятность выбора индивида в субпопуляции равна р., вероятность выбора индивида в начальной популяции - р.. Тогда для GA и MGA вероятность того, что
схема S некоторой длины d(S) выживет после кроссинговера, равна 1 - п ,
L — 1'
где L - длина схемы Норма выживания схемы в MGA отличается от нормы выживания схемы в GA, что определяется распределенной природой селекции и коммуникацией генетической информации. Средний или плохой по качеству для одной популяции индивид может быть хорошим для другой субпопуляции
Фаза коммуникации рассматривается в конъюнкции с фазой селекции. Допустим, что коммуникация происходит каждое поколение. При анализе фазы селекции надо учитывать несколько факторов. Первый из них вероятность замены индивида во время фазы коммуникации. Эта вероятность должна быть функцией отдельной субпопуляции, которой принадлежит данный индивид. Для индивида . в субпопуляции к вероятность быть замененным во время фазы коммуникации обозначим n к, тогда вероятность выживания равна 1- г, к. Вероятность, что индивид I появится в следующем поколении в субпопуляции к равна*
e¡b
(1-ru) ,h
Рк
Ее]к ]=1
где е™ к- качество индивида т в субпопуляции к и Рк= Р/врп. Отсюда следует, что количество потомков индивида . В субпопуляции к в следующем ПОКОЛ^И равна.
в|к ек
*
где е к- среднее качество субпопуляции.
Простейший случай коммуникации мигравд, „о одному индивиду из субпопулвции каздое поколение. Это идентично дейотию пДого последовательного ГА. Необходимо найти количесп» поколений, после которых коммуникация была бы эффективной. Второй фактор, которой необходимо определить, - принцип отбора мигрантов. А
Коммуникацию имеет смысл осуществлять, когда в какой-либо субпопуляции не наблюдается прогресса качество индивидов выравнивается Количество индивидов, которые становятся мигрантами, определяется равным вероятности кроссинговера в субпопуляциях. ^
Разработанный алгоритм работает с тремя начальными популяциями. Это дает Достаточное разнообразие генетического материала и в то же время не ведет к избыточным требованиям к объему памяти.
Наибольшее влияние на качество получаемого решения в генетических алгоритмах оказывает оператор кроссинговера [37]. Кроссинговер между популяциями, таким образом, должен учитывать эффект, произведенный кроссинговером внутри каждой популяции.
Внутрипопуляционные операторы кроссинговера были выбраны с учетом процесса метаэволюции.
Операторы кроссинговера циклический и РМХ часто производят Деструктивный эффект ввиду слишком большой пертурбации и в этом смысле оказываются малоэффективными для решения задачи упаковки. Упорядоченный оператор кроссинговера хорошо сохраняет только левую часть решения.
Поэтому для метаэволюции была разработана следующая стратегия.
Первая начальная популяция использует стандарный упорядоченный кроссинговер (ОЬХ). Перемещая точку кроссинговера случайным образом, он вероятнее всего определит как лучшую хромосому ту, в которой левая часть кодирует наиболее плотную упаковку.
С этой точки зрения перспективно использовать во второй популяции разработанную модификацию упорядоченного кроссинговера (ОЛХ), в которой потомки копируют правую от точки кроссинговера часть родителя.
Третья популяция будет работать с разработанной модификацией кроссинговера, выделяющей наиболее удачную среднюю часть хромосомы (ОМХ). Это двухточечный кроссинговер следующего вида:
Р1 : 1 2.34 5.678 Р1 87.654.321 П1 : 8 7.345.126 П2: 1 2.654.873
Итак, после некоторого числа поколений каждая популяция будет иметь Решения, имеющие высокие оценки качества, но разные по генетическому составу. Теперь следует произвести обмен генетическим материалом, имея целью объединить в полученных в результате этого обмена решениях лучшие качества Решений из разных популяций. При этом оператор кроссинговера в Межпопуляционных скрещиваниях будет эффективнее, если станет учитывать структурные особенности хромосом из разных популяций.
Межпопуляционные операторы кроссинговера выбирались следующим образом.
Для первой популяции, в которой действовал оператор кроссинговера ОЬХ, и третей популяции, в которой действовал ОМХ, в качестве подходящего оператора кроссинговера выбран ОЬХ. Этот оператор внесет в первую популяцию опероны Центра хромосомы, контролирующие высококачественную упаковку. В третью же п°пуляцию он внесет качественные опероны левой части хромосомы.
Аналогичный эффект достигается при скрещивании хромосом второй (ОЛХ) и Четьей популяции (ОМХ), когда для этой цели используется ОЯХ.
Для скрещивания хромосом первой (ОЬХ) и второй (ОЯХ) популяций была Разработана следующая модификация двухточечного оператора кроссинговера (°1ЛХ):
Р1 1 2.345.678 Р2:87.654.321 П1: 1 2.354.678 П2: 8 7 . 6 4 5 . 3 2 1
Он позволяет внести в первую популяцию качественные опероны правой части хРомосомы, а во вторую - левой части.
Таким образом, после межпопуляционного скрещивания произошел обмен ВЬ|сококачественным генетическим материалом, выделенным в разных частях
ш ЧИи'НДОкШЫ К0Т1фе^ёТяц<ТО^Й1тллектуал"ьнь1ё СапУ-уь
хромосом. Теперь этот материал можно синтезировать для получения нового по качеству решения.
Схема макроэволюционного генетического алгоритма следующая. Макроэволюционный генетический алгоритм может работать самостоятельно либо использовать перед началом работы алгоритм сокращения размерности задачи. Во втором случае в качестве входных данных он использует список оставшихся неразмещенными элементов и блоки, чьи размеры сокращены на величину занятого в них крупными элементами пространства.
Схема самого метаэволюционного алгоритма следующая.
1. Случайным образом формируются три начальные популяции.
2. В каждой из них последовательно и в соответствии с установленной нормой выполняются следующие генетические операции:
- кроссинговер (соответствующий для каждой популяции),
- инверсия;
- случайная мутация;
- мутация 2-1;
- мутация 1-1;
- мутация 1+;
причем выбор хромосом для операции кроссинговера и направленных мутаций производится элитным методом, а для инверсии и случайной мутации - случайно.
3. При достижении указанного среднего порога качества происходит межпопуляционное скрещивание.
4. Наилучшее по качеству решение из всех трех популяций принимается окончательным.
УДК 681.31:658.512
С.И. Родзин
Проектирование самотестируемых СБИС с применением метода генетического поиска
Введение
Генерация тестов для проверки СБИС требует огромного времени и памяти. Сокращение затрат на проверку можно достигнуть путем проектирования самотестируемых схем. Термин “самотестирование” здесь употребляется применительно к СБИС, на кристаллах которого размещаются схемы генерации теста, сигнатурного анализа и управления тестом [1]. Цель метода состоит в том, чтобы проектируемая схема тестировалась в своем рабочем состоянии без изменения алгоритма функционирования. Для достижения поставленной цели предлагается расширить во взаимосвязи две следующие задачи:
- синтезировать тестовую последовательность для обнаружения заданного класса неисправностей проектируемой схемы, имея в виду подходящую реализацию генератора теста и, используя для синтеза теста внутреннюю логику проектируемой схемы;
- спроектировать генератор теста.
Рассмотрим особенности решения этих задач подробнее.
Синтез теста генетическим алгоритмом.
Генетические алгоритмы доказали свои преимущества при решении многих оптимизационных ^-полных задач автоматизированного проектирования,