Научная статья на тему 'Задача коммивояжера и генетические алгоритмы'

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

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

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

Изучается генетический алгоритм решения задачи коммивояжера. Акцент делается на возможности его практического применения.

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

The author study a Genetic Algorithm for solution of Traveling Salesman Problem. The emphasis is done on the possibility of its practical applications.

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

РЕЗУЛЬТАТЫ

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

Показано, что выделение времени на обучение пропорционально ожидаемому времени усвоения приводит к постоянству качества обучения (10) как для основного объема знаний, так и для случая, когда выделяется дополнительное время при отсутствии полного усвоения основного объема знаний. Это позволяет описывать обучение как марковский процесс (30, 31).

Получены выражения для вероятностей качественного обучения (35, 40, 41), времени ожидаемых затрат на обучение (46) и дисперсии этой величины (50, 52).

ВЫВОДЫ

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

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

Выделение времени на обучение пропорционально

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

Дальнейшие исследования в этом направлении должны включать себя определения условий описания процесса в виде цепей Маркова в случае, когда при выделении дополнительного времени на обучение изменяется параметр а , либо 1 и одновременно, что повлечет за собой изменения выражений (9-20). Для достижения постоянства вероятностей переходов между состояниями процесса обучения необходимо будет определить закон в изменения коэффициента | в выражениях (8) и (14).

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

ПЕРЕЧЕНЬ ССЫЛОК

1. Феллер В. Введение в теорию вероятностей и ее приложения. В 2-х томах. Пер. с англ. - М.: Мир, 1984. -1266с.

2. Вентцель Е.С. Теория вероятностей. М.: Наука, 1964. -576с.

3. Справочник по специальным функциям / Под ред. М. Абра-мовица и И. Стиган. -М.: Наука, 1979. - 832с.

4. Янке Е., Эмде Ф., Леш Ф. Специальные функции. М.: Наука, 1977. - 344с.

5. Гмурман В.Е. Руководство к решению задач о теории вероятностей и математической статистике. М.: Высшая школа, 1975. - 336с.

6. Muller Fritz. Ein Versuch zur wahrscheinlichkeitstheoretischen Erklärung der wissenschaftlichen Produktivität. - Elektron. Informationsverarb. und Kybern., 1974, 10, №1, s.53-64.

7. Кемени Дж., Снелл Дж. Конечные цепи Маркова. М.: Наука, 1970. - 272с.

УДК 517.977.1

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

В.М.Гавриляко

Изучается генетический алгоритм решения задачи коммивояжера. Акцент делается на возможности его практического применения.

Вивчаеться генетичний алгоритм розв'язання задачг ко-мгвояжера. Акцент робиться на можливостг його практичного застосування.

The author study a Genetic Algorithm for solution of Traveling Salesman Problem. The emphasis is done on the possibility of its practical applications.

В данной работе рассматривается известная задача оптимизации - задача коммивояжера (ЗК), которая принадлежит к числу NP - полных задач, являющихся трудноразрешимыми с вычислительной точки зрения. Известно,

что время нахождения точного решения путем перебора всех возможных вариантов имеет астрономический порядок. Поэтому один из возможных подходов к практическому решению этой задачи состоит в использовании эвристических алгоритмов. В этом случае, как известно, отсутствуют привычные обоснования применимости метода. "Правдоподобные рассуждения, наша интуиция, опыт и машинный эксперимент - вот пока те оправдания эвристики, которыми мы располагаем" [1]. Изучаемый в работе эвристический алгоритм позволяет найти, вообще говоря, локальный минимум в ЗК с помощью моделирования на компьютере законов генетики и естественного отбора Ч. Дарвина. Впервые идея этого алгоритма была предложена Дж. Холландом [2] и названа им "генети-

ческий алгоритм (ГА)". ГА является алгоритмом прямого поиска (методом оптимизации на основе сопоставления значений функций в пробных точках). В настоящее время с помощью генетического алгоритма решен ряд практических задач [2,4,5,7,8].

Основная концепция классической генетики - ген -была введена Менделем с целью объяснения наблюдаемой статистики наследования [3]. Носителями генов в клеточном ядре являются нитевидные тела, называемые хромосомами. Место, занимаемое геном в хромосоме, носит название локус. Схематически можно представить себе хромосому как прямолинейный отрезок, а локусы -как последовательные участки на которые этот отрезок разбит. Статистически действия генов проявляются в достаточно больших сообществах организмов, скрещивающихся между собой. Такие сообщества биологи называют популяциями. Популяция существует не только в пространстве, но и во времени. Основой этого существования является репродукция путем скрещивания. Часто можно считать, что вся популяция состоит в пространстве и времени из дискретных поколений Fo,F\,F2,. Поколение F+1 - это совокупность особей, родители которых принадлежат поколению Fj, поколение F0 фиксируется априори. Мы будем рассматривать такие популяции, у которых для любого состояния z в поколении F однозначно определено состояние Z , возникающее в следующем поколении F путем скрещивания и отбора. В данной работе понятия "особь, организм" мы отождествляем с понятием "хромосома". Отображение V, определяемое уравнением Z = Vz, называют эволюционным оператором [3]. Обычно требуют, учитывая биологический смысл эволюционного оператора, непрерывность отображения V, для того, в частности, чтобы обеспечить устойчивость при замене вероятностей близкими к ним частотами. Тогда рассматриваемую популяцию можно считать динамической системой на компактном подмножестве конечномерного пространства [3]. Неподвижные точки эволюционного оператора V называют равновесными состояниями популяции. Они существуют в силу известной топологической теоремы Брауэра. Генетический алгоритм позволяет находить эти состояния популяции: "Работу алгоритма прекращаем при достижении популяцией состояния адаптации, идентифицииру-емому по стягиванию ядра популяции сначала в плотное облачко, а затем в точку. Кроссинговер как механизм изменчивости теряет в таких условиях свою силу - при скрещивании идентичных родителей потомок ничем не будет отличаться ни от одного из них."[5]. По сути дела этот эвристический алгоритм опирается на используемую в динамике отбора восходящую к R. A. Fisher [6] фундаментальную теорему о возрастании средней приспособленности популяции в ходе естественного отбора. Если определить для каждой популяции функционал качества (фитнес), то неподвижные точки эволюционного оператора будут соответствовать точкам его локального экстремума. К сожалению, нельзя с уверенностью утверждать, что найденное решение дает глобальный экстремум.

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

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

В теории ГА существенным является выбор кодировки чисел (номеров городов). Для задачи коммивояжера кодировка выбрана десятичной. Эффективность применения ГА к ЗК зависит также и от настройки операторов мутации и кроссинговера. Мутация, как незначительное (точечное) случайное изменение в хромосоме может осуществляться несколькими способами. Наиболее распространенным является выбор двух случайных ген и их обмен местами [2,4,5,7]. Нами была использована другая схема: если в хромосоме случайным образом выбран ген с номером [, то он меняется местом с геном с номером и+1-/. Цель оператора мутации - расширение пространства поиска за счет случайных точечных изменений в хромосоме. В классическом варианте [4] действие оператора кроссинговера состоит в следующем: выбираются две определенные хромосомы (случайным образом), далее также случайным образом определяется точка кроссинго-вера и происходит обмен участками хромосом.

Пример

3 2 1 4 5 Г 3 2 4 1 3 5 2 4 1 3 Г 5 2 1 4 5

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

Пример:

3 2 1 6| 4 7 8 5 |9 12 10 11 3 2 1 6| 5 8 7 4 |9 12 10 11

На компьютере был реализован следующий алгоритм: Шаг 1. Задается размер популяции M, вероятность кроссинговера Pn, вероятность мутации Pm, определяется критерий конца вычислений: количество итераций N (т.е. количество популяций П). Шаг 2. Задается начальная популяция П(0). Шаг 3. k=0.

Шаг 4. К каждой хромосоме популяции n(k) применяются операторы кроссинговера и мутации. Шаг 5. k=k+1. Шаг 6. Если k<N то возвращаемся к шагу 4, иначе Шаг 7. Вывод на печать результатов вычислений Приведем результаты некоторых численных экспериментов. На рис.1 приведен пример маршрута коммивояжера по 100 городам.

TSP report for current task. Population Size =400

First population The ending populations Bad travel: 273759 50695 Average travel: 251 076 50684 Best travel: 221144 49696 Using time: 374368 mlsec equal 49696 km На рис.2 представлен результат работы этой же программы для 11 городов.

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

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

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

Интересен крайний случай, когда популяция состоит только из одной особи (рис.3-5).

На рис.3 представлено расположение 35 городов, на рис. 4 итоговый маршрут коммивояжера, на рис. 5 представлен график изменения функционала качества (фитнес).

Рисунок 1

Рисунок 2

Рисунок 3

О 2000 4000 6000 8000 10000 Рисунок 4

Рисунок 5

Рисунок 6

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

Выполняя расчеты с помощью генетического алгоритма заданное число раз с одним и тем же набором городов, мы имеем возможность выбрать минимальный из локальных минимумов. Как показывают эксперименты, при п < 20 достаточно 5-6 запусков программы, для того чтобы с 95-процентной вероятностью получить глобальный минимум. Однако при увеличении количества городов вопрос о точном решении снимается и возникает вопрос о величине погрешности генетического алгоритма. К сожалению, данная проблема практически не поддается точному анализу. Результаты экспериментов (размер популяции равен одной хромосоме) приведены также на рис.6, где размещены элементы контроля и исследуемый набор из 80

городов. По результатам испытаний построена гистограмма и найдено математическое ожидание и среднее квадратическое отклонение. Математическое ожидание в данном случае равно 88075, а среднее квадратическое отклонение равно 2450, что составляет 2.78% от математического ожидания. Для городов, количество которых не превышает 50, большое количество экспериментов показало, что среднее квадратическое отклонение не превосходит 5% математического ожидания. Это дает возможность оценить погрешность результатов генетического алгоритма как практически хорошую. Метод генетических алгоритмов позволил нам также численно решить ряд принципиально разных по своей природе прикладных задач: найти решение системы негладких уравнений, возникающих в задачах оптимального управления при использовании принципа максимума Понтрягина [8], решить некоторые задачи целочисленного программирования. Однако ГА, как и другие методы эволюционных вычислений, не гарантируют обнаружение глобального экстремума за полиномиальное время. Эти алгоритмы хороши для получения "достаточно хорошего" решения задачи за "достаточно хорошее" время.

ПЕРЕЧЕНЬ ССЫЛОК

1. Моисеев H.H. Элементы теории оптимальных систем. М.: Наука, 1975. - 526 с.

2. Holland J.H. Adaptation in Natural and Artificial Systems: An Introductory Analysys with Application to Biology, Control and

5.

6.

7.

Artificial Intelligence. University of Michigan, 1975.

3. Любич Ю.И. Математические структуры в популяционной „ генетике. К.: Наук.думка, 1983. - 296 с. .

4. Goldberg D.E. Genetic Algorithms in Search, Optimization and Machine Learning. Addison - Wesley Publishing Company, Inc., 1989.

Вороновский Г.К.,Махотило К.В.,Петрашев С.А., Сергеев С.А. Генетические алгоритмы, искусственные нейронные сети и проблемы виртуальной реальности. Харьков: Основа, 1997. - 112 с.

Fisher R.A. The genetical theory of natural selection. -Oxford: Clarendon press, 1930. - 362 p.

Батищев Д.И. Генетические алгоритмы решения экстремальных задач. Воронеж: ВГТУ, 1995 Гавриляко В.М., Соколов А.В. Численное решение негладких уравнений в задаче быстродействия // Вюник Харювського ушверситету, сер. Математика, прикладна математика i мехашка. - 2002. - № 542. - С.145 - 148.

УДК 004.518

РАЗРАБОТКА И ИССЛЕДОВАНИЕ ИЕРАРХИЧЕСКИХ АГЛОМЕРАТИВНЫ1Х АЛГОРИТМОВ РАЙОНИРОВАНИЯ

А.В.Заварзин, В.И.Месюра

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

На данных в разрезе субъектов Российской Федерации (89 объектов) и в разрезе избирательных округов Российской Федерации (порядка 2500 объектов) проведены многочисленные эксперименты. Исследованы оптимальные варианты реализации и ход районообразования агломеративных иерархических алгоритмов районирования.

In this article the problem of regionalization is examined, i.e. the problem of classification of the multivariate spatial data with the conditions on a geographical contiguity of classes (regions). Classical agglomerative methods of hierarchical classification are given. Agglomerative algorithms of regionaliza-tion are developed and realized for the classical methods .

The number of experiments are carried out on the attributive data of subjects of the Russian Federation (89 objects) and of constituencies of the Russian Federation (about 2500 objects). Optimum ways of realization and interim classes (regions) properties of agglomerative hierarchical regionalization algorithms are investigated.

ПОСТАНОВКА ЗАДАЧИ РАЙОНИРОВАНИЯ

Объектом классификации в географии является ОТЕ -операционно-территориальная единица (Трофимов и др., 1985, стр. 13). В качестве ОТЕ могут выступать, например, административно-территориальные единицы, населенные пункты, ячейки регулярной или нерегулярной сетки, наложенной на исследуемую территорию. Обозначим все множество ОТЕ символом O = {0i,...,0N}, где Oj - i -я ОТЕ, N - количество ОТЕ.

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

на друга в некотором смысле, однородны, а ОТЕ из разных классов - максимально "отличаться".

Будем называть ] -м классом подмножество ОТЕ Б1 = {аг] е 0\] е 1,...,Щ с О , где N1 = ^ < N - количество ОТЕ 1 -го класса.

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

1. £ = {е 1,...,К} , т.е. £ состоит из К классов.

2. £ п = 9 V/,] е {1,...,К} , где 9 - пустое множество.

3. ф 9 т.е. |£г| > 0 V/ е{ 1,...,К} .

К К

4. и = О, \ N1 = N.

/ = 1 1 = 1

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

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

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