Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ГА / ГА / tikhomirov.docx
Скачиваний:
69
Добавлен:
26.04.2015
Размер:
1.11 Mб
Скачать

Выводы по главе 3

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

Глава 4. Апробация предложенного метода на ряде задач

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

    1. Структура генератора клеточных автоматов

Для апробации предложенного генетического алгоритма, описанного во второй и третьей главах, была написана библиотека на языке программирования Java. При реализации использовались следующие открытые библиотеки: Jgap, Jung, Jep, Junit, JFreeChart.

Ниже предложена схема взаимосвязей между хромосомой и генами в реализации (рис. 18).

Рис. 18. Взаимосвязи между хромосомой и генами

Видна древовидная структура хромосомы и наличие различных видов генов условий – “DataConditionGene” и “PrimaryConditionGene”.

Ниже предложена упрощенная схема строения генератора (рис. 19):

Рис. 19. Упрощенная схема строения генератора

Manager – главная управляющая структура, управляющая процессом генерации. Island – класс, управляющий работой отдельного острова.

    1. Игры на двумерном поле

В этом разделе описана апробация разработанного метода для генерации клеточных автоматов для игр на двумерном поле. Основным отличием таких клеточных автоматов является то, что они не хранят в себе данных и меняют свое состояние только в зависимости от состояний окружающих ячеек.

Для тестового примера была поставлена задача получить клеточный автомат, зная только состояния клеток на каждом конкретном шаге расчетов. Для этого брался случайный эталонный автомат, количество состояний которого варьировалось в пределах от пяти до восьми, и на основе него генерировались тестовые наборы. Для ускорения расчетов функции приспособленности, все тестовые наборы имели размеры тестового поля 40x40.

Для генерации автоматов игр на двумерном поле использовались следующие настройки генератора:

  • число островов: 1 – 4;

  • вероятность мутации: 0.1;

  • число особей на острове: 50;

  • доля элитизма: 0.1;

  • период миграции: 50;

  • используемые модели:

    • стандартный режим работы: турнирный отбор;

    • форсированный режим работы: элитизм + турнирный отбор;

    • режим доводки решения: эволюционная стратегия.

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

Если применить метод полного перебора, то число перебранных автоматов соответствует следующей формуле:

;

.

n – число состояний клеточного автомата, а – радиус, в котором окружающие клетки () могут влиять на состояние текущей клетки.

Ниже предложена таблица значения приR = 1, то есть значение равняется восьми:

  • n = 5, ;

  • n = 6, ;

  • n = 7, ;

  • n = 8, ;

Из предложенных выше значений полного перебора вариантов, очевидно, что метод полного перебора для поставленной задачи является невыполнимым уже при малых значениях числа состояний клеточного автомата.

Исходное состояние

Конечное состояние

Условие перехода из исходного в конечное состояния

0

1

n(1)>2 & n(1)<4

1

0

n(1)<2

1

2

n(1)>3

2

0

n(1)<2

2

3

n(2)>3

3

0

n(1)<2

3

4

n(3)>4 & n(0)<3

4

0

n(2)<3

Таблица. 1. Пример клеточного автомата

На рис. 20 предложен график зависимости значения функции приспособленности от номера поколения для генерации клеточного автомата из 5 состояний (таблица 1).

Рис. 20. График зависимости значения функции приспособленности от номера поколения (абсолютное значение фитнесс-функции)

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

Также было установлено, что на быстродействие описанного в данной работе генетического алгоритма влияет наличие точных условий, содержащихся в клеточном автомате. Ниже представлена таблице 1, в которой представлены значения числа вычисления функции приспособленности для двух клеточных автоматов, отличающихся всего одним условием:

  • n(3)=3 , у первого выращиваемого эталона

  • n(3)<3 , у второго выращиваемого эталона

Таблица 2. Сравнение времени работы генератора для генерации эталонов с различием в одном условии

Nmin

Navg

Nmax

Automata 1

23594

30173

44862

Automata 2

27106

52315

102411

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