творением Господа — «лучшего в мире системотехника», не иначе!{9}
1.4. Физикализм и ментализм
Я должен сделать здесь краткое отступление касательно использования терминов «физикалист» и «менталист» (обычно противопоставляемых один другому), в нашей конкретной ситуации, т.е. в отношении крайних точек зрения, обозначенных нами через A, B, C и D. Поскольку D являет собой полное отрицание физикализма, сторонников & безусловно следует считать менталистами. Однако мне не совсем ясно, где провести границу между физикализмом и ментализмом в случае с тремя другими позициями A, B и C. Я полагаю, что приверженцев A следует обыкновенно считать физикалистами, и я уверен, что подавляющее их большинство согласилось бы со мной. Однако здесь скрывается некий парадокс. В соответствии с A, материальное строение мыслящего устройства считается несущественным. Все его мыслительные атрибуты определяются лишь вычислениями, которые это устройство выполняет. Сами по себе вычисления суть феномены абстрактной математики, не связанные с конкретными материальными телами. Таким образом, согласно A, сами мыслительные атрибуты не имеют жесткой связи с физическими объектами, а потому термин «физикалист» может показаться несколько неуместным. Точки зрения B и C, напротив, требуют, чтобы при определении наличия в том или ином объекте подлинного разума решающую роль играло реальное физическое строение рассматриваемого объекта. Соответственно, вполне можно было бы утверждать, что именно эти точки зрения, а никак не A, представляют возможные позиции физикалистов. Однако такая терминология, по-видимому, вошла бы в некоторое противоречие с общепринятым употреблением, где более уместным считается называть «менталистами» сторонников её и её, поскольку в этих случаях свойства мышления рассматриваются как нечто «реальное», а не просто как «эпифеномены»[4] , которые случайным образом возникают при выполнении определенных типов вычислений. Ввиду такой путаницы, я буду избегать использования терминов «физикалист» и «менталист» в последующих рассуждениях, ссылаясь вместо этого на конкретные точки зрения A, B, C и D, определенные выше.
1.5. Вычисление: нисходящие и восходящие процедуры
До сих пор было не совсем ясно, что именно я понимаю под термином «вычисление» в определениях позиций A, B, C и D, приведенных в §1.3. Что же такое вычисление? В двух словах: это все, что делает самый обычный универсальный компьютер. Если же мы хотим быть более точными, то следует воспринимать этот термин в соответственно идеализированном смысле: вычисление — это действие машины Тьюринга.
А что такое машина Тьюринга? По сути, это и есть математически идеализированный компьютер (теоретический предшественник современного универсального компьютера); идеализирован же он в том смысле, что никогда не ошибается, может работать сколько угодно долго и обладает неограниченным объемом памяти. Немного более подробно о точных спецификациях машин Тьюринга я расскажу в §2.1 и в Приложении А. (Интересующийся более полным введением в этот вопрос читатель может обратиться к описанию, приведенному в НРК, глава 2, а также к работам Клина [223] или Дэвиса [72].)
Для описания деятельности машины Тьюринга нередко используют термин «алгоритм». В данном контексте я считаю термин «алгоритм» полностью синонимичным термину «вычисление». Здесь необходимо небольшое разъяснение, так как в отношении термина «алгоритм» некоторые придерживаются более узкой точки зрения, нежели предлагаемая мною здесь, подразумевая под алгоритмом то, что я в дальнейшем буду более конкретно называть «нисходящим алгоритмом». Попытаемся разобраться, что же следует понимать в контексте вычисления под термином «нисходящий» и противоположным ему термином «восходящий».
Мы говорим, что вычислительная процедура имеет нисходящую организацию, если она построена в соответствии с некоторой прозрачной и хорошо структурированной фиксированной вычислительной процедурой (которая может содержать некий заданный заранее объем данных) и предоставляет, в частности, четкое решение для той или иной рассматриваемой проблемы. (Описанный в НРК на с. 31[5] евклидов алгоритм нахождения наибольшего общего делителя двух натуральных чисел представляет собой простой пример нисходящего алгоритма.) В противоположность такой организации существует организация восходящая, где упомянутые четкие правила выполнения действий и объем данных заранее не определены, однако вместо этого имеется некоторая процедура, определяющая, каким образом система должна «обучаться» и повышать свою эффективность в соответствии с накопленным «опытом». Иными словами, в случае восходящей системы правила выполнения действий подвержены постоянному изменению. Очевидно, что такая система должна пройти множество циклов, выполняя требуемые действия над непрерывно поступающими данными. Во время каждого прогона производится оценка эффективности (возможно, самой системой), после чего, в соответствии с этой оценкой, система так или иначе модифицирует свои действия, стремясь улучшить качество вывода данных. Например, на вход системы подаются несколько оцифрованных с некоторым качеством фотопортретов, и ставится задача — определить, на каких портретах изображен один человек, а на каких — другой. После каждого прогона результат выполнения задачи сравнивается с правильным, после чего правила выполнения действий модифицируются так, чтобы с некоторой вероятностью добиться улучшения функционирования системы при следующем прогоне.
Конкретные способы такого улучшения в какой-либо конкретной восходящей системе нас в данный момент не интересуют. Достаточно сказать, что количество всевозможных готовых схем весьма велико. Среди наиболее известных систем восходящего типа можно упомянуть так называемые искусственные нейронные сети (иногда их называют просто «нейронными сетями», что может ввести в некоторое заблуждение), которые представляют собой компьютерные самообучающиеся программы — или же особым образом сконструированные электронные устройства, — основанные на определенных представлениях о реальной организации системы связей между нейронами в мозге и о том, каким образом эта система улучшается по мере приобретения мозгом опыта. (Вопрос о том, как в действительности модифицирует самоё себя система взаимосвязей между нейронами мозга, приобретет для нас особую значимость несколько позднее; см. §7.4 и §7.7.) Очевидно также, что возможны системы, сочетающие в себе элементы как восходящей, так и нисходящей организации.
Для наших целей важно понимать, что и нисходящие, и восходящие вычислительные процедуры с легкостью выполняются на универсальном компьютере, а потому их можно отнести к категории процессов, названных мною вычислительными и алгоритмическими. Таким образом, в случае восходящих (или комбинированных) систем сам способ модификации системой своих процедур задается какими-то целиком и полностью вычислительными инструкциями, причем задается заблаговременно. Этим и объясняется возможность реализации всей системы на обычном компьютере. Существенная разница между восходящей (или