Математические бланки // Часть 1: введение в проблему

Аннотация

Что может быть настолько мистическим, чтобы описываться прямо противоположными понятиями? Извольте: чёрный ящик aka белое пятно. На самом деле, цвет здесь вторичен, он лишь означает: мы не знаем, что внутри. Желание преодолеть неизвестность ходит по пятам за идеей чёрного ящика — люди всегда стремились открыть его, нанести карту на белое пятно. Как показывает история, за этим обычно следует движение вперёд, новые возможности и премиальные бонусы.

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

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

Декомпозиция

Математические конструкции могут быть весьма сложны, но всё сложное состоит из более простого. Стало быть, сложный объект можно логически разобрать на части. Это действие будем называть декомпозицией.

Попробуем повторить это действие, и сделаем декомпозицию рекурсивной: разбираем объект, затем его части, затем части частей и так далее. Легко заметить, что рекурсивная декомпозиция строит дерево, где корень — исходный объект, а дочерние узлы — составные части.

Дерево декомпозиции

Дерево декомпозиции

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

Для иллюстрации ответа на этот вопрос повернём наше дерево на 90° и рассмотрим любую одну отдельную веточку (не важно, какую именно). Такую веточку дерева декомпозиции будем называть, для краткости, маршрутом.

Маршрут декомпозиции

Маршрут декомпозиции

Мы быстро обнаруживаем, что наш маршрут всегда заканчивается одинаково.

Бланки

Можно провести какое угодно количество экспериментов, которые все подтвердят один и тот же факт: рано или поздно, маршрут доходит до объекта, на котором мы вынуждены остановиться, т.к. не знаем его частей и/или даже не можем их предположить. Пристальный взгляд обнаруживает, что таковы все базовые математические объекты, например 0, \varnothing, 1, i, +, =, \exists, \infty, \{\}, логические величины и др. На нашей схеме они изображаются как залитый тёмным цветом квадратик.

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

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

Однако незнание не эквивалентно отсутствию. Бланков много. Они разные, и отличаются по свойствам и поведению. Не означает ли это, что у них различается также и внутренняя структура, только она нам пока неизвестна? Это и есть проблема бланков, как она была осмыслена в 2013 году. Данная формулировка указывает цель — указать, как и из каких более простых частей можно построить интересующие нас объекты.

А зачем это всё?

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

Результаты же исследования, которые доступны по его завершению, обусловлены превращением бланков в белые (прозрачные) ящики. И большое число плюшек, которые вы получаете автоматом, просто за счёт 100%-го покрытия ваших знаний структурой. Результат работы не только в том, что раскрывается конструкция вроде бы всем и так понятных объектов. Гораздо важнее то, что обнаруженный при этом «конструктор» может использоваться непосредственно и напрямую, для выражения любых идей и мыслей.

Пример. Пусть на компьютере стоят произвольные программы обмена сообщениями: почта/WhatsApp/ТГ и т.п. Вы хотите дать компьютеру задание: при получении личного сообщения с определённым словом проигрывать мелодию M. Эта инструкция выражается всего одной фразой. Она вполне чёткая, и позволяет однозначную программную реализацию. Тем не менее, такая реализация, на практике, имеет запретительную трудоёмкость.

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

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

Поясним подробнее разницу между информацией и знаниями. Укажем, что слова человеческого языка, вообще говоря, не отражают структуру того, что они обозначают — это просто ярлыки. Для примера возьмём слово «забор». Сама эта комбинация символов или звуков (информация) никак не перечисляет понятия, входящие в смысл (суть) забора, а они таковы:

  • некоторое пространство (в котором, как минимум, определено расстояние);

  • как минимум, пара точек в этом пространстве;

  • некоторые взаимодействия (движения) между точками;

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

Это и есть знания о заборе. О каком бы заборе речь не шла — это может быть физическая стена, или файервол, или даже преграда в межличностных отношениях — не избежать отсылок к перечисленным понятиям, конкретизация которых и позволяет понять, что это за забор. Понятно, что набор таких формализованных точных знаний гораздо удобнее и легче в обработке, чем последовательность символов «забор». А теперь представим, что подобным образом выражена структура… всего. Внезапно вы начинаете оперировать не морем из чисел, а ясной картиной, сутью, смыслом, структурой.

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

Подобную ассоциативную память можно объединить с нейронными сетями. Можно обучить нейросеть так, чтобы она разбивала новую информацию на части, отыскивала в ней известные паттерны из АП, и укладывала полученные знания обратно в память. Безусловно, предстоит потрудиться, чтобы «подружить» такую АП с нейросетью, но это уже техническая, а не концептуальная задача. Представьте себе интеллектуальную АП объёмом с Википедию. Какие удивительные результаты мы сможем получить, воспользовавшись таким инструментом?

И конечно, большое преимущество такой архитектуры в том, что человек или алгоритм будет способен анализировать знания в АП. Тот факт, что память нейросети сейчас представляет собой чёрный ящик, сильно ограничивает применимость ИИ в ответственных областях, куда нельзя допускать систему, о которой неизвестно, что «она там себе думает».

Таким образом, конструктор для бланков (называемый в работе ФОРАОН) является мощным средством представления знаний с широким потенциалом использования. С учётом этого, проблема бланков перестаёт быть узкоспециализированной математической проблемой, наоборот, она важна для всей области IT в целом.

План решения

По доброй математической традиции, представим, что проблема уже решена.

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

Предположим, проблема решена

Предположим, проблема решена

Тогда повторим наш вопрос выше: насколько далеко мы сможем пройти?

Заметим, что по мере продвижения вправо, сложность квадратиков уменьшается, поскольку они состоят из всё меньшего количества частей. Очевидно, что последний предел, которого теоретически можно достичь, это атомарный объект, не имеющий составных частей, и таким образом, обладающий сложностью, равной нулю. Такой объект будем называть пустым или нуль-системой и обозначать кружочком или символом \underline{\alpha}.

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

Предел декомпозиции

Предел декомпозиции

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

То есть, начнём с \underline{\alpha} и будем последовательно конструировать всё более сложные объекты, пока не дойдём до искомых. Надо описать такие правила построения, которые позволят в итоге сконструировать любые интересующие математические объекты. Но прежде чем описывать, эти правила надо было открыть, обнаружить.

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

Продолжение следует…

В следующей заметке мы сделаем первый шаг и сконструируем первый по сложности объект после \underline{\alpha}. В начале работы была иллюзия, что, поскольку объект этот очень простой, то и сделать это будет… ну, просто. В действительности, чтобы сделать этот шаг, пришлось задать глубокие философские вопросы, первый из которых — что общего между мозгом, компьютером, нейросетью и математикой.

© Habrahabr.ru