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