Научная статья на тему 'Концептуальная модель представления решений в генетических алгоритмах'

Концептуальная модель представления решений в генетических алгоритмах Текст научной статьи по специальности «Математика»

CC BY
527
126
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ГЕНЕТИЧЕСКИЙ АЛГОРИТМ / ТИПЫ ДАННЫХ / ГЕНЕТИЧЕСКИЕ ОПЕРАТОРЫ / ВРЕМЕННАЯ СЛОЖНОСТЬ / GENETIC ALGORITHM / TYPES OF THE DATA / GENETIC OPERATORS / TIME COMPLEXITY OF ALGORITHM

Аннотация научной статьи по математике, автор научной работы — Курейчик В. В., Сороколетов П. В.

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

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

Conceptual Model Of Decisions Representation In Genetic Algorithms

In this paper alternative decisions and chromosomes types are classified. Variants and ways of representation of various types of the data in genetic algorithms, and also their coding and decoding are presented. It determines the contents of separate operators and genetic algorithm as a whole. Besides, the correct choice of representation causes both spatial and time complexity of algorithm and its efficiency.

Текст научной работы на тему «Концептуальная модель представления решений в генетических алгоритмах»

Раздел I. Эволюционное моделирование, генетические и бионические алгоритмы

УДК 321.3

В.В. Курейчик, П.В. Сороколетов КОНЦЕПТУАЛЬНАЯ МОДЕЛЬ ПРЕДСТАВЛЕНИЯ РЕШЕНИЙ В ГЕНЕТИЧЕСКИХ АЛГОРИТМАХ*

Введение. В настоящее время генетические алгоритмы это новая эффективная область решения оптимизационных задач. Г енетический алгоритм не работает непосредственно с набором параметров решаемой задачи. Вместо этого вводится , , -го решения задачи. Кодирование решения задачи производится по заранее задан. , которые в свою очередь состоят из генов [1, 4]. В альтернативном решении ген -соответствует элементу, функциональному узлу, связи и т.п. Заметим, что здесь используется только терминология из классической генетики и ее различные модели, ориентированные на решения задач проектирования и принятия решений.

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

♦ Монохромосомные - содержащие только одну последовательность генов (хромосом). Заметим, что в большинстве задач проектирования используются монохромосомные модели.

♦ Мультихромосомные - содержащие две и более хромосомы.

По качественному составу мультихромосомные особи можно разделить на следующие два семейства:

♦ Гомоморфные - содержащие морфологически и генетически сходные хромосомы. Иначе говоря, все хромосомы данной особи относятся к од,

допустимых значений генов (адлелей) в соответствующих локусах каж-.

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

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

Двоичные хромосомы - это такие хромосомы, гены которых могут принимать только два значения {0; 1}. Примером двоичной хромосомы является сле-

:

1 0 0 1 0 1 1

* Работа выполнена при поддержке РФФИ (грант № 07-01-00174).

Для более подробного представления вводится запись В подсистеме генетического поиска двоичным хромосомам соответствует тип данных вАВ1пагу-СЬгото8оте, в котором используется побитовая упаковка, т.е. на каждый ген отводится один бит. В некоторых случаях используется три значения {0; 1, *}. Здесь * определяется как символ «не имеет значения» 1 или 0.

Числовые хромосомы - это такие хромосомы, гены которых могут принимать целочисленные значения в заданном интервале. В зависимости от диапазона допустимых значений генов (адлелей) можно предусмотреть возможность использования разных типов целых чисел для представления генов: однобайтовое целое (8 бит), позволяющее представить диапазон чисел [0, 255], или [-128, +127]; двухбайтовое целое (16 бит), позволяющее представить диапазон чисел [0, 65 535], или [-32 768, +32 767]; четырехбайтовое целое (32 бита), позволяющее представить диапазон чисел [0, 4 294 967 295], или [-2 147 483 648, +2 147 483 647]. Такое представление позволяет существенно сократить затраты памяти и, как следствие, повысить эффективность реализуемых алгоритмов.

Среди числовых хромосом выделяют гомологичные и негомологичные [1, 4].

Гомологичные хромосомы - это хромосомы, имеющие общее происхождение, морфологически и генетически сходные, и поэтому не образующие недопустимых решений при применении стандартных генетических операторов. В гомологичных числовых хромосомах каждый ген может принимать целые значения в заданном числовом интервале, при этом для различных генов могут быть заданы различные интервалы [а1, Ь), где I = 1, п , п - число генов в хромосоме. Область по, , -ляет собой некоторую прямоугольную подобласть в п-мерном пространстве Rп -. -

:

Я,:

1 8 3 0 3 4 1

Такому типу хромосом соответствует тип данных GAHomologousNumerical-Скгота'отв.

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

Я,:

1 4 3 6 5 7 2

Такому типу хромосом соответствует тип данных GAUnhomologous-МитегісаІСкготоі'отє.

Векторные хромосомы - это такие хромосомы, гены которых представляют собой векторы целых чисел. При этом аллели генов обладают свойствами негомологичной числовой хромосомы, т.е. числа вектора могут принимать значения в , . менее, хотя гены в векторных хромосомах негомологичны, сами хромосомы ЯВЛЯЮТСЯ гомологичными и им. Например, Я3:

<1,3,2> <4,5,6> <1,8,6> <7,6,3> <11,5,13> <12,4,8> <9,6,4>

, -

мо реализовать поддержку мультихромосомного представления альтернативных , ,

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

, -

. -

сом повлечет возникновение ошибок, связанных с неверным выбором генетиче-

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

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

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

При прямом кодировании элементов используется числовая негомологичная , - ( ), -элемента в данной позиции.

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

1 8 5 2 9

Процесс декодирования данной хромосомы состоит в следующем: хромосома анализируется и определяется взаимно однозначное соответствие номера локуса и значения гена (адлели): 1 о 1; 2 о 8; 3 о 5; 4 о 2; 5 о 9. Аллели упорядочивается по возрастанию, а затем заменяются на соответствующие им локусы:

Хромосома: 1 8 5 2 9

Упорядоченная последовательность аллелей: 1 2 5 8 9

: 1 4 3 2 5

При упорядочивании по убыванию та же последовательность может быть представлена следующей хромосомой:

11 3 6 7 2

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

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

Например, при использовании в качестве опорного вектора <1, 2, 3, 4, 5>, приведенная последовательность может быть закодирована следующим образом:

3 5 1 5 2

В процессе анализа данной хромосомы получим следующий порядок перестановок: 1 о 3, 2 о 5, 3 о 1, 4 о 5, 5 о 2, применяя который к опорному вектору получим следующую последовательность преобразований:

:

:

1

2

3

4

5

]

результат перестановки:

1 о 3 3 2 1 4 5

2 о 5 3 5 1 4 2

3 о 1 1 5 3 4 2

4 о 5 1 5 3 2 4

5 о 2 1 4 3 2 5

В результате последней перестановки 5 о 2 получаем закодированную последовательность <1, 4, 3, 2, 5>.

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

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

, -

:

1 1 2 4 6 1 2 5 4

Кодирование без учета порядка элементов во множестве. Данный подход

, ,

кодируемая информация - количество повторений того или иного элемента. При таком подходе можно использовать числовую гомологичную хромосому, в которой длина хромосомы совпадает с числом допустимых элементов, локус - элемент , - . Следует обратить внимание, что сумма аллелей хромосомы должна совпадать с мощностью кодируемого множества. Если набор элементов составляют целые числа из диапазона [1, 9], то приведенное выше множество будет кодироваться сле-.

3 2 0 2 1 1 0 0 0

При прямом кодировании множества (с учетом порядка элементов) используется числовая гомологичная хромосома, в которой локус - позиция элемента в множестве, аллель - элемент из допустимого диапазона в данной позиции. Тогда :

1 1 2 4 6 1 2 5 4

При кодировании многомерной последовательности чисел анализируются за, п- . -

ды к кодированию многомерной последовательности на примере плоской (двумер-) . :

1 6 3

4 8 2

5 9 7

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

7 8 9

Т

6 1 2

Т і

5 4 3

Предложенный подход позволяет развернуть приведенное выше размещение (двумерную последовательность) в одномерную:

8 2 7 9 5 4 1 6 3

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

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

<1; 6; 3>

<4; 8; 2>

<5; 9; 7>

При координатном представление элементы, размещаемые в п-мерном пространстве не повторяются. Предлагается использовать векторную хромосому, в которой локус соответствует номеру элемента, а аллель - кортежу вида <х1; х2; ... хп> - определяющему “координаты” элемента. Тогда получим:

<1; 3> <3; 2> <3; 3> <1; 2> <1; 1> <2; 3> <3; 1> <2; 2> <2; 1>

Отметим, что кроме рассмотренных существуют и иные методы кодирования информации.

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

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Гринченко С.Н. Метод «проб и ошибок» и поисковая оптимизация: анализ, классификация, трактовка понятия «Естественный отбор» http://zhumal.ape.relam.ru/ аг11с1е1з/2003/104.р^.

2. Рутковская Д. Нейронные сети, генетические алгоритмы и нечеткие системы. - М.: Горячая линия - Телеком, 2007. - 452 с.

3. Бакапо М.А. Варианты представления различных типов данных, их кодирование и декодирование в виде хромосом // Известия ТРТУ. Тематический выпуск «Интеллектуальные САПР». - Таганрог: Изд-во ТРТУ, 2007. - С. 70-75.

4. Гладков Л.А., Курейчик В.М., Курейчик В.В. Генетические алгоритмы. - М.: Физмат-лит, 2006.

УДК 658.512

Б.К. Лебедев, В.Б. Лебедев, О.Б. Лебедев ЭВОЛЮЦИОННЫЕ МЕХАНИЗМЫ ТРАССИРОВКИ В КАНАЛЕ*

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

Рассматривается метод канальной трассировки (КТ), работающий с использованием процедур снижения пространственной сложности задачи трассировки.

При КТ каждая цепь, представляется в виде набора горизонтальных и верти. -, -ний (ГВО) Оу=(Х,и) и графа горизонтальных ограничений (ГГО) Он=(Х,Щ. Задача трассировки в канале рассматривается как задача распределения фиксированно-

* Работа выполнена при поддержке РФФИ (грант № 07-01-00174). 12

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