Профессор Нижегородского государственного университета им. Н. И. Лобачевского Ярослав Сергеев занимается именно разработкой методики использования бесконечных величин в вычислительной технике. В 2002 году итальянское правительство включило его в число 60 ученых из разных стран, которых было решено пригласить в Италию для научной работы.
Сергеев уверен, что его разработки имеют большое значение для математики, информатики, физики — причем с практической точки зрения. Помимо методов вычислений, он разработал Компьютер Бесконечности, работающий с этими числами, создал программный симулятор и первое приложение — калькулятор для персональных компьютеров. Новая теория заинтересовала научное сообщество; Сергеева не раз приглашали прочитать лекции на международных конгрессах. Сейчас он ищет заинтересованные организации — на Западе и в России, — которые бы приобрели его разработки. Как же можно «посчитать» бесконечность?
В чем состоит ваш метод работы с бесконечностью?
Объяснение придется начать с терминологии. Нам потребуется различать числа и нумералы. Нумерал — это символ, с помощью которого выражают число. Нумерал можно написать, стереть, а число — это понятие, служащее для выражения количества. С помощью различных нумералов можно записать одно и то же число. Например, «3» и «III» — два разных нумерала, выражающие одно и то же количество. Добавив к традиционным правилам записи нумералов дополнительные правила, можно расширить возможности аппарата записи. Мне удалось предложить дополнения, позволяющие записывать бесконечно большие и бесконечно малые числа. Если мы добавим к правилам записи полученных нумералов правила выполнения арифметических операций с ними, то получим расширенную систему счисления.
А какие проблемы возникают при работе с бесконечными величинами?
Проблемы возникали со времен Аристотеля и Зенона, сформулировавшего 40 парадоксов, связанных с непрерывностью и дискретностью. Самый известный — Ахилл и черепаха, но есть и другие. Первым, кто добился серьезного прорыва, был Георг Кантор. В 1873-1874 годах он опубликовал серию статей, в которых, в частности, показал, что существуют различные бесконечные множества: счетные и несчетные, или континуальные. После Кантора ряд известных ученых работало над проблемами, связанными с понятием бесконечного. Однако со временем стало понятно, что многие результаты, вытекающие из теории Кантора, выглядят парадоксально с практической точки зрения. Так, Кантор показывает, что элементы множества четных чисел могут быть поставлены во взаимно однозначное соответствие с элементами множества натуральных чисел. Из этого делается вывод, что оба множества — счетные, имеют одинаковую мощность. И это несмотря на то, что первое множество является частью второго, и, исходя из опыта работы с конечными множествами, естественно ожидать, что четных чисел меньше, чем натуральных.
Другой известный пример связан с так называемым «Гранд-Отелем Гильберта» с бесконечным числом комнат. В обычном отеле нельзя поселить никого, если все комнаты заняты. В Гранд-Отеле, даже если все комнаты заняты, можно переселить жильцов из первой комнаты во вторую, из второй в третью и так далее. Тогда первая комната освободится. Получается парадокс: мы предположили, что все комнаты заняты, но смогли поселить еще одного человека. Казалось бы, мы пришли к противоречию, однако, утверждает Кантор, природа бесконечности такова, что правила конечного мира в ней не действуют. Способ рассуждения, применяемый к бесконечным числам, как говорит он, должен быть иным.
Еще одной проблемой является то, что при вычислениях к бесконечным числам нельзя применять формальные правила, действующие для конечных чисел. Рассмотрим, например, следующее равенство: x = 1 + 2 + 4 + … Умножаем обе части равенства на 2 и прибавляем к полученным результатам по единице. Легко увидеть, что в правой части равенства получается тот же ряд 1 + 2 + 4 + … который мы можем заменить на x. То есть получаем x = 1 + 2x или x = -1. Формально никакой ошибки нет, но результат парадоксален, поскольку мы применили правила работы с конечными числами к числам бесконечным. Предложенный мной метод работы с бесконечными числами позволяет разрешить эти парадоксы.
А как проблемы бесконечности затрагивают вычислительную технику?
Мы знаем, что компьютеры не работают с бесконечными числами. Почему? Система счисления, положенная в их основу, не может работать с бесконечно большими и бесконечно малыми числами, используя те же формальные правила, по которым мы работаем с конечными числами. Непонятно, как записывать бесконечно большие и бесконечно малые числа, как хранить их в памяти компьютера, как проводить с ними арифметические операции. В результате операции, требующие использования таких величин, производятся теоретически.
Классический пример — деление на ноль. У вас оно допускается?
Деление на ноль и в моей системе является запрещенной операцией, но разрешено делить на бесконечно малые и бесконечно большие числа.
С традиционной точки зрения, работая с бесконечностью, мы негласно предполагаем, что можем выполнять бесконечное число операций. Сколько раз мы видели последовательность: один, два, три и так далее. Однако допущение это абстрактно: мы живем в конечном мире и вынуждены заканчивать начатые операции. При построении новых правил работы с числами мы не будем использовать эту абстракцию, поскольку нашей целью является построение компьютера, работающего с бесконечно малыми и бесконечно большими величинами по тем же формальным правилам, которыми мы пользуемся при работе с конечными числами.
Наш первый методологический постулат — существуют бесконечно большие и бесконечно малые объекты, но люди и машины могут выполнить только конечное число операций. Это вроде бы очень просто, но отличия от традиционной точки зрения значительны. Собственно, традиционных точек зрения две: либо не существует никакой бесконечности, но мы тоже конечны; либо есть бесконечность, но и наши возможности бесконечны. Однако стоит признать, что мы не обладаем бесконечными возможностями и не можем дать полного описания бесконечных объектов.
Теперь обратимся к постулату номер два. Он касается дискретности и непрерывности. Физик, который смотрит в свой микроскоп и видит черную точку, не говорит, что объектом исследования является черная точка. Он говорит, что с этим микроскопом и этой линзой он видит объект исследования как черную точку. «Дайте мне более сильную линзу и я, возможно, скажу вам что-нибудь еще». Мы постулируем существование триады — объект, инструмент и исследователь. Инструмент ограничивает возможности исследователя в том, что мы можем сказать об объекте. Мы никогда не сможем потрогать объект напрямую, без инструмента, мы не знаем, что представляет собой объект. В философии и в физике это давно известно, но не в математике. Математики традиционно полагают, что могут «создавать» объекты. Скажем, аксиоматическая система используется математиками для задания некоторого математического объекта.
Однако математики не утверждают, что создают реальные объекты. Они говорят об абстракциях, являющихся приближением к реальным объектам…
Вы затронули принципиальный момент. Возьмем определение вещественного числа. «Вещественным числом является объект, удовлетворяющий следующим аксиомам…» Подобное определение математического объекта с точки зрения философии — произвол, поскольку здесь нет указанной триады. Мы же, следуя традиции естественных наук, не будем говорить, чем являются математические объекты, но сконструируем более мощный инструмент исследования, чтобы лучше описывать свойства изучаемых объектов, наблюдаемых с его помощью. Необходимо понять, что в математике является объектом, а что инструментом. Наш взгляд на аксиоматические системы меняется. Например, в истории с числами становится понятно: нумерал — это инструмент, а число — объект. Действительно, только с помощью нумералов мы видим определенные свойства чисел.
С этой точки зрения, аксиоматическая система не определяет математический объект, а лишь описывает определенные символы и правила работы с этими символами, которые отражают некоторые свойства объекта. Но что за этими символами скрывается, мы не знаем. Точно так же, как с микроскопом. Такой подход продолжает традицию естественнонаучного описания мира.
Перейдем к постулату номер три. Это постулат Аристотеля — «часть меньше целого». Его мы будем применять ко всем числам — конечным, бесконечным и бесконечно малым, ко всем множествам и процессам. В традиционной математике не так — бесконечность плюс один равно той же бесконечности. Мы же будем исходить из того, что при прибавлении к бесконечному числу единицы получится число большее.
Необходимо подчеркнуть, что можно вводить разные аксиоматические системы. Вопрос в том, какая из них лучше отражает мир, в котором мы живем. Допустим, мы разделили нашу Вселенную плоскостью на левую и правую половины, и рассматриваем множество сумочек, находящихся в каждой из половинок. Мы не знаем, конечна или бесконечна Вселенная. Мы не знаем, сколько в ней планет. Мы не знаем, на скольких из них производят сумочки. Другими словами, мы не знаем, конечны или бесконечны множества сумочек слева и справа. Однако если я возьму одну конкретную сумочку и перенесу ее с правой стороны налево, то я точно могу сказать, что правое множество уменьшилось на единицу, а левое увеличилось. И это не зависит от того, конечны эти множества или бесконечны. Если же следовать традиционной точке зрения, то зарегистрировать данную операцию невозможно.
Таким образом, наша точка зрения является существенно более прикладной, чем в традиционной математике. Как следствие, мы не можем использовать такие традиционные инструменты для работы с бесконечностью, как взаимно однозначное соответствие, кардинальные и ординальные числа и т.д. Однако, наш подход не противоречит Кантору, а углубляет его взгляды на существование разновеликих бесконечностей.
Для понимания постулатов было бы неплохо разобрать еще несколько примеров…
Опишу способ выполнения вычислений, который известен тысячелетия, но по какой-то причине математики и физики не заметили его и не формализовали. Допустим, хозяин большого зернохранилища интересуется, сколько в нем зерна. Никто не может считать по зернышку — это заняло бы слишком много времени. А время, которое мы имеем в распоряжении, по первому постулату конечно. Что делают люди? Они берут мешки, начинают их заполнять зерном и считать. Естественно, мы предполагаем, что все зерна одинаковы и все мешки тоже. Мешки настолько велики, что мы не знаем, сколько зерен в мешке, но можем достаточно быстро мешок заполнить. Если же зернохранилище такое большое, что и в мешках считать слишком долго, можно использовать еще более крупные единицы — грузовики, товарные вагоны или что-либо другое. В результате мы получим ответ такого вида: зернохранилище содержит 17 вагонов, 25 грузовиков, 45 мешков и 24 зерна. При этом я могу добавить одно зерно и обнаружу, что стало больше и насколько, а если уберу одну машину, то стало меньше и насколько.
В этом примере мы работали с конечными величинами, которые было невозможно выразить в элементарных единицах измерения — зернах, потому что значение, выраженное в этих величинах, было бы слишком большим. Люди вынуждены вести себя так, будто количество зерна бесконечно. И что они сделали? Они ввели «бесконечные» единицы измерения — мешки, машины и вагоны. В результате ответ, который невозможно сформулировать в элементарных единицах измерения, легко выражается в новых. При этом мы не знаем, сколько более мелких единиц измерения содержится в одной более крупной, то есть никто не считает, сколько зерен в мешках и мешков в машинах. Несмотря на «бесконечность» зерен в зернохранилище мы можем выразить это число с точностью до одного зерна. Это и есть базовая идея бесконечных вычислений, которая с больших, но конечных чисел, была мною обобщена на числа бесконечные.
Как подобный метод подсчета использовать для вычислений?
Можно создать по этому принципу новые единицы измерения, которые позволили бы мерить бесконечные числа.
Введем новую единицу измерения, выражаемую новым нумералом ?, который называется «гроссуан», от английского grossone («большая единица»). По-итальянски он читается «гроссоне», что значит «толстяк». В немецком языке gross — это «большой». Мы определим этот нумерал через свойства, которые будут описываться аксиомой бесконечной единицы измерения точно так же, как при переходе от натуральных чисел к целым вводится новый элемент — «ноль». Он обозначается некоторым символом и обладает некоторыми свойствами. Введение единицы измерения, обозначающей «тотальность», то есть все рассматриваемые элементы, не новость. В теории вероятности Колмогорова события можно описывать двумя способами — либо как объединение элементарных событий, либо как все возможные события за исключением некоторых. Мы будем действовать по той же схеме.
Гроссуан вводится как число элементов множества натуральных чисел. Сколько этих элементов, мы не знаем. Мешок. Опишем его свойства, добавив соответствующую аксиому к другим аксиомам чисел. Во-первых, мы хотим ввести бесконечную единицу измерения. Ясно, что она должна быть больше любого конечного числа. Во-вторых, гроссуан — это число, а раз это число, то гроссуан умножить на ноль будет ноль, гроссуан минус гроссуан также будет ноль. К гроссуану также относятся и другие свойства чисел, поэтому с ним можно работать, как с обычным числом.
В-третьих, гроссуан обладает свойством делимости. Это свойство, где мы и применяем постулат «часть меньше целого». Мы сказали, что в множестве натуральных чисел гроссуан элементов. Постулируем, что множество натуральных чисел можно разделить на две части, и в каждой из них будет ?/2 элементов. Другими словами, я не знаю, сколько зерен в мешке, не знаю, сколько зерен в половине мешка, но я знаю, что в половине мешка зерен в два раза меньше, чем во всем мешке. Можно делить и на три части. Что это за подмножества? В одно входят натуральные числа с разностью кратной трем и начинающиеся с 1 — 1, 4, 7 и так далее. Второе множество начинается с двойки — 2, 5, 8… Третье множество — 3, 6, 9… В общем виде это свойство записывается так: множество натуральных чисел может быть разделено на m одинаковых подмножеств, в каждом из которых ?/m элементов. Это означает, что гроссуан делится на любое конечное натуральное число без остатка.
На этом нововведения закончены, а далее следуют выводы из основных свойств гроссуана. Я был удивлен, как много выводов для самых разных отраслей науки получилось из этих постулатов. Это верный признак того, что выбрано правильное направление.
А как можно оперировать гроссуаном?
Поскольку гроссуан — это число натуральных чисел, следовательно, это последнее натуральное число. То есть существуют бесконечные натуральные числа: ?, ? -1,-2 и так далее. Трудности, которые возникали при работе с бесконечными числами, связаны с тем, что традиционные системы записи не позволяли их увидеть. Бесконечность можно измерять в этих единицах, и это важный результат, поскольку раньше у нас не было инструмента для измерения бесконечности. Важно также научиться интерпретировать эти числа. Например, что означает ? — 2? С точки зрения зерна, это число зерен в мешке, из которого вынули два зернышка. А что означает гроссуан в квадрате? Это множество пар натуральных чисел. В примере с зернами гроссуан в квадрате — это число зерен в машине, а число зерен в вагоне — гроссуан в третьей степени (множество триад из натуральных чисел).
Используя гроссуан, можно измерять бесконечные множества. Например, количество элементов множества целых чисел будет равно 2? + 1. Действительно, множество целых чисел состоит из натуральных положительных (их у нас гроссуан), натуральных отрицательных (еще гроссуан) и еще одного элемента — нуля. Таким образом, многие задачи, над которыми математики думают уже сотни лет и так и не придумали конструктивного ответа, можно решать, не затрачивая больших усилий, благодаря богатству выбранного математического языка.
Обратимся к еще одной аналогии. У племени Пираха из Амазонии система записи чисел ограничивается символами для выражения величин один, два и много. У них операции 1 + 2 и 2 + 2 дают один и тот же результат — много. Это происходит не потому, что результаты равны, а только потому, что их система записи не позволяет выразить другой ответ. И соответственно, в их системе записи много + 1 равно много и много + 2 равно много, что очень похоже на наш современный традиционный подход к бесконечности. Их бесконечность ближе, чем у нас, но результат тот же. Если мы прибавим гроссуан к системе Пираха, то какие мы нумералы сможем записать? Те же 1 и 2, затем ?/2 — 2, ?/2 — 1, ?/2, ?/2 + 1, ?/2 + 2, ? — 2, ? — 1, ? и все. Для выражения других чисел у нас не хватает символов. Чтобы продолжить вычисления с другими числами (конечными или бесконечными) нужно предложить новые символы и правила работы с ними. Важно подчеркнуть, что предложенные математические инструменты не решают все задачи, связанные с бесконечностью (наши возможности ограничены — смотри первый постулат), но они, безусловно, решают больше задач, чем традиционные подходы, и позволяют ставить новые интересные проблемы.
Мы говорили о бесконечных числах, а что такое бесконечно малые?
Бесконечно малые — это числа, которые содержат части только с отрицательными степенями гроссуана. Самое простое из них — это гроссуан в минус первой степени или 1/?. Если вернуться к метафоре с зерном, и попытаться выразить количество зерна в мешках, то отдельные зерна будут выражаться через бесконечно малые единицы. Гроссуан — это мешок с точки зрения зерна, а 1/? — зерно с точки зрения мешка. При этом все бесконечно малые числа — не нули, и могут участвовать в любых операциях.
Введение в явном виде бесконечно малых чисел позволяет нам построить математику, которая очень «физична». В физическом мире один и тот же объект (например, стол) и непрерывный, когда мы смотрим на него глазами, и дискретный — когда смотрим через микроскоп. В традиционной же математике объекты или дискретные, или непрерывные. Новый подход позволяет, меняя инструмент исследования, видеть один и тот же объект то дискретным, то непрерывным.
Сказанное относится и к числам. Понятия конечности, бесконечности и бесконечно малого становятся относительными. Если я смотрю на отрезок, равный одному метру, то он для меня конечен. Если же я сменю единицу измерения и буду делать бесконечно малые шажки, то он станет для меня бесконечным. Если смотреть на него из бесконечного далека, то он будет казаться бесконечно малым. На одну и ту же вещь можно смотреть с разных позиций, принимая разные единицы измерения, используя разные инструменты. Объект один и тот же, а мы выбираем, как на него смотреть. И это очень «физично», не так, как в «старой» математике, где бесконечность является уникальным объектом с уникальными свойствами.
Таким образом, мы получаем новые мощные инструменты для описания реального мира, которые позволяют строить более сложные и точные математические модели.
Как гроссуан можно использовать для работы с компьютером?
Для того чтобы работать с конечными, бесконечно большими и бесконечно малыми числами, используя компьютер, необходимо решить две ключевые технические проблемы. Во-первых, следует создать устройство памяти, способное хранить все эти числа в единой форме. При этом, подчеркнем, бесконечные числа должны храниться в конечной памяти. Во-вторых, необходимо создать новое арифметико-логическое устройство, способное выполнять операции со всеми этими числами.
Для хранения чисел была предложена новая позиционная система счисления с бесконечной базой, в которой числа раскладывают по степеням гроссуана в форме a?/β, где a есть некий нумерал, выражающий конечное число. Если степень β — нулевая, то гроссуан в нулевой степени, как и все остальные числа, равен единице, и запись сводится к привычной конечной системе. Таким образом, конечные числа, с которыми мы привыкли работать, в нашей записи оказываются частным случаем. Если в нашем числе есть положительные степени гроссуана, то это бесконечные числа, если только отрицательные, то бесконечно малые. В общем случае, в числе могут быть разнообразные комбинации — несколько бесконечных, конечная и несколько бесконечно малых частей.
Для всех этих чисел можно единым образом описать операции сложения, вычитания, умножения и деления, которые будет выполнять новое арифметико-логическое устройство, соблюдая принцип «часть меньше целого».
Вы обещали разрешить парадоксы, которые приводили в качестве примера.
Начнем с четных и натуральных чисел. Из определения гроссуана следует, что натуральных чисел — ?, а четных — в два раза меньше, то есть ?/2. А вот проблема Гильберта с отелем. В нашей терминологии в отеле гроссуан комнат. Начинаем переселять людей из первой во вторую, из второй в третью и так далее. Это приведет к тому, что жилец из комнаты гроссуан должен быть переведен в комнату гроссуан плюс один, но в отеле нет такой комнаты. Человека можно поселить в комнату номер один, но при этом жильца из последней комнаты придется выгнать на улицу. Если мы не хотим никого выгонять, то ситуация такая же как с конечными числами. Если отель заполнен, то он заполнен. Сделать ничего нельзя. Парадокс снят.