- •Глава 4. Апробация предложенного метода на ряде задач 50
- •Введение
- •Глава 1 Обзор генетических алгоритмов и клеточных автоматов
- •Основные определения
- •Генетический алгоритм
- •Генетическое программирование
- •Стандартные операции скрещивания
- •Стратегии отбора нового поколения
- •Модели генетических алгоритмов
- •Клеточный автомат, его определение и свойства
- •Постановка задачи
- •Глава 2. Строение хромосомы клеточного автомата для генетического программирования
- •Строение хромосомы клеточного автомата
- •Генетические операции
- •Операции скрещивания
- •Операция скрещивания с использованием хранилища хромосом.
- •Операция инъекции хромосом
- •Операция мутации
- •Выводы по главе 2
- •Глава 3. Применение генетического алгоритма для генерации клеточных автоматов на основе тестовых наборов
- •Недостатки существующих генетических алгоритмов при решении поставленной задачи.
- •Генетический алгоритм
- •Генетические операции
- •Режимы работы генератора
- •Нормальный режим работы генератора
- •Форсированный режим работы генератора
- •Режим доводки
- •Обработка некорректных автоматов
- •Упрощение клеточных автоматов
- •Фитнесс-функция
- •Генетическая модель
- •Островная модель
- •Каскадная модель
- •Отбор нового поколения
- •Выводы по главе 3
- •Глава 4. Апробация предложенного метода на ряде задач
- •Структура генератора клеточных автоматов
- •Игры на двумерном поле
- •Клеточный автомат для модификации текстурных раскладок
- •Выводы по главе 4
- •Заключение
- •Список публикаций
- •Литература
Операция мутации
Операция мутации состоит в том, что производятся случайные изменения в произвольных генах особи. Все варианты операции мутации в данной работе являются в модифицировании какого-либо гена хромосомы, то есть производят модифицирование поддерева в хромосоме.
Ниже описаны некоторые из используемых подопераций мутации:
добавление нового перехода или полное замещение уже существующего перехода на случайно сгенерированный, при этом новый переход состоит только из условия, действия при этом переходе не выполняются;
удаление уже существующего перехода. Этот вариант в большинстве случаев может быть полностью исключен из конфигурации операции мутации, так как в процессе скрещивания часто происходит обмен переходами, когда один из переходов является пустым;
мутация существующего перехода:
мутация действий:
изменение действия на переходе;
добавление случайного действия;
удаление уже существующего действия;
мутация условий, следующие варианты применяются как на условия, учитывающие состояний окружающих клеток, так и на условия, содержащие деревья разбора:
изменения случайного условия на переходе;
добавление случайного условия;
удаление уже существующего условия;
обмен переходами между двумя состояниями.
Для генов условий и действий, содержащих деревья разбора, были применены следующие варианты мутаций (рис. 11):
Изменение типа операции в вершине (например: с операции «+» на «-»);
Изменение значения в вершине;
Замена какого-либо поддерева на случайное поддерево;
Замена вершины использования переменной в клеточном автомате:
на использование другой переменной;
на случайное поддерево;
на случайную константу.
Рис. 11. Примеры мутаций деревьев разбора
В процессе разработки операции мутации хромосом были опробованы два подхода работы с исходной хромосомой:
Операция мутации проводится над копией хромосомы, родительская хромосома тоже участвуют в отборе;
Операция мутации проводится над копией хромосомы, родительская хромосома исключается из отбора, но может участвовать в других генетических операциях;
Операция мутации проводится над родительской хромосомой, которая остается в популяции.
При апробации было установлено, что второй вариант в большинстве задач дает лучше результаты, чем остальные.
Выводы по главе 2
Разработана удобная форма представления произвольного клеточного автомата для генетического алгоритма. Описаны основные генетические операции для разработанного представления, разобраны их вариации,
Глава 3. Применение генетического алгоритма для генерации клеточных автоматов на основе тестовых наборов
В этой главе описан разработанный для решения поставленной задачи генетический алгоритм. Дано обоснование его преимущества над стандартной реализацией генетического алгоритма.
Недостатки существующих генетических алгоритмов при решении поставленной задачи.
Одной из проблем в применении генетического подхода для генерации клеточных автоматов стало вырождение популяции, то есть такой ситуации, когда выделяется один-единственный генотип, который представляет собой локальный максимум, а затем все элементы популяции проигрывают ему отбор, и вся популяция «забивается» копиями этой особи.
Из-за схожего строения хромосом, операция скрещивания становится мало полезной, и вероятность получить хромосому, которая лучше решает поставленную задачу, сильно падает. Следовательно, для сокращения время работы алгоритма надо как-то бороться с этой проблемой.
Другой проблемой является такое состояние популяции, когда лучшее значение функции приспособленности не меняется на протяжении большого числа поколений, такое состояния является стагнацией генетического алгоритма.
В данной работе рассматриваются несколько способов преодолеть описанные выше недостатки:
специальный генетический алгоритм, который состоит из нескольких режимов работы;
модифицированный алгоритм скрещивания хромосом;
алгоритм каскадной фитнесс функции;
специальный алгоритм отбора нового поколения;
упрощение клеточных автоматов.
Все эти модификации позволяют улучшить «сходимость» генетического подхода при решении поставленной задачи.
Создание начального поколения.
Начальное поколение состоит из фиксированного числа случайно генерированных автоматов. Все автоматы в поколении имеют одинаковое наперед заданное количество состояний, но количество переходов между состояниями и условия переходов и действия задаются случайным образом. Таким образом, все начальное поколение не содержит каких-либо наперед заданных хромосом.