Читаем Родная страна полностью

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

Ну а если ваш генератор случайных чисел выдаст вот такое число: 2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222.

Оно случайное?

Ничего подобного.

А почему? Потому что если я спрошу: «Какая будет сотая цифра в числе, состоящем из тысячи двоек?», ответ будет вам известен. Никаких неожиданностей.

Оказывается, люди давно ломают головы, пытаясь придумать точное определение случайности. И одно из лучших предложенных определений звучит так: «Число является случайным, если самый простой способ представить его — записать».

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

И если уж с числом пи все более-менее легко, то уж с числом 222222222222222222222222222222222222222222 будет совсем просто. На языке Python программа для его записи будет выглядеть так: «print.join([‘2’]*42).» Язык Perl еще компактнее: «print 2x42.» Но даже на велеречивом «бейсике», который по цветистости и многословности может тягаться с языком Шекспира, программа будет не такой уж длинной:

10 PRINT «2» 20 GOTO 10 30 END

В этой программе тридцать символов, то есть гораздо меньше, чем в числе от 222222222222222222222222222222222222222222 до бесконечности. Намного меньше. Поэтому, если случайное число в самом деле непредсказуемо, если оно не имеет легко описываемой структуры или упорядоченности, то можно сказать так: «Число является случайным, если самая короткая программа для вывода его на печать будет длиннее, чем само это число».

Это определение обладает всеми признаками хорошего правила: оно короткое, внятное и строгое. Автором этого четкого правила является математик Грегори Хайтин. Однако впоследствии он сам же накрутил на него множество всяких уточнений. Он так гордился своим достижением, что послал свою статью безумному гению от математики Карлу Гёделю, а в конце добавил еще больше неразберихи, задав вопрос: «Как мы можем узнать, что придуманная нами программа для записи числа является кратчайшей?»

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

Вглядывайтесь сколько хотите, вряд ли вы найдете в нем хоть какую-то закономерность (а если найдете, то она — плод вашего воображения). Значит, это число случайное? Ничего подобного. Оно — часть числа пи, его цифры со 100 000-й по 101 000-ю. Теперь вы можете написать очень короткую программу для записи этого числа: надо всего лишь попросить компьютер напечатать число пи и добавить фразу: «начать со 100 000-й цифры и закончить через 1000 цифр».

Перейти на страницу:

Похожие книги