Разработка методов совместного применения генетического и автоматного программирования





НазваниеРазработка методов совместного применения генетического и автоматного программирования
страница1/12
Дата публикации30.08.2013
Размер0.78 Mb.
ТипЗадача
100-bal.ru > Информатика > Задача
  1   2   3   4   5   6   7   8   9   ...   12


МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ
РОССИЙСКОЙ ФЕДЕРАЦИИ
(МИНОБРНАУКИ)
ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ «САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ, МЕХАНИКИ И ОПТИКИ»
(СПбГУ ИТМО)
Факультет информационных технологий и программирования
Кафедра «Компьютерные технологии»

Федор Николаевич Царев

Разработка методов совместного применения генетического и автоматного программирования

Магистерская диссертация
Научный руководитель – доктор технических наук, профессор, заведующий кафедрой технологий программирования СПбГУ ИТМО

Анатолий Абрамович Шалыто
Санкт-петербург

2009

Оглавление


Оглавление 4

Введение 6

Глава 1. автоматное и генетическое программирование 10

1.1. Основные концепции автоматного программирования 10

1.1.1. Системы со сложным поведением 10

1.1.2. Автоматное программирование 13

1.2. Генетические алгоритмы 14

1.2.1. Основные определения 15

1.2.2. Традиционный генетический алгоритм 18

1.2.3. Генетическое программирование 19

1.3. Применение генетических алгоритмов для построения конечных автоматов 20

1.3.1. Эксперименты Фогеля 20

1.3.2. Задача «Умный муравей» 23

1.3.3. Построение конечных детерминированных автоматов для распознавания регулярных языков 28

1.3.4. Построение конечных преобразователей 33

1.3.5. Работы в СПбГУ ИТМО 36

1.3.6. Другие работы по построению конечных автоматов с помощью генетических алгоритмов 41

Выводы по главе 1 43

Глава 2. Метод представления автоматов с помощью конечных распознавателей 44

2.1. Задача «Умный муравей–3» 44

2.2. Решение задачи без применения конечных автоматов 46

2.3. Решение задачи с помощью метода представления автоматов деревьями решений 46

2.4. Предлагаемый метод 48

2.4.1. Описание алгоритма 50

2.4.2. Операция мутации 51

2.4.3. Операция скрещивания 51

2.4.4. Формирование следующего поколения 53

2.4.5. Настраиваемые параметры алгоритма 54

2.5. Результаты вычислительных экспериментов 54

Выводы по главе 2 56

Глава 3. Метод построение конечных автоматов управления системами со сложным поведением на основе тестов 57

3.1. Постановка задачи 57

3.2. Описание предлагаемого метода 58

3.2.1. Представление конечного автомата в виде хромосомы генетического алгоритма 59

3.2.2. Генетический алгоритм 66

3.2.3. Вычисление функции приспособленности 66

3.3. Пример применения метода 68

3.3.1. Система тестов 70

3.3.2. Результаты применения генетического алгоритма 77

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

Заключение 81

Источники 83



Введение


Генетические алгоритмы [4, 35, 55] являются одним из современных и быстро развивающихся направлений в искусственном интеллекте [20]. С их помощью могут быть найдены решения многих задач в различных областях. Примерами таких задач являются: задачи синтеза расписаний, задачи планирования работ и распределения ресурсов, задачи маршрутизации транспортных средств, синтез топологии сетей различного назначения, построение искусственных нейронных сетей, деревьев принятия решений, автоматическое построение программ, проектирование конечных автоматов и клеточных автоматов.

Генетическое программирование [49] – разновидность генетических алгоритмов, в которой вместо низкоуровневого представления объектов в виде битовых строк используется высокоуровневое представление: деревья разбора программ, диаграммы переходов конечных автоматов и т.д. С помощью генетического программирования наиболее эффективно решаются задачи автоматического построения программ, конечных автоматов и клеточных автоматов.

Автоматное программирование [17] – парадигма программирования, при использовании которой программу предлагается строить в виде совокупности автоматизированных объектов управления, каждый из которых содержит систему управления (взаимодействующие конечные автоматы) и объект управления.

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

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

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

В настоящей работе в качестве метода автоматизированного построения автоматов выбрано генетическое программирование. Цель работы состоит в:

  • разработке нового метода совместного применения генетического и автоматного программирования, основанного на использовании тестов;

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

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

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

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

В работе также производится исследование возможностей традиционного метода при использовании новых методов представления автоматов с большим числом входных переменных. Для представления таких автоматов ранее были разработаны различные методы: метод сокращенных таблиц переходов, метод представления автоматов деревьями решений. В настоящей работе делается попытка расширить метод представления автоматов деревьями решений – вместо деревьев решений предлагается использовать конечные преобразователи. Для достижения этой цели предполагается решение следующих задач: разработка структуры хромосомы алгоритма генетического программирования, разработка алгоритмов мутации и скрещивания, сравнение нового метода с существующим на примере задачи «Умный муравей–3».

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

Метод построения автоматов на основе тестов интересен тем, что при его применении нет необходимости строить программную модель внешней среды для вычисления функции приспособленности – за счет этого требуется меньше вычислительных ресурсов. При этом для новой задачи необходимо подготовить только новый набор тестов, а «ядро» вычисления функции приспособленности остается неизменным.

В заключении работы анализируются ее результаты, и приводится ряд открытых вопросов и направлений для дальнейших исследований в этой области.
  1   2   3   4   5   6   7   8   9   ...   12

Добавить документ в свой блог или на сайт

Похожие:

Разработка методов совместного применения генетического и автоматного программирования iconРазработка методов совместного применения генетического и автоматного программирования
Комитета по скалолазанию, тренерского совета и спортсменов-скалолазов, членов сборной команды Украины
Разработка методов совместного применения генетического и автоматного программирования iconЦарев Федор Николаевич Разработка метода совместного применения генетического...
История развития географической науки и роль выдающих ученых в формировании системы географических знаний
Разработка методов совместного применения генетического и автоматного программирования iconРабочая программа по дисциплине с 3 «Технологии и методы программирования»
Цель преподавания дисциплины: Целью изучения дисциплины «Технологии и методы программирования» является изучение современных технологий...
Разработка методов совместного применения генетического и автоматного программирования iconПрограмма учебной дисциплинЫ «Микропроцессорная техника»
Целью дисциплины является формирование знаний студентов по вопросам теории, принципам построения и функционирования основных технических...
Разработка методов совместного применения генетического и автоматного программирования iconПрограмма учебной дисциплинЫ «программируемые логические контроллеры»
Целью дисциплины является формирование знаний студентов по вопросам теории, принципам построения и функционирования основных технических...
Разработка методов совместного применения генетического и автоматного программирования iconРазработка урока Автор: Целюрик Юлия Петровна Тема: «Знакомство со...
Используемые программные приложения из пакета спо: Среда программирования Скретч (Scratch)
Разработка методов совместного применения генетического и автоматного программирования iconРабочая программа учебной дисциплины
«Проектирование web-страниц» является изучение теоретических основ и принципов прикладного программирования на примере построения...
Разработка методов совместного применения генетического и автоматного программирования iconМетодическая разработка «Одномерные массивы» на языке программирования...
«Одномерные массивы» на языке программирования pascal в теории и практике школьного курса «Информатика и икт»/ Методическая разработка....
Разработка методов совместного применения генетического и автоматного программирования iconОтчет о научно-исследовательской работе разработка методов макроэкономической...
«Разработка методов макроэкономической оценки расходов федерального бюджета», шифр темы 0111-03-09
Разработка методов совместного применения генетического и автоматного программирования iconРабочая программа дисциплины «программирование и алгоритмизация»
Автоматизация технологических процессов и производств”, с основами алгоритмизации, основными понятиями программирования, несколькими...
Разработка методов совместного применения генетического и автоматного программирования iconРазработка методов информационной защиты в экономических информационных...
Динамическая эквивалентность как способ преодоления различий в национальных картинах мира
Разработка методов совместного применения генетического и автоматного программирования iconПеречень научно-исследовательских, опытно-конструкторских и технологических...
Изучение закономерностей дифференцировки стволовых и прогениторных клеток из различных источников в условиях in vitro и in vivo и...
Разработка методов совместного применения генетического и автоматного программирования iconОтчет о научно-исследовательской работе
Целью работы является разработка технических решений повышения эффективности совместного использования вычислительных ресурсов центров...
Разработка методов совместного применения генетического и автоматного программирования iconСулейманов галем альбкаевич разработка мер борьбы с основными гельминтозами...
Разработка методов государственного регулирования процессов рождаемости, смертности, брачности и разводимости
Разработка методов совместного применения генетического и автоматного программирования iconТема : 2
Разработка занятия по системе объектно-ориентированного программирования Scratch
Разработка методов совместного применения генетического и автоматного программирования iconТема урока: среда программирования qbasic цели урока
Программы пишут программисты на разных языках программирования. Одним из языков программирования является язык qbasic


Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
100-bal.ru
Поиск