Учёные написали программный код на основе древней системы шнуров и узлов инков
Группа исследователей под руководством Ричарда Доссельманна из Канадского университета коренных народов в Реджайне установила, что система узелкового письма кипу, применявшаяся инками около 600 лет назад, воспроизводит принципы организации данных, используемые в современных компьютерах. Результаты опубликованы в журнале Computer and Information Science.
Доссельманн совместно с соавторами Эдвардом Дулиттлом и Ватикой Тайал перевёл структуру кипу в программный код на языках C++ и Python. От основного шнура кипу отходят шнуры-подвески, от которых ответвляются шнуры-вкладыши — это формирует древовидную иерархию, аналогичную вложенным папкам в файловой системе компьютера. Шнуры группируются по тематическому признаку, а специальные «верхние шнуры» автоматически суммируют значения узлов нижестоящих элементов.
На основе этих свойств команда разработала новый формат файлов с расширением .qpu. В нём каждая строка разделена символом «|», имитирующим шнур, и содержит четыре параметра: тип элемента, цвет в формате RGBA, направление узла и числовые значения. Глубина в иерархии обозначается отступами.
Исследователи создали три рабочих приложения — электронную таблицу, файловую систему и инструмент обработки изображений. Тесты производительности показали, что скорость вставки данных в неупорядоченной структуре кипу сопоставима с массивами и связанными списками, а при иерархическом расположении приближается к показателям сбалансированных деревьев и хеш-таблиц. Масштабирование происходит линейно.
Дополнительно в структуру кипу встроена возможность шифрования: перестановка шнуров и узлов на каждом уровне иерархии позволяет кодировать данные без внешних алгоритмов. По словам Доссельманна, такой подход к шифрованию через изменение порядка элементов предложен впервые.
Источник:Popular Mechanics
