Кривая Гильберта, "съедающая" каждую точку пространства. Очень красивая и важная математика

Подписывайтесь на канал в Яндекс. Дзен или на канал в телеграм "Математика не для всех", чтобы не пропустить интересующие Вас материалы. Также есть группы в VK, Одноклассниках и Facebook : всё для математического просвещения!

Приветствую Вас, уважаемые Читатели! Сегодня поговорим о замечательной математической конструкции — т.н. кривой Гильберта. Эта кривая интересна не только способом построения и свойствами, но и большим количеством практических применений в науке и технике, но обо всём по порядку. Поехали!

Источник: https://s3.amazonaws.com/hicfiles.tc4ga.com/public/juicebox.png

Кривая Гильберта представляет из себя непрерывную фрактальную (имеющую свойства самоподобия на разных масштабах, если кратко, а если подробно, то в конце статьи будет ссылка на хорошую статью о фракталах) линию, заполняющую пространство.

Как понять последнее определение? Его ввёл Джузеппе Пеано, и оно звучит так, потому что кривые такого вида проходят через каждую точку любого квадрата (в общем виде квадрат может быть областью пространства). Посмотрите на пример построения:

Источник: https://upload.wikimedia.org/wikipedia/commons/thumb/a/a5/Hilbert_curve.svg/800px-Hilbert_curve.svg.png

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

Можно подумать, что длина кривой Гильберта при увеличении количества итерации неограниченно возрастает, но это не совсем так!

Да, её длина увеличивает по экспоненте, но она никогда не превосходит величины 2^n , где n — это номер итерации.

Практическое применение кривой Гильберта

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

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

Этот кубик можно просто "развернуть" в линию и мы не пропустим ни одной точки с необходимым нам разрешением. Источник: https://images2.popmeh.ru/upload/default/111/1118585104bc00df7c16040f7f884f05.jpg

Области применения кривой Гильберта:

  • многомерное индексирование объектов (как раз в тему насчет создания "системы координат"). Посмотрите на рисунок выше. Мы имеем элемент трехмерного пространства, каждую точку которого мы "замостили" непрерывной кривой!

Таким образом, мы можем произвести отображение любой точки трехмерного пространства с координатами (x,y,z) в точку кривой Гильберта с координатой d, равной всего лишь расстоянию до этой точки от начала линии.

Задача понижения размерности — это краеугольный камень многих задач обработки больших данных (Big Data). Кроме того, мы можем "мостить" кривой Гильберта пространство любой размерности.

  • конструирование антенн;

Вот такая у неё диаграмма направленности (для тех, кто понимает). Самая статья — https://repository.upenn.edu/cgi/viewcontent.cgi?referer=https://habr.com/ru/post/340100/&httpsredir=1&article=1010&context=ese_papers

  • кластеризация таблиц баз данных;
  • управление цветовой палитрой (позволяет создавать наборы цветов для графических редакторов с отсутствием пропусков оттенков, но с шагом, достаточным для различения);
  • и еще много других алгоритмов обработки данных. Спасибо за внимание! Обещанная ссылка на мой материал по фракталам.

**************************************************************************

Путеводитель по каналу "Математика не для всех" — здесь собрано больше 100 статей на самые разнообразные темы: как для новичков, так и для более начитанных математиков!

Спасибо! Надеюсь, было очень интересно и познавательно! Буду рад, если Вы поддержите меня ПОДПИСКОЙ, ЛАЙКОМ или даже критическим комментарием. ССЫЛКА НА ДЗЕН-КАНАЛ и TELEGRAM.

**************************************************************************

Понравилась статья? Поделиться с друзьями:
Математика не для всех
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: