курс: Информатика. Алгоритмы и структуры данных на Python 3.
лектор: Хирьянов Тимофей Фёдорович
14.11.2017
Темы, рассмотренные на лекции №11:
— Двумерное динамическое программирование.
— Наибольшая общая подпоследовательность.
— Наибольшая возрастающая подпоследовательность.
— ВНИМАНИЕ! В программном коде поиска длины наибольшей возрастающей подпоследовательности в самом конце лекции допущена ошибка: индексы A(i), A(j) должны быть A(i-1) и A(j-1).
Я расскажу о том, как получить невероятно сложные и красивые фракталы, как замоделировать молнию, рост плесени и броуновское движение, а также расскажу, по каким правилам растут папоротники. Уверяю: это перевернёт ваше представление о природе!
Для построения множества Жюлиа понадобится небольшая формула над комплексными числами! Вместо того, чтобы сразу разбирать полную формулу, я предлагаю сначала занулить константу C.
Понятно, что если точки находятся внутри единичного круга, то они должны притянуться к центру. Точки, которые находятся вне единичной окружности будут отдалятся от нуля.
Точки, находящиеся на границе окружности, будут оставаться на границе.
Нас интересуют только такие точки плоскости, которые не уходят на бесконечность. Понятно, что для данной формулы множество таких точек – это круг радиуса 1.
А что теперь будет, если в формулу добавить очень маленькую константу C и постепенно увеличивать её по модулю. Если немного подождать, то мы увидим уже знакомое нам множество Мандельброта. При некоторых параметрах фрактал разделяется на небольшие островки, которые то образуются, то опять комбинируются в единое целое.
Увеличивая границу этого множества, мы будем видеть все больше и больше мелких деталей. Каждая отдельная часть содержит бесконечное множество вариаций исходного фрактала.
Одна компактная формула способна породить целую вселенную с бесконечно сложными циклонами, причудливыми иглами, острыми вилами, полувилами, супервилами, тайфунами, небоскребами, океанами, долинами морских коньков и долинами слонов.
Вместо второй степени можно выбрать любую: третью, четвёртую, пятую, восьмую и даже дробную.
Фракталы можно строить в трехмерном, четырёхмерном или даже в пятисотмерном пространстве.
Для более высоких размерностей используют уже не комплексные числа, а, например, кватернионы. Это не пары чисел, а группы по 4 числа.
Каждый трехмерный фрактал, полученный той или иной формулой, – это сечение четырёхмерного множества. Для алгебры октав или Клиффорда эта область математики на данный момент изучена мало.
Во многих областях физики можно встретить фракталы. Один из самых известных примеров – движение Броуновской частицы. Если подождать достаточно долго, то можно увидеть, что траектория движения броуновской частицы самоподобна.
На этом фрактальность не заканчивается. Представьте теперь, что частицы движутся и могут прилипать к статичной затравочной частице в центре. Сначала мы с некоторого радиуса с произвольной стороны выпускаем частицу. Если она оказалась рядом с затравочной, то она к ней прилипнет. После этого мы опять выпускаем частицу и ждем её прилипания.
Постепенно налипает все больше и больше частиц. Образуется структура, называемая кластером.
Частицы, двигаясь по фрактальным траекториям, прилипают друг к другу и образуют фрактальный кластер.
Можно ввести вероятность прилипания и сделать её тем выше, чем больше соседей вокруг.
Забавная структура, да ещё и очень похожа на то, что мы наблюдаем в реальном эксперименте при химической агрегации DLA кластеров.
Коронный разряд — очень красивое явление, которое тоже является фракталом! С помощью уравнения Лапласа можно смоделировать распространение молнии.
При изменении свойств среды, в которой распространяется молния, изменяется ветвистость структуры.
Возьмем три любые точки на плоскости. Теперь нужно выбрать произвольную точку и много раз делать простую процедуру. Выберем одну из трех зафиксированных нами точек и сместимся в её сторону на половину расстояния до неё.
Так мы будем делать снова и снова. Получившаяся фигура называется треугольником Серпинского: это один из самых популярных фракталов.
То есть мы случайно смещались в сторону одной из вершин треугольника и получили такой фантастический результат.
Это работает не только с треугольником.
Можно задать другое правило: en.wikipedia.org/wiki/Barnsley_fern
Если запрограммировать это правило, то получится папоротник Барнсли. Каждое из этих четырех правил отвечает за рост его отдельных частей.
Достаточно четырёх преобразований для хранения всех возможных комбинаций папоротников.
Поэтому фракталы уже давно применяют в компьютерной графике для генерации миров в играх. Они получаются очень интересными и разнообразными.
Вот такая интересная бывает математика.
Огромная благодарность всем моим спонсорам на patreon!
Интервью Анастасии Загорской, HR-менеджера Школы, с Эдуардом Ивакиным, HR-директором Banda Agency. Banda agency: banda.agency/
00:00 Вступление
01:07 О Banda agency
01:38 Как Эдуард Ивакин попал в Банду и с какими задачами работает
08:45 Проект 70 — как найти талантливых джунов в команду
16:45 Проект «Здай братуху чи сеструху»
21:58 О помощи с переездом в Киев для новых сотрудников
23:45 Любимая реклама от Banda agency
25:08 Как создается реклама в команде?
28:10 Как попасть в Banda agency?
32:26 Самое запоминающееся сопроводительное письмо
33:20 Как проходит собеседование?
39:40 Как проходит испытательный срок?
49:05 О внедрении Scrum в командную работу
52:38 Как справляетесь с выгоранием сотрудников?
54:40 Процесс онбординга
56:14 Какие есть плюшки?
58:15 Сколько людей сократили из-за карантина?
1:01:18 Какова миссия Banda agency?
Креативное агентство ЖИЗА – это YouTube канал, на котором регулярно выходят разные форматы полезных и развлекательных шоу. Если вы уже не смотрите телек, но еще не знаете, что посмотреть в YouTube, то скорее подписывайтесь!
Новый гость «10 глупых вопросов» – ветеринарный врач Кирилл Сачков. Мы задали Кириллу самые глупые вопросы о лечении животных и узнали, почему птицы не болеют бешенством, через сколько дней на змею подействует наркоз и зачем собакам обрезают хвост.
Креативное агентство ЖИЗА – это YouTube канал, на котором регулярно выходят разные форматы полезных и развлекательных шоу. Если вы уже не смотрите телек, но еще не знаете, что посмотреть в YouTube, то скорее подписывайтесь!