Большое, малое и человеческий разум
Шрифт:
• Найти число, не представимое суммой трех квадратных чисел.
Под числом я подразумеваю натуральное число (типа 0, 1,2, 3, 4, 5, ...), а под «квадратным числом» — квадраты натуральных чисел (типа 02, 12, 22, З2, 42, 52, ...). Я покажу вам сразу, как решается эта задача. Метод может показаться очень простым и даже примитивным, но он как раз дает неплохое представление о сущности того, что мы подразумеваем под вычислениями. Начнем с нуля и проверим, является ли он суммой трех квадратных чисел, для чего просто
0 = 02 + 02 + 02,
т.е. 0 действительно можно представить в виде суммы трех квадратов. Перейдем затем к единице и выпишем все возможные комбинации чисел, равных или меньше 1, в результате чего получим
1 = 02 + 02 + 12.
В табл. 3.2 я выписал результаты всех этих скучных и утомительных операций до числа 7, которое (как легко видеть из таблицы, где просто перечислены все комбинации) нельзя записать в виде суммы трех квадратов. Таким образом, число 7 является ответом для нашей задачи — оно представляет собой наименьшее число, которое нельзя представить в виде суммы трех квадратов. Этот пример довольно типичен для вычислительного метода решения простой по формулировке задачи.
Таблица 3.2
Мы можем считать, что нам несколько повезло с задачей, поскольку вычисления привели к ответу довольно быстро, однако ясно, что в других задачах расчет может занимать очень много времени или даже продолжаться до бесконечности. Например, предположим, что я несколько изменил условия и нам необходимо:
• Найти число, не являющееся суммой четырех квадратных чисел.
Еще в XVIII веке знаменитый математик Лагранж доказал теорему о том, что каждое число может быть записано в виде суммы квадратов четырех чисел. Поэтому если вы начнете поиск нужного числа по предложенному выше методу, то ваш компьютер будет бестолково «тарахтеть» целую вечность, но так и не найдет ответа. Это пример задачи, решение которой простым вычислением может продолжаться бесконечно.
Доказательство теоремы Лагранжа довольно сложно, поэтому я приведу гораздо более доступный и легкий пример. Предположим, что мы хотим:
• Найти нечетное число, представимое в виде суммы двух четных чисел.
Компьютер может искать такое число вечность, хотя мы с вами прекрасно знаем, что сумма двух четных чисел всегда дает четное число. Но вот вам пример гораздо более сложной задачи:
• Найти четное число больше 2, не являющееся суммой двух простых чисел.
Как вы считаете, справится ли когда-нибудь компьютер с этим расчетом? Вообще-то считается, что эта задача (называемая проблемой Гольдбаха) не имеет решения, но она столь сложна, что у математиков нет единого мнения об ее истинности. Я нарочно подобрал три задачи разной степени сложности (очень простую, достаточно сложную и настолько сложную, что никто не знает ее ответа), чтобы сформулировать следующий вопрос:
• Пользуются ли математики некоторым алгоритмом вычислений (давайте обозначим его через А), который позволяет им убедиться, что некий вариант вычислений будет продолжаться бесконечно долго?
Например, подумайте, сработало ли в мозгу Лагранжа нечто похожее на компьютерную
В науке вообще (а в логике, в частности) утверждения о том, что некоторые вычисления являются бесконечными, носят название П1-высказываний. Давайте рассмотрим такие высказывания несколько подробнее, так как я собираюсь доказать, что указанного выше алгоритма А не существует.
Я начну доказательство с некоторого обобщения рассмотренных выше задач, а именно попытаюсь выявить зависимость связанных с их решением вычислений от чисел п натурального ряда. Пусть, например, нам необходимо:
• Найти натуральное число, не являющееся суммой п квадратных чисел.
Нам уже известно, что для п = 3 ответ может быть получен очень быстро, а для чисел п > 4 вычислительные операции никогда не закончатся (в соответствии с теоремой Лагранжа). Попробуем далее решить следующую задачу:
• Найти нечетное число, являющееся суммой п четных чисел.
В этом случае нам нет даже необходимости говорить о зависимости от п, поскольку для любых п вычисления никогда не закончатся. Наконец, в качестве обобщения проблемы Гольдбаха я предлагаю задачу следующего вида:
• Найти четное число больше 2, не являющееся суммой п простых чисел.
Если утверждение Гольдбаха верно, то вычисления будут длиться бесконечно для всех п (кроме 0 и 1). В некотором смысле доказательство даже упрощается с ростом п. Я действительно верю, что существует достаточно большое число п, для которого вычисления «продолжаются вечно».
Важнейшей характеристикой вычислений такого типа является их зависимость от чисел натурального ряда п, и именно это обстоятельство стало центральным моментом для так называемой теоремы Гёделя о неполноте (в Англии ее иногда называют догадкой или конъектурой Гёделя). Я буду рассматривать ее в формулировке, предложенной Аланом Тьюрингом, однако незначительно изменю ход его рассуждений. Если вы не любите математические выкладки, то можете просто пропустить этот кусок текста. Получаемый результат очень важен, но особенно интересно то, что доказательство вовсе не является сложным — оно всего лишь поразительно и даже вызывает недоумение!
Вычисления, связанные с конкретным числом п, совершенно стандартны и привычны для большинства компьютерных программ. Вы можете, например, просто взять набор программ, пронумеровать их в соответствии с текущим номером (обозначив его через р), а затем запустить компьютер, заложив в него этот порядковый номер. Компьютер начнет добросовестно «тарахтеть», последовательно осуществляя вычисления с числом п в соответствии с р– й программой. Вам необходимо лишь записать порядковый номер р в виде нижнего индекса справа, и тогда набор программ (или вычислений), связанных с числом п, примет простой и ясный вид