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