Научная статья на тему 'Генетический поиск при построении связывающих деревьев'

Генетический поиск при построении связывающих деревьев Текст научной статьи по специальности «Компьютерные и информационные науки»

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

Текст научной работы на тему «Генетический поиск при построении связывающих деревьев»

дение {я,}^ на основе модели состояния системы,

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

Задача прогнозирования социально-экономического процесса относится к классу слабоструктурированных задач, описываемых когнитивными моделями, которые строятся на основе доступной информации и знаний эксперта. В современных организационных системах созданы компьютерные системы, управляющие огромными собственными базами данных, а также имеющие доступ к другим базам данных. Объемы доступных данных исчисляются терабайтами. Информационные технологии в этом процессе могут использоваться в двух вариантах: 1) эксперт использует запросы как средство извлечения

данных для анализа (такая схема работает в относительно несложных ситуациях и небольших базах данных); 2) в случае сложных проблем и больших объемов данных информационные технологии должны обеспечивать извлечение знаний из баз данных так, чтобы эксперт получал информацию в агрегированном виде - в виде моделей, подготовленных компьютером. Такое их использование для построения моделей позволяет их пошаговое улучшение. Начав с относительно грубой модели, необходимо по мере накопления новых данных и результатов применения модели на практике улучшать ее, используя следующие операции:

— извлечь данные, очистить их и трансформировать;

— провести собственно анализ data mining;

— интерпретировать полученные результаты.

Интерпретация результатов возлагается на эксперта, который переводит эти знания в правила типа "Если ..., то ...". Результатом интерпретации должна быть иерархия критериев, полученная путем декомпозиции цели, сформулированной в самом общем виде, и множеством сгенерированных экспертом решений - альтернатив. Эта схема иерархии критериев дополняется моделью динамики развития ситуации, построенной на основе знаний эксперта о процессах, протекающих в анализируемом объекте. Модель динамики ситуации представляется в виде особого вида когнитивных карт, описывающих ситуацию множеством факторов, связанных причинно-следственными отношениями с операторами их преобразования, полученными при применении технологии data mining. Такие модели позволяют получать количественные прогнозы развития ситуаций, а также решать задачу генерации решений для перевода ситуации из начального в целевое состояние.

ГЕНЕТИЧЕСКИЙ ПОИСК ПРИ ПОСТРОЕНИИ СВЯЗЫВАЮЩИХ ДЕРЕВЬЕВ

(Работа выполнена при частичной финансовой поддержке РФФИ 07-01-00511 и программ РНП.2.1.2.2238, РНП 2.1.2.3193)

В.В. Курейчик, д.т.н. (Таганрогский технологический институт Южного федерального университета), П.В. Сороколетов, к.т.н. ЗАО «СЕДИКОМ» (Москва)

Многие задачи автоматизации проектирования решаются на основе эволюционного моделирования и генетического поиска (Емельянов В.В., Курейчик В.В., Курейчик В.М. Теория и практика эволюционного моделирования. М.: Физматлит, 2003; Гладков Л.А., Курейчик В.В., Курейчик В.М. Генетические алгоритмы. Р-н-Д: Ростиздат, 2004). Генетический поиск с точки зрения преобразования информации -это последовательное преобразование одного конечного нечеткого множества альтернативных решений в другое. Само преобразование называется алгоритмом поиска, или генетическим алго-

ритмом (ГА). В основе ГА лежит случайный, направленный или комбинированный поиск. Целью работы является анализ путей и методов повышения скорости работы ГА при построении связывающих деревьев на этапе проектирования. Авторы предлагают новые архитектуры параллельного генетического поиска, позволяющие в отличие от стандартных и существующих ГА частично решать проблему предварительной сходимости алгоритмов построения деревьев Штейнера и повышать скорость обработки информации, не ухудшая качества решений.

Важным вопросом в автоматизации проектирования является построение минимальных связывающих деревьев цепей электрических схем. Основная задача формулируется следующим образом: по заданной схеме соединений проложить необходимые проводники на плоскости, чтобы реализовать заданные электрические соединения с учетом заранее заданных ограничений. Основными ограничениями являются ширина проводников и минимальные расстояния между ними (Naveed Sherwani. Algorithms for VLSI physical design automation. Second Edition. Kluwer Academic Publishers, Boston / Dordrecht / London, 1995).

Для решения этого вопроса используют алгоритмы построения минимальных покрывающих деревьев. Пусть имеется связный неориентированный граф G=(V,E), в котором V - множество контактов; E - множество их возможных соединений. Для каждого ребра графа G задан неотрицательный вес w(v1,v2) (длина провода, необходимого для соединения u и v). Задача состоит в нахождении подмножества T с E , связывающего все вершины, для которого суммарный вес w(T)= 2 w(v1,v2) минимален. Такое подмно-

(u,v) eT

жество T можно считать деревом (в любом цикле один из проводов можно удалить, не нарушая связности). Связный подграф графа G, являющийся деревом и содержащий все его вершины, называют покрывающим деревом этого графа. Пусть разрешается вводить произвольное количество дополнительных вершин и соединяющих их ребер. Решение приводит к построению дерева Штейнера, а дополнительные вершины называются точками Штейнера. Построение дерева Штейнера является NP-трудной задачей. В общем виде данная задача формируется так: для заданных x1t x2,..., xn точек плоскости построить минимальное покрывающее дерево с n'>n вершинами.

Перспективным классом алгоритмов при построении таких деревьев является эволюционное моделирование. Проведен анализ существующих ГА построения дерева Штейнера для этапов трассировки СБИС. Перспективным для трассировки является метод эволюционного моделирования (Калашников Р.С., Курейчик В.В. Построение дерева Штейнера методом эволюционного моделирования. Тр. Междунар. науч.-технич. конф. «Интеллектуальные системы (IEE AIS'04)» и «Интеллектуальные САПР (CAD-2004)». М.: Физматлит, 2004). Методика кодирования альтернативных решений состоит в следующем. Битовые строки включают в себя информацию о координатах точек Штейнера. При этом каждый ген содержит информацию о некоторых метках, используемых для генерации точек Штейнера, и координатах точек Штейнера в одной из областей (частей), на которые разбит граф (множество точек на координатной плоскости). Достоинство этого метода состоит в исключении

получения циклов в графе и в отсутствии проблем при декодировании хромосомы (альтернативного решения). Временная сложность алгоритма зависит от выбора алгоритма оценки целевой функции. В данном случае оценка целевой функции хромосомы производится с помощью алгоритма Прима-Крускала и равна 0(1М2).

Предлагается эвристический алгоритм построения дерева Штейнера (СотЬЮЛ), основанный на процессах естественного отбора и генетики. Алгоритм основан на «выживании сильнейших» и использует случайный, но структурированный обмен информацией между членами текущей популяции.

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

• Множество вершин разбивается произвольным образом на области. При этом в каждой области количество точек п находится в интервале 3<п<К. Параметр К является входным параметром алгоритма и задается пользователем.

• В каждой из областей через каждую вершину проводятся горизонтальные и вертикальные линии, образующие решетку Ханаана для конкретной области. Точки пересечения решетки какой-либо области будут являться возможными вариантами точек Штейнера.

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

• Проводится соединение вершин и точек любым эвристическим методом таким образом, чтобы в результате соединения получилось ортогональное минимальное покрывающее дерево.

• Проводится кодирование полученного дерева Штейнера модифицированным методом. Каждое решение содержит информацию о координатах точек Штейнера в своей области.

Затем члены популяции подвергаются репродукции, скрещиванию, мутации.

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

Основной сложностью применения ГА для построения прямолинейных деревьев Штейнера

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

В работе используется двухточечный оператор кроссинговера. Случайным образом выбираются две точки кроссинговера, а затем происходит обмен информацией между ними. Для повышения скорости работы ГА и устранения преждевременной сходимости алгоритма предлагается параллельная обработка информации. Суть работы блока параллельного эволюционного поиска заключается в выполнении макроэволюции, то есть создании не одной популяции, а некоторого множества популяций. В каждом ГА выполняется своя искусственная селекция: в первом - селекция на основе рулетки; во втором - селекция на основе заданной шкалы.

Поиск здесь осуществляется путем объединения решений из различных популяций. В памяти находится блок миграции, в который каждый раз отправляется лучший представитель из популяции. Далее происходит модификация каждой из подпо-пуляций по эволюционным схемам: первая по схеме Дарвина; вторая по схеме Де Фриза. В ее основе лежит моделирование социальных и географических катастроф, приводящих к резкому изменению видов и популяций. Далее управление передается блоку проверки условия остановки. Критерием остановки может служить заданное пользователем количество циклов, которое зависит от мощности вычислительных ресурсов. Если критерий остановки достигнут, выбирается наилучшее решение из двух популяций, и работа эволюционного поиска останавливается. В противном случае результаты эволюционного поиска передаются в блок адаптации, в котором происходит анализ результата и настройка динамических параметров комбинированного ГА для получения оптимального результата. Динамическими параметрами комбинированного ГА могут являться размер популяции, вероятность кроссинговера, мутации и инверсии. На следующем этапе результирующие подпопуляции и параметры, полученные в блоке адаптации, передаются на вход ком-

бинированного ГА, и процесс оптимизации повторяется до тех пор, пока не будет достигнут критерий остановки.

Алгоритм реализован в виде программы на языке С++ в Borland Buider 5.0 и рассчитан на функционирование в среде Windows XP. В ходе проведения вычислительного эксперимента были установлены эмпирические зависимости, диапазоны изменения входных параметров и выработан ряд рекомендаций по их оптимальному выбору. Проведено сравнение трех классических алгоритмов (Калашников Р.С. Экспериментальные исследования комбинированного эвристического алгоритма построения дерева Штейнера, основанного на методе эволюционного поиска, для этапа глобальной трассировки. // Изв. ТРТУ, 2004, №3). Результаты их исследования представлены в таблице.

Алго) эитм T. Ваггегах

Количество точек ЦФ Улучшение % Время работы, сек

50 1738 3,98 50,85

60 1952 2,40 92,34

70 2139 3,30 130.48

80 2227 1,81 198,74

90 2320 0,68 285,47

100 2396 1,24 400,17

Алгоритм Jones J.

50 1794 6,41 53,72

60 1934 3,30 98,98

70 2151 2,76 154,38

80 2179 3,92 216,96

90 2327 0,39 318,75

100 2385 1,69 432,83

Комбинированный ГА

50 1697 7,24 42,40

60 1910 4,50 67,91

70 2140 3,25 107,83

80 2174 4,14 161,91

90 2286 2,14 226,55

100 2375 2,10 299,20

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

Результаты вычислительного эксперимента позволяют говорить о преимуществе рассмотренного алгоритма для решения задачи построения деревьев Штейнера. Временная сложность настоящего алгоритма в лучшем случае *O(nlogn), а О(п3) - в худшем случае.

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

П.Н. Башлы, к.т.н. (Ростовский военный институт ракетных войск)

Оптимизация антенных решеток (АР) является одной из проблемных задач современной антенной

техники. Это связано с возрастающей ролью АР в современных радиотехнических системах, а также с

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