Научная статья на тему 'Алгоритм выделения независимых подмножеств в графе на основе методов генетического поиска'

Алгоритм выделения независимых подмножеств в графе на основе методов генетического поиска Текст научной статьи по специальности «Математика»

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

Текст научной работы на тему «Алгоритм выделения независимых подмножеств в графе на основе методов генетического поиска»

УДК 681.3.06

Л.А. Г ладков, И. А. Болоцкова1

АЛГОРИТМ ВЫДЕЛЕНИЯ НЕЗАВИСИМЫХ ПОДМНОЖЕСТВ В ГРАФЕ НА ОСНОВЕ МЕТОДОВ ГЕНЕТИЧЕСКОГО ПОИСКА

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

, ,

графа и т.д.

Все вышеперечисленные задачи относятся к NP-полным задачам. Разработка новых подходов к решению всех вышеперечисленных задач представляет большой , , . , NP ,

и полного перебора. Причем сложность даже самых простых из них экспоненциально растет по мере увеличения числа параметров.

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

Пусть G = (X, U) - неориентированный граф без петель, где X - множество вершин графа, \X\ = n, a U - множество рёбер, \ U\ = m. Если две любые вершины подмножества X' графа G = ( X, U), X' çX, не смежны, то оно называется внутренне устойчивым [1]. Подмножество щ çX графа G = (X, U) называется максимальным внутренне устойчивым подмножеством (МВУП) или независимым подмножеством (НП), если добавление к не му любой вершины xt е X делает его не внутренне устойчивым. Подмножество щ будет независимым, если

\/хг е щ (Гхг пщ = 0.

Независимые подмножества различаются по числу входящих в них элементов. В произвольном графе G можно выделить семейство всех НП вида W= {/, щ, ...

, /}. Независимые подмножества, содержащие наибольшее число элементов, называ-.

Существующие методы решения задачи выделения независимых подмножеств в графе можно разделить на несколько групп.

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

Для преодоления этих трудностей был разработан ряд алгоритмов использующих различные эвристики и методы улучшения перебора. Одним из таких методов является метод систематического перебора с рекурсией [2].

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

1 Работа выполнена при поддержке РФФИ, грант №02-01-01-275

ной вершины, и так поступают до тех пор, пока добавление вершин станет невозможным, а порождаемое множество не станет независимым множеством. При этом запоминаются вершины, которые уже использовались в процессе поиска. Как и во , , шаги возвращения как можно раньше, поскольку это ограничит размеры «ненужной» части дерева поиска. Такого рода алгоритмы имеют сложность порядка 0(2п).

Другую группу составляют алгоритмы, использующие последовательные эвристики. Суть этих алгоритмов заключается в следующем. Все вершины графа упорядочиваются по какому-либо правилу. Затем все вершины полученного списка последовательно просматриваются, начиная с первой, и из них выбираются те, которые удовлетворяют заданному условию. Последовательные алгоритмы работают очень быстро (сложность их близка к линейной), но качество получаемых решений оставляет желать лучшего.

И, наконец, отдельную группу составляют методы, основанные на логических произведениях [3]. В литературе описано несколько методов выделения независимых подмножеств в графе, в основе которых лежит составление системы логических произведений по матрице смежности графа О, которую затем с помощью законов алгебры логики приводят к минимальной форме, где каждому слагаемому соответствует независимое подмножество.

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

,

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

К числу таких подходов можно отнести появившиеся сравнительно недавно, но доказавшие свою эффективность методы генетического поиска, эволюционного моделирования [4].

, -, -

.

Выбор эффективной методики кодирования решений позволяет ускорить процесс поиска за счет исключения возможных «нелегальных» (не соответствующих установленным критериям) решений [5].

В разработанном алгоритме хромосома представляет собой числовую после,

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

п(0) у(О) (1)

Р +1

П(О)

<

1 ( 1 ^

п

_2 V 1 2)

(2)

Число генов в хромосоме N равно верхней оценке числа внутренней устойчивости. Так как реальное число элементов независимого подмножества 1Н может быть меньше N, то оставшаяся часть хромосомы заполняется нулями.

Н1:

1 7 2 9 4 0 0 0 0

Рис.1

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

F(H) = (lH) — max (3)

Разработка и настройка архитектуры генетического алгоритма, в свою очередь, также позволяет сократить время работы алгоритма, необходимое для полу, . , построенный механизм генетического поиска позволяет оптимальным образом сочетать различные генетические (а возможно и не только генетические) операторы с тем, чтобы была возможность разрешения основных проблем оптимизации: проблемы выхода из локальных оптимумов, проблемы преждевременной сходимости, проблемы множественности вариантов поиска и т.д.

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

При построении схемы генетического поиска особое внимание уделяется , ,

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

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

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

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

Родитель 1: 12 10 II 6 3 0 0 0 0 0

Родитель 2: 1 7 || 10 13 9 4 0 0 0

1: 12 10 II 1 7 13 9 4 0 0

2: 1 7 II 12 10 6 3 0 0 0

Рис.2

В алгоритме также применяется модифицированный оператор. Схема выполнения этого оператора следующая. Пусть заполненная часть хромосомы-родителя равна I1, а нулевая 10. Случайным образом формируется множество вершин A, не принадлежащих родительской хромосоме, \А\ є [1,10]. Эти вершины дописываются в хромосому. Сгенерируем случайное число п є [0, 11], и удалим п генов от начала .

(рис. 3).

: 12 10 6 3 0 0 0 0 0

После добавления генов: 12 10 6 3 7 9 11 0 0

: 6 3 7 9 11 0 0 0 0

Рис.3

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

В алгоритме использовались совместно элитный и равновероятный оператора отбора. При этом задается вероятность элитного отбора Рэ, а вероятность равновероятного отбора вычисляется как Рр = 1 - Рэ. Генерируется случайное число p е [0, 1]. Если р попадает в интервал [0, Рэ], то выполняется элитный отбор, иначе выполняется равновероятный отбор. Такой подход к организации отбора позволяет управлять разнообразием генетического материала и дает лучшие результаты, чем при использовании какого-либо одного вида отбора. Структурная схема генетиче-

. 4.

Поясним работу алгоритма. На первом шаге алгоритма вводятся начальные данные (исходный граф О = (X, ^ и параметры ГА (вероятности кроссинговера, мутации, элитного и равновероятного отбора; размер популяции хромосом; коли)).

Далее рассчитывается верхняя и нижняя оценка числа внутренней устойчиво, .

Рис.4

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

верка на независимость. Независимые подмножества заносятся в отдельный список. После этого, в соответствии с заданной вероятностью, производится элитный или равновероятный отбор хромосом в новую популяцию. Процесс продолжается до тех пор, пока не будет выполнено условие останова - заданное число генераций.

ЛИТЕРАТУРА:

1. Харари Ф. Теория графов. М.: Мир, 1973. 300 с.

2. Новиков ФА. Дискретная математика для программистов. СПб.: Питер, 2000. 304 с.

3. . . -

ектирования с применением САПР. М.: Радио и связь, 1990. 352 с.

4. Курейчик В.М. Генетические алгоритмы. Монография. Таганрог, ТРТУ, 1998. 242 с.

5. Гладкое Л.А., Болоцкова И.Л. Эволюционный подход к решению графовых задач. // Материалы ХХЬУП научно-технической конференции. Известия ТРТУ, № 1, 2002. С.84.

УДК 681.32

В.М. Курейчик, АЛ Гулевич, Л.А. Зинченко1

ПОВЫШЕНИЕ ЭФФЕКТИВНОСТИ ЭВОЛЮЦИОННОГО ПРОЕКТИРОВАНИЯ ЭЛЕКТРОННЫХ УСТРОЙСТВ НА ОСНОВЕ ИЕРАРХИЧЕСКОГО КОНСТРУИРОВАНИЯ ЧИСЛЕННОАНАЛИТИЧЕСКИХ МОДЕЛЕЙ

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

( ),

( ) ( ) -ния [1].

В данной работе рассмотрены вопросы, связанные с синтезом электрических цепей по заданным частотным характеристикам, а также вопросы поиска критерия близости двух схемных решений, т.е. разработка ЦФ для генетического алгоритма описанного в [2], с модификацией самого алгоритма.

Синтез схемотехнических решений направлен на создание новых вариантов элементов и устройств вычислительной техники и систем управления. Первый этап (структурный синтез) направлен на создание структуры проектируемого объекта в виде графа в=(Б,8), где Е - множество элементов, входящих в схему, 8 - множество связей между элементами схемы. На втором этапе (параметрический синтез) производится поиск параметров Х={хьх2,...,хр}спроектированной на первом этапе

1 Работа выполнена при поддержке РФФИ, гранты №01-01-000-44, 02-01-01-275

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