Телефон: 8-800-350-22-65
WhatsApp: 8-800-350-22-65
Telegram: sibac
Прием заявок круглосуточно
График работы офиса: с 9.00 до 18.00 Нск (5.00 - 14.00 Мск)

Статья опубликована в рамках: LXXXIII Международной научно-практической конференции «Экспериментальные и теоретические исследования в современной науке» (Россия, г. Новосибирск, 28 ноября 2022 г.)

Наука: Информационные технологии

Скачать книгу(-и): Сборник статей конференции

Библиографическое описание:
Федотов В.П. ПРЕДСТАВЛЕНИЕ ЧИСЛОВОЙ ИНФОРМАЦИИ - 3 // Экспериментальные и теоретические исследования в современной науке: сб. ст. по матер. LXXXIII междунар. науч.-практ. конф. № 11(76). – Новосибирск: СибАК, 2022. – С. 11-15.
Проголосовать за статью
Дипломы участников
У данной статьи нет
дипломов

ПРЕДСТАВЛЕНИЕ ЧИСЛОВОЙ ИНФОРМАЦИИ - 3

Федотов Валерий Павлович

канд. физ.-мат. наук, зав. кафедрой машинного обучения, Международная Академия информационных технологий,

РФ, г. Санкт-Петербург

REPRESENTATION OF NUMERICAL INFORMATION — 3

 

Valery Fedotov

Candidate of Physical and Mathematical Sciences, Head of the Department of Machine Learning, International Academy of Information Technology,

Russia, Saint-Petersburg

 

АННОТАЦИЯ

Третья часть серии публикаций автора по заявленной теме посвящена (не только числовым) массивам. Она начинается с историко-методологического обзора трансформации идеи Декарта из математики в программирование. Новым является наглядное представление точек (векторов) четырёхмерного пространства в виде связанных векторов (направленных отрезков с фиксированными началом и концом) на плоскости, а также аналогичные интерпретации пространств более высоких размерностей.

ABSTRACT

The third part of the author's series of publications on the stated topic is devoted (not only to numerical) arrays. It begins with a historical and methodological review of the transformation of Descartes' idea from mathematics to programming. What is new is the visual representation of points (vectors) of a four-dimensional space in the form of connected vectors (directed segments with fixed beginnings and ends) on a plane, as well as similar interpretations of spaces of higher dimensions.

 

Ключевые слова: метод Декарта, массивы в программировании, векторы.

Keywords: descartes method, arrays in programming, vectors.

 

Первые две части ([4] и [5]) этой серии были посвящены представлению отдельных чисел в различных (традиционных и информационных, включая башенные) системах счисления. Теперь перейдём к числовым массивам.

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

На заре программирования (например, в Алголе-60) использовались только числовые массивы с относительно небольшим числом индексов, значения которых выражались исключительно натуральными числами [1]. Как правило, за каждым элементом числового массива резервировалась отдельная ячейка памяти, в которой хранилось его значение. Такой способ представления наиболее универсален, так как позволяет производить изменения значений любого элемента числового массива вне зависимости от остальных.

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

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

Если индексов два, то массив превращается в прямоугольную таблицу. Её широко известным примером служит Лист в Excel (или в других электронных таблицах). Остаётся лишь последний шаг, чтобы вернуться к её прототипу — координатам Декарта на плоскости. Если считать, что номера строк соответствуют значениям абсцисс, а номера столбцов соответствуют значениям ординат, то направления осей окажутся повёрнутыми на 90º по отношению к их привычному ракурсу. Числа в клетках таблицы при этом можно трактовать как значения функции f(x,y) от двух переменных (координат) x и y. В зависимости от контекста, таблица либо сама может служить способом задания этой функции, либо содержать результат её вычисления.

В школьном курсе математики Декарту отведена роль изобретателя буквенных обозначений для переменных, на которых держится вся современная алгебра. Однако, как и любое другое открытие, оно не стало бы событием в истории математики, если бы не вскрыло глубинных связей (изоморфизмов) между разными разделами математики. Метод координат Декарта оказался изоморфизмом, связавшим геометрию с алгеброй при помощи нового на тот момент языка аналитической геометрии. Удивительным фактом в истории математики является почти одновременное открытие двух наиболее важных изоморфизмов: координат Декарта и логарифмов Непера [3, с 410-411].

Ещё несколько изоморфизмов связаны с понятием вектора и переходами от точек к векторам и обратно. Изначально пара координат (x,y) служила для указания на точку координатной плоскости, имеющую абсциссу x и ординату y. Но точно такую же пару координат (x,y) может иметь вектор на той же плоскости. Замена точек векторами радикально меняет контекст: векторы можно складывать между собой и умножать на числа, чего не принято делать с точками.

Стандартный подход предполагает визуализацию вектора (x,y) в виде направленного отрезка, начало которого совпадает с началом координат (0,0) на плоскости, а конец (на котором для наглядности часто рисуют стрелку) — с точкой (x,y). Авторы, желающие избежать путаницы, различают связанные векторы (у которых начало и конец могут быть любыми точками плоскости, а равенство определено через одновременное совпадение начал и концов), свободные векторы (равенство которых определено правилом параллелограмма, что позволяет перенести начало в любую точку плоскости, в частности, в начало координат) и скользящие векторы (которые разрешено переносить только вдоль прямой, на которой лежат их начало и конец) [2].

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

Что и как сильно при этом изменится? Прежде всего, заметим, что каждая из двух диагоналей содержит информацию, позволяющую восстановить весь прямоугольник, а в нём перейти к другой диагонали. Значит, возникает, как минимум, взаимно однозначное соответствие между диагоналями первого и второго типа. Не важно, что диагонали первого типа являются связанными векторами с общим началом (0,0) и произвольными концами (x,y), тогда как у диагоналей второго типа начало может находиться в любой точке (x,0) на оси абсцисс, а конец — в любой точке (0,y) на оси ординат.

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

Наконец, можно перейти к ещё одной визуализации вектора (x,y). Для этого повернём ось Oy так, чтобы она совпала с неподвижной осью Ox. Точка (0,y) в этом случае превратится в (y,0). Легко понять, что равные нулю вторые координаты теперь не несут никакой информации, что позволяет их отбросить. В итоге вектор (x,y) на плоскости превращается в связанный вектор на числовой оси с началом x и концом y. Получен ещё один изоморфизм с сохранением всех законов векторной алгебры. Важно, что при этом вторая размерность оказалась «лишней».

Но ничто не мешает точно также уменьшать число размерностей, чтобы перейти от многомерных пространств к их наглядным визуализациям. Рассмотрим точку (x,y,z,t) четырёхмерного арифметического пространства (в частности, это может быть модель Минковского для пространства-времени). Стандартный подход предполагает визуализацию вектора (x,y,z,t) в виде направленного отрезка в четырёхмерном пространстве, начало которого совпадает с началом координат (0,0,0,0), а конец — с точкой (x,y,z,t). Это одна из восьми диагоналей четырёхмерного прямоугольного параллелепипеда. Вместо неё можно взять любую другую диагональ. Выберем ту, которая направлена из вершины (x,y,0,0) в вершину (0,0,z,t). Затем поворотом совместим плоскость Oxy с плоскостью Ozt, после чего можно будет отбросить «лишние» нулевые координаты.

В итоге этих манипуляций свободный вектор (x,y,z,t) четырёхмерного пространства превратился в связанный вектор на плоскости с началом (x,y) и концом (z,t). Нетрудно убедиться, что в очередной раз получен изоморфизм, сохраняющий все законы векторной алгебры. Более того, чтобы сложить два четырёхмерных вектора достаточно по привычным правилам по отдельности сложить двумерные векторы их начал и их концов в этой визуализации.

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

 

Список литературы:

  1. Д. В. Бэкус, Ф. Л. Бауэр, Д. Грин, С. Кэтц, Д. Мак-Карти, П. Наур, Э. Д. Перлис, X. Рутисхаузер, К. Замельзон, Б. Вокуа, Д. Уэгстейн, А. Ван-Вэнгаарден, М. Вуджер. Сообщение об алгоритмическом языке АЛГОЛ-60 = Report on the Algorithmic Language ALGOL-60 // Ж. вычисл. матем. и матем. физ. — Т. 1, вып. 2. — С. 308-342. — ISSN 0044-4669
  2. Ефимов Н.В. и Розендорн Э.Р. Линейная алгебра и многомерная геометрия. М., «Наука», 1970.
  3. Кудрявцев Л.Д. Краткий курс математического анализа. Том 2. Дифференциальное и интегральное исчисления функций многих переменных. Гармонический анализ: Учебник. — 3-е изд., перераб. — М., 2005. - 424 с.
  4. Федотов В. П. Представление числовой информации1 //Sciences of Europe . – 2022. – №. 100. – С. 63-72.
  5. Федотов В. П. Представление числовой информации2 //Sciences of Europe. – 2022. – №. 100. – С. 73-81.
Проголосовать за статью
Дипломы участников
У данной статьи нет
дипломов

Оставить комментарий

Форма обратной связи о взаимодействии с сайтом
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.