Генетические алгоритмы в MatLab

Изучение основ работы с Genetic Algorithm в MatLAB, исследование экстремумов функций с помощью генетических алгоритмов без включения операции мутации и кроссовера с установлением параметров Crossover fraction из вкладки Reproduction в 1.0 и в 0.

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

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

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

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

НИУ МЭИ

Лабораторная работа

По теме: Генетические алгоритмы в MatLab

Цель работы: изучение основ работы с Genetic Algorithm в MatLAB, исследование экстремумов функций с помощью генетических алгоритмов.

Установка без мутаций/ установка без кроссовера

Для того, что проконтролировать работу Генетического алгоритма без включения операции мутации, следует установить параметр Crossover fraction из вкладки Reproduction в 1.0.

Для того, что проконтролировать работу Генетического алгоритма без включения операции кроссовера, следует установить параметр Crossover fraction в 0. matlab генетический алгоритм кроссовер

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

· Tournament - случайно выбирается указанное число особей, среди них на конкурсной основе выбираются лучшие;

· Roulette - имитируется рулетка, в которой размер каждого сегмента устанавливается в соответствии с его вероятностью;

· Uniform - родители выбираются случайным образом согласно заданному распределению и с учетом количества родительских особей и их вероятностей;

· Stochastic uniform - строится линия, в которой каждому родителю ставится в соответствие её часть определенного размера (в зависимости от вероятности родителя), затем алгоритм пробегает пот линии шагами одинаковой длины и выбирает родителей в зависимости от того, на какую часть линии попал шаг.

Вкладка Reproduction уточняет каким образом происходит создание новых особей. Пункт Elite count позволяет указать число особей, которые гарантировано перейдут в следующее поколение. Пункт Crossover fraction указывает долю особей, которые создаются путем скрещивания. Остальная доля создается путем мутации.

Во вкладке критерия остановки (Stopping criteria) указываются ситуации, при которых алгоритм совершает остановку (см. Условия останова алгоритма).

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

· Best fitness - вывод наилучшего значения оптимизируемой функции для каждого поколения;

· Best individual - вывод наилучшего представителя поколения при наилучшем оптимизационном результате в каждом из поколений;

Distance - вывод интервала между значениями особей в поколении. Условия останова алгоритма. Для определения условий останова в генетическом алгоритме используются следующие пять условий:

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

Time limit - алгоритм останавливается по истечению некоего заданного времени в секундах Time limit.

Fitness limit - алгоритм останавливается тогда, когда значение функции пригодности для наилучшей точки для текущего семейства будет меньше или равно Fitness limit.

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

Stall time limit - алгоритм останавливается в случае, если нет улучшения для целевой функции в течение интервала времени в секундах равного Stall time limit.

Основными параметрами ГА являются:

· вероятность мутации;

· точность получения результата;

· количество итераций алгоритма или количество поколений;

· размер популяции.

Размер начальной популяции

10

50

100

500

1000

Вероятность кроссовера

1

-8,999(f(x))

-3.619

-0.613

-8,999

-7.705

-4.693

-8,999

-5.837

-2.835

-8,999

-1.061

1.938

-8,999

-7.292

-4.293

0,8

-8,999

-7.629

-4.628

-8,999

2.351

5.352

-8,999

-0.332

2.669

-8,999

1.516

4.516

-8,999

6.479

9.48

0,6

-8,999

4.883

7.883

-8,999

-12.305

-9.306

-8,999

1.957

4.955

-8,999

6.74

9.741

-8,999

-13.111

-10.111

0,3

-8,999

35.127

38.127

-8,999

0.243

3.245

-8,999

-2.898

0.097

-8,999

7.987

10.988

-8,999

23.533

26.534

0

-8,999

-25.046

-22.045

-8,999

-57.323

-54.323

-8,999

-22.22

-19.22

-8,999

-7.678

-4.678

-8,999

14.207

17.200

Лучший результат - N=100, CF - 0

Р-т

Второй наилучший результат был получен при N=500, CF=0.8.

Выводы

1. Увеличение размера начальной популяции увеличивает точность решения.

2. При создании популяции в которой 80 % особей получаются путём скрещивания, достигаются лучшие результаты.

3. При создании популяции в которой 0% особей получаются путем скрещивания существует бесконечно малый процент вероятности, что таким образом будет найдено наилучшее решение. Однако этот процент все же существует.

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

...

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

  • Изучение программирования в MATLAB. Использование команд Save и Load, операторы ввода и вывода для работы в командном окне. Отладка собственных программ. Интерфейс MATLAB. Отличия поздней версии MATLAB от более ранних. Средство Source Control Interface.

    контрольная работа [43,0 K], добавлен 25.12.2011

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

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

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

    презентация [359,2 K], добавлен 24.01.2014

  • Назначение и особенности системы MATLAB. Запуск программы, работа в режиме диалога, понятие о сессии, операции строчного редактирования. Формирование векторов и матриц. Графики ряда функций. Знакомство с трехмерной графикой. Интерфейс основного окна.

    учебное пособие [65,9 K], добавлен 17.03.2011

  • Создание матриц специального вида в Matlab: использование функций и анализ основного синтаксиса. Проведение вычислений с элементами массивов. Логические функции, поиск в массиве. Матричные и поэлементные операции. Операции "деления" слева и справа.

    презентация [189,4 K], добавлен 24.01.2014

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

    курсовая работа [391,4 K], добавлен 20.02.2008

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

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

  • Схема речеобразования у человека. Запись и считывание данных из речевого сигнала в MATLAB. Синтаксис вызова функции. Операции над звуковыми файлами. Исследование мужского и женского голосов. Спектрограммы голосов. Обработка речи в Simulink, Wavelet.

    контрольная работа [2,2 M], добавлен 18.04.2013

  • Разработка программного кода и алгоритма действий приложения "калькулятор". Использование функций в программе Matlab. Разработка кнопок, опций, интерфейса, оформление. Части кода Matlab и тестовый набор. Инструкция пользователя по работе программы.

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

  • Исследование линейных динамических моделей в программном пакете Matlab и ознакомление с временными и частотными характеристиками систем автоматического управления. Поиск полюса и нуля передаточной функции с использованием команд pole, zero в Matlab.

    лабораторная работа [53,1 K], добавлен 11.03.2012

  • Язык и среда Matlab. Управляемая графика. Библиотека математических функций. Программный интерфейс. Использование операторов при составлении выражений. Работа в командной строке. Команды save, load и clear. Рабочий каталог. Сохранение рабочей сессии.

    презентация [413,6 K], добавлен 14.11.2013

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

    контрольная работа [2,3 M], добавлен 14.11.2012

  • Побудова поверхней у математичному пакеті MATLAB по завданій системі рівнянь. Виконання розрахунків та графічних малюнків за допомогою функції surf, що є більш наглядною в порівнянні з plot3. Особливості інтерфейсу користувача даної задачі MATLAB.

    лабораторная работа [1,9 M], добавлен 28.08.2015

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

    контрольная работа [79,2 K], добавлен 31.05.2010

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

    статья [170,5 K], добавлен 01.05.2010

  • Процесс создания канального вокодера. Программа на языке Matlab, модель, созданная с помощью системы Matlab Simulink. Осуществление сжатия и восстановления речевого сигнала в реальном времени до уровня не более 4800 бит/с с удовлетворительным качеством.

    курсовая работа [393,7 K], добавлен 12.03.2009

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

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

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

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

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

    курсовая работа [27,9 K], добавлен 23.07.2011

  • Исследование систем управления в пакете Vissim. Частотный анализ типовых звеньев. Изучение устойчивости и качества переходных процессов системы управления при гибкой отрицательной обратной связи в Matlab. Cоздание передаточных функций звеньев и систем.

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

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