Математические бланки — Часть 4: объекты в памяти

в 8:54, , рубрики: множество, нейроматематика, память, следование, ФОРАОН
Математические бланки -- Часть 4: объекты в памяти - 1

Первые две статьи этой серии поставили ряд важных вопросов о математике. В третьей статье на них были даны ответы. Мы нашли память и время идеального мира (доска и маркер), и построили первые объекты (примитив и коллектор).

Мы также начали построение нейроматематики, в рамках которой получили строгое определение ИСТИНА, РАВЕНСТВО и ПРОТИВОПОЛОЖНОСТЬ. Определения этих объектов отсутствуют в Математической энциклопедии, так что нейроматематика уже стала в чём-то более богата, чем математика традиционная.

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

В процессе построения этих объектов мы также дадим определение ещё одному понятию, которое отсутствует в Математической энциклопедии, но крайне важно. Это СЛЕДОВАНИЕ. Мы сталкиваемся с ним на каждом шагу: даже сейчас, в процессе написания/прочтения этих слов, которые следуют одно за другим.

Следование нам понадобится также и для того, чтобы строго определить МНОЖЕСТВО. Это понятие, конечно, есть в Математической энциклопедии, но описывается оно там лишь неформально, на интуитивном уровне. Множество - одно из самых базовых понятий, а в рамках нейроматематики оно выражает самую суть памяти. Хотите узнать, как? Не переключайтесь!

Часть 1: введение в проблему
Часть 2: философия
Часть 3: математическая реальность

Обратная связь

С интересом слежу за серией. Долгожданная третья статья вызвала странное ощущение. Очень хочется какую-то еë часть перевести на язык теории категорий, ... какую-то — на язык комбинаторного исчисления и теории разрешимости, ... описание "доски" ... вопиет о формализации в терминах топологического пространства и группах его преобразований.

Нейроматематика строится с нуля, с чистого листа. Мы вправе использовать только то, чему сами дали строгое определение. Пока что мы дали такое определение только истине, равенству и противоположности. До упомянутых разделов нам ещё как до Луны.

"Аналогов нет" в современной науке эквивалентно "я дилетант".

Проблема математических бланков, описанная в первой статье, ранее не декларировалась. Во всей математике считается нормальным использовать базовые объекты без известной структуры, описывая их аксиомами. Но мы строим новый раздел - нейроматематику, которая предъявляет требование, чтобы структура ВСЕГО была задана строго и явно. Такая цель ранее не ставилась. Математический формализм (Гильберт, Рассел) делал попытки построить все математические системы на основе аксиом, но нейроматематика не использует аксиомы, заменяя их более сильным требованием известности структуры.

Универсальность паттерна памяти

В предыдущих статьях мы показали, что ввод памяти и времени в математику позволяет породить новый раздел - нейроматематику, в рамках которой можно дать строгие определения понятиям, ранее описанным только интуитивно. Это даёт представление о мощности аппарата памяти и времени.

Что касается памяти, то в нейроматематике любой объект может являться памятью для другого, и эта возможность используется повсеместно. Аналогично, в программировании, стандартная форма определения - это фигурные скобки и указание, что там внутри. Такое описание говорит о том, что базисный объект предоставляет память для размещения своих элементов. Иными словами, паттерн памяти универсален не только в нейроматематике, но и в программировании, которое можно принять за некоторую проекцию математики.

Возвращаясь к программному коду коллектора:

collector
{
    empty x_1 = new() @positive;
    empty x_2 = new() @negative;
}

collector x_0 = new();

По этому коду видно, что элементы x_1 и x_2 размещены в памяти коллектора, а не в той же, где размещён сам коллектор x_0. Это не столь очевидно при рассмотрении графической нотации:

Математические бланки -- Часть 4: объекты в памяти - 5

Но тем не менее, подобное соглашение о коллекторе надо иметь в виду в дальнейшем.

Данная статья подробно рассказывает о том, как размещение в памяти делается в ФОРАОН, а также о том, какое фундаментальное соотношение связывает память и объекты внутри неё. Мы также оформим это отношение в виде математического объекта.

Объекты на доске

В традиционной математике, основные графические объекты описываются (в лучшем случае) аксиомами. Обратимся к Математической энциклопедии. О прямой там [1 т.4 с.721] говорится, что это "одно из основных геометрических понятий, обычно косвенным образом определяемое аксиомами геометрии". Аналогично - линия [1 т.3 с.382-383]: "геометрическое понятие, точное и в тоже время достаточно общее определение которого представляет значительные трудности..." А, например, статья "точка" вообще отсутствует, как и статья "плоскость".

Все эти объекты имеют между собой нечто общее. А именно: они доступны для непосредственного восприятия. Что это означает? Все мы изучали геометрию в школе, и можно ручаться, что прежде чем объяснять смысл линии учитель рисовал её на доске. То есть, сначала разум ребёнка понимает "на уровне BIOS", что такое линия, а затем уже идёт речь о формальных её свойствах.

Подход нейроматематики отличается тем, что она требует строгую структуру того, что же находится на этом "уровне BIOS". Нам в помощь то, что определение доски уже задано как непосредственно (рисунком), так и в виде кода.

ТОЧКА

Имея структуру доски, легко дать строгое определение точки. Точка это атомарный объект, не имеющий элементов, по структуре совпадающий с нуль-системой. Однако точкой её делает информационный аспект, т.е. размещение на доске в некотором месте, иными словами:

empty point = new() @location;

Собственно, любое место на доске существует и до начала рассмотрения каких-либо объектов. Мы создаём underline{alpha} и размещаем её на доске для того, чтобы пометить конкретное место как предмет нашего внимания.

ЛИНИЯ

Давайте рассмотрим наш взгляд "на уровне BIOS" на линию.

Линия 1) не находится в единственном месте - это протяжённый объект на доске, с одной парой направлений. Вместе с тем, 2) у линии есть особое место, определяющее её местонахождение на доске (задающая или начальная точка). Однако место не есть единственная информация о линии, 3) вторым информационным элементом является ориентация линии, которая может быть либо постоянной (прямая), либо переменной.

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

Запишем это в программной нотации:

line
{
    @offset;
    direction { @positive; @negative; }
    shift;
}

line x = new() @location @orientation;

Бросается в глаза, что эта запись есть "урезанное" определение доски из третьей статьи. Подобно месту на доске, у линии есть смещение (@offset), являющееся адресом внутри линии. Далее следует протяжённость с двумя направлениями (direction). Различие между линией и доской в том, что у последней две протяжённости в двух ориентациях, а у линии одна. Наконец, shift описывает преобразование адреса на линии - сдвиг. То есть богатство линии один, как и у ленты машины Тьюринга.

Если при создании не указано место размещения (@location), то по умолчанию линия будет размещена задающей точкой в центре доски. Если ориентация не задана, то по умолчанию она будет равна константе @primary, т.е. горизонтальная прямая. Ориентацию можно также задать как функцию, зависящую от смещения.

Рассмотрим для примера линию l. Её диапазон смещения (t) пусть будет от Математические бланки -- Часть 4: объекты в памяти - 9 (задающая точка) до infty. Разместим l на доске (@location) с координатами (1,0). Ориентацию линии (@orientation) зададим как функцию O(t)=t+frac{pi}{2}.

Линия, соответствующая этому определению, изображёна на рисунке:

Линия

Линия l

Не всякую линию на плоскости можно задать функцией y=f(x), например, так нельзя задать окружность l. Описание же линии через функцию ориентации O(t) возможно во всех случаях, даже если линия содержит петли или изломы.

Заметим, что общая структура линии соответствует коллектору. Действительно, коллектор содержит полюса, расположенные в двух направлениях, а также базис между ними, соответствующий протяжённости линии.

Акцент

Коллектор - это самый простой объект после собственно нуль-системы underline{alpha}. Но он не единственный, и даже не самый аскетичный. Рассмотрим следующее определение:

accent(x_1)
{
    empty x_1 = new();
}

В графической нотации ФОРАОН такой объект будет изображён так:

Акцент

Акцент

Здесь примитив x_1 записан ПОВЕРХ примитива x_0. Такое размещение примитивов будем называть АКЦЕНТ. Графическая нотация изображает верхний примитив со сдвигом вправо на половину диаметра от нижнего примитива. В целом, это очень простое определение, которое, после всех объяснений выше, должно быть вполне понятным. Такая нотация означает, что "верхний" примитив находится в памяти нижнего.

На этом примере видно, что отношение памяти между объектами добавляет в нейроматематику третье измерение. То есть, объект может расти не только по горизонтали, но и по условной "вертикали", в сторону последовательно большего количества вложений. Это третье измерение будем называть МЕМОРИАЛЬНЫМ.

Контур

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

Контур (цепочка)

Контур (цепочка)

Определённый таким образом объект будем называть КОНТУРОМ или ЦЕПОЧКОЙ.

Директор

При изображении линии l мы использовали графический элемент, который ещё не был введён. Этот элемент - стрелочка. При взгляде на картинку стрелочка не вызывает вопросов, потому что это интуитивно понятный объект. Однако в нейроматематике надо предъявить его структуру.

Стрелочка показывает, в каком направлении происходит то, что нас интересует. В частности, на картинке линии l стрелочка показывает, в каком направлении растёт смещение t. Иными словами, стрелочка маркирует ВЫБРАННОЕ направление на линии.

Если структура линии выражается коллектором, то как указать нам указать на один из его полюсов? Ответ: воспользоваться акцентом. Буквально, возьмём коллектор и надпишем выбранное направление (пусть это будет +) над его базисом. В графической нотации это будет выглядеть так:

Директор

Директор

Сконструированный таким образом объект назовём ДИРЕКТОРОМ. Его программный вариант можно записать так: director : collector, accent(x_3) { }. Однако уже на примере директора видно, что программный код, в силу его одномерности, уступает трёхмерной графической нотации.

Кроме записи выше, мы также будем использовать ещё несколько альтернативных форм:

Альтернативные формы директора

Альтернативные формы директора

Как правило, стрелочки изображаются в виде отрезков, но мы также в отдельных случаях будем пользоваться изогнутыми линиями: директор - это всего лишь линия с выбранным направлением.

Следование

Мы столь тщательно создавали стрелочку не просто так. В нейроматематике, стрелочка выражает отношение СЛЕДОВАНИЯ, которое заключается в том, что один объект следует за другим, который ему предшествует. Отношение следования тесно связано с временем, каковая связь выражается в том, что следующий объект создаётся, обрабатывается, получает информацию или исполняется после предыдущего. Запись "b следует за a" выглядит как arightarrow b.

Следование повсеместно присутствует в математике, программировании, да и в любой формализованной области знаний. Вне зависимости от того, есть ли на виду явная стрелочка или нет, большинство объектов и/или их частей, так или иначе следуют за чем-то, как, например, слова этого текста.

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

Следование формирует фундаментальное взаимоотношение между памятью и объектами в ней. Оно заключается вот в чём: чтобы объект мог быть создан в памяти, последняя должна уже присутствовать. Иными словами, объект в памяти всегда следует за ней, память же предшествует ему. Данное взаимоотношение будем называть контрактом памяти.

Модель памяти (множество)

Рассмотренные выше объекты (коллектор, аспект, директор) построены так, что в памяти одного примитива хранятся другие примитивы, до трёх. Теперь построим обобщённую модель памяти, в которой могут храниться произвольные объекты. В рамках нейроматематики, такой моделью является МНОЖЕСТВО.

Математическая энциклопедия [1 т.3 с.758-759] сообщает, что "понятие множества принадлежит к числу первоначальных математических понятий и может быть пояснено только при помощи примеров". Такая беспомощность объясняется просто: в обычной математике нет идеи памяти, как и твёрдого понятийного фундамента, который она предоставляет.

Давайте построим определение множества для нейроматематики.

Исходя из интуитивного понимания, множество разделяет с памятью свойство содержать в себе некоторые объекты. Множество также выполняет контракт памяти - предшествует своим элементам, т.к. чтобы добавить элемент в множество, оно должно уже существовать.

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

Нейроматематика выделяет следующие части определения множества:

  • базисный объект, предоставляющий память (ТЕЛО)

  • стрелочка (МАРШРУТ), выражающая размещение элемента(ов) в памяти тела и их следование за телом, согласно контракту памяти.

В простейшем случае, формула множества может быть записана так: a rightarrow x. Здесь a тело множества, стрелочка маршрут, а x единственный элемент. В традиционной математике, конечно, нет понятия тела множества, и множество из одного элемента запишется как {x}. В рамках нейроматематики, такая запись говорит, что тело опущено, т.е. буквально оно пустое. Иными словами: {x} equiv underline{alpha} rightarrow x.

ВАЖНО: данное определение действует в рамках нейроматематики - отдельной дисциплины, создаваемой с нуля. Это обстоятельство позволяет нам дать определение по своему усмотрению, и лишь впоследствии, через несколько статей, доказать эквивалентность нашего определения аксиоматическому определению традиционной математики. Что до аксиом, то в нейроматематике они могут быть доказаны.

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

Маршрут множества

Маршрут множества {x_1, x_2}

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

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

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

Ранее мы указывали, что в ФОРАОН запись {...} и [...] означает размещение объектов в памяти. В свете изложенного, запись множества, например {x_1, x_2}, полностью консистентна с размещением в памяти, потому что множество - это и есть объект, в памяти которого находятся элементы.

Темпоральная механика

До сих пор мы преимущественно вели речь о статических объектах и понятиях, так или иначе связанных с памятью. Большую часть этих вопросов мы уже рассмотрели, и теперь подошла очередь поговорить про время. Время в нейроматематике абстрактное "математическое", где отдельные моменты связаны преобразованиями - t_0 не выполнено, t_1 выполнено. В третьей статье мы коснулись маркера в ознакомительном порядке, а в пятой - рассмотрим вопрос времени более подробно. Не переключайтесь!

Литература

[1] Математическая энциклопедия в 5 томах. Москва. 1982.

Автор: ramayasket

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js