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