В.А. Кулев
Научно-технический вестник Санкт-Петербургского государственного университета
информационных технологий, механики и оптики, 2011, № 2 (72)
57
УДК 004.4’242
АВТОМАТИЧЕСКИЙ ПОДБОР ПАРАМЕТРОВ ВНЕШНЕЙ СРЕДЫ
ПРИ ГЕНЕРАЦИИ АВТОМАТНЫХ ПРОГРАММ С ПОМОЩЬЮ
ГЕНЕТИЧЕСКИХ АЛГОРИТМОВ
В.А. Кулев
Предлагается новый метод генетического программирования, позволяющий улучшить способ построения функции
приспособленности для генетических алгоритмов, проводящих тестирование особей путем симуляции окружающей
среды. Метод позволяет автоматически подбирать параметры внешней среды, что приводит к улучшению качества
генерируемых особей. В ходе исследований на примере задачи об «Итерированной дилемме узника» было показано,
что разработанный подход применим для генерации автоматных программ в задачах, где поведение окружающей
среды может быть описано с помощью конечного автомата.
Ключевые слова: генетическое программирование, конечный автомат, автоматное программирование.
Введение
Вычисление функции приспособленности на основе симуляции внешней среды получило наи-
большее распространение благодаря своей очевидности и простоте. В некоторых ситуациях этот подход
также представляется единственным возможным, при этом множество параметров среды, которое ис-
пользуется для вычисления функции приспособленности, намного меньше множества возможных пара-
метров среды. Это множество, как правило, задается априори, исходя из эвристических соображений.
АВТОМАТИЧЕСКИЙ ПОДБОР ПАРАМЕТРОВ ВНЕШНЕЙ СРЕДЫ...
Научно-технический вестник Санкт-Петербургского государственного университета
информационных технологий, механики и оптики, 2011, № 2 (72)
58
Целью данной работы является создание метода, позволяющего охватить большую часть про-
странства возможных параметров внешней среды, при этом сохраняя приемлемую скорость работы гене-
тического алгоритма.
При применении автоматов в программировании, как правило, используются не абстрактные мо-
дели автоматов, а модель автоматизированного объекта [1], объединяющая управляющий автомат и объ-
ект управления.
Важная черта устройств управления всех абстрактных машин – их конечность. Управляющий ав-
томат не только имеет конечное число состояний, но, кроме того, реализуемые им функции переходов и
выходов оперируют исключительно конечными множествами. Именно это свойство позволяет описывать
логику поведения машины явно – в виде таблицы или графа переходов. Поэтому свойство конечности
устройства управления необходимо сохранить при построении модели автоматизированного объекта.
Более того, это свойство целесообразно усилить следующим неформальным требованием: число управ-
ляющих состояний, входных и выходных воздействий должно быть небольшим (обозримым). Управ-
ляющий автомат с тысячей состояний, безусловно, является конечным, однако изобразить его граф пере-
ходов практически невозможно, что сводит на нет преимущества явного выделения управляющих со-
стояний.
Напротив, число состояний объекта управления может быть сколь угодно большим (при переходе
от модели к программной реализации оно с необходимостью станет конечным, однако может остаться
необозримым). В процессе работы управляющему автомату требуется получать информацию о состоя-
нии объекта управления и изменять его. Однако в силу свойства конечности автомат не может напрямую
считывать и записывать это состояние. Для этого и требуются операции объекта управления. Небольшое
число запросов, возвращающих конечные значения, позволяет автомату получать информацию о состоя-
ниях объекта управления, которую он способен обработать. Небольшое число команд используется для
«косвенного» изменения состояний объекта управления.
На рис. 1 сплошными стрелками обозначены типичные для программных реализаций виды взаи-
модействия между автоматом, объектом управления и внешней средой. Автомат получает входные воз-
действия как со стороны среды, так и от объекта управления.
EX
Z
X
Рис. 1. Модель автоматизированного объекта
Пунктирными стрелками обозначены менее распространенные, хотя и возможные, варианты взаи-
модействия. Автомат может оказывать выходное воздействие и на внешнюю среду. Однако таких связей
обычно можно избежать, включив все управляемые автоматом сущности в состав его объекта управле-
ния. Отметим, что в программировании, в общем случае, различие между объектом управления и внеш-
ней средой носит скорее концептуальный, а не формальный характер. Создавая модель системы со слож-
ным поведением, разработчик производит ее декомпозицию на автоматизированные объекты, определяя
тем самым объект управления каждого автомата. В целях минимизации связей между модулями про-
граммной системы целесообразно проводить декомпозицию таким образом, чтобы автомат оказывал вы-
ходные воздействия только на собственный объект управления. Кроме того, объект управления может
взаимодействовать с внешней средой напрямую.
Предлагаемый метод
В рамках данной работы рассматривается ситуация, в которой поведение внешней среды автома-
тизированного объекта может быть представлено в виде конечного автомата. В этом случае внешняя
среда сама может рассматриваться как автоматизированный объект, что порождает схему, изображенную
на рис. 2.
Отметим, что полученная модель очень удобна ввиду естественности взаимодействия ее компонент.
Обмен информацией между автоматизированным объектом и внешней средой ведется через входные и вы-
ходные воздействия управляющих автоматов, а также через взаимодействие объектов управления.
Также можно выделить класс задач, в которых подразумевается наличие нескольких автоматных
программ с одинаковыми наборами входных и выходных воздействий, играющих в некую игру. В этом
случае для каждого из игроков внешней средой будут являться его оппоненты, а входными воздействия-
ми управляющего его автомата – выходные воздействия автоматов оппонентов, или их функция
XZf N
z 1
: , где N – число игроков; Z – множество выходных воздействий; X – множество вход-
ных воздействий.
В.А. Кулев
Научно-технический вестник Санкт-Петербургского государственного университета
информационных технологий, механики и оптики, 2011, № 2 (72)
59
Z
X
X
Z
Рис. 2. Модель с автоматизированной внешней средой
Пусть задана функция приспособленности  eift , для особи tPi  и управляющего автомата
внешней среды envPe . Если известно максимальное возможное значение функции tf для всех i и e ,
    eif=f tei ,max ,max , то уровень отклонения особи i от оптимального поведения можно оценить как
   eiff=eif tinv ,, max  . Тогда качество теста с автоматом e для всей популяции tP может вычисляться
как среднее значение:  
 
 t
tPi
inv
inv
P
eif
=ef
,

.
Однако подбор одиночного управляющего автомата внешней среды не является эффективным
способом всестороннего тестирования целевых особей. В связи с этим предлагается хранить множество
таких автоматов, которые будут образовывать популяцию особей внешней среды envP . К этой популя-
ции можно применить метод генетического программирования, используя функцию  efinv в качестве
функции приспособленности. Также необходимо определить модифицированную функцию приспособ-
ленности для особей из популяции tP , вычисляемую как среднее значение:  
 
 env
envPe
t
t
P
eif
=if
,

.
Если использовать генетический алгоритм для популяции envP как составную часть основного ал-
горитма, то получится так называемый «мета-генетический» алгоритм [2]. Однако этот алгоритм работа-
ет достаточно длительное время. Для описываемой задачи более эффективно работает модификация
классического алгоритма, в которой эволюция обеих популяций производится параллельно.
Сформулируем этапы модифицированного генетического алгоритма, автоматически подбирающе-
го управляющие автоматы внешней среды.
1. Инициализация. Создаются две случайные начальные популяции целевых автоматов и управляю-
щих автоматов внешней среды с соответствующими входными и выходными воздействиями. Размер
популяций и параметры генерации случайных особей могут различаться.
2. Тестирование. На этапе тестирования происходит вычисление функций приспособленности  ift и
 efinv для всех особей tPi  и envPe . Для этого производится моделирование поведения каждого
целевого автоматизированного объекта i в каждой автоматизированной внешней среде e , результа-
том которой является функция  eift , . Далее искомые значения функций приспособленности вычис-
ляются по приведенным выше формулам.
3. Отбор. Выбор особей для проведения генетических операций и формирования нового поколения
производится независимо для каждой из популяций, поэтому алгоритм отбора не требует модифика-
ции.
4. Кроссовер и мутация. Способ проведения кроссоверов и мутаций также не отличается от классиче-
ского алгоритма, однако можно сформулировать рекомендации по настройке его параметров. Как
правило, при применении оператора мутации задается ее «сила», определяющая, насколько большая
доля хромосомы будет подвергнута случайной модификации. Данный параметр, в совокупности с
общим количеством производимых мутаций, определяет, насколько быстро изменяется генотип по-
пуляции в ходе эволюционного процесса. Для обеспечения большей стабильности работы модифици-
рованного генетического алгоритма предлагается устанавливать этот параметр для популяции управ-
ляющих автоматов внешней среды ниже, чем для популяции целевых автоматов.
Принципиальная схема модифицированного генетического алгоритма изображена на рис. 3. На
ней явно обозначены части алгоритма, выполняющиеся независимо для обеих популяций, и точка, в ко-
торой происходит их взаимодействие.
АВТОМАТИЧЕСКИЙ ПОДБОР ПАРАМЕТРОВ ВНЕШНЕЙ СРЕДЫ...
Научно-технический вестник Санкт-Петербургского государственного университета
информационных технологий, механики и оптики, 2011, № 2 (72)
60
Рис. 3. Схема модифицированного генетического алгоритма
Экспериментальное исследование
Экспериментальное исследование построенного алгоритма было проведено на примере некоопе-
ративной матричной игры с ненулевой суммой, обычно называемой «Итерированная дилемма узника»
(«Iterated prisoner’s dilemma») [3].
В статье [4] описывается эксперимент с применением генетического алгоритма для генерации
стратегий управления узником. В качестве хромосомы использовалась битовая строка, кодирующая
управляющую функцию },{},,,{ 3
DefectCooperateTRPS  . На вход функции предоставляются исходы
трех предыдущих раундов игры, которые могут быть следующими:
  SuckerS – игрок отрицал, когда другой сознался;
  PunishmentP – оба игрока сознались;
  RewardR – оба игрока отрицали;
  TemptationT – игрок сознался, когда другой отрицал.
Функция приспособленности особей вычислялась путем турнира между особями популяции.
Стратегии, полученные в результате работы построенного алгоритма, имели поведение, близкое к стра-
тегии «Око за око». В турнире многие особи набирали даже большее количество баллов, чем «Око за
око», за счет того, что они успешнее противостояли особям из той же популяции.
Эксперимент для изучения работы модифицированного алгоритма был проведен в двух вариаци-
ях. Общими настройками алгоритма были:
 размер популяции – 300;
 число состояний автомата – 5;
 вероятность скрещивания – 0,5;
 вероятность мутации – 0,5;
 доля элитизма – 0,125.
Для оценки получаемого результата также подсчитывался выигрыш лучшей особи из популяции
против стратегии «Око за око».
В первом эксперименте функция приспособленности для обеих популяций вычислялась по одина-
ковому алгоритму, который далее будем называть «прямым». В этом случае приспособленность особи
определяется как ее средний выигрыш при игре со всеми особями из противоположной популяции. Гра-
фики, отражающие ход эксперимента, приведены на рис. 4 и 5.
Три коррелирующие линии (1, 2 и 4) обозначают соответственно минимальное, максимальное и
среднее значение функции приспособленности в популяции. Линия 3 обозначает приспособленность
лучшей особи из популяции пре игра против стратегии «Око за око».
Во втором эксперименте функция приспособленности одной из популяций была заменена на об-
ратную, которая вычисляется не как средний выигрыш игрока, а как средний проигрыш оппонента.
Таким образом, одна из популяций берет на себя четко обозначенную роль контроля качества осо-
бей из противоположной популяции. По графикам на рис. 6 и 7, полученным в ходе эксперимента, мож-
но судить о пользе такого подхода, так как получаемые решения лучше ведут себя в игре против неиз-
вестной им стратегии «Око за око».
В.А. Кулев
Научно-технический вестник Санкт-Петербургского государственного университета
информационных технологий, механики и оптики, 2011, № 2 (72)
61
Рис. 4. Показания первой популяции с симметричной функцией приспособленности
Рис. 5. Показания второй популяции с симметричной функцией приспособленности
Рис. 6. Показания популяции с «прямой» функцией приспособленности
Рис. 7. Показания популяции с «обратной» функцией приспособленности
ПРИМЕНЕНИЕ ГЕНЕТИЧЕСКОГО ПОДХОДА ДЛЯ ГЕНЕРАЦИИ КЛЕТОЧНЫХ АВТОМАТОВ
Научно-технический вестник Санкт-Петербургского государственного университета
информационных технологий, механики и оптики, 2011, № 2 (72)
62
Заключение
Таким образом, применение модифицированного генетического алгоритма к задаче об «итериро-
ванной дилемме узника» позволило получить особей, способных успешно соревноваться не только со
своими собратьями, но и с неизвестными им противниками, что было показано на примере стратегии
«Око за око». Исходя из этих результатов, можно сделать вывод о том, что предложенный метод являет-
ся эффективным решением проблемы, описанной в начале статьи.
Литература
1. Поликарпова Н.И., Точилин В.Н., Шалыто А.А. Разработка библиотеки для генерации автоматов ме-
тодом генетического программирования // Сборник докладов X международной конференции по мяг-
ким вычислениям и измерениям. – СПб: СПбГЭТУ, 2007. – Т. 2. – С. 84–87.
2. Bäck T. Evolutionary algorithms in theory and practice: evolution strategies, evolutionary programming,
genetic algorithms. – Oxford University Press, 1996.
3. Axelrod R., Hamilton W.D. The evolution of cooperation // Science. – 1981. – V. 211. – № 4489. – Р. 1390.
4. Axelrod R. The evolution of strategies in the iterated prisoner’s dilemma. – Cambridge university press,
1987. – Р. 1–16.
Кулев Владимир Анатольевич – Санкт-Петербургский государственный университет информационных
технологий, механики и оптики, аспирант, me@lightoze.net

More Related Content

PDF
АВТОМАТИЧЕСКИЙ СИНТЕЗ СИСТЕМЫ УПРАВЛЕНИЯ МОБИЛЬНЫМ РОБОТОМ ДЛЯ РЕШЕНИЯ ЗАДАЧИ...
PPT
02 if for
PPT
02 if for
ODP
Исключительные ситуации
PPTX
PPTX
обработка исключений в Java
PDF
Михаил Давыдов - JavaScript. Базовые знания
DOCX
Question four evaluation
АВТОМАТИЧЕСКИЙ СИНТЕЗ СИСТЕМЫ УПРАВЛЕНИЯ МОБИЛЬНЫМ РОБОТОМ ДЛЯ РЕШЕНИЯ ЗАДАЧИ...
02 if for
02 if for
Исключительные ситуации
обработка исключений в Java
Михаил Давыдов - JavaScript. Базовые знания
Question four evaluation

Viewers also liked (16)

PDF
4Q09 Results Presentation
PPTX
Es posible la revolución educativa sin la integración
PDF
Virtual Health Plaza mobile application
DOC
Campeonato gaúcho-2015-cartões
DOCX
Planificacion de lenguaje del 02 al 06 de noviembre del 2015. .
PPT
Twitter‘n mit Python
PPTX
Français mathadona tutoriel
PDF
Ch new
PDF
2Q10 Results Presentation
PPTX
PDF
ส่งPptขึ้นเนต
DOC
Risk assessment template pram scene
DOCX
Momento 2 Sesion especial II Evidencia en PID S/Especial Integración con TIC/...
PDF
Elements_Summer2015
DOC
Risk assessment Park
PPT
Einsatz von Subversion bei der Entwicklung technisch-wissenschaftlicher Software
4Q09 Results Presentation
Es posible la revolución educativa sin la integración
Virtual Health Plaza mobile application
Campeonato gaúcho-2015-cartões
Planificacion de lenguaje del 02 al 06 de noviembre del 2015. .
Twitter‘n mit Python
Français mathadona tutoriel
Ch new
2Q10 Results Presentation
ส่งPptขึ้นเนต
Risk assessment template pram scene
Momento 2 Sesion especial II Evidencia en PID S/Especial Integración con TIC/...
Elements_Summer2015
Risk assessment Park
Einsatz von Subversion bei der Entwicklung technisch-wissenschaftlicher Software
Ad

Similar to АВТОМАТИЧЕСКИЙ ПОДБОР ПАРАМЕТРОВ ВНЕШНЕЙ СРЕДЫ ПРИ ГЕНЕРАЦИИ АВТОМАТНЫХ ПРОГРАММ С ПОМОЩЬЮ ГЕНЕТИЧЕСКИХ АЛГОРИТМОВ (11)

PPT
лекция 35
PPT
лекция 31
PDF
ПРИМЕНЕНИЕ ГЕНЕТИЧЕСКОГО ПОДХОДА ДЛЯ ГЕНЕРАЦИИ КЛЕТОЧНЫХ АВТОМАТОВ
PDF
МЕТОД ПРЕДСТАВЛЕНИЯ АВТОМАТОВ ЛИНЕЙНЫМИ БИНАРНЫМИ ГРАФАМИ ДЛЯ ИСПОЛЬЗОВАНИЯ В...
PPT
PDF
Нейросетевые технологии, нечёткая кластеризация и генетические алгоритмы в эк...
PDF
ПРИМЕНЕНИЕ МАШИННОГО ОБУЧЕНИЯ ДЛЯ СОЗДАНИЯ УПРАВЛЯЮЩИХ АВТОМАТОВ НА ПРИМЕРЕ И...
PPT
Тема 4. Методы описания сложных систем
PPT
2020 03-31-lection
PPT
Sokolov
PDF
Моделирование ТПиПП
лекция 35
лекция 31
ПРИМЕНЕНИЕ ГЕНЕТИЧЕСКОГО ПОДХОДА ДЛЯ ГЕНЕРАЦИИ КЛЕТОЧНЫХ АВТОМАТОВ
МЕТОД ПРЕДСТАВЛЕНИЯ АВТОМАТОВ ЛИНЕЙНЫМИ БИНАРНЫМИ ГРАФАМИ ДЛЯ ИСПОЛЬЗОВАНИЯ В...
Нейросетевые технологии, нечёткая кластеризация и генетические алгоритмы в эк...
ПРИМЕНЕНИЕ МАШИННОГО ОБУЧЕНИЯ ДЛЯ СОЗДАНИЯ УПРАВЛЯЮЩИХ АВТОМАТОВ НА ПРИМЕРЕ И...
Тема 4. Методы описания сложных систем
2020 03-31-lection
Sokolov
Моделирование ТПиПП
Ad

More from ITMO University (20)

PDF
МЕТОД ПОВЫШЕНИЯ ЧУВСТВИТЕЛЬНОСТИ ВОЛОКОННО-ОПТИЧЕСКОГО ГИДРОФОНА
PDF
МЕТОДЫ ПОЛУЧЕНИЯ И СВОЙСТВА СЛОЕВ НА ОСНОВЕ АМОРФНОГО УГЛЕРОДА, ОРИЕНТИРУЮЩИ...
PDF
ПРИМЕНЕНИЕ ДИСКРЕТНОГО КОСИНУСНОГО ПРЕОБРАЗОВАНИЯ ДЛЯ ПОСТРОЕНИЯ ГОЛОГРАММЫ ...
PDF
ПОГРЕШНОСТИ ИЗГОТОВЛЕНИЯ И УСТАНОВКИ ОТРАЖАТЕЛЬНЫХ ПРИЗМ
PDF
СПЕКТРОСКОПИЧЕСКОЕ И ТЕРМОДИНАМИЧЕСКОЕ ИССЛЕДОВАНИЕ ТЯЖЕЛОЙ ВОДЫ
PDF
МЕТРОЛОГИЧЕСКИЙ АНАЛИЗ В СОЦИАЛЬНЫХ СЕТЯХ
PDF
ПЕРСПЕКТИВЫ РАЗВИТИЯ ОПТИКИ ТОНКИХ ПЛЕНОК
PDF
ИССЛЕДОВАНИЕ ПРОЦЕССОВ ФОРМИРОВАНИЯ ПОЛИМЕРНОГО МИКРОЭЛЕМЕНТА НА ТОРЦЕ ОПТИЧЕ...
PDF
МЕТОД ДИАГНОСТИКИ ФУНКЦИОНАЛЬНОЙ АКТИВНОСТИ ТКАНЕЙ И ОРГАНОВ БИООБЪЕКТОВ
PDF
КОЛИЧЕСТВЕННАЯ ОЦЕНКА КАЧЕСТВА ИЗОБРАЖЕНИЙ С ИСПОЛЬЗОВАНИЕМ МЕТОДОВ НЕЧЕТКОЙ ...
PDF
АЛГЕБРАИЧЕСКИЙ МЕТОД ОПРЕДЕЛЕНИЯ ПОЛНОГО МНОЖЕСТВА ПРОСТЫХ РАЗРЕЗОВ В ДВУХПОЛ...
PDF
РЕКУРРЕНТНОЕ СИСТЕМАТИЧЕСКОЕ ПОМЕХОЗАЩИТНОЕ ПРЕОБРАЗОВАНИЕ КОДОВ: ВОЗМОЖНОСТИ...
PDF
Информационная система «Забота о каждом»
PDF
Проект "Я рядом"
PDF
Проект «Театральный мост»
PDF
Студенческие инициативы в развитии ИКТ для старшего поколения
PDF
СОХРАНЁННОЕ РАДИО
PDF
Проект: «Разработка Системы Оценки и учёта Добровольческой Деятельности «СО...
PDF
«Нет преграды патриотам!»
PDF
Проект «Наш любимый детский сад»
МЕТОД ПОВЫШЕНИЯ ЧУВСТВИТЕЛЬНОСТИ ВОЛОКОННО-ОПТИЧЕСКОГО ГИДРОФОНА
МЕТОДЫ ПОЛУЧЕНИЯ И СВОЙСТВА СЛОЕВ НА ОСНОВЕ АМОРФНОГО УГЛЕРОДА, ОРИЕНТИРУЮЩИ...
ПРИМЕНЕНИЕ ДИСКРЕТНОГО КОСИНУСНОГО ПРЕОБРАЗОВАНИЯ ДЛЯ ПОСТРОЕНИЯ ГОЛОГРАММЫ ...
ПОГРЕШНОСТИ ИЗГОТОВЛЕНИЯ И УСТАНОВКИ ОТРАЖАТЕЛЬНЫХ ПРИЗМ
СПЕКТРОСКОПИЧЕСКОЕ И ТЕРМОДИНАМИЧЕСКОЕ ИССЛЕДОВАНИЕ ТЯЖЕЛОЙ ВОДЫ
МЕТРОЛОГИЧЕСКИЙ АНАЛИЗ В СОЦИАЛЬНЫХ СЕТЯХ
ПЕРСПЕКТИВЫ РАЗВИТИЯ ОПТИКИ ТОНКИХ ПЛЕНОК
ИССЛЕДОВАНИЕ ПРОЦЕССОВ ФОРМИРОВАНИЯ ПОЛИМЕРНОГО МИКРОЭЛЕМЕНТА НА ТОРЦЕ ОПТИЧЕ...
МЕТОД ДИАГНОСТИКИ ФУНКЦИОНАЛЬНОЙ АКТИВНОСТИ ТКАНЕЙ И ОРГАНОВ БИООБЪЕКТОВ
КОЛИЧЕСТВЕННАЯ ОЦЕНКА КАЧЕСТВА ИЗОБРАЖЕНИЙ С ИСПОЛЬЗОВАНИЕМ МЕТОДОВ НЕЧЕТКОЙ ...
АЛГЕБРАИЧЕСКИЙ МЕТОД ОПРЕДЕЛЕНИЯ ПОЛНОГО МНОЖЕСТВА ПРОСТЫХ РАЗРЕЗОВ В ДВУХПОЛ...
РЕКУРРЕНТНОЕ СИСТЕМАТИЧЕСКОЕ ПОМЕХОЗАЩИТНОЕ ПРЕОБРАЗОВАНИЕ КОДОВ: ВОЗМОЖНОСТИ...
Информационная система «Забота о каждом»
Проект "Я рядом"
Проект «Театральный мост»
Студенческие инициативы в развитии ИКТ для старшего поколения
СОХРАНЁННОЕ РАДИО
Проект: «Разработка Системы Оценки и учёта Добровольческой Деятельности «СО...
«Нет преграды патриотам!»
Проект «Наш любимый детский сад»

АВТОМАТИЧЕСКИЙ ПОДБОР ПАРАМЕТРОВ ВНЕШНЕЙ СРЕДЫ ПРИ ГЕНЕРАЦИИ АВТОМАТНЫХ ПРОГРАММ С ПОМОЩЬЮ ГЕНЕТИЧЕСКИХ АЛГОРИТМОВ

  • 1. В.А. Кулев Научно-технический вестник Санкт-Петербургского государственного университета информационных технологий, механики и оптики, 2011, № 2 (72) 57 УДК 004.4’242 АВТОМАТИЧЕСКИЙ ПОДБОР ПАРАМЕТРОВ ВНЕШНЕЙ СРЕДЫ ПРИ ГЕНЕРАЦИИ АВТОМАТНЫХ ПРОГРАММ С ПОМОЩЬЮ ГЕНЕТИЧЕСКИХ АЛГОРИТМОВ В.А. Кулев Предлагается новый метод генетического программирования, позволяющий улучшить способ построения функции приспособленности для генетических алгоритмов, проводящих тестирование особей путем симуляции окружающей среды. Метод позволяет автоматически подбирать параметры внешней среды, что приводит к улучшению качества генерируемых особей. В ходе исследований на примере задачи об «Итерированной дилемме узника» было показано, что разработанный подход применим для генерации автоматных программ в задачах, где поведение окружающей среды может быть описано с помощью конечного автомата. Ключевые слова: генетическое программирование, конечный автомат, автоматное программирование. Введение Вычисление функции приспособленности на основе симуляции внешней среды получило наи- большее распространение благодаря своей очевидности и простоте. В некоторых ситуациях этот подход также представляется единственным возможным, при этом множество параметров среды, которое ис- пользуется для вычисления функции приспособленности, намного меньше множества возможных пара- метров среды. Это множество, как правило, задается априори, исходя из эвристических соображений.
  • 2. АВТОМАТИЧЕСКИЙ ПОДБОР ПАРАМЕТРОВ ВНЕШНЕЙ СРЕДЫ... Научно-технический вестник Санкт-Петербургского государственного университета информационных технологий, механики и оптики, 2011, № 2 (72) 58 Целью данной работы является создание метода, позволяющего охватить большую часть про- странства возможных параметров внешней среды, при этом сохраняя приемлемую скорость работы гене- тического алгоритма. При применении автоматов в программировании, как правило, используются не абстрактные мо- дели автоматов, а модель автоматизированного объекта [1], объединяющая управляющий автомат и объ- ект управления. Важная черта устройств управления всех абстрактных машин – их конечность. Управляющий ав- томат не только имеет конечное число состояний, но, кроме того, реализуемые им функции переходов и выходов оперируют исключительно конечными множествами. Именно это свойство позволяет описывать логику поведения машины явно – в виде таблицы или графа переходов. Поэтому свойство конечности устройства управления необходимо сохранить при построении модели автоматизированного объекта. Более того, это свойство целесообразно усилить следующим неформальным требованием: число управ- ляющих состояний, входных и выходных воздействий должно быть небольшим (обозримым). Управ- ляющий автомат с тысячей состояний, безусловно, является конечным, однако изобразить его граф пере- ходов практически невозможно, что сводит на нет преимущества явного выделения управляющих со- стояний. Напротив, число состояний объекта управления может быть сколь угодно большим (при переходе от модели к программной реализации оно с необходимостью станет конечным, однако может остаться необозримым). В процессе работы управляющему автомату требуется получать информацию о состоя- нии объекта управления и изменять его. Однако в силу свойства конечности автомат не может напрямую считывать и записывать это состояние. Для этого и требуются операции объекта управления. Небольшое число запросов, возвращающих конечные значения, позволяет автомату получать информацию о состоя- ниях объекта управления, которую он способен обработать. Небольшое число команд используется для «косвенного» изменения состояний объекта управления. На рис. 1 сплошными стрелками обозначены типичные для программных реализаций виды взаи- модействия между автоматом, объектом управления и внешней средой. Автомат получает входные воз- действия как со стороны среды, так и от объекта управления. EX Z X Рис. 1. Модель автоматизированного объекта Пунктирными стрелками обозначены менее распространенные, хотя и возможные, варианты взаи- модействия. Автомат может оказывать выходное воздействие и на внешнюю среду. Однако таких связей обычно можно избежать, включив все управляемые автоматом сущности в состав его объекта управле- ния. Отметим, что в программировании, в общем случае, различие между объектом управления и внеш- ней средой носит скорее концептуальный, а не формальный характер. Создавая модель системы со слож- ным поведением, разработчик производит ее декомпозицию на автоматизированные объекты, определяя тем самым объект управления каждого автомата. В целях минимизации связей между модулями про- граммной системы целесообразно проводить декомпозицию таким образом, чтобы автомат оказывал вы- ходные воздействия только на собственный объект управления. Кроме того, объект управления может взаимодействовать с внешней средой напрямую. Предлагаемый метод В рамках данной работы рассматривается ситуация, в которой поведение внешней среды автома- тизированного объекта может быть представлено в виде конечного автомата. В этом случае внешняя среда сама может рассматриваться как автоматизированный объект, что порождает схему, изображенную на рис. 2. Отметим, что полученная модель очень удобна ввиду естественности взаимодействия ее компонент. Обмен информацией между автоматизированным объектом и внешней средой ведется через входные и вы- ходные воздействия управляющих автоматов, а также через взаимодействие объектов управления. Также можно выделить класс задач, в которых подразумевается наличие нескольких автоматных программ с одинаковыми наборами входных и выходных воздействий, играющих в некую игру. В этом случае для каждого из игроков внешней средой будут являться его оппоненты, а входными воздействия- ми управляющего его автомата – выходные воздействия автоматов оппонентов, или их функция XZf N z 1 : , где N – число игроков; Z – множество выходных воздействий; X – множество вход- ных воздействий.
  • 3. В.А. Кулев Научно-технический вестник Санкт-Петербургского государственного университета информационных технологий, механики и оптики, 2011, № 2 (72) 59 Z X X Z Рис. 2. Модель с автоматизированной внешней средой Пусть задана функция приспособленности  eift , для особи tPi  и управляющего автомата внешней среды envPe . Если известно максимальное возможное значение функции tf для всех i и e ,     eif=f tei ,max ,max , то уровень отклонения особи i от оптимального поведения можно оценить как    eiff=eif tinv ,, max  . Тогда качество теста с автоматом e для всей популяции tP может вычисляться как среднее значение:      t tPi inv inv P eif =ef ,  . Однако подбор одиночного управляющего автомата внешней среды не является эффективным способом всестороннего тестирования целевых особей. В связи с этим предлагается хранить множество таких автоматов, которые будут образовывать популяцию особей внешней среды envP . К этой популя- ции можно применить метод генетического программирования, используя функцию  efinv в качестве функции приспособленности. Также необходимо определить модифицированную функцию приспособ- ленности для особей из популяции tP , вычисляемую как среднее значение:      env envPe t t P eif =if ,  . Если использовать генетический алгоритм для популяции envP как составную часть основного ал- горитма, то получится так называемый «мета-генетический» алгоритм [2]. Однако этот алгоритм работа- ет достаточно длительное время. Для описываемой задачи более эффективно работает модификация классического алгоритма, в которой эволюция обеих популяций производится параллельно. Сформулируем этапы модифицированного генетического алгоритма, автоматически подбирающе- го управляющие автоматы внешней среды. 1. Инициализация. Создаются две случайные начальные популяции целевых автоматов и управляю- щих автоматов внешней среды с соответствующими входными и выходными воздействиями. Размер популяций и параметры генерации случайных особей могут различаться. 2. Тестирование. На этапе тестирования происходит вычисление функций приспособленности  ift и  efinv для всех особей tPi  и envPe . Для этого производится моделирование поведения каждого целевого автоматизированного объекта i в каждой автоматизированной внешней среде e , результа- том которой является функция  eift , . Далее искомые значения функций приспособленности вычис- ляются по приведенным выше формулам. 3. Отбор. Выбор особей для проведения генетических операций и формирования нового поколения производится независимо для каждой из популяций, поэтому алгоритм отбора не требует модифика- ции. 4. Кроссовер и мутация. Способ проведения кроссоверов и мутаций также не отличается от классиче- ского алгоритма, однако можно сформулировать рекомендации по настройке его параметров. Как правило, при применении оператора мутации задается ее «сила», определяющая, насколько большая доля хромосомы будет подвергнута случайной модификации. Данный параметр, в совокупности с общим количеством производимых мутаций, определяет, насколько быстро изменяется генотип по- пуляции в ходе эволюционного процесса. Для обеспечения большей стабильности работы модифици- рованного генетического алгоритма предлагается устанавливать этот параметр для популяции управ- ляющих автоматов внешней среды ниже, чем для популяции целевых автоматов. Принципиальная схема модифицированного генетического алгоритма изображена на рис. 3. На ней явно обозначены части алгоритма, выполняющиеся независимо для обеих популяций, и точка, в ко- торой происходит их взаимодействие.
  • 4. АВТОМАТИЧЕСКИЙ ПОДБОР ПАРАМЕТРОВ ВНЕШНЕЙ СРЕДЫ... Научно-технический вестник Санкт-Петербургского государственного университета информационных технологий, механики и оптики, 2011, № 2 (72) 60 Рис. 3. Схема модифицированного генетического алгоритма Экспериментальное исследование Экспериментальное исследование построенного алгоритма было проведено на примере некоопе- ративной матричной игры с ненулевой суммой, обычно называемой «Итерированная дилемма узника» («Iterated prisoner’s dilemma») [3]. В статье [4] описывается эксперимент с применением генетического алгоритма для генерации стратегий управления узником. В качестве хромосомы использовалась битовая строка, кодирующая управляющую функцию },{},,,{ 3 DefectCooperateTRPS  . На вход функции предоставляются исходы трех предыдущих раундов игры, которые могут быть следующими:   SuckerS – игрок отрицал, когда другой сознался;   PunishmentP – оба игрока сознались;   RewardR – оба игрока отрицали;   TemptationT – игрок сознался, когда другой отрицал. Функция приспособленности особей вычислялась путем турнира между особями популяции. Стратегии, полученные в результате работы построенного алгоритма, имели поведение, близкое к стра- тегии «Око за око». В турнире многие особи набирали даже большее количество баллов, чем «Око за око», за счет того, что они успешнее противостояли особям из той же популяции. Эксперимент для изучения работы модифицированного алгоритма был проведен в двух вариаци- ях. Общими настройками алгоритма были:  размер популяции – 300;  число состояний автомата – 5;  вероятность скрещивания – 0,5;  вероятность мутации – 0,5;  доля элитизма – 0,125. Для оценки получаемого результата также подсчитывался выигрыш лучшей особи из популяции против стратегии «Око за око». В первом эксперименте функция приспособленности для обеих популяций вычислялась по одина- ковому алгоритму, который далее будем называть «прямым». В этом случае приспособленность особи определяется как ее средний выигрыш при игре со всеми особями из противоположной популяции. Гра- фики, отражающие ход эксперимента, приведены на рис. 4 и 5. Три коррелирующие линии (1, 2 и 4) обозначают соответственно минимальное, максимальное и среднее значение функции приспособленности в популяции. Линия 3 обозначает приспособленность лучшей особи из популяции пре игра против стратегии «Око за око». Во втором эксперименте функция приспособленности одной из популяций была заменена на об- ратную, которая вычисляется не как средний выигрыш игрока, а как средний проигрыш оппонента. Таким образом, одна из популяций берет на себя четко обозначенную роль контроля качества осо- бей из противоположной популяции. По графикам на рис. 6 и 7, полученным в ходе эксперимента, мож- но судить о пользе такого подхода, так как получаемые решения лучше ведут себя в игре против неиз- вестной им стратегии «Око за око».
  • 5. В.А. Кулев Научно-технический вестник Санкт-Петербургского государственного университета информационных технологий, механики и оптики, 2011, № 2 (72) 61 Рис. 4. Показания первой популяции с симметричной функцией приспособленности Рис. 5. Показания второй популяции с симметричной функцией приспособленности Рис. 6. Показания популяции с «прямой» функцией приспособленности Рис. 7. Показания популяции с «обратной» функцией приспособленности
  • 6. ПРИМЕНЕНИЕ ГЕНЕТИЧЕСКОГО ПОДХОДА ДЛЯ ГЕНЕРАЦИИ КЛЕТОЧНЫХ АВТОМАТОВ Научно-технический вестник Санкт-Петербургского государственного университета информационных технологий, механики и оптики, 2011, № 2 (72) 62 Заключение Таким образом, применение модифицированного генетического алгоритма к задаче об «итериро- ванной дилемме узника» позволило получить особей, способных успешно соревноваться не только со своими собратьями, но и с неизвестными им противниками, что было показано на примере стратегии «Око за око». Исходя из этих результатов, можно сделать вывод о том, что предложенный метод являет- ся эффективным решением проблемы, описанной в начале статьи. Литература 1. Поликарпова Н.И., Точилин В.Н., Шалыто А.А. Разработка библиотеки для генерации автоматов ме- тодом генетического программирования // Сборник докладов X международной конференции по мяг- ким вычислениям и измерениям. – СПб: СПбГЭТУ, 2007. – Т. 2. – С. 84–87. 2. Bäck T. Evolutionary algorithms in theory and practice: evolution strategies, evolutionary programming, genetic algorithms. – Oxford University Press, 1996. 3. Axelrod R., Hamilton W.D. The evolution of cooperation // Science. – 1981. – V. 211. – № 4489. – Р. 1390. 4. Axelrod R. The evolution of strategies in the iterated prisoner’s dilemma. – Cambridge university press, 1987. – Р. 1–16. Кулев Владимир Анатольевич – Санкт-Петербургский государственный университет информационных технологий, механики и оптики, аспирант, [email protected]