3.27. Вычислительная математика: процедуры нисходящие или восходящие?
3.27. Вычислительная математика: процедуры нисходящие или восходящие?
В предыдущем разделе мы могли убедиться, какую неоценимую помощь могут оказать компьютеры при решении некоторых математических задач. Во всех упомянутых успешных примерах примененные вычислительные процедуры носили исключительно нисходящий характер. Более того, лично мне не известно ни об одном сколько-нибудь значительном чисто математическом результате, полученном с помощью восходящих процедур, хотя вполне возможно, что такие методы могут оказаться весьма полезными в различного рода поисковых операциях, входящих в состав каких-либо по преимуществу нисходящих процедур, предназначенных для отыскания решений тех или иных математических задач. Может, так оно и будет, однако мне до сих пор не доводилось сталкиваться в вычислительной математике ни с чем таким, что хотя бы отдаленно напоминало конструкции вроде нашей формальной системы Q*, которые можно было бы представить себе в качестве основы для деятельности «сообщества обучающихся математических роботов», описанного в §§3.9-3.23. Противоречия, с которыми мы всякий раз сталкивались, пытаясь изобразить упомянутую конструкцию, призваны подчеркнуть тот факт, что такие системы просто не могут предложить нам сколько-нибудь результативный метод математического исследования. Компьютеры приносят огромную пользу в математике, но только тогда, когда их применение ограничивается нисходящими вычислениями; для того же чтобы определить, какое именно вычисление необходимо выполнить, требуется идея, порожденная человеческим пониманием, то же понимание потребуется и на заключительном этапе процесса, т.е. при интерпретации результатов вычисления. Иногда очень значительный эффект дает применение интерактивных процедур, предполагающих совместную работу человека и компьютера, или, иначе говоря, участие человеческого понимания на различных промежуточных стадиях процесса. Попытки же полностью вытеснить элемент человеческого понимания и заменить его исключительно вычислительными процедурами выглядят, по меньшей мере, неумными, а если подойти к делу с более строгих позиций — то и вовсе неосуществимыми.
Как показывают представленные выше аргументы, математическое понимание представляет собой нечто, в корне отличное от вычислительных процессов; вычисления не могут полностью заменить понимание. Вычисление способно оказать пониманию чрезвычайно ценную помощь, однако само по себе вычисление действительного понимания не дает. Впрочем, математическое понимание часто оказывается направлено на отыскание алгоритмических процедур для решения тех или иных задач. В этом случае алгоритмические процедуры могут «взять управление на себя», предоставив интеллекту возможность заняться чем-то другим. Приблизительно таким образом работает хорошая система обозначений — такая, например, как та, что принята в дифференциальном исчислении, или же всем известная десятичная система счисления. Овладев алгоритмом, скажем, умножения чисел, вы сможете выполнять операцию умножения совершенно бездумно, алгоритмически, при этом в процессе умножения вам совершенно ни к чему «понимать», почему в данной операции применяются именно эти алгоритмические правила, а не какие-то другие.
Помимо прочего, на основании всего вышеизложенного, мы приходим к выводу, что процедура, необходимая для «обучения робота математике», не имеет ничего общего с процедурой, которая в действительности обусловливает человеческое понимание математики. И уж во всяком случае подобные, по преимуществу восходящие процедуры, по всей видимости, абсолютно не годятся, с практической точки зрения, для построения робота-математика, даже такого, который не будет претендовать на какую бы то ни было симуляцию действительного понимания, присущего математикам-людям. Как мы уже указывали ранее, когда дело доходит до неопровержимого установления математической истины, сами по себе восходящие процедуры обучения оказываются совершенно неэффективными. Если уж нам предстоит изобрести вычислительную систему для производства неопровержимых математических истин, гораздо эффективнее будет построить эту систему в соответствии с нисходящими принципами (по крайней мере, в той ее части, которая будет отвечать за неопровержимость производимых ею утверждений; в части же, занятой изысканиями, вполне могут пригодиться и восходящие процедуры). Что касается обоснованности и эффективности упомянутых нисходящих процедур, то о них должен позаботиться человек, осуществляющий первоначальное программирование, т.е. существенно необходимыми компонентами процесса, недостижимыми посредством чистого вычисления, оказываются человеческое понимание и способность проникать в суть.
Вообще говоря, в нынешнее время компьютеры нередко именно таким образом и используются. Самый знаменитый пример — уже упоминавшееся выше доказательство теоремы о четырех красках, осуществленное Кеннетом Аппелем и Вольфгангом Хакеном с помощью компьютера. Роль компьютера в данном случае свелась к выполнению некоторого четко определенного вычисления для каждого возможного варианта, причем количество альтернативных вариантов, хотя и было весьма велико, составляло все же величину конечную; исключение этих возможных вариантов дает основания для проведения (математиками-людьми) требуемого общего доказательства. Имеются и другие примеры подобных доказательств «с компьютерной поддержкой», а кроме того, сегодня на компьютере выполняют не только численные расчеты, но и сложные алгебраические преобразования. И в этом случае работой компьютера управляют строго нисходящие процедуры, правила же для этих процедур формулируются человеком в результате понимания задачи.
Следует упомянуть и еще об одном направлении работ — так называемом «автоматическом доказательстве теорем». К этой категории можно отнести, например, набор процедур, состоящий в определении некоторой фиксированной формальной системы H и последующей попытки вывода теорем в рамках этой системы. Из §2.9 нам известно, что отыскание доказательств всех теорем системы H, одного за другим, есть процесс исключительно вычислительный. Такие процессы можно автоматизировать, однако если автоматизация выполнена без должного внимания и понимания, то полученный результат окажется, скорее всего, крайне неэффективным. Если же к разработке компьютерных процедур привлечь-таки эти самые внимание и понимание, то можно добиться весьма и весьма впечатляющих результатов. В одной из разработанных таким образом схем (см. [49]) правила евклидовой геометрии были преобразованы в весьма эффективную формальную систему, способную доказывать существующие геометрические теоремы (а иногда и открывать новые). Приведем конкретный пример из практики этой системы: перед ней была поставлена задача доказать гипотезу В. Тебо — геометрическое предположение, выдвинутое в 1938 году и доказанное лишь относительно недавно (в 1983) К.Б.Тейлором, — с чем она как нельзя более успешно справилась за 44 часа компьютерных вычислений{49}.
Более близкую аналогию с описанными в предыдущих параграфах процедурами можно усмотреть в предпринимаемых различными исследователями на протяжении последних приблизительно десяти лет попытках разработки «искусственно-интеллектуальных» процедур для реализации математического «понимания»{50}. Надеюсь, представленные мною аргументы дают ясное представление о том, что каковы бы ни оказались успехи подобных систем, действительного математического понимания они ни в коем случае не достигнут! Некоторое отношение к упомянутым трудам имеют и попытки создания автоматических «теоремо-порождающих» систем; задачей такой системы является отыскание теорем, которые можно отнести к категории «интересных» — в соответствии с определенными критериями, заданными системе заранее. Насколько мне известно (и думаю, не мне одному), из этих попыток пока что ничего, что представляло бы сколько-нибудь реальный математический интерес, не вышло. Мне, несомненно, возразят, что мы находимся лишь в начале пути, и наверняка в будущем можно ожидать самых потрясающих результатов. Однако всякому, кто дочитал до этого места, уже должно быть ясно, что лично я крайне скептически отношусь к возможности получения из всех этих начинаний хоть какого-то подлинно положительного результата — разве что мы наконец выясним точные пределы возможностей таких систем.