Читаем Путешествие от частицы до Вселенной. Математика газовой динамики полностью

Этот альтернативный взгляд привел к появлению алгоритмической теории информации. Эта математическая теория, которая дополняет теорию Шеннона, была разработана сначала русским математиком Андреем Колмогоровым (1903–1987), а затем — аргентинско-американским математиком Грегори Хайтином (1947). Она основывается на понятии алгоритма — набора простых инструкций для компьютера. Ниже приведен пример алгоритма на вымышленном языке программирования, с помощью которого можно определить, является число символов во фразе четным или нечетным.

1. Посчитай число символов во фразе и сохрани результат в х.

2. Вычисли остаток деления х на два и сохрани результат в r.

3. Если r равен нулю, напиши на экране: «Число символов четное».

4. Если не равен нулю, напиши на экране: «Число символов нечетное».

* * *

ГРЕГОРИ ХАЙТИН

Грегори Хайтин, родившийся в 1947 году, — аргентинско-американский программист и математик. Еще будучи подростком, он вывел алгоритмическую теорию информации и свою собственную версию теоремы Гёделя о неполноте, где показал, что количество недоказуемых теорем в математике намного больше, чем было принято считать. Сейчас Хайтин занимается метабиологией — математическим подходом к биологии, который изучает случайное развитие компьютерных программ для понимания биологической эволюции и возникновение творчества в строгой математической форме.

* * *

Согласно алгоритмической теории информации, информация, содержащаяся в цепочке символов, задана длиной самой короткой программы, которая ее порождает. Возьмем цепочку:

Существует программа, порождающая ее с помощью очень короткого кода.

1. Напиши единицу.

2. Вернись к началу программы.

В этой цепочке содержится очень мало информации.

Важно, что количество информации зависит от используемого языка программирования. Так, программа на языке Java и программа на языке С имеют разное количество строк, даже если обе делают одно и то же. Чтобы преодолеть эту проблему, воспользуемся понятием универсального языка программирования: язык программирования универсален, если его можно использовать для написания любой программы, которую можно написать на любом другом языке. Все существующие сегодня языки программирования универсальны, в том смысле что можно создать программу на языке Java, которая понимала бы программы, написанные на С, и наоборот. Хотя содержание информации в этих программах будет разным, эти отличия относительно небольшие и зависеть они будут не от количества строк кода, а от разницы между двумя языками программирования. А эта разница всегда постоянна.

Применим алгоритмическое определение информации к вычислению знаков числа π. Вспомним, что, согласно Шеннону, количество информации, содержащейся в числе π, бесконечно. Однако существует простая формула, которая позволяет довольно точно вычислить знаки этого числа. Выглядит она следующим образом:


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

Как видите, в этом конкретном случае алгоритмический подход несколько отличается от предложенного Шенноном, но в большинстве других случаев они согласуются. Например, для передачи случайной последовательности нулей и единиц самой короткой программе необходимо столько же бит, сколько цифр содержится в цепочке.


Число омега


Возникает вопрос: существует ли число, содержащее бесконечное количество информации по определению Колмогорова и Хайтина (подобное π в определении Шеннона)? Да, такое число существует, и это одно из самых удивительных чисел в истории математики — число омега, известное также как постоянная Хайтина. Ее свойство заключается в том, что эта постоянная не может порождаться кодом, содержащим меньше битов, чем она сама. Это означает, что все биты числа омега полностью случайны.

Для того чтобы понять, что такое постоянная Хайтина, поговорим о проблеме остановки, которая заключается в том, чтобы определить, остановится ли какая-либо программа. Так, мы знаем, что программа, вычисляющая 2 + 2, остановится, как только будет найдена требуемая сумма. Но точно так же программа, вычисляющая все простые числа, не остановится никогда. Можно доказать, что способа решить проблему остановки для любой программы не существует: мы можем узнать, остановится ли какая-то конкретная программа, но не можем сделать этого для любого алгоритма.

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

Все книги серии Мир математики

Математики, шпионы и хакеры
Математики, шпионы и хакеры

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

Жуан Гомес

Математика / Образование и наука
Когда прямые искривляются
Когда прямые искривляются

Многие из нас слышали о том, что современная наука уже довольно давно поставила под сомнение основные постулаты евклидовой геометрии. Но какие именно теории пришли на смену классической доктрине? На ум приходит разве что популярная теория относительности Эйнштейна. На самом деле таких революционных идей и гипотез гораздо больше. Пространство Минковского, гиперболическая геометрия Лобачевского и Бойяи, эллиптическая геометрия Римана и другие любопытные способы описания окружающего нас мира относятся к группе так называемых неевклидовых геометрий. Каким образом пересекаются параллельные прямые? В каком случае сумма внутренних углов треугольника может составить больше 180°? Ответы на эти и многие другие вопросы вы найдете в данной книге.

Жуан Гомес

Математика / Образование и наука

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

Простая одержимость
Простая одержимость

Сколько имеется простых чисел, не превышающих 20? Их восемь: 2, 3, 5, 7, 11, 13, 17 и 19. А сколько простых чисел, не превышающих миллиона? Миллиарда? Существует ли общая формула, которая могла бы избавить нас от прямого пересчета? Догадка, выдвинутая по этому поводу немецким математиком Бернхардом Риманом в 1859 году, для многих поколений ученых стала навязчивой идеей: изящная, интуитивно понятная и при этом совершенно недоказуемая, она остается одной из величайших нерешенных задач в современной математике. Неслучайно Математический Институт Клея включил гипотезу Римана в число семи «проблем тысячелетия», за решение каждой из которых установлена награда в один миллион долларов. Популярная и остроумная книга американского математика и публициста Джона Дербишира рассказывает о многочисленных попытках доказать (или опровергнуть) гипотезу Римана, предпринимавшихся за последние сто пятьдесят лет, а также о судьбах людей, одержимых этой задачей.

Джон Дербишир

Математика