Скачать 0.78 Mb.
|
2.4.Предлагаемый методВ настоящей работе для решения задачи «Умный муравей–3» также предлагается использовать генетическое программирование, но с использованием другого метода представления автоматов в виде особей генетического алгоритма. Предлагаемый метод является развитием метода представления автоматов с помощью деревьев решений, который описан в работах [6, 7]. При применении этого подхода каждому состоянию автомата соответствует некоторое дерево решений, в листьях которого хранится информация о том, в какое состояние должен перейти автомат и какое выходное воздействие он должен выработать. В настоящей работе предлагается вместо деревьев решений применять конечные распознаватели (конечные автоматы, использующиеся для распознавания регулярных языков). Пусть конечный автомат, который необходимо представить, имеет n входных логических переменных. Если их значения в некоторый момент расположить в некотором фиксированном порядке, то получится слово из нулей и единиц длины n. Если подать это слово на вход некоторому конечному распознавателю, то он перейдет из начального состояния в некоторое состояние S. Обычно каждое из состояний является либо допускающим, либо не допускающим. В предлагаемом методе состояния конечного распознавателя помечены выходными воздействиями и номерами состояний управляющего конечного автомата. Состояние S, в которое перешел конечный распознаватель, будет аналогом листа дерева решений – из него будет считана информация о том, в какое состояние должен перейти управляющий автомат и какое выходное воздействие он должен выработать. Преимуществом конечных распознавателей является то, что для представления одной и той же функции переходов, им требуется меньшее число состояний, чем деревьям решений. Поясним это на примере. Пусть из состояния 0 некоторого управляющего автомата заданы три перехода (Рис. 20.).
Пометки на переходах на Рис. 20. имеют следующий формат: условие/ выходное воздействие. Отметим, что указанная система условий на переходах из состояния 0 является полной и непротиворечивой. Если использовать представление автоматов с помощью деревьев решений, то дерево для рассматриваемого состояния будет содержать пять вершин (Рис. 21.).
Эту же систему переходов можно задать конечным распознавателем, который будет содержать всего три состояния. Его граф переходов изображен на рис. 6 (ему на вход вначале подается значение переменной x1, а затем – значение переменной x2).
На Рис. 22. начальное состояние указано большой стрелкой, а пометки состояний имеют следующий формат: номер состояния [номер состояния, в которое должен перейти управляющий автомат, выходное воздействие, которое он должен выработать]. 2.4.1.Описание алгоритмаПриведем описание разработанного алгоритма. Алгоритм генетического программирования состоит из пяти частей:
Начальное поколение состоит из фиксированного числа случайно сгенерированных автоматов. Все автоматы в поколении имеют одинаковое заранее заданное число состояний. При этом все конечные распознаватели, задающие переходы автоматов также имеют одинаковое заранее заданное число состояний. 2.4.2.Операция мутацииДля выполнения мутации выбирается один из двух равновероятных вариантов:
При мутации конечного распознавателя случайно выбирается один из следующих равновероятных вариантов:
2.4.3.Операция скрещиванияСкрещивание описаний управляющих конечных автоматов производится отдельно для каждого из состояний. При этом производится скрещивание конечных распознавателей, задающих функцию переходов. Опишем метод их скрещивания. Оператор скрещивания конечных распознавателей получает на вход два конечных распознавателя и выдает также два конечных распознавателя. Процесс скрещивания происходит следующим образом. Обозначим родительские особи P1 и P2, а потомков – S1 и S2. Обозначим начальное состояние конечного распознавателя A как A.is. Тогда для потомков S1 и S2 будет верно одно из двух: либо S1.is = P1.is и S2.is = P2.is, либо S1.is = P2.is и S2.is = P1.is, причем оба варианта равновероятны. Опишем, как устроены переходы конечных распознавателей, которые получаются в результате скрещивания. Обозначим переход из состояния номер i в преобразователе P1 по символу «1» как P1(i, 1), а по символу «0» как P1(i, 0). Аналогичный смысл придадим обозначениям P2(i, 0) и P2(i, 1). Тогда для переходов из состояния с номером i в «потомках» S1 и S2 будет справедливо одно из четырех соотношений:
Все четыре варианта равновероятны. Возможные варианты переходов при графически изображены на Рис. 23..
2.4.4.Формирование следующего поколенияВ качестве основной стратегии формирования следующего поколения используется элитизм [4]. При обработке текущего поколения отбрасываются все особи, кроме нескольких наиболее приспособленных. Доля выживающих особей постоянна для каждого поколения и является одним из параметров алгоритма. Эти особи переходят в следующее поколение. После этого оно дополняется до требуемого размера следующим образом: пока оно не заполнено выбираются две особи из текущего поколения, и они с некоторой вероятностью скрещиваются или мутируют. Обе особи, полученные в результате мутации или скрещивания, добавляются в новое поколение. Кроме этого, если на протяжении достаточно большого числа поколений не происходит увеличения приспособленности, то применяются «малая» и «большая» мутации поколения. При «малой» мутации поколения ко всем особям, кроме 10% лучших, применяется оператор мутации. При «большой» мутации каждая особь либо мутирует, либо заменяется на случайно сгенерированную. Количество поколений до «малой» и «большой» мутации постоянно во время работы алгоритма, но может быть различным для разных его запусков. 2.4.5.Настраиваемые параметры алгоритмаСледующие параметры алгоритма генетического программирования могут быть изменены:
Программная реализация описанного алгоритма генетического программирования выполнена на языке программирования Java будет опубликована на сайте http://is.ifmo.ru в разделе «Генетические алгоритмы». |
Разработка методов совместного применения генетического и автоматного программирования Комитета по скалолазанию, тренерского совета и спортсменов-скалолазов, членов сборной команды Украины | Царев Федор Николаевич Разработка метода совместного применения генетического... История развития географической науки и роль выдающих ученых в формировании системы географических знаний | ||
Рабочая программа по дисциплине с 3 «Технологии и методы программирования» Цель преподавания дисциплины: Целью изучения дисциплины «Технологии и методы программирования» является изучение современных технологий... | Программа учебной дисциплинЫ «Микропроцессорная техника» Целью дисциплины является формирование знаний студентов по вопросам теории, принципам построения и функционирования основных технических... | ||
Программа учебной дисциплинЫ «программируемые логические контроллеры» Целью дисциплины является формирование знаний студентов по вопросам теории, принципам построения и функционирования основных технических... | Разработка урока Автор: Целюрик Юлия Петровна Тема: «Знакомство со... Используемые программные приложения из пакета спо: Среда программирования Скретч (Scratch) | ||
Рабочая программа учебной дисциплины «Проектирование web-страниц» является изучение теоретических основ и принципов прикладного программирования на примере построения... | Методическая разработка «Одномерные массивы» на языке программирования... «Одномерные массивы» на языке программирования pascal в теории и практике школьного курса «Информатика и икт»/ Методическая разработка.... | ||
Отчет о научно-исследовательской работе разработка методов макроэкономической... «Разработка методов макроэкономической оценки расходов федерального бюджета», шифр темы 0111-03-09 | Рабочая программа дисциплины «программирование и алгоритмизация» Автоматизация технологических процессов и производств”, с основами алгоритмизации, основными понятиями программирования, несколькими... | ||
Разработка методов информационной защиты в экономических информационных... Динамическая эквивалентность как способ преодоления различий в национальных картинах мира | Перечень научно-исследовательских, опытно-конструкторских и технологических... Изучение закономерностей дифференцировки стволовых и прогениторных клеток из различных источников в условиях in vitro и in vivo и... | ||
Отчет о научно-исследовательской работе Целью работы является разработка технических решений повышения эффективности совместного использования вычислительных ресурсов центров... | Сулейманов галем альбкаевич разработка мер борьбы с основными гельминтозами... Разработка методов государственного регулирования процессов рождаемости, смертности, брачности и разводимости | ||
Тема : 2 Разработка занятия по системе объектно-ориентированного программирования Scratch | Тема урока: среда программирования qbasic цели урока Программы пишут программисты на разных языках программирования. Одним из языков программирования является язык qbasic |