Царев Федор Николаевич Разработка метода совместного применения генетического программирования и конечных автоматов





Скачать 417.12 Kb.
НазваниеЦарев Федор Николаевич Разработка метода совместного применения генетического программирования и конечных автоматов
страница7/11
Дата публикации07.07.2013
Размер417.12 Kb.
ТипДокументы
100-bal.ru > Информатика > Документы
1   2   3   4   5   6   7   8   9   10   11

Глава 4.Задача «Летающие тарелки»

4.1Постановка задачи


Приведем постановку задачи «Летающие тарелки» [16, 17, 30]. Проводится соревнование между двумя командами летающих тарелок. Цель соревнований состоит в том, чтобы одна из тарелок команды переместилась на максимальное расстояние от линии старта. Состязание проходит на трассе, представляющей собой полубесконечную (бесконечную в одну сторону) полосу шириной 40 метров. Маневры, связанные с изменением высоты полета, не допускаются (таким образом, трасса соревнования двумерна).

Каждая команда состоит из N тарелок (агентов). В дальнейшем, кроме термина «соревнование», будем использовать термин «гонка».

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

Для каждого агента заданы начальная скорость и направление движения. В простейшем случае начальные скорости всех агентов одинаковы, а направления – строго вперед. Система также позволяет делать начальные скорости и направления различными. Агенты в процессе полета могут поворачивать тем самым, мешая движению других агентов.

Каждый агент имеет определенный запас топлива, расходуемого в процессе движения. По команде «Старт» все агенты начинают движение с целью максимально удалиться от линии старта. Агенты в процессе полета могут изменять скорость своего движения за счет изменения расхода топлива.

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

Управление каждой командой выполняет программа, написанная на языке программирования Java.

4.1.1Правила соревнований


В каждом соревновании каждая из команд на старте имеет N летающих тарелок с полным запасом топлива (10 см3). Исходно тарелки первой команды случайным образом располагаются на первых 25 метрах левой половины трассы. Тарелки второй команды располагаются симметрично им в правой половине трассы (рис. 6).



Рис. 6. Летающие тарелки на старте

Жизненный цикл летающей тарелки выглядит следующим образом. Она может находиться в одном из трех состояний: «Полет», «Нормальное завершение гонки», «Аварийное завершение гонки» (рис. 7).



Рис. 7. Возможные состояния летающей тарелки и переходы между ними

Обозначения, используемые на рис. 7, приведены в табл. 2.

Таблица 2. Используемые обозначения

Обозначение

Описание

e1

Летающая тарелка покинула пределы трассы (ее центр пересек границу трассы)

e2

Скорость летающей тарелки стала меньше, чем один м/с

e3

Летающая тарелка столкнулась с другой летающей тарелкой

v_rel

Относительная скорость столкновения летающих тарелок

fuel

Количество топлива, которое осталось у летающей тарелки


Поясним поведение летающей тарелки. В начале гонки она находится в воздухе, исправна и способна продолжать участие в гонке. Этому соответствует состояние «Полет».

При выходе летающей тарелки за пределы трассы (событие e1) она завершает гонку аварийно.

Если скорость летающей тарелки падает ниже одного м/с (событие e2), и ее топливный бак не пуст (условие fuel != 0), то она завершает гонку аварийно. Если же при падении скорости ниже одного м/с (событие e2) топливный бак летающей тарелки пуст (условие fuel == 0), то она нормально завершает гонку.

Если летающая тарелка сталкивается с другой тарелкой (событие e3), то при относительной скорости столкновения, большей одного м/с (условие v_rel > 1), тарелка аварийно завершает гонку. При относительной скорости столкновения, не превышающей одного м/с (условие v_rel <= 1), тарелка продолжает полет.

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

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

4.1.2Динамика летающей тарелки


Летающая тарелка представляет собой дискообразное "летающее крыло" радиусом один метр. На рис. 8 представлен вид сверху летающей тарелки.



Рис. 8. Летающие тарелки на старте

Тарелка имеет реактивный двигатель (на рис. 8 он условно показан горизонтальным прямоугольником), топливный бак (вертикальный прямоугольник) емкостью 15 см3, аэродинамические рули и бортовой компьютер, способным регулировать расход топлива (и, как следствие, тягу двигателя) и положение аэродинамических рулей. Эти рули позволяют тарелке маневрировать. Тарелка может передвигаться со скоростями от одного метра в секунду. Максимальная скорость тарелки зависит от запаса топлива и сопротивления воздуха. Ограничение в один метр в секунду вызвано тем, что летающая тарелка с меньшей скоростью не может держаться в воздухе.

Летающая тарелка движется в соответствии со вторым законом Ньютона. Ее движение определяется двумя силами: сопротивлением воздуха F и тягой двигателя T. Если тяга не равна сопротивлению воздуха, то летающая тарелка движется с ускорением, которое может быть положительным (если тяга больше сопротивления воздуха) или отрицательным (если сопротивление воздуха больше тяги).

Ускорение определяется по формуле , где m – масса летающей тарелки. При этом считается, что изменение массы тарелки за счет выгорания горючего пренебрежимо мало.

Сопротивление воздуха определяется по формуле , где v – скорость тарелки, а коэффициенты с1 и с2 определяются ее аэродинамическими характеристиками и одинаковы для всех тарелок обеих команд.

Тяга двигателя определяется по формуле , где q – расход топлива в сантиметрах кубических в секунду. Расход топлива находится под контролем бортового компьютера тарелки, что позволяет изменять расход от нуля до единицы. Константа c4 определяется характеристиками двигателя тарелки и одинакова для всех тарелок обеих команд.

Аэродинамические рули позволяют летающей тарелке поворачивать относительно ее текущего направления движения на угол, не превышающий 25°.

4.1.3Аэродинамическое взаимодействие между летающими тарелками


При полете летающей тарелки от траектории ее полета в направлениях назад и в стороны под углом около 30° распространяются конические вихревые потоки воздуха. Если другая тарелка попадет в этот вихрь, то сопротивление воздуха ее полету резко снизится (рис. 9).



Рис. 9. Летающие тарелки на старте

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

Поясним, как учитывается изменение сопротивления воздуха. Если центр второй летающей тарелки находится в областях, отмеченных на рис. 4 знаком "+", сопротивление воздуха ее движению падает на 50%. Если же центр второй тарелки находится в области, помеченной знаком "–", сопротивление воздуха возрастает на 50%.

Аэродинамические воздействия от нескольких летающих тарелок складываются, так что в зоне, отмеченной на рис. 10 знаками "++", сопротивление воздуха вообще отсутствует, а в зонах, помеченных знаком "0", воздействия компенсируют друг друга. При этом в результате наложения зон воздействия от трех и более летающих тарелок сопротивление воздуха не может стать отрицательным.



Рис. 10. Наложение областей аэродинамического взаимодействия двух летающих тарелок

Учитывая изложенное, вычисление сопротивления воздуха происходит следующим образом. Пусть N+ – количество тарелок, уменьшающих сопротивление воздуха в этой области, а N- – количество тарелок, увеличивающих сопротивление воздуха. Пусть ΔN = N+ – N-. Если ΔN = 0, то в этой области нормальное аэродинамическое сопротивление, если ΔN = 1 или ΔN = 2, то сопротивление понижается на 50ΔN процентов. Если ΔN отрицательно, то сопротивление в этой области повышается на 50|ΔN| процентов.

4.1.4Столкновение летающих тарелок


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

Под относительной скоростью столкновения понимается проекция векторной разности скоростей летающих тарелок на прямую, проходящую через центры летающих тарелок в момент столкновения (рис. 11). Вектор Vrel соответствует относительной скорости.



Рис. 11. Относительная скорость столкновения двух летающих тарелок

4.1.5Моделирование гонки


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

Каждые t миллисекунд (один ход) происходит обновление параметров. Покажем, как выполняется моделирование полета летающих тарелок за время одного хода.

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

Расчет ускорений летающих тарелок в соответствии с установленными расходами топлива и углами поворотов, а также аэродинамическим сопротивлением. Расчет новых скоростей летающих тарелок по формуле , где Vtemp – вектор скорости летающей тарелки после учета ускорения, Vold – вектор старой летающей тарелки, a – вектор ускорения летающей тарелки. После этого происходит поворот вектора скорости на угол равный углу поворота аэродинамических рулей (рис. 12). В результате поворота получается вектор новой скорости летающей тарелки Vnew.

Рис. 12. Пересчет скорости летающей тарелки на шаге моделирования

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

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

Проверка того, что все летающие тарелки находятся в пределах трассы. При выходе центра тарелки за пределы трассы, она выбывает из гонки.

Гонка продолжается до тех пор, пока ее не завершила хотя бы одна тарелка. После того, как ее закончит и эта тарелка, гонка завершается.

Отметим, в чем состоит различие понятий «ход» и «шаг» в настоящем документе. Под шагом моделирования подразумевается квант времени в программе, все временные промежутке в программе должны быть ему кратны. При этом передача управления системам управления летающими тарелками (то есть разрешение каждой из них произвести ход) выполняется через промежутки времени равные шагу моделирования. Между двумя соседними ходами состояние внешней среды изменяется так, как будто между ними прошло время, равное шагу моделирования.
1   2   3   4   5   6   7   8   9   10   11

Похожие:

Царев Федор Николаевич Разработка метода совместного применения генетического программирования и конечных автоматов iconРазработка методов совместного применения генетического и автоматного программирования
Комитета по скалолазанию, тренерского совета и спортсменов-скалолазов, членов сборной команды Украины
Царев Федор Николаевич Разработка метода совместного применения генетического программирования и конечных автоматов iconРазработка методов совместного применения генетического и автоматного программирования
Учебник предназначен для студентов технических вузов по специальности 010100 математика. Работа студентов по этому учебнику позволит...
Царев Федор Николаевич Разработка метода совместного применения генетического программирования и конечных автоматов iconРазвитие формализма метода подвижных клеточных автоматов для изучения...

Царев Федор Николаевич Разработка метода совместного применения генетического программирования и конечных автоматов iconМетодическая разработка по внедрению проектного метода на уроках географии
Данная методическая разработка предполагает проведение уроков по дисциплине География с использованием элементов проектного метода...
Царев Федор Николаевич Разработка метода совместного применения генетического программирования и конечных автоматов iconРазработка метода и адаптивных алгоритмов компрессии с гарантированной...
Работа выполнена на кафедре «Математического обеспечения и применения эвм» Технологического института Южного федерального университета...
Царев Федор Николаевич Разработка метода совместного применения генетического программирования и конечных автоматов iconМинистерство образования Российской Федерации Санкт Петербургский...
Задачи курса: Изучить основные математические результаты и методы, лежащие в основе метода конечных элементов и других вариационных...
Царев Федор Николаевич Разработка метода совместного применения генетического программирования и конечных автоматов iconПлан: Общие понятия об алгоритме Способы записи алгоритмов История...
Так, чтобы решить полное квадратное уравнение, необходимо знать конкретные значения коэффициентов а, b и с (начальные условия). В...
Царев Федор Николаевич Разработка метода совместного применения генетического программирования и конечных автоматов iconЭлектронные образовательные ресурсы для учащихся
Лев Николаевич Толстой (Война и Мир), Федор Михайлович Достоевский (Преступление и наказание, Идиот). Большое собрание стихотворений...
Царев Федор Николаевич Разработка метода совместного применения генетического программирования и конечных автоматов iconРазработка урока Автор: Целюрик Юлия Петровна Тема: «Знакомство со...
Используемые программные приложения из пакета спо: Среда программирования Скретч (Scratch)
Царев Федор Николаевич Разработка метода совместного применения генетического программирования и конечных автоматов iconПрогнозирование трещиностойкости бетона на основе метода конечных элементов
Реальное строение материала и особенности его поведения под нагрузкой отражено в структурных теориях прочности. Однако практическое...
Царев Федор Николаевич Разработка метода совместного применения генетического программирования и конечных автоматов iconУрок по алгебре и математическому анализу в 10 классе по теме «Решение...
Обучающая цель: Изучить возможности применения метода интервалов для решения тригонометрических неравенств
Царев Федор Николаевич Разработка метода совместного применения генетического программирования и конечных автоматов icon26. Мельников Федор Михайлович
Мельников Федор Михайлович родился 31 июля 1942 года в дер. Остречиха Сандовского района Калининской области
Царев Федор Николаевич Разработка метода совместного применения генетического программирования и конечных автоматов iconПрограммное обеспечение для решения задач линейного программирования...
Линейными ограничениями. Основой программы служит алгоритм симплекс метода для неограниченного числа условий и переменных. В алгоритме...
Царев Федор Николаевич Разработка метода совместного применения генетического программирования и конечных автоматов iconСтудента 617 группы фртк давидюка Дмитрия Сергеевича Научный к т....
Поэтому, когда мы измеряем биологические потенциалы, мы видим результат синхронной деятельности совокупности клеток мозга, и эта...
Царев Федор Николаевич Разработка метода совместного применения генетического программирования и конечных автоматов iconДоклад ронжина Андрея Леонидовича по диссертационной работе «Разработка...
«Разработка адаптивного метода робастного понимания слитной речи на основе интегральной обработки данных», представленной на соискание...
Царев Федор Николаевич Разработка метода совместного применения генетического программирования и конечных автоматов iconМетодическая разработка «Одномерные массивы» на языке программирования...
«Одномерные массивы» на языке программирования pascal в теории и практике школьного курса «Информатика и икт»/ Методическая разработка....


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


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