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