Текст книги "Жар холодных числ и пафос бесстрастной логики"
Автор книги: Борис Бирюков
Соавторы: В. Тростников
Жанры:
Математика
,сообщить о нарушении
Текущая страница: 11 (всего у книги 14 страниц)
В такой постановке проблема становится серьезной.
8. ВОЗМОЖНОСТИ ВЫЧИСЛИТЕЛЬНЫХ МАШИН И ЧЕЛОВЕК
Множественность типов вычислимости есть та основа, которая позволяет подвергнуть анализу запутанный клубок проблем, относящихся к вопросу: «Что может делать электронная вычислительная машина?». ЭВМ в первом приближении можно охарактеризовать как гигантский арифмометр, работающий с огромной скоростью. Однако это – только в первом приближении: по сравнению с арифмометром у ЭВМ имеются две принципиально важные конструктивные особенности.
Обычный арифмометр (например, марки «Феликс») после выполнения заданной ему операции сложения, умножения и т. д, прекращает работу и ждет дальнейших «распоряжений». Чтобы выполнить с помощью арифмометра действие над полученным результатом, нужно западе набрать последний на его клавиатуре и нажать на соответствующую кнопку, а если арифмометр не электрический, то покрутить ручку. Электронная вычислительная машина может повторять арифметическую операцию сколько угодно раз подряд, беря в качестве исходных данных числа, полученные ею на одном из предыдущих этапов. На арифмометре, например, легко можно прибавить к любому числу единицу, но чтобы после этого сделать еще что-то, требуется новое вмешательство человека.
ЭВМ же может быть введена в такой режим, когда она будет возвращаться к собственному результату без дальнейших распоряжений и станет осуществлять потенциально бесконечный процесс многократного применения функции «число, непосредственно следующее за...», то есть последовательного получения возрастающих натуральных чисел. Вторым отличием электронной вычислительной машины от обычного арифмометра является то, что она умеет выполнять простейший условный оператор — проверять, равно ли нулю некоторое число, и в зависимости от этого производить одно или другое действие. Таковы принципиальные отличия современного «супермозга» от арифмометра, а значит, и от счетов, а значит, и от десяти пальцев математиков каменного века. «Непринципиальное» отличие относится к скорости действия и объему памяти. Но количество здесь переходит в качество.
Знакомство с основными результатами современной математической логики, теории логического вывода и теории вычислимости (теории алгоритмов) позволяет понять почему «большой арифмометр», дополненный двумя упомянутыми усовершенствованиями, «может делать все».
Начнем с его способности проверять условия. Проверка элементарного условия x = 0 для электронного автомата несложна[1]. Предположим теперь, что число x получается как результат вычисления некоторой одноместной общерекурсивной[2] функции f. Отсюда сразу следует, что машина способна проверять истинность любого общерекурсивного предиката f(у) = 0. Но способна ли ЭВМ, хотя бы в принципе, вычислять значения любой общерекурсивной функции?
Функция «следования за», конечно, не представляет труда для «автоматического арифмометра». Еще легче выполнить ему вычисление функции, тождественно-равной нулю – вместо любого данного числа написать нуль. Так же легко осуществит автомат вычисление проектирующей функции, поскольку это есть не что иное, как выбор из данной группы чисел такого-то по порядковому номеру числа. Эту операцию можно реализовать на машине, например, так: в машинную память вводятся по одному числу из заданной группы в n чисел, причем при каждом введении числа предыдущее стирается из памяти; одновременно с вводом каждого такого числа некоторое (другое) число, хранящееся в определенной ячейке запоминающего устройства, увеличивается на единицу – как говорят в этом случае, работает счетчик числа операций. Когда разность между числом, накопившимся на счетчике, и данным числом i (нижним индексом проектирующей функции Iin) станет равной нулю, сработает условный оператор, и число, находящееся в этот момент в памяти, пойдет на выход.
Нет необходимости подробно доказывать, что машине доступна реализация оператора подстановки – ведь подстановка есть последовательное вычисление функций, то есть вычисление некоторой функции при значениях аргументов, которые найдены ранее как значения других функций. Если машина умеет вычислять внутренние и внешнюю функции, фигурирующие в подстановке, итоговое вычисление гарантированно.
Вычисление по схеме рекурсии тоже легко осуществляется на ЭВМ. Напомним (ср. с. 137—138), что вычисление значения некоторой функции / (для простоты объяснения ограничимся одноместной функцией) при некотором значении аргумента ( по рекурсии производится по схеме
f(0)= r
f(m') = h(m, f(m)).
где двуместная функция h уже «освоена» – программисты и ЭВМ умеют ее вычислять. Принцип пользования этой схемой заключается в следующем. Машине задается число r, входящее в первую строчку схемы, способ вычисления функции А, в память машины вводится число i и счетчик числа операций ставится в исходное положение (нулевое). Далее организуется следующий процесс: автомат вычисляет значение функции h при значениях ее аргументов 0 и r и вводит в счетчик единицу. Пусть h(0, r) = l. Далее машина сравнивает показание счетчика (число 1) с числом i(проверяя, равна ли нулю их разность) и, если они различны, вычисляет значение функции h при значениях аргументов 1 и l, то есть отыскивает h (1, l), после чего снова добавляет в счетчик единицу, и процедура повторяется. Когда показание счетчика станет равным i, процесс обрывается, и на выход идет значение f(i). Из описания процесса видно, что он является однообразным, «механическим» и легко поддающимся автоматизации.
Еще проще машинизировать мю-операцию, которая как бы специально создана для ЭВМ, хотя была введена в математику лет за двадцать до появления электронных автоматов. Ее смысл заключается в отыскании первого натурального числа х, удовлетворяющего условию вида g(х) = О, где g – общерекурсивная функция[3]. Если машина умеет вычислять значения g при любых значениях аргумента, реализация мю-оператора сводится к тому, чтобы автомат перебирал подряд натуральные числа (каждый раз увеличивая на единицу предыдущее число, то есть пользуясь функцией «следования за»), вычислял для каждого из них значение g и, как только это значение оказывалось равным нулю, отправлял соответствующее натуральное число на выход в качестве результата.
Из всего сказанного вытекает, что любой вычислительный процесс, потенциально осуществимый с помощью аппарата рекурсивных функций, потенциально осуществим также и на ЭВМ. Уточним, в каком смысле нужно поймать слово «потенциально» в применении к вычислительной машине.
Для рекурсивного аппарата этот термин, как мы выяснили, можно понимать так: «при условии, что имеется достаточно времени, чернил (или типографской краски) и бумаги для записи промежуточных данных». ЭВМ бумага для записи данных не нужна – она заносит их в магнитное или другое «физическое» запоминающее устройство, а время ей нужно так же, как и человеку, вооруженному авторучкой, несмотря на то, что ЭВМ производит вычислительные действия гораздо быстрее. Поэтому потенциальная осуществимость какого-то вычислительного процесса на ЭВМ должна пониматься как осуществимость при условии, что не будет наложено никаких ограничений на время работы машины и что машина имеет неограниченную память – память, которую в случае надобности можно всегда расширить путем добавления, например, нового магнитного барабана.
Будем называть вычислимость такого рода ЭВМ-вычислимостью. Как мы убедились, ЭВМ-вычислимость включает в себя рекурсивную вычислимость. Конечно, аргументы, приводившиеся в пользу этого утверждения, носили описательный характер. Однако его можно превратить в серию аналогичных утверждений, в каждом из которых будет фигурировать не ЭВМ «вообще», а ЭВМ некоторого данного типа (или класс ЭВМ, программируемых с помощью конкретного алгоритмического языка, скажем, языка АЛГОЛ-68).
Любое из утверждений такого рода может быть доказано вполне строго. Возникает вопрос: является ли ЭВМ-вычислимость более мощной, чем рекурсивная вычислимость, то есть может ли вычислительная машина сделать что-нибудь такое, чего нельзя сделать с помощью аппарата рекурсивных функций? Если строго рассмотреть этот вопрос, окажется, что он получает отрицательный ответ. ЭВМ-вычислимость эквивалентна рекурсивной вычислимости, а значит, эквивалентна также алгорифмической вычислимости (по Маркову) и вычислимости по Тьюрингу.
Как звучит соответствующий тезис? Очевидно, так: всякая конечная вычислительная (в частности, логическая, дедуктивная) процедура, характеризующаяся детерминированностью своего выполнения, может быть осуществлена на цифровой вычислительной машине с достаточно большой памятью за достаточно большое время.
Эквивалентность этого утверждения, которое можно назвать тезисом кибернетики, остальным рассмотренным нами тезисам является сильным аргументом в их пользу. Ведь «на мельницу» кибернетического тезиса ежедневно и ежечасно «льет воду» практика программирования и вычислительная работа на ЭВМ, а из-за эквивалентности всех четырех тезисов мы можем сказать, что вода попадает и на три остальные мельницы. За 20 с лишним лет широкого применения вычислительной техники в самых разнообразных областях науки, техники, медицины, планирования, управления, прогнозирования и т. д. не было ни одного случая, чтобы задача, четко сформулированная на естественном или формализованном языке, сформулированная с помощью таблиц, графиков, номограмм, схем – самыми разнообразными путями и методами и не выходящая за разумные рамки в смысле трудоемкости требующихся для ее решения операций, не смогла быть записана в виде машинной программы.
Другими словами, не было случая, чтобы к математику, умеющему ставить задачи и программировать их для ввода в ЭВМ, пришел представитель какой-либо нематематической профессии – администратор, экономист, инженер, деятель искусства, ученый и т. д.– попросил бы его осуществить на машине процесс полностью детерминированного на каждом этапе вычисления, логического вывода, выделения некоторого объекта из некоторого множества объектов, расчета вариантов, выбора одних гипотез и исключения других и т. д., то есть процесс решения ясно и четко поставленной задачи из какой-то области деятельности, и чтобы математик совершенно ясно понял проблему, но ответил заказчику, что ее в принципе нельзя решить на ЭВМ. В худшем случае математик может ответить так: программа, соответствующая вашей задаче, на данной машине не пройдет, поскольку у машины слишком мал объем памяти и она слишком медленно работает, чтобы получить результат за разумное время.
Перефразируя выражение А. А. Маркова, заметим, что это, как-никак, веский аргумент. Пусть практика работы на ЭВМ насчитывает не 4000, а лишь 20– 25 лет, но какая это практика! Чего только ни делали с помощью ЭВМ – и составляли планы отраслей хозяйства, и находили выгоднейшие варианты перевозок, и играли в различные игры, но ни единого раза проблема, если она была четко поставлена, не упиралась в тот барьер, что для нее в принципе невозможно написать программу. Можно ли, однако, сказать, что все четко поставленные, но не решенные до сих пор на ЭВМ проблемы (или такие проблемы, относительно которых имеется уверенность, что их со временем можно поставить четко) просто ждут своей очереди: того дня, когда быстродействие и память «компьютеров» станут достаточно большими?
В качестве примера рассмотрим программирование на ЭВМ шахматной игры. Шахматы часто справедливо сравнивают с искусством, и для этой древней игры придумали даже свою «музу» – Каиссу. Широко известны многочисленные попытки моделировать процесс шахматного мышления на машине; их пока нельзя признать успешными, поскольку самые удачные шахматные программы значительно уступают мышлению хороших шахматистов. Каковы, однако, перспективы «машинных шахмат»?
Тезис кибернетики утверждает, что всякий детерминированный процесс, сущность которого можно объяснить человеку, потенциально осуществим машиной, то есть будет фактически выполнен на ЭВМ, которой предоставлено неограниченное время и которая имеет неограниченную память[4]. Первое условие можно переформулировать как условие достаточного быстродействия, поэтому данный тезис можно выразить еще и так: процесс, о котором сказано выше, всегда можно фактически выполнить на машине с достаточно высоким быстродействием и обладающей достаточно емким запоминающим устройством. Если бы такая машина существовала, то «шахматная проблема» давно была бы решена.
Программа для ее решения не представляет трудности; идея такой программы была выдвинута одним из основателей кибернетики Клодом Шенноном больше двадцати лет назад[5]. Соответствующий метод называется «построением дерева игры», и смысл его заключается в следующем. Выписываются все варианты первого хода белых; для каждого из них выписываются все пары ходов, состоящие из текущего первого хода белых и возможного, допустимого правилами игры ответного хода черных (то есть с каждым возможным ходом белых сопоставляются по очереди все возможные ходы черных, включая нелепые); затем с каждым ходом черных сопоставляются по очереди все возможные ходы белых и так далее. Если изобразить это на диаграмме, возникает ветвящееся «дерево» (отсюда и название метода). Ветви будут обрываться на ходах, ведущих к поражению одной из сторон или ничейным ситуациям.
Построив такое дерево, можно проанализировать его, идя обратным путем – от концов веток к корню дерева, и установить, имеется ли такой первый ход белых, что, какой бы ни сделали черные ответный ход, существует такой второй ход белых, что, какой бы ни сделали второй ход черные, можно будет найти такой третий ход белых... и т. д., что черные терпят поражение. Если такой первый ход существует и тот, кто начинает игру, знает свойства ее дерева, он будет выигрывать в ста процентах случаев, независимо от того, знает ли свойства дерева игры его противник. Если такого первого хода не существует, то сторона, делающая первый ход, может выиграть только при условии, что противник не знает дерева игры и вследствие этого делает слабые ходы. Если черные знают свойства дерева игры, то тоже возможны различные ситуации. Быть может, в этом случае черные, опираясь на свойства дерева игры, при любых ходах белых могут обеспечить себе ничейный результат. Но этого может и не быть – это будет означать, что шахматы есть игра, в которой белые при абсолютно правильной игре всегда выигрывают[6].
Однако в любом случае ясно, что шахматы в принципе, так сказать, запрограммированы – несложные правила движения фигур и характеристика матовых ситуаций без труда переводятся на язык элементарных действий, доступных ЭВМ. Будь машины более быстродействующими и имей они достаточно большую память, они просчитали бы все варианты игры и запомнили все ее дерево, превратившись в «абсолютных» шахматистов. Эта игра в таком случае потеряла бы «интеллектуальный» интерес как объект исследования, подобно играм в «волки и овцы» и «крестики и нолики», свойства которых известны: в первой игре всегда выигрывают овцы, если они играют правильно, а во второй игре при наилучшей стратегии сторон всегда имеет место ничья.
Таким образом, следует отличать потенциальную осуществимость, о которой идет речь в кибернетическом тезисе (как и в других тезисах о вычислимости), от осуществимости посредством реально имеющихся средств. Ибо совпадать оба вида вычислимости могут только для сверхъестественного интеллекта.
В романе М. А. Булгакова «Мастер и Маргарита» есть сцена, в которой Воланд – этот гётевский Мефистофель русской литературы – с увлечением играет с другими представителями нечистой силы в шахматы. Поскольку Воланда и его свиту можно считать бесконечно быстрыми вычислителями с бесконечно большим объемом памяти (это подтверждается событиями, описанными в романе), игра в шахматы должна быть для них нелепым и скучным занятием; все дерево игры должно быть перед ними как на ладони! Игра, таким образом, не может быть для них интересной, и получается, что данная сцена с «кибернетической» точки зрения не очень убедительна. Что же касается людей, то шахматы не утратили бы для них интереса, если бы даже свойства игры были полностью выяснены и существовали автоматы, реализующие «абсолютные» шахматные игры; ведь сохранились (да и какой интерес вызывают!) состязания по бегу, хотя автомобили, поезда и самолеты «бегают» куда быстрее людей...
Но вернемся к математику, получившему заказ на выполнение умственной работы с помощью «усилителя интеллекта» – мощной вычислительной техники. Помимо того случая, когда длительность и объем соответствующих вычислений выходят за рамки возможностей данной ЭВМ, математик ответит заказчику отказом еще в одном случае если тот, кто предложил ему задачу, не сможет толково объяснить, какой детерминированный процесс нужно осуществить. Есть пословица «хорошо поставить проблему – значит наполовину решить ее»; для математика, в распоряжении которого имеется ЭВМ, это особенно справедливо.
Коль скоро хороший математик-программист поймет постановку задачи, он сумеет рано или поздно (то есть опять-таки «в принципе», в предположении неограниченного времени, пространства и материалов) перевести ее на язык вычислительной машины. Но если объяснения заказчика будут не ясными, если в цепи мыслей у него будут разрывы, заполненные лишь смутными, недодуманными до конца идеями или выражением собственного отношения к предмету, то самый выдающийся программист окажется бессильным. Процесс, который его просят осуществить, в таком случае не будет ЭВМ-вычислимым. Но будет ли он вычислимым в каком-либо другом, пусть даже очень широком смысле?
Можно попытаться представить себе дальнейшее развитие событий при встрече этих двух людей. Математик после нескольких безуспешных выслушиваний заказчика начнет все откровеннее говорить последнему, что у него не все в порядке с ясностью понятий, строгостью и логикой. Тогда может произойти следующее: заказчик, не будучи в состоянии ясно изложить проблему, а математик – помочь ему в постановке задачи, не смогут договориться друг с другом, и заказчик покинет вычислительный центр с убеждением, что кибернетика – это красивый мыльный пузырь, который лопается при соприкосновении с реальностью, математик же подумает: правы те, кто считает математику единственной точной наукой, представители же нематематических наук говорят то, что сами до конца не понимают. Наверно, больше всего достанется при этом ученым-гуманитариям...
Но диалог математика и нематематика может иметь и иной исход. Нематематик может понять, что в его объяснениях действительно имеются неясности, которые можно устранить. А математик может взяться за освоение фактического материала предложенной задачи, с тем чтобы уточнить ее постановку. При этом он произведет – с одобрения нематематика – разумные упрощения задачи, делающие ее доступной для имеющейся в его распоряжении ЭВМ. Либо же математик выяснит, что, хотя задача (в определенных упрощениях) поддается точной формулировке, современных средств вычислительной техники недостаточно для ее решения. Тогда нематематику придется подождать, когда вычислительные мощности возрастут настолько, что задача окажется доступной для машинного решения.
Могут возникнуть, однако, и существенно менее утешительные ситуации. Одна из них может состоять в том, что у математика сложится убеждение (подкрепленное вескими соображениями): задача столь сложна, что ее решение окажется недоступным для любых вычислительных систем, которые могут появиться на любом мыслимом этапе грядущего развития цивилизации.
Что задачи, недоступные для решения по программе определенного типа, которую мы можем составить в настоящее время, для любых машин, мыслимых сконструированными в будущем, существуют, убедиться нетрудно. Таковой, например, является задача автоматизации игры в шахматы, основанная на описанной выше идее полного перебора вариантов. По оценке Шеннона число вариантов в этой игре достигает порядка 10120. Если допустить, что на оценку каждого варианта машина тратит одну миллиардную секунды (допущение, колоссально далекое от возможностей даже проектируемых машин четвертого поколения, быстродействие которых, по имеющимся данным, достигнет нескольких миллиардов элементарных операций в секунду) то расчет вариантов, необходимый для автоматизации шахматной игры, займет время, большее, чем время предполагаемого существования нашей галактики!
Конечно, программа, основанная на простом переборе очень неэкономна. Можно строить – и уже построены – иные программы игры в шахматы; лучшие из них основаны на принципах, извлекаемых из изучения того, как принимают решение в игре люди – мастера шахматной игры. Интересные принципы построения программы машинной игры в шахматы разработаны экс-чемпионом мира М. М. Ботвинником[7].
Программы, основанные на изучении и использовании принципов мышления человека, решающего аналогичные задачи, называются эвристическими[8]. Во многих из них автоматизация решения задач получается за счет того, что не каждая задача (из класса задач того типа, на решение которых рассчитана данная программа) может быть фактически решена машиной. Это может происходить, в частности, от того, что не все свойства объектов, которые фигурируют в задаче, учтены в ее программе (некоторые из них могут быть попросту неизвестны). В случае шахмат у специалистов – как математиков, так и шахматных мастеров и гроссмейстеров, занимающихся шахматными программами, имеется чувство уверенности, что шахматная программа, играющая в силу шахматного мастера, будет со временем написана.
Может ли это иметь место в применении к любым задачам? Этот вопрос в настоящее время следует признать открытым. Однако многие выдающиеся математики склоняются в пользу отрицательного ответа. О мнении одного из них – Дж. фон Неймана – стоит сказать специально.
Джон фон Нейман (1903—1957) принадлежал к числу великих математиков и естествоиспытателей XX столетия. Получив разностороннее – математическое и естественнонаучное – образование (он имел диплом инженера-химика) в Европе (сам он родился в Будапеште), он связал свою научную судьбу с американской наукой. Начав свой путь в науке с логики (фон Нейман явился создателем одной из первых аксиоматических теорий множеств), он стоял у колыбели современной вычислительной техники[9]. Он глубоко разработал теоретические основы квантовой механики. Вместе с Н. Винером и К. Шенноном фон Нейман явился создателем кибернетики, к которой пришел от математической теории автоматов, основы которой сам и заложил. Еще ранее он почти единолично создал такую дисциплину, как теория игр, столь важную ныне в теоретической кибернетике. Примечательно, что он не был только «чистым» математиком, а, обладая глубоким естественнонаучным образованием, плодотворно занимался приложениями математического аппарата[10].
В конце своей жизни фон Нейман глубоко раздумывал над возможностями ЭВМ и автоматов в решении сложных задач, над «природой» вычислительной машины и человеческого мышления. Рассматривая задачу о машинном моделировании нейронных структур мозга, он пришел к гипотезе, что если система достигает определенной ступени сложности, ее описание – и, значит, моделирование на любой машине – не может быть проще, чем она сама. Приведем соответствующие идеи фон Неймана в его собственном изложении, так как они представляют огромный интерес; высказанные более четверти века тому назад, они полностью сохраняют свою силу и по сие время.
«Нет сомнения в том, что любую отдельную фазу любой мыслимой формы поведения можно «полностью и однозначно» описать с помощью слов. Это описание может быть длинным, однако оно всегда возможно. Отрицать это означает примкнуть к разновидности логического мистицизма, от чего большинство из нас, несомненно, далеки. Имеется, однако, существенное ограничение, состоящее в том, что все сказанное применимо только к каждому элементу поведения, рассматриваемому в отдельности, но далеко не ясно, как все это применять ко всему комплексу поведения в целом».
Далее фон Нейман поясняет эту мысль на примере зрительного восприятия и делает кардинальной важности вывод. По его мнению, «очень возможно, что простейший и единственно доступный на практике способ показать, что представляет собой явление зрительного сходства, состоит в описании связей, существующих в зрительном аппарате мозга. Здесь нам придется иметь дело с такими разделами логики, в которых у нас практически нет предшествующего опыта. Степень сложности, с которой мы сталкиваемся в этом случае, далеко выходит за рамки всего того, что нам известно. Мы не имеем права считать, что логические обозначения и методы, применявшиеся ранее, могут быть использованы и в этой области. У нас нет полной уверенности в том, что в этой области реальный объект не может являться простейшим описанием самого себя, то есть, что всякая попытка описать его с помощью обычного словесного или формально-логического метода не приведет к чему-то более сложному, запутанному и трудновыполнимому... Весьма возможно, что уже сама схема связей в зрительном аппарате мозга является простейшим логическим выражением (или определением) принципа зрительной аналогии».
Попытка приспособить логику для описания сложных систем подобных мозгу, может, считал фон Нейман, привести к тому, что в ходе этого развития «логика будет вынуждена претерпеть метаморфозу и превратиться в неврологию в гораздо большей степени, чем неврология – в раздел логики»[11].
Из идей фон Неймана вытекает, что проблема создания машинной программы, способной решать все те многообразнейшие задачи, которые успешно решает человеческий мозг (и проблема построения машины «в металле», реализующей эту программу), чрезвычайно трудна, если не безнадежна. Конечно, фон Нейман вполне разделял «кибернетическую редакцию» рационалистического тезиса: «Любой процесс, происходящий в реальности (частью которой является функционирование нашего мозга), коль скоро он ясно и однозначно описан на каком-то языке, может быть в принципе промоделирован на вычислительной машине». Для того, кто признает материалистическое положение о том, что любой процесс природы познаваем с помощью разума, этот тезис должен быть естественным выводом из логико-математической теории вычислимости. А эту теорию фон Нейман полностью учитывал. В работе, цитаты из которой мы привели, он излагает смысл «тезиса Тьюринга» (и равносильного ему другого тезиса, о котором мы не имели возможности рассказать в данной книге, тезиса Мак-Калпока – Питтса, связанного с созданной ими теорией формальных нервных сетей), однако подчеркивает, что «тезисы вычислимости» ничего не могут дать для решения обсуждаемой им проблемы.
Показанная фон Нейманом трудность имеет главными источниками гибкость и богатство человеческого мышления и естественного языка и сверхсложность реализующей их системы – мозга. Наша внутренняя жизнь и ее проявления в языке столь многообразны, проблемы, волнующие человеческую личность, так глубоки, что допущение о возможности перевода (реальной возможности – в любом разумном смысле слова «реальной») любой из них на какой-либо «точный» язык – например, язык рекурсивных функций, чрезвычайно сомнительна. Взгляд свысока на «неточность» переживаний и мыслей, например, героев Достоевского или Чехова, был бы проявлением либо крайней наивности, либо своеобразного математического лицемерия.
Вывод, к которому мы приходим, заключается в том, что, рассматривая возможности вычислительных машин, к различию между потенциально осуществимым и фактически реализуемым надо добавить различие между фактически реализуемым и фактически нереализуемым, не только в настоящее время, но и в любом обозримом будущем. На вопрос о границе между потенциально осуществимым и неосуществимым с помощью автоматов ответ дает описанный нами тезис кибернетики, который следует признать имеющим важное гносеологическое содержание[12]. На вопрос же о том, где пролегает граница между тем, что для математики, вычислительной техники и кибернетики реально осуществимо и что реально невозможно (хотя и возможно потенциально), ответа мы не знаем.
Имеются два подхода к решению этого вопроса (впрочем, они тесно связаны между собой). Первый из них состоит в изучении феномена сложности в окружающем нас мире[13]. На важность изучения этого феномена внимание обратил, как мы видели, фон Нейман. Добавим теперь, что им была высказана следующая идея: если система становится достаточно Сложной, она приобретает способность не просто воспроизводить подобные себе системы (математике-логическими средствами фон Нейман доказал, как возможны самовоспроизводящиеся автоматы[14]), но и порождать системы возрастающей сложности. Разумеется, для придания ясности этому утверждению требуется уточнение самого понятия сложности. Развивающиеся в настоящее время работы по теории сложности вычислений и алгоритмов[15] как раз и направлены на поиски такого уточнения.
Второй подход состоит в изучении человеческого мышления. вообще сознания – во всем богатстве его проявлений. О явлениях сознания и мышления мы еще знаем до обидного мало. Известно, конечно, что человеческий ум, решая какую-то проблему, пробует множество самых разных путей, почему-то вдруг бросает одни из них и переходит к другим, а затем возвращается к первым; широко пользуется ассоциациями, даже если они идут от такого, казалось бы, постороннего источника, как фонетическое звучание слов; постоянно употребляет метод перебора и поочередной проверки гипотез, то есть действует весьма сложным и недостаточно выясненным в психологической науке образом. Мы только можем догадываться о механизмах «человеческого» получения истинных утверждений. Вот как например, представляет себе схему этого процесса современный американский философ Марио Бунге:
«Разум, так сказать, пересматривает запас известных утверждений, относящихся к той же области, а иногда также и к соседним областям, он быстро проверяет одно за другим возможные отношения между подобными элементами, пока не откроет, если ему повезет, такого, которое сделает желаемое доказательство возможным. Однако это сканирование гораздо более беспорядочно и менее эффективно, чем, то, на котором лежит ответственность за телевизионное изображение. Для осуществления такого зигзагообразного продвижения нет никаких других полезных правил, кроме как запастись терпением да накопить побольше плодотворных или наводящих на размышление соотношений»[16].