Применение генетического алгоритма в экспериментах с невидимостью

VII Международный конкурс научно-исследовательских и творческих работ учащихся
Старт в науке

Применение генетического алгоритма в экспериментах с невидимостью

Коновалов М.И. 1
1МБОУ г.Мурманска "Гимназия №1"
Белоушко К.Е. 1
1МБОУ г.Мурманска "Гимназия №1"
Автор работы награжден дипломом победителя II степени
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF

Введение

Актуальность

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

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

Эксперимент с маскирующей оболочкой, для которого и была написана программа, был выбран не случайно – результаты этого исследования, проведенного в университете ИТМО, были опубликованы в журнале Успехи Физических Наук, однако несмотря на весь данный материал точных характеристик оболочки не было. Этот факт и побудил создать данную программу, чтобы в дальнейшем воспроизвести эксперимент приобретения невидимости объектом.

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

План работы:

Изучить информацию об основных понятиях, связанных с радио-прозрачностью;

Изучить литературу и материалы о принципе работы генетического алгоритма;

Проанализировать полученную информацию;

Графически смоделировать ситуацию с объектом, невидимым в радиодиапазоне;

Разработать действующую программу на основе генетического алгоритма;

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

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

Задачи:

Изучение материала по данной теме.

Формулирование основной идеи генетического алгоритма.

Написание компьютерной программы, работающий по принципу генетического алгоритма.

Методы:

Работа с информационными источниками.

Компьютерное моделирование.

§ 1.1 Генетический алгоритм

Генетический алгоритм — это эвристический алгоритм поиска, используемый для решения задач оптимизации и моделирования путём случайного подбора, комбинирования и вариации искомых параметров с использованием механизмов, аналогичных естественному отбору в природе.

Критерии остановки генетического алгоритма:

Нахождение глобального, либо субоптимального решения.

Исчерпание числа поколений, отпущенных на эволюцию.

Исчерпание времени, отпущенного на эволюцию.

Исчерпание времени, на улучшение предыдущего результата.

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

 

Генетически алгоритм

§ 1.2. Невидимость с точки зрения геометрической оптики

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

§ 1.3. Принцип Гюйгенса-Френеля

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

Эффект Гюйгенса-Френеля

§ 1.4 Покрытие, разработанное Университетом ИТМО

Подробности экспериментов с невидимостью, проводившихся в университете ИТМО были опубликованы в журнале УФН в 2014 году. Работа покрытия основывалась на явление волнового обтекания, однако данный метод был использован еще раньше – в 2007 году английским физиком Джоном Пендри.

Результаты исследований ИТМО

Глава II Практическая часть

§ 2.1 Компьютерное моделирование

В ходе проведенных нами работ была написана программа на языке программирования Pascal. Данный код включает в себя генетический алгоритм.

Программа иллюстрирует движение лучей в неоднородной сферической оболочке, состоящей из 15 слоев (данное количество взято для простоты вычислений). Вычисление траектории лучей производится через принцип Гюйгенса-Френеля, который был описан ранее. Главной целью является вычисление оптимальных показателей преломления для каждого из слоев покрытия, при которых направление лучей при выходе в оболочку будет совпадать с направление лучей на входе. Точное значение показателей преломления дает возможность подбора материалов и создание действующей оболочки.

Разберем принцип работы данной программы. Первая часть программы заключает в себя инициализацию переменных и констант. Далее задаются показатели преломления для каждого слоя. Они являются элементами массива. Затем, идет вычисление хода лучей по принципу Гюйгенса-Френеля. На данном этапе количество лучей равно 60. Для каждого луча проверяется следующее: проходит ли луч через внутреннюю полость оболочки и угол, под которым луч выходит из оболочки. Если данные условия выполняются, то особой переменной, которая отвечает за такие «неправильные» лучи присваивается значение 2 (единица за каждое выполненное условие). После расчета суммируется количество «неправильных» лучей. Это является отправной точкой в работе генетического алгоритма – от этого показателя зависит дальнейшее выполнение программы: при минимальном количестве ошибок программа заканчивает свою работу и нам доступны точные показатели преломления.

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

Алгоритм работы программы

Программный код:

Programabc;

usescrt, graphABC;

programAlgorithm;

usescrt, graphABC;

const

ox1 = 600;

oy1 = 350;

or1 = 300;

ox2 = 600;

oy2 = 350;

or2 = 250;

ox3 = 600;

oy3 = 350;

or3 = 200;

ox4 = 600;

oy4 = 350;

or4 = 150;

dt = 0.01;

n0 = 1;

n1 = 1.5;

c = 2;

var

i, j: integer;

da: real; r1: real; r2: real;

xx1, yy1, x1, x2, y1, y2: real;alpha: real;

a: real;

nn: array [1..15] of real;pic: Picture;

filename: integer;

err, errors: integer;

inobj: boolean; george, dodo: real;

errorarray: array [1..10] of integer;

z: real;

procedure init_N; var

i: integer;

begin

for i := 1 to 60do

begin

nn[i] := 1 + 0.1 * i + z;

setpencolor(clBlack);

setbrushcolor(clLightBlue);

pic.Rectangle(100, 60 + 10 * i, round(100 + 10 * nn[i]), 60 + 10 * (i + 1));

setbrushcolor(clLightGray);

pic.TextOut(20, 60 + 10 * i, 'n[' + IntToStr(i) + '] = ' + FloatToStr(nn[i]));

end;

for i := 7 to 15 do

begin

nn[i] := 1 + 0.1 * i+1 + z;

setpencolor(clBlack);

setbrushcolor(clLightBlue);

pic.Rectangle(100, 60 + 10 * i, round(100 + 10 * nn[i]), 60 + 10 * (i + 1));

setbrushcolor(clLightGray);

pic.TextOut(20, 60 + 10 * i, 'n[' + IntToStr(i) + '] = ' + FloatToStr(nn[i]));

end;

z := z + 0.1;

end;

function n(x, y: real): real;

var

i: integer;

begin

n := n0;

for i := 1 to 15 do

if (sqr(x - ox1) + sqr(y - oy1) < sqr(310 - i * 10)) then n := nn[i];

if (sqr(x - ox4) + sqr(y - oy4) < sqr(or4)) then n := n0;

end;

begin

setfontsize(7);

for j := 1 to 10 do

begin

setwindowsize(1200, 700);

clearwindow;

pic := Picture.Create(1200, 700);

with pic do

begin

setbrushcolor(clLightGray);

setpencolor(clBlack);

rectangle(0, 0, 1200, 700);

setbrushcolor(clLightBlue);

circle(ox1, oy1, or1);

setbrushcolor(clLightGray);

circle(ox4, oy4, or4);

a := 1;

init_N;

setbrushcolor(clLightGray);

errors := 0;

for i := 1 to 60 do

begin

inobj := false;

alpha := 0;

x1 := 50;

y1 := 10 * (4 + i);

moveto(round(x1), round(y1));

x2 := x1 + a * sin(alpha);

y2 := y1 - a * cos(alpha);

setpencolor(RGB(i * 4, 0, 255 - i * 4));

repeat

r1 := c * dt / n(x1, y1);

r2 := c * dt / n(x2, y2);

da := arctan((r2 - r1) / 1);

alpha := alpha + da;

xx1 := x1;

yy1 := y1;

x1 := x1 + r1 * cos(alpha);

y1 := y1 + r1 * sin(alpha);

x2 := x2 + r2 * cos(alpha);

y2 := y2 + r2 * sin(alpha);

if sqrt(sqr(x1 - ox4) + sqr(y1 - oy4)) < or4 then inobj := true;

pic.Line(round(xx1), round(yy1), round(x1), round(y1));

until (x1 > 1200) or (y1 > 700) or (x1 < 0) or (y1 < 0) or (KeyPressed);

pic.Draw;

if inobj then err := err + 1;

pic.TextOut(1000, 10 * (4 + i), 'alpha(' + IntToStr(i) + ') = ' + IntToStr(round(alpha * 180 / pi)));

if abs(alpha * 180 / pi) <= 30 then err := err + 1;

pic.TextOut(1100, 10 * (4 + i), 'err = ' + IntToStr(err));

errors := errors + err;

errorarray[j] := errors + err;

err := 0;

if (errorarray[j]>errorarray[j+1]) and (errorarray[j+1]>errorarray[j+2]) then

exit;

end;

pic.TextOut(1000, 660, '------------------------------------');

pic.TextOut(1000, 670, 'Errors = ' + IntToStr(errors));

pic.TextOut(1000, 680, IntToStr(errorarray[j]));

end;

pic.Save(inttostr(j) + '(' + inttostr(errorarray[j]) + ')' + ' [' + inttostr(errors) + '].jpg');

end;

end.

Заключение

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

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

Источники информации

Курейчик В. М., Лебедев Б. К., Лебедев О. К. Поисковая адаптация: теория и практика. — М: Физматлит, 2006. — 272 с. 

Гладков Л. А., Курейчик В. В., Курейчик В. М. Генетические алгоритмы: Учебное пособие. — 2-е изд. — М: Физматлит, 2006. — 320 с. 

Гладков Л. А., Курейчик В. В, Курейчик В. М. и др. Биоинспирированные методы в оптимизации: монография. — М: Физматлит, 2009. — 384 с.

Рутковская Д., Пилиньский М., Рутковский Л. Нейронные сети, генетические алгоритмы и нечеткие системы. — 2-е изд. — М: Горячая линия-Телеком, 2008. — 452 с.

Скобцов Ю. А. Основы эволюционных вычислений. — Донецк: ДонНТУ, 2008. — 326 с.

«Метод краевых волн в физической теории дифракции», Уфимцев П. Я., изд. «Советское радио», 1962, тираж 6.5 т. экз.

А. Н. Лагарьков, М. А. Погосян Фундаментальные и прикладные проблемы стелс-технологий// Вестник РАН. — 2003. — Т. 73, № 9. 

Российская газета: «Российские „стелс-технологии“ востребованы на мировом рынке» (Интервью с чл.-корр. РАН А. Н. Лагарьковым)

Бочкарев А. М., Долгов М. Н. «Радиолокация малозаметных летательных аппаратов» Зарубежная радиоэлектроника. — 1989. — № 2. 

Смирнов А. Радиолокационная заметность объектов // Армейский сборник: журнал. — 2013. — Ноябрь (№ 11).

Митио Каку Невидимость // Физика невозможного — Альпина нон-фикшн, 2009.

«Элементарный учебник физики», Г. Ландсберг, том 1; 2; 3, Москва, 1952

«Метод краевых волн в физической теории дифракции», Уфимцев П. Я., изд. «Советское радио», 1962

Бочкарев А. М., Долгов М. Н.  «Радиолокация малозаметных летательных аппаратов», «Зарубежная радиоэлектроника» — 1989

«Радиолокационная заметность объектов», Смирнов А.,2013.

Прохоров А.М. Физический Энциклопедический Словарь. — Советская энциклопедия, 1983. 

Сивухин Д. В. Общий курс физики. — М.. — Т. IV. Оптика.

Звелто О. Принципы лазеров. — Лань, 2008. 

«Экспериментальные реализации маскирующих покрытий»//Успехи Физических Наук, Том 185, №2, февраль 2015г.;

Просмотров работы: 27