Некоторые научно-популярные статьи и книги интересны не столько тем, что из них узнаёшь что-то новое, а тем, что наводят на интересные размышления. К таким книгам относится, как мне кажется, книга «Архитектура математики. Мыслим структурами». Эта книга написана и издана на немецком языке и её немецкое название звучит так: «Die Architektur der Mathematik: Denken in Strukturen».

Автор книги Pierre Basieux не является известным математиком, а скорее известным популяризатором современной математики, автором нескольких очень интересных книг.

Архитектура математики в представлении автора (иллюстрация из книги).
Архитектура математики в представлении автора (иллюстрация из книги).

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

Каждая из этих структур - это конечное, очень обозримое множество базовых понятий и связанных с ними аксиом. Все остальные разделы математики (а их Davis и Hersh насчитали в уже далёком 1994 году более трёх тысяч) строятся на этом структурном фундаменте либо путём смешивания фундаментальных структур (Multiple Strukturen на рисунке), либо путем добавления новых аксиом, либо применением допущений по замене фундаментальных аксиом на новые- (Spezielle Strukturen на рисунке).

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

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

Это классический базис университетской математики а заодно, в несколько других терминах - базис объектно-ориентированного подхода в информатике. 

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

Достоинство описываемой книги заключается в наведении мостов между понятиями и аксиомами “базовой математики” и всеми другими её областями. 

Автор делает это во втором разделе книги. От отношения порядка он приходит к алгебраическим структурам. Затем через определение подмножеств он приходит к определению топологических структур. После этого он определяет понятие структурной близости объектов.

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

Как кошмарный сон я до сих пор вспоминаю книгу Бурбаки по основам теории множеств, которую требовалось постичь для сдачи экзамена. Где-то в середине толстенной книги, после ввода и объяснения большого количества промежуточных понятий было дано определение нуля, единицы и натуральных чисел. И на это авторам потребовалось всего-то пара сотен страниц! (Да, это сарказм).

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

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

Ну а теперь я позволю себе немного размышлений и “наивных” вопросов. И вдохновит меня на это последняя из приведённых в книге цитат. Это цитата из диссертации Кантора: «В математике умение ставить вопросы ценится выше, чем умение находить на них ответы».

Что же мы имеем в итоге? Получается, мы можем построить нечто вроде онтологии математики в виде дерева понятий, которые в конце концов покроют все упомянутые выше три тысячи разделов математики? Похоже что да. 

Представьте себе эту увлекательную картину. Желая разобраться с непонятным математическим понятием вы с помощью этой онтологии доходите до «корневых» понятий, разбираетесь сначала с ними, а потом поднимаетесь по онтологическому дереву, не отвлекаясь на нерелевантные для вас ветви, до желаемых узлов онтологического древа математики. 

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

Однако, некоторые известные математики не считают построение онтологии важной задачей математики. Позволю себе привести в моём переводе мнение Herbert Meschkowski, высказанное в 1964 году и процитированное в книге: «В математике вообще речь не идёт об онтологических заявлениях… Следует понять, о что аксиоматически определенные «вещи» могут восприниматься как «существующие», если их система определена без внутренних противоречий. В этом случае они являются элементами добротной теории и тем самым “существуют”. Что же касается ответа на вопрос, существует ли где-то во Вселенной реальный предмет с заданными топологическими свойствами или эти свойства существуют только в «мире идей» - то ответ на этот вопрос не входит в компетенцию математики». 

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

Программисты, вам это ничего не напоминает? Не тем ли мы занимаемся большую часть своей профессиональной деятельности? Не мы ли придумываем новые сущности и их поведение и потом реализуем это с помощью кода? 

Ободренный цитатой из Кантора рискну поставить несколько  вопросов, на которые сам я не знаю ответов. Я надеюсь, уважаемые читатели попытаются дать свои ответы на них:

  1. Где лежит граница между математикой и информатикой?

  2. Из чего состоит фундамент информатики?

  3. Какова архитектура информатики? Способны ли мы сегодня говорить о ее базе, аксиомах, правилах построения и составных частях?

Если у вас хватило терпения дочитать эту статью до конца, то возможно, вам будут интересны мои соображения на тему “Программирование - это материализация идей”, изложенные в этой и этой статье на Хабре. В группе в Телеграмме мы пытаемся (правда очень вяло) обсуждать эту тему. 

А если у вас есть время и настроение - я приглашаю вас полистать страницы моей открытой книги “Мемуары кочевого программиста: байки, были, думы”

Комментарии (12)


  1. victor_1212
    21.11.2022 19:09
    +1

    Привет Виктор, меня тоже заинтересовала эта книга, но после чтения по диагонали интереса больше нет, согласен с автором одной из рецензий на amazon-de:

    " From this grandiose title, I expect more than a mere stringing together of introductory definitions from set theory, algebra, and topology. A far more beautiful and carefully researched introduction to mathematical thinking is - "The Book of Proofs. Poincaré's conjecture: The story of a mathematical adventure" offers a historically entertaining framed and at the same time mathematically quite demanding introduction to the topology ",

    для тех кому нужен перевод, в общем рецензия сводится к рекомендации другой намного более интересной книги "The Book of Proofs. Poincaré's conjecture: The story of a mathematical adventure",

    В части поставленных вопросов (imho):

    1. информатика это часть дискретной математики,

    2. зависит от терминологии, один из возможных ответов - математическая логика,

    3. о составных частях говорить можно - например формальные грамматики и построение компиляторов, операционные системы, архитектура сетей т.д., про остальное вероятно вопрос открытый


    1. visirok Автор
      21.11.2022 20:03

      «Альтернативную» книгу я не читал, но по названию можно предположить, что у неё несколько другой фокус.

      информатика это часть дискретной математики

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

      Мне вообще кажется, что под здание программирования надо подводить совсем новый фундамент, как это пытались сделать в математике Бурбаки. Что выбрать за краеугольный камень? Определение информации по Шеннону? Как то это мало и нет перехода к семантике.

      Ничего лучшего предложить не могу, но с Вашими предложениями не согласен.


      1. victor_1212
        21.11.2022 21:47

        >Ничего лучшего предложить не могу, но с Вашими предложениями не согласен.

        Это как раз вполне нормально для любого обсуждения,

        > Для меня программирование - это часть информатики.

        С этим согласен, но в свою очередь информатика это часть дискретной математики,

        > как это пытались сделать в математике Бурбаки

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

        Соответственно ключевой вопрос - зачем конкретно необходима разработка аксиоматики для развития программирования именно сейчас?

        Другими словами что невозможно сделать на данный момент без такой аксиоматики?

        ps

        возможно стоит заметить что когда-то давно закончил мехмат, и даже имел не плохую коллекцию Бурбаки (давно потерянную)


        1. visirok Автор
          21.11.2022 23:47
          +1

          зачем конкретно необходима разработка аксиоматики для развития программирования именно сейчас?

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

          Если бы Юнга, Кельвина, Томсона в спросили:

          что невозможно сделать на данный момент без такой аксиоматики?

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


    1. visirok Автор
      22.11.2022 14:59

      информатика это часть дискретной математики

      Я ещё поразмышлял на эту тему.

      Мой контраргумент: Физика не является частью Математики из-за того, что использует её как инструмент. Тоже самое с информатикой. К сожалению, в отличии от физики, базовые понятия информатики пока не определены, как мне представлчется.


  1. funca
    22.11.2022 01:58

    Следует понять, о что аксиоматически определенные «вещи» могут восприниматься как «существующие», если их система определена без внутренних противоречий

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

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


    1. victor_1212
      22.11.2022 16:54
      +1

      > любая аксиоматическая формальная система либо неполна, либо противоречива

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

      > Возможность отождествить формальную систему с чем-то ещё определяется интерпретацией

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


  1. iingvaar
    22.11.2022 13:43
    +1

    Еще с времен вынужденных занятий философией мне остались непонятными многие слова, которые в ней употребляются. В частности, слово "онтология". Как бы я ни старался понять его через чтение разных энциклопедий, суть от меня ускользала. То есть, интуитивно мне понятно, что онтология - это некий понятийный каркас. Но, говоря о сущностях и их взаимосвязях, я стараюсь применять более "приземленные" термины, типа "таксономия". Хотя, в разговоре об основаниях математики, возможно, как раз оправдано применение неопределяемых понятий, ведь есть мнение, что математику нельзя определить через математику.


    1. visirok Автор
      22.11.2022 14:49

      Вы правы, употребляя такие термины надо указывать, что конкретно имеется ввиду. Я подразумевал под «онтологией» то, как она определчется в Информатике. Хотя по окончанию процесса «онтологизации» получится таксономия, как я понимаю.


      1. iingvaar
        22.11.2022 17:21
        +1

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


        1. visirok Автор
          23.11.2022 09:46

          Определений несколько. Википедия не всегда высшая инстанция. Я лично для себя понимаю под онтологией предметной области направленный граф, где узлами являются понятия. Терминальные понятия принимаются как данность. Рёбра графа что-то вроде библиографических ссылок. Несколько ссылок могут быть объединены в объяснение, как из понятий, на которые ведут ссылки, получается новое.

          Некоторые понятия могут задавать класс реальных или воображаемых объектов. Тем самым из всех объектов мира мы можем отфильтровать некоторые. Этот процесс я для себя называю таксономией.


          1. iingvaar
            23.11.2022 14:31
            +1

            Когда несколько ссылок (рёбер) объединяются, то их узлы попадают в некий контейнер. Такие контейнеры удобно моделировать тегами. Также тегами можно отделить реальные объекты от воображаемых, например. А когда появляются объяснения над стрелочками, то добавляется новые объекты, связанные не с узлами, а с рёбрами. То есть ребро вместо r(n1, n2) описывается как r(n1, n2, E). Такая штука, состоящая данных, организованных в направленный граф с пояснениями для ребер и тегами для узлов, называется Цетелькастен.