В 1879 году Ойген Нетто{25}
ответил на один очевидный вопрос, доказав отсутствиеВ статье Пеано никаких рисунков нет. Он определяет кривую, записывая координаты точек единичного отрезка в троичной системе счисления, и его построение эквивалентно геометрическому построению на рисунке слева ниже{26}
. В 1891 году Гильберт опубликовал еще один пример заполняющей пространство кривой, нарисовав что-то похожее на рисунок справа. Оба построения довольно сложны: на рисунках показана начальная стадия рекурсивного процесса, при котором простые многоугольники раз за разом заменяются более сложными. За прошедшее с тех пор время было найдено много других заполняющих пространство кривых.Заполняющие пространство кривые применяются в компьютерных вычислениях, в частности при хранении и считывании многомерных данных{27}
. Базовая идея состоит в том, что мы можем обходить многомерный массив по приближенной заполняющей пространство кривой, упрощая таким образом задачу и сводя ее к одномерному случаю. Еще одно практическое применение – это быстрое и приблизительное решение задачи коммивояжера. Идея заключается в наложении конечной аппроксимации заполняющей пространство кривой на область с городами, определении последовательности городов на кривой, а затем в посещении их в этом порядке, пользуясь на каждом этапе кратчайшим связующим путем. В результате получается маршрут, который обычно не более чем на 25 % превышает по длине оптимальный{28}.Какие еще фигуры может заполнить кривая? Построение Гильберта можно расширить на три измерения, получив кривую, заполняющую единичный куб, а вообще, кривые могут заполнять гиперкубы любой размерности. Последнее слово в этом вопросе – теорема, которую доказали Ханс Хан и Стефан Мазуркевич. Она полностью характеризует топологические пространства, которые может заполнить кривая{29}
. Как оказалось, эти пространства могут быть практически любыми при условии, что они компактны (имеют конечную протяженность) и удовлетворяют нескольким формальным условиям, позволяющим исключить всякие глупости.Возможно, последнее слово все еще остается за коммивояжером. В 1992 году Санджив Арора и его коллеги{30}
обнаружили, что класс сложности NP («легко проверяемые») обладает любопытным свойством, которое ставит под сомнение перспективы нахождения алгоритмов класса P («легко вычислимые»), дающих хорошие приближенные решения. Они доказали, что если P ≠ NP и размер задачи превышает пороговое значение, то вычислить хорошее приближение к ответу не проще, чем найти сам ответ. Единственной альтернативой этому выводу могло бы стать равенство P = NP, что могло бы принести доказавшим миллион долларов, но так и остается гипотезой.Работа ученых связана с поистине замечательной идеей: прозрачными доказательствами. Доказательства – суть настоящей математики. В большинстве областей науки теории можно сверить с реальностью при помощи наблюдений или экспериментов. Математика лишена такой роскоши, но у нее есть свой способ проверки результатов. Во-первых, они должны подтверждаться логическим доказательством. Во-вторых, это доказательство необходимо проверить, чтобы убедиться в отсутствии ошибок и упущений. Такого идеального состояния трудно добиться, и на самом деле математики делают не совсем это, но, по крайней мере, цель они ставят перед собой именно такую. Все, что не проходит такой тест, сразу же объявляется «неверным», хотя и может оказаться полезным как шаг в нужном направлении – к получению доказательства, которое будет верным. Так что со времен Евклида и до наших дней математики тратят много времени на тщательное рассмотрение и проверку доказательств, как своих собственных, так и чужих. Они проверяют доказательства строка за строкой в поисках того, с чем они согласны, и того, что кажется не слишком правдоподобным.
В последние годы появился еще один способ проверки доказательств: при помощи компьютера. Для этого нужно написать доказательство на языке, который компьютер способен обрабатывать алгоритмически. Метод работает, и на его счету уже ряд серьезных успехов в проверке труднейших доказательств, но пока он не вытеснил более традиционные методы. Побочным эффектом этой идеи стало повышение внимания к представлению доказательств в удобном для компьютера виде, который зачастую совершенно непохож на то, что приемлемо для человека. Компьютеры не возражают, когда от них требуют выполнения одного и того же миллионы раз подряд или проверки идентичности двух строк по тысяче двоичных символов в каждой. Они просто делают эту работу.