Генетический алгоритм с оценкой временных рядов

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

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык русский
Дата добавления 18.01.2018
Размер файла 25,7 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Генетический алгоритм с оценкой временных рядов

ВВЕДЕНИЕ

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

Описанные выше методики повышают способность ГА к этапу поиска области оптимума. С другой стороны, поисковые способности алгоритма на этапе отыскания точного значения оптимума в пространстве решения снижаются. Разделение этапов во времени соответствует известному соотношению Парето 20/80 (первый и второй этапы соответственно). В теории ГА это соотношение известно как правило Рехенберга.

1. АНАЛИЗ ЛИТЕРАТУРЫ

Для привнесения в ГА способности к настройке собственной структуры и/или параметров разработаны так называемые адаптивные алгоритмы. К ним можно отнести: адаптивное изменение параметров скрещивания, адаптивное изменение размера популяции, а также введение нечеткости в блок управления ГА. Рассмотрим эти решения подробно.

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

Другой способ динамически изменять область поиска решения заключается в модификации оператора кроссинговера. Так, в работе [4] делается вывод о высоких качествах BLX- кроссинговера, который за счет случайных вариаций позволяет расширить исследуемое пространство решений. Однако такой кроссинговер с большей вероятностью разрушает устоявшиеся сочетания генов (схемы) [5].

Расширением приведенного выше подхода можно назвать предложенную Спирсом в работе [6] методику динамически менять тип кроссинговера. Таким образом, если в начале жизни популяции имеет смысл с достаточно большой вероятностью разрушать схемы, то по мере нахождения глобального оптимума устойчивость схем следует динамически повышать. Как страховка от попадания в локальные оптимумы возможно также динамически уменьшать устойчивость геномных схем по мере стабилизации приспособленности лучшего представителя популяции. Там же предложен и другой подход - тип оператора кроссинговера заносится в специальный битовый ген и добавляется к основному генному набору каждого представителя популяции.

Другой подход к изменению как параметров скрещивания, так и вероятности и величины мутации, основан на исследовании естественного мутационного процесса в природе. В работе [7] было замечено, что как расположение точек кроссинговера, так и вероятность мутации, случайными назвать нельзя. Зависимость наблюдается в связи с расположением гена в хромосоме. Таким образом, в хромосоме можно выделить более и менее подверженные изменениям генные зоны. Попадание в так называемые «холодные» зоны может полностью исключить изменение гена в поколении. В ГА подобная методика использована в работе [2].

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

К типу адаптивных ГА можно отнести и SANUX - статистический алгоритм, предложенный в 2002 году Янгом [10]. Это ГА с бинарным кодированием, основанный на предположении, что в процессе жизни популяции по мере сходимости алгоритма аллели хромосом стремятся к некоторому определенному оптимальному значению (0 или 1). И, следовательно, по статистике истории изменения значения генов можно сделать предположение о направленности отбора. Отдельным направлением в развитии ГА является использование нечетких правил управления динамически изменяемыми параметрами алгоритма. Так, используемая в стандартных ГА линейная зависимость параметров скрещивания заменяется на нечеткую функциональную зависимость. Вид такой зависимости задается с привлечением эксперта. [11]

2. ГЕНЕТИЧЕСКИЙ АЛГОРИТМ НА ОСНОВЕ ОЦЕНКИ ВРЕМЕННЫХ РЯДОВ

В классической реализации ГА реализуется действие естественного отбора (ЕО) на уровне индивидов. В нишевых алгоритмах, кроме того, учитывается и ЕО на уровне ниш. Однако достаточно распространенная в микробиологии точка зрения на ЕО, как на отбор генов [12] в ГА распространение не получила.

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

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

П1: Если история гена нестабильная То вероятность его наследования невелика.

П2: Если приспособленность индивида хорошая То вероятность его наследования достаточно велика

Второе нечеткое правило введено с целью предотвратить попадание в локальный оптимум.

Стабильность истории гена будем определять по контрольным картам Шухарта (ГОСТ Р 50779.40-96), которые предназначены для статистического анализа и управления качеством технологических процессов.

Карты Шухарта используются для определения, находится ли процесс в статистически управляемом состоянии. Для достаточно надежного расчета требуется не менее 20-30 параметров - членов временного ряда исследуемого процесса, которые откладываются по оси Y. Практическое использование карт Шухарта основывается на утверждении, что чем статистически управляемей процесс, тем выше его качество и тем меньше ошибок в течение процесса.

Карты Шухарта составляются следующим образом:

1. Производится временная выборка исследуемого параметра процесса.

2. Составляется 2-мерная матрица данных размерностью , где N-длина временного ряда. Таким образом, первая строка матрицы - временной вектор параметра, вторая строка - время.

3. Строится тренд с использованием какого-либо из методов аппроксимации (например, с использованием метода наименьших квадратов). Если же нет необходимости учитывать тренд процесса, то строится медиана как

,

где N - длина временного ряда.

4. Рассчитывается среднеквадратичное отклонение от среднего значения (либо тренда), как

,

где N - длина временного ряда.

5. Если полосу допуска не попадает более чем 0.7% членов временного ряда, то процесс считается статистически неуправляемым. И, следовательно, требуется внешнее управление процессом для повышения его качества. Для более жесткого управления качеством процесса используется следующее соотношение: если полосу допуска не попадает более, чем 5.54% членов временного ряда, то процесс считается статистически неуправляемым.

Стандартное использование карт Шухарта предполагает четкое управление процессом. В предлагаемом алгоритме используется следующее четкое правило управления:

l Если временной ряд гена является статистически неуправляемым, То скачкообразно повысить коэффициент мутации до значения M*K с последующим динамическим снижением до прежнего уровня:

;

l Иначе динамически понижать коэффициент мутации до значения

,

где K - эмпирически выбрано равным 2.0, N- длина временного ряда, - значение коэффициента мутации в момент времени t.

Управление коэффициентом мутации проводится раз в N поколений.

Также можно предложить следующее четкое правило управления ГА на основе карт Шухарта:

l Если временной ряд приспособленности лучшего представителя популяции является статистически неуправляемым, То скачкообразно повысить коэффициент размер популяции до значения P*K с последующим динамическим снижением до прежнего уровня:

;

l Иначе динамически понижать коэффициент мутации до значения

.

где K - эмпирически выбрано равным 2.0, N- длина временного ряда, - размер популяции в момент времени t.

Управление размером популяции проводится раз в N поколений.

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

Таким образом, правила управления преобразуются к виду:

l Если временной ряд гена является значительно статистически неуправляемым, То скачкообразно повысить коэффициент мутации на значительно большую величину с последующим динамически плавным снижением до прежнего уровня в течение N поколений;

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

Где курсивом выделены нечеткие переменные, полужирным шрифтом выделены функциональные части правила.

Управление коэффициентом мутации проводится раз в N поколений.

Для управления же размером популяции можно предложить следующие нечеткие правила управления ГА на основе карт Шухарта:

l Если временной ряд приспособленности лучшего представителя популяции является значительно статистически неуправляемым, То скачкообразно повысить размер популяции на значительно большую величину с последующим динамически плавным снижением до прежнего уровня в течение N поколений;

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

Управление размером популяции проводится раз в N поколений.

3. ГЕНЕТИЧЕСКИЙ АЛГОРИТМ С ПРЕДСКАЗАНИЕМ

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

,

где P - глубина прогноза (временной интервал из прошлых значений гена, выраженный в единицах поколений), , N - длина генома.

Алгоритм ГА с предсказанием запишем следующим образом:

l Если временной ряд i-го гена лучшего представителя популяции управляем по Шухарту за последние L поколений

l То добавить в популяцию особь, геном которой составлен из предсказанных значений генов на K поколений вперед, где значения L и K выбираются пользователем, и, как правило, удовлетворяют следующим граничным условиям:

L > 15, 15 > K > 5.

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

4. ЭКСПЕРИМЕНТ

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

1.,

где N (длина генома) - 50, размер популяции - 20, начальный разброс значений задан на отрезке [-10;10], точность - 0.1

2.,

где N (длина генома) - 25, размер популяции - 60, начальный разброс значений задан на отрезке [-5.12;5.12], точность - 0.001

Для первой функции количество поколений в среднем составило 501 и 414 для стандартного ГА и для ГА с предсказанием соответственно. Для второй 337 и 261 соответственно. Таким образом, можно сказать, что ГА с предсказанием обладает на 15-20% большей сходимостью, чем классический ГА.

ЗАКЛЮЧЕНИЕ

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

ЛИТЕРАТУРА

генетический алгоритм временный ряд

1. Holland J.H. Adaptation in natural and artificial systems / The University of Michigan Press, 1975.

2. Back T. The interaction of mutation rate, selection, and self-adaptation within genetic algorithm / Parallel problem solving from nature 2, Elsevier Science Publishers, Amsterdam, 1992.

3. Herrera F., Lozano M. Adaptation of genetic algorithm parameters based on fuzzy logic controllers.

4. Herrera F., Lozano M., Verdegay J.L. Tackling Real-Coded Genetic Algorithms: Operators and Tools for Behavioural Analysis, 1996 / Department of Computer Science and Artifcial Intelligence University of Granada, Spain.

5. Goldberg D.E., Sastry K. A Practical Schema Theorem for Genetic Algorithm Design and Tuning / Illinois Genetic Algorithms Laboratory, 2001.

6. Spears W.M. Adapting crossover in a genetic algorithm.

7. Gorlov I.P., Ladygina T.Yu., Serov O.L., Borodin P.M. // Heredity, 1991.-V.66. -P.453-458.

8. J.E. Baker. An analysis of the effects of selection in genetic algorithms / Doctoral dissertation, University of Vanderbilt, 1985

9. Mahfoud S.W. Niching methods for genetic algorithms / IlliGAL Report No. 95001, 1995

10. Yang S. Adaptive crossover in genetic algorithms using statistic mechanism. / Artificial Life VIII, Standish, Abbass, Bedau (eds)(MIT Press), 2002.

11. Ярушкина Н.Г. Основы теории нечетких и гибридных систем / Учебное пособие. -М.: Финансы и статистика, 2004.

12. Грант В. Эволюционный процесс: Критический обзор эволюционной теории / перевод с англ. М.: Мир, 1991.

13. Шмальгаузен И.И. Избранные труды. Организм как целое в индивидуальном и историческом развитии. - М.: Наука, 1982. -С.348-372.

14. Шишкин М.А. Индивидуальное развитие и уроки эволюционизма / Онтогенез, 2006. - Т. 37. - С179-198.

Размещено на Allbest.ru

...

Подобные документы

  • Формализованное описание закона Pearson Type V. Характеристика методов получения выборки с распределением Pearson Type V. Исследование временных рядов с шумом заданным Rayleigh. Экспериментальное исследование средней трудоемкости Pirson Type V и Rayleigh.

    курсовая работа [4,5 M], добавлен 20.06.2010

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

    отчет по практике [1,9 M], добавлен 27.03.2011

  • Анализ временных рядов. Разработка программы для среды визуального проектирования Borland Delphi 7.0. Математическая формулировка задачи. Структурная схема программы. Описание реализации технологии COM, динамических библиотек, возможностей программы.

    курсовая работа [4,3 M], добавлен 14.11.2010

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

    лабораторная работа [20,2 K], добавлен 03.12.2014

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

    курсовая работа [1,7 M], добавлен 05.11.2013

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

    курсовая работа [527,2 K], добавлен 28.05.2009

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

    реферат [140,1 K], добавлен 19.10.2008

  • Краткая характеристика PI System и контура управления tic-104. Анализ и планирование требований к модулю tic-104. Проектирование модуля tic-104. Внедрение модуля в приложение PI ProcessBook. Доступ к данным временных рядов PI. Модульная база данных.

    курсовая работа [38,1 K], добавлен 09.05.2011

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

    курсовая работа [1,3 M], добавлен 09.01.2017

  • Работа в Pascal, теория рядов. Главные признаки сходимости знакоположительных рядов. Общее понятие о ряде Тейлора. Вычисление конечной суммы факториального ряда для заданного массива значений. Исходный текст программы. Результаты выполнения программы.

    контрольная работа [1,6 M], добавлен 06.08.2013

  • Инициализация переменных архитектурным элементам микропроцессора КР580ВМ80А и портам ввода-вывода в общем алгоритме. Составление карты памяти микропроцессорной системы для реализации программы. Анализ соответствия временных и точностных характеристик.

    курсовая работа [217,6 K], добавлен 27.11.2012

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

    реферат [1014,2 K], добавлен 14.01.2016

  • Общая структура микропроцессора. Жизненный цикл программного обеспечения. Проектирование схемы операционного блока, создание временных диаграмм с использованием средств Microsoft Office и в среде OrCAD. Разработка алгоритма хранения значений констант.

    курсовая работа [839,5 K], добавлен 24.07.2013

  • Определение и описание "генетического алгоритма", идея которого состоит в организации эволюционного процесса, конечной целью которого является получение оптимального решения в сложной комбинаторной задаче. Пример его тривиальной реализации на C++.

    контрольная работа [172,1 K], добавлен 24.05.2010

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

    курсовая работа [39,3 K], добавлен 29.10.2012

  • Построение математической модели, описывающей движение тела. Составление алгоритма расчёта и визуализации временных диаграмм скорости, пути и движущей силы. Листинг программы, реализующей представленный алгоритм расчёта и построение графиков V, S и F.

    контрольная работа [102,4 K], добавлен 05.11.2012

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

    курсовая работа [2,9 M], добавлен 20.08.2009

  • Описание генетических алгоритмов. Применение генетического алгоритма для решения задачи коммивояжера. Постановка задачи безусловной оптимизации. Изучение распространения генетических алгоритмов на модель с несколькими взаимодействующими популяциями.

    дипломная работа [979,1 K], добавлен 30.05.2015

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

    дипломная работа [1,9 M], добавлен 21.06.2014

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

    курсовая работа [1,6 M], добавлен 18.11.2011

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.