bannerbannerbanner
полная версияПравила счета элементов бесконечного множества

Петр Путенихин
Правила счета элементов бесконечного множества

Полная версия

Разрядность и количество чисел в массиве

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


где

k – количество чисел разрядности n и основанием m;

m – основание чисел: десятичные, двоичные и т.д.;

n – разрядность чисел, числового ряда.


Например, общее количество чисел с основанием 10 (десятичные) и разрядностью 5 равно 100 000, то есть, от 00000 до 99 999. А количество чисел с основанием 2 (бинарных) и числом разрядов 16, соответственно, равно 216 – или 65 536 чисел от 0000 0000 0000 0000 до 1111 1111 1111 1111. Точно такие же соотношения можно составить и для любых других оснований – шестнадцатеричного, восьмеричного и так далее.

Рассмотрим массив бинарных чисел, использованных в "блокнотном методе", и возможность метода определить число, номер, не использованный при нумерации комнат. Сначала вновь обратимся к примеру с массивом пятизначных чисел, теперь уже двоичных, бинарных.

Обобщённо в двоичном коде пятизначное число можно записать как nnnnn c диапазоном от 00000 до 11111. Количество этих чисел равно 25 = 32. Поскольку их относительно мало, можем записать все их в виде таблицы 4х8 – слева направо, сверху вниз:



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

Мы, согласно традиции метода, предполагаем, что кому-то удалось пересчитать и перенумеровать все 32 числа в этой таблице. Попробуем доказать, что счётчик всё-таки пропустил, по меньшей мере, одно число. Итак, смотрим на первое число. Его первый разряд равен нулю, поэтому записываем в блокнот единицу: 1nnnn. Остальные четыре цифры нам пока неизвестны. Теперь смотрим на второе число, двигаясь по таблице сверху вниз. Видим, что вторая цифра второго числа равна единице, поэтому записываем в блокнот цифру 0 вторым разрядом нашего числа: 10nnn. Смотрим третье число и видим, что третья цифра равна нулю. Делаем запись в блокнот: 101nn. Таким же образом записываем и четвёртую цифру 1 в блокнот, заметив, что четвёртая цифра четвёртого числа в таблице равна нулю: 1011n. Последнее, пятое число в таблице берём рядом с предыдущим: последнее число в следующей колонке. В результате получаем в блокноте окончательно число 10110. Согласно "блокнотному правилу" наше число отличается от первого первой цифрой, от второго – второй, от третьего – третьей и так далее. Следовательно, мы должны сделать вывод, что счётчик не пронумеровал это число в процессе подсчёта, ведь оно отличается первым разрядом от первого числа… и так далее. Однако… это явно не так. Реально мы просмотрели только 5 (пять) чисел в колонках, хотя общее количество чисел равно 32 – в 6 раз больше. И это, якобы пропущенное число, в этой таблице точно есть. Находится оно в третьей строке в седьмой колонке. Заметим, что порядок просмотра номеров в таблице значения не имеет, просто будут получены разные "пропущенные" номера.

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

Как говорится, что-то пошло не так. А не так пошло использованное "блокнотное правило". Мы в рассматриваемом общем массиве чисел можем, имеем право просмотреть только 5 (пять!) чисел. Любое следующее число обязало бы нас приписать к "найденному" числу ещё один разряд, но в нашем массиве нет 6-разрядных чисел. Отношение разрядности чисел к их количеству (7) в массиве описывается простым уравнением:



Здесь n – это основание массива: в нашем случае бинарных чисел m = 2. Для десятичных чисел основание m = 10, для шестнадцатиразрядных hex-чисел m = 16. Соответственно, n – это разрядность чисел, в нашем случае n = 5, следовательно, N ~ 1/6. Используя это уравнение, мы можем определить соотношение N и для других, например, для 10-разрядных бинарных чисел:



Замечаем, что при увеличении разрядности чисел отношение уменьшается. В пределе, какой рассматривается в задаче об отеле Гильберта, разрядность чисел – номеров комнат в отелях стремится к бесконечности.



Это означает, что при бесконечном количестве комнат счётчик может просмотреть хотя и бесконечное их количество, но в общем количестве комнат это просмотренное количество эквивалентно нулю.

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

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



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

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

Счетность всех мыслимых видов чисел

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

Все мыслимые числа в общем виде можно записать, например, в следующем виде



где

α – любое вещественное число;

С –  любой индекс, например, мнимая единица i.


Например, число может иметь вид a = 2,71828… –действительное число, или a = 3+2i – комплексное число, или a = 5+2i+3j+8k – кватернион. Правильно организованный способ подсчета этих чисел позволяет показать счетность всего их ряда. Вообще-то, такой результат является простым следствием принятого способа подсчета. На классический вопрос "сколько будет дважды два?" известен шутливый ответ: а сколько надо? По большому счету, всё сводится к спору о том, какой способ подсчета лучше или правильнее. Рассмотрим следующий способ записи всех действительных чисел: запишем после запятой все последовательные натуральные числа "задом наперед", а до запятой – в каждом ряду возрастающие натуральные числа на всём числовом диапазоне. Возникает, например, такой фрагмент последовательности действительных чисел:



Последовательность чисел в таблице будет содержать все без исключения числа. Собственно правило формирования чисел имеет простое аналитическое выражение, подобное (3) или (6). Возьмем два натуральных числа m и n, изменяющиеся от 0 до бесконечности. Запишем с их помощью некоторое число в виде



Здесь запись {0,m} означает число, меньшее единицы, дробной частью которого является натуральное число m. Фактически при табличной записи чисел n является номером строки в таблице, а m – номером колонки. Например, в ячейке (n=3; m=5) будет находиться число:



а в ячейке (n=10; m=2021) будет находиться число



Для составления таблицы начнем перебирать, подсчитывать все получившиеся числа. Строки чисел будут иметь вид:

 


Знаки плюс в таблице означают не суммирование, а используются как разделитель между числами. В связи с повторами, поскольку числа вида 0,1+0,10+0,100+0,1000 в использованном алгоритме считаются разными, общее количество чисел, видимо, окажется больше примерно на 10%. Конечно, мы можем повторяющиеся числа пропускать, не считать, но 10% погоды не делают. Если изобразить расположение чисел на графике, то график будет иметь вид пилы.

Для большей общности можно добавить еще одно условие: четные числа n будем делить на 2 и полученное число записывать согласно выбранному виду. Для следующего нечетного числа n запишем то же самое число, только со знаком минус. Очевидно, что в такой ряд легко включить и все вещественные и действительные, комплексные числа и даже кватернионы. Нумерация сформированных чисел соответствует нумерации членов любого числового ряда, то есть, каждое число из таблицы получит свой индивидуальный натуральный порядковый номер, будет пронумеровано при подсчёте. Каким бы ни было количество всех действительных чисел, наше движение по ряду не пропустит ни одного из них, и каждое из них получит свой индивидуальный натуральный номер. Таким образом, можно сделать вывод: континуум является счетным. Используя обратный метод индексации Кантора [3, с.77], мы можем корректно включить в этот континуум все мыслимые виды чисел. Как известно, метод Кантора формирует новое число из двух следующим образом:



У двух рациональных чисел x и y берутся цифры после запятой и поочередно вписываются после запятой третьего числа z. Мы проделаем обратную операцию, сформируем из одного числа несколько коэффициентов, например, для кватерниона. Возьмем из полученного ряда какое-либо число z и будем рассматривать его как составное, отбросив ноль и запятую:



Очевидно, что все составляющие число цифры гарантируют любую комбинацию, поскольку ряд чисел z бесконечен. Теперь составим из одноименных цифр новое число, кватернион:



Здесь в каждом коэффициенте показаны только четыре цифры, но, очевидно, их может быть любое количество. Также очевидно, что и самих коэффициентов может быть любое число: один коэффициент даёт действительное или вещественное число, два коэффициента дают комплексное число и так далее.

Понятно, что полученный ряд всех возможных чисел является счетным, каждое из исходных чисел имеет свой индивидуальный натуральный порядковый номер. Среди этих чисел обязательно окажутся и число е (2,71828…), и π (3,14159…), и константа пропорциональности С (0,76422…) Ландау – Рамануджана, и постоянная тонкой структуры . Счетность ряда обеспечивается использованием метода квадратов, предложенного математиком-филателистом из рассказа об отелях с бесконечным числом номеров [3, с.57] являющегося эквивалентом диагонального процесса Кантора:



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



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

Рейтинг@Mail.ru