точности воспроизвести кто угодно, в том числе и потенциальный взломщик.
Поскольку случайность, как выясняется, представляет собой весьма ценное качество в таких состязательных ситуациях, то, на первый взгляд, можно предположить, что и в естественном отборе она должна играть не последнюю роль. Я даже уверен, что случайность и впрямь является во многих отношениях весьма важным фактором в процессе развития живых организмов. И все же, как мы убедимся несколько позднее в этой главе, одной лишь случайности оказывается недостаточно для того, чтобы вырваться из гёделевских сетей. И самые что ни на есть подлинно случайные элементы не помогут нашему роботу избежать ограничений, присущих вычислительным системам. Более того, у псевдослучайных процессов в этом смысле даже больше шансов, нежели у процессов чисто случайных (см. §3.22).
Допустим на некоторое время, что наш робот и в самом деле является, по существу, машиной Тьюринга (хотя и с конечной емкостью запоминающего устройства). Строго говоря, учитывая, что робот непрерывно взаимодействует со своим окружением, а это окружение, как мы предполагаем, также допускает численное моделирование, было бы правильнее принять за единую машину Тьюринга робота вместе с окружением. Однако в целях удобства изложения я все же предлагаю рассматривать отдельно робота, как собственно машину Тьюринга, и отдельно окружение, как источник информации, поступающей на входную часть ленты машины. Вообще-то такую аналогию нельзя считать вполне приемлемой по одной формальной причине — машина Тьюринга есть устройство фиксированное и по определению неспособное изменять свою структуру «по мере накопления опыта». Можно, конечно, попытаться изобрести способ, посредством которого машина Тьюринга сможет-таки изменить свою структуру, — например, заставить машину работать безостановочно, модифицируя структуру в процессе работы, для чего непрерывно подавать на ее вход информацию от окружения. К нашему разочарованию, этот способ не сработает, поскольку результат работы машины Тьюринга можно узнать только после того, как машина достигнет внутренней команды STOP (см. §2.1 и Приложение А, а также НРК, глава 2), после чего она не будет ничего считывать с входной части своей ленты до тех пор, пока мы не запустим ее снова. Когда же мы ее запустим, для продолжения работы ей придется возвратиться в исходное состояние, т.е. «обучиться» таким способом она ничему не сможет.
Впрочем, эту трудность можно обойти при помощи сложной технической модификации. Наша машина Тьюринга так и остается фиксированной, однако после каждого рабочего цикла, т.е. после достижения команды STOP, она дает на выходе два результата (формально кодируемые в виде одного- единственного числа). Первый результат определяет, каким в действительности будет ее последующее внешнее поведение, тогда как второй результат предназначен исключительно для внутреннего использования — в нем кодируется весь опыт, который машина получила от предыдущих контактов с окружением. В начале следующего цикла с входной части ее ленты сначала считывается «внутренняя» информация и только после нее все «внешние» данные, которыми машину снабжает окружение, включая и подробную реакцию упомянутого окружения на ее предшествующее поведение. Таким образом, все результаты обучения оказываются записанными на, скажем так, внутреннем участке ленты, который машина в каждом рабочем цикле считывает заново (и который с каждым циклом становится все длиннее и длиннее).
3.12. Способен ли робот на «твердые математические убеждения»?
Воспользовавшись вышеописанным способом, мы и в самом деле можем представить себе в высшей степени обобщенного самообучающегося вычислительного «робота» в виде машины Тьюринга. Далее, предполагается, что наш робот способен судить об истинности математических утверждений, пользуясь при этом всеми способностями, потенциально присущими математикам-людям. И как же он будет это делать? Вряд ли нас обрадует необходимость кодировать каким-нибудь исключительно «нисходящим» способом все математические правила (все те, что входят в формальную систему ZF, плюс все те, что туда не входят, о чем мы говорили выше), которые понадобятся роботу для того, чтобы иметь возможность непосредственно формировать собственные суждения подобно тому, как это делают люди, исходя из известных им правил, — поскольку, как мы могли убедиться, не существует ни одного сколько-нибудь приемлемого способа (за исключением, разумеется, «божественного вмешательства» — см. §§3.5, 3.6), посредством которого можно было бы реализовать такой неимоверно сложный и непознаваемо эффективный нисходящий алгоритм. Следует, очевидно, допустить, что какими бы внутренними «нисходящими» элементами ни обладал наш робот, они не являются жизненно важными для решения сложных математических проблем, а представляют собой всего лишь общие правила, обеспечивающие, предположительно, почву для формирования такого свойства как «понимание».
Выше (см. §3.9) мы говорили о двух различных категориях входных данных, которые могут оказать существенное влияние на поведение нашего робота: искусственных и естественных. В качестве искусственного аспекта окружения мы рассматриваем учителя (одного или нескольких), который сообщает роботу о различных математических истинах и старается подтолкнуть его к выработке каких-то внутренних критериев, с помощью которых робот мог бы самостоятельно отличать истинные утверждения от ложных. Учитель может информировать робота о совершенных тем ошибках или рассказывать ему о всевозможных математических понятиях и различных допустимых методах математического доказательства. Конкретные процедуры, применяемые в процессе обучения, учитель выбирает по мере необходимости из широкого диапазона возможных вариантов: «упражнение», «объяснение», «наставление» и даже, возможно, «порка». Что до естественных аспектов физического окружения, то они отвечают за «идеи», возникающие у робота в процессе наблюдения за поведением физических объектов; кроме того, окружение предоставляет роботу конкретные примеры воплощения различных математических понятий — например, понятия натуральных чисел: два апельсина, семь бананов, четыре яблока, один носок, ни одного ботинка и т.д., — а также хорошие приближения идеальных геометрических объектов (прямая, окружность) и некоторых бесконечных множеств (например, множество точек, заключенных внутри окружности).
Поскольку наш робот избежал-таки предварительного, полностью нисходящего программирования и, как мы предполагаем, формирует собственное понятие о математической истине с помощью всевозможных обучающих процедур, то нам следует позволить ему совершать в процессе обучения ошибки — с тем, чтобы он мог учиться и на своих ошибках. Первое время, по крайней мере, на эти ошибки ему будет указывать учитель. Кроме того, робот может самостоятельно обнаружить из наблюдений за окружением, что какие-то из его предыдущих, предположительно истинных математических суждений оказываются в действительности ошибочными, либо сомнительными и подлежащими повторной проверке. Возможно, он придет к такому выводу, основываясь исключительно на собственных соображениях о противоречивости этих своих суждений и т.д. Идея такова, что по мере накопления опыта робот будет делать все меньше и меньше ошибок. С течением времени учителя и физическое окружение будут становиться для робота все менее необходимыми — возможно, в конечном счете, окажутся и вовсе ненужными, — и при формировании своих математических суждений он будет все в большей степени опираться на собственную вычислительную мощь. Соответственно, можно предположить, что в дальнейшем наш робот не ограничится теми математическими истинами, что он узнал от учителей или вывел из наблюдений за физическим окружением. Возможно, впоследствии он даже внесет какой-либо оригинальный вклад в математические исследования.
Для того чтобы оценить степень правдоподобия нарисованной нами картины, необходимо соотнести ее с теми вещами, что мы обсуждали ранее. Если мы хотим, чтобы наш робот и в самом деле обладал всеми