Материалы Всероссийской конференции
“Интеллектуальные САПР-97”
УДК 658.512
Курейчик В.В.
Генетический алгоритм группирования элементов
При решении проблем компоновки элементов СБИС возникают задачи группирования элементов, обладающих одинаковыми свойствами. Моделью исходных данных задачи, может, например, быть матрица специального вида, в которой столбцы соответствуют заданным элементам схемы, а строки свойствам или выполненным функциям этих элементов.
Необходимо сгруппировать элементы, обладающие наибольшим числом одинаковых свойств. Данная задача относится к классу задач компоновки и может быть решена одним из эвристических алгоритмов. Для эффективности решения применена новая схема генетического поиска.
Опишем кратко основную идею предлагаемого эвристического алгоритма. Предварительно выполняется анализ ма1ричной модели схемы. В результате анализа предлагается устранить из рассмотрения строки матрицы, содержащие все единицы, все нули, а также строки, содержащие около 1% нулей или единиц. Такие действия не будут влиять на создание требуемых групп, так как все или почти все элементы будут входить или не входить в формируемые группы. Далее произведем сортировку матрицы. При этом на первое место поместим столбец с наибольшим числом единиц и т.д. по убыванию. Затем производится разбиение матрицы Я на две части: Я, «перспективных» хромосом и «неперспективных» хромосом. Разбиение, включающие элементы максимально связные между собой, относится к «перспективным», а разбиение с остальными элементами к «неперспективным». В свою очередь, для распараллеливания процесса части Я] и Я2 можно снова разбить на две части К’ 1, 11”I и И’г, К* 'г Данный процесс можно продолжать до получения подмножеств разбиения, которые легко поддаются обработке генетическими операторами. Предполагается процедура поэлементного анализа столбцов матрицы. Условимся фиксировать группы, имеющие три и более общих свойств. Производя сортировку полученных решений, сформируем популяцию. Размер популяции можно варьировать в зависимости от качества получаемых решений. В принципе можно выполнить некоторое множество генераций данной операции. Далее производим склеивание (объединение) групп по критерию максимума общих свойств. После этого применяются модифицированные операторы генетического поиска. ВСА данного алгоритма для одной генерации меняется от О(п) до 0(п ^п). Данный алгоритм несложен и может выполняться параллельно. Ориентировочная трудоемкость алгоритма.
Т (1Р + и + *N*N0 где Л- размер популяции, N0 количество генераций
генетического алгоритма , 1р - трудоемкость построения одного решения, - трудоемкость одной генерации, а ^ - трудоемкость операции склеивания.
Алгоритм позволяет эффективно группировать большие массивы информации.
УДК 658.512
Курейчик В.В.
Эволюционные вычисления в САПР
Эволюционные вычисления являются новым направлением при решении оптимизационныхзадач САПР. Они разделяются на три основных части. Генетические алгоритмы (ГА),эволюционные алгоритмы (ЭА) или стратегии (ЭС) и эволюционное программирование (ЭП). Задачи, решаемые ГА, разделяют, как легко-разрешимые, трудноразрешимые и КР-полные. Задачи САПР относятся к второму и третьему классам. Поэтому необходима разработка эвристических «нестандартных» архитектур генетического поиска, позволяющих решать задачи этих классов.
Предлагается модифицированная архитектура генетического поиска с миграцией и набором различных селекцией, состоящая из четырех основных блоков Блоки 1 3
представляют собой простой или модифицированный ГА. Отметим, что в каждом блоке выполняется своя искусственная селекция. В первом блоке селекция на основе рулетки. Во
Известия ТРТУ
Тематический выпуск
втором блоке используется селекция на основе заданной шкалы. В третьем блоке - элитная селекция. В четвертый блок каждый раз отправляется лучший представитель из популяции. Связь между блоками 1 3 осуществляется путем последовательной цепочки 1 2, 2
3.Отметим, что можно организовать различное количество связей между блоками по принципу полного графа, звезды и т.п. Такая схема селекции в случае наличия большого количества вычислительных ресурсов может быть доведена до N блоков. Причем N-1 блоков могут параллельно осуществлять эволюционную адаптацию и через блоки миграции обмениваться лучшими представителями решений. Последний блок собирает лучшие решения, может окончить результат работы или продолжить генетическую оптимизацию. Такая схема оптимизации в отличие от существующих позволяет во многих случаях выходить из локальных оптимумов.
Для повышения эффективности такой архитектуры в САПР можно использовать метагенетическую оптимизацию (МГО). Используя МГО можно случайным, направленным или случайно-направленным способом генерировать начальные популяции, моделировать каждую индивидуальность посредством выполнения ГА на основе реализации генетических операторов. Можно случайно выбирать родителей из популяции с вероятностью селекции каждого элемента пропорционально его значению. Причем, вероятность выполнения каждого оператора может определяться пропорционально его целевой функции. Окончательное множество параметров селектируется после моделирования из конечной популяции.
Для построения начальной популяции предлагается использовать Стохастически -итерационный метод. Он заключается в следующем. На основе генетического поиска определяются стартовые точки для направленного поиска. Причем, направленный поиск осуществляется совместно с генетическими операторами. После нахождения стартовых точек можно параллельно использовать такие методы оптимизации, как "золотого сечения", градиентного спуска, поиска в глубину и ширину, ветвей и границ и др.
Для конструирования популяций используется модифицированный метод прерывистого равновесия, основаный на палеонтологической теории прерывистого равновесия, которая описывает быструю эволюцию за счет вулканических и других изменений земной коры. Предлагается после каждой генерации случайным образом "перемешивать" индивидуальности в популяции, а затем формировать новые текущие генерации. Здесь можно предложить, как аналог из живой природы, бессознательный отбор родительских пар и синтетический отбор "лучших" родительских пар. Далее случайным образом смешать результаты обоих отборов и не оставлять размер популяции постоянным, а управлять им в зависимости от наличия "лучших" индивидуальностей. Это позволит сократить неперспективные популяции и расширить популяции, в которых находятся "лучшие" индивидуальности.
Объединение ГА и моделирование отжига позволяют получать более качественные результаты за счет усложнения процедуры оптимизации Например, на основе простого ГА можно получить некоторое подмножество родителей с лучшими характеристиками и дня одного из них (наилучшего) или некоторого подмножества применить оптимизационную процедуру моделирования отжига. Такое объединение можно делать различными способами. Процедуры моделирования отжига требуют больших вычислительных затрат, но повышают эффективность алгоритма.
Отметим, что основные проблемы повышения качества решений задач САПР с применением ГА это выход из локальных "ям", оптимальный выбор генетических операторов и методов селекции, поиск оптимальной архитектуры ГА.