В схеме обычной современной ЭВМ воплощен язык машинных команд, состоящий из простейших арифметических и логических операций. Примитивность этого языка – плата за универсальность: предполагается, что машина будет использована для разных целей, а из маленьких кирпичей как раз и можно строить дома самой витиеватой формы, чего не скажешь о крупных блоках.
Однако каждый конкретный пользователь решает только свой узкий круг задач, и универсальность ему не нужна. Напротив, он хотел бы ворочать большими блоками, что позволило бы ему уменьшить перебор. Иными словами, он желал бы иметь язык, ориентированный именно на его проблемы. Как же его получить?
При составлении нескольких самых простых программ некоторые сочетания команд все время повторяются, они как бы слипаются между собой. Такой комбинации можно присвоить имя, ввести ее в память, и оператор языка более высокого уровня готов. (Это аналогично выработке условного рефлекса – повторяющиеся стимулы и реакции становятся единым целым.) Такой вариант действий можно назвать путем «снизу».
Но есть и другой путь – «сверху». Анализируют все множество решаемых задач и ищут набор как можно более крупных частей, из которых складывался бы любой нужный алгоритм. Проводя опять‑таки параллель со строительством, можно сказать, что определяют комплект блоков, из которых удастся возвести все здания оговоренного типа.
Здесь человек использует свое преимущество перед машиной в разноплановости своих представлений о мире. Для компьютера этот крупноблочный язык совершенно непонятен, и ему надо перевести каждый блок в набор кирпичей – машинных команд. Для этого сочиняется программа‑транслятор (опять же путем иерархического разбиения). В разных случаях будут свои наборы блоков; так возникают сотни алгоритмических языков – каждый из них по‑своему членит мир.
В этих соотношениях проявляется общий принцип мышления – работать на верхних этажах языковой иерархии. Если в нашем распоряжении нет языка высокого уровня – то его надо создать. Главная цель при этом – избежать больших переборов вариантов.
Окончательный результат, например, обоснование какого‑то утверждения, должен быть приведен к чему‑то хорошо понятному: аксиомам в формальной теории, атомно‑молекулярным представлениям в химии (это – язык реализации). Значит, задача состоит в том, чтобы спуститься до этого уровня, а затем идти в обратную сторону (снизу вверх), осуществляя логический вывод, строгую дедукцию.
Две логики
Еще в школе на уроках геометрии мы хорошо усваиваем сущность строгой логической системы: если удалось протянуть цепочку умозаключений от исходных постулатов до требуемого утверждения, то не остается никаких сомнений в его истинности (пока кто‑нибудь, подобно Лобачевскому, не усомнится в самих основах). Но если цепочка вывода достаточно длинна, то, зная одни аксиомы, построить доказательство без большого перебора нельзя.
Поэтому здесь тоже нужны целые блоки умозаключений. Для этого решаем сначала совсем простые задачи (цепочки коротки), а каждую уже решенную запоминаем – они и становятся понятиями более высокого уровня (это то, что мы называем путем «снизу»). Наиболее важные, то есть отражающие общие свойства всего круга задач утверждения, именуют теоремами – их‑то нужно помнить обязательно.
Теперь, столкнувшись с более трудной задачей, уже не придется сводить ее к постулатам, а лишь представить как комбинацию уже известных задач и доказанных теорем (от них путь вниз уже проделан). Решить задачу – значит, «выложить, как пол комнаты паркетом, задачу – аксиомами». Нахождение такой укладки отражает построение доказательства, то есть состава и порядка умозаключений. Понятно, что если задача достаточно велика, то сразу с нею не справиться (все тот же большой перебор). Поэтому следует для начала расширить набор правильных утверждении. Возьмемся за более простые задачи. Легко заполняем их аксиомами. Теперь, держа в уме эти блоки, можно снова вернуться к трудной задаче. Понятно, что она сводится к уже решенным.
Именно так строятся занятия по учебнику или с хорошим учителем, когда специально подобранный ряд все усложняющихся задач позволяет постепенно наращивать знания ученика. А что делать в новой, неисследованной области?
Если там есть сколько‑то установленных фактов, то с них все и начинается. Внимательно изучаем их строение, стараемся обнаружить скрытую закономерность, некоторый общий принцип. Выявляем сходные контуры и мотивы – определяем для себя эвристики, которые позволят резко сузить число приемлемых гипотез. Дальше просеиваем правдоподобные варианты.
Наконец, после долгих размышлений и неудачных проб, находим – эврика! – что все факты представимы как сочетания нескольких гипотез. Переживаем то редкое и надолго запоминающееся мгновение, которое называют озарением, инсайтом.
Понятно, что введение элементов‑гипотез – это уже знакомый нам путь «сверху». Загвоздка в том, что сами эти элементы могут оказаться слишком большими, слишком далекими от обыденных представлений, чтобы сразу быть выраженными на языке общеизвестного. Часто это просто смутные ощущения, когда сам автор догадки уже уверен в ее правильности, но еще не может убедить других. Как говорил Карл Гаусс: «… я знаю свои результаты, я только не знаю, как я к ним приду».
И все же, несмотря на образовавшуюся логическую пропасть, возникновение таких неясных образов – ключевой этап. Он соответствует интуитивному решению, постановке новых задач, определяющих все дальнейшее: формулировку и обоснование гипотезы, а затем превращение ее в теорию. Каждый интуитивный образ – «замок в облаках» – должен быть закреплен (дальнейшим подразбиением) на твердой почве аксиом и теорем. Ясно, что интуиция – это не что‑то мистическое, а итог движения мысли «вширь», вынашивания своего особого взгляда, упрощающего всю картину.
Итак, получаются две основные стадии создания теории: сначала угадывание языка максимально высокого уровня для описания имеющихся фактов, а потом – строгое обоснование.
Как исчислять идеи?
В свое время великий Г.Лейбниц выдвинул программу «универсальной характеристики» – языка, символы которого отражали бы их смысл, то есть отношения к другим понятиям, – «его знаки сочетались бы в зависимости от порядка и связи вещей». Все мышление, по его идее, должно свестись просто к вычислениям на этом языке по определенным правилам. Пока этот проект удалось воплотить лишь наполовину – формализовать дедуктивный вывод (его делает и ЭВМ), а логику изобретения, логику воображения – нет.
Быть может, здесь окажется полезной комбинаторная геометрия (а наша модель относится к ней), цель которой – находить оптимальное сочетание некоторых элементов‑фигур (подобный подход использовал ранее Эдвард де Боно). Модель хорошо отражает различные ситуации, например, наличие конкурирующих теорий – нескольких систем фигур, в которые укладывается данное множество фактов. Или появление факта, который не удается сложить из известных блоков. Тут приходится строить новую теорию – разбивать привычные фигуры на части и компоновать их по‑новому (производить, соответственно, анализ и синтез).
Кроме чисто комбинаторных трудностей, препона тут еще и в том, что при долгом употреблении каждый образ начинает восприниматься как неделимое целое, с чем связаны догматизм в мышлении и бюрократизм в его многообразных проявлениях. Как правило, здесь нужен свежий взгляд, которым нередко обладает «человек со стороны».
Конечно, «игра в кубики» – лишь иллюстрация некоторых способов мышления, и говорить об универсальном подходе еще нельзя. И все же такая игра в некоторой степени проясняет, что мог иметь в виду Лейбниц, когда писал, что существует исчисление более важное, чем выкладки арифметики и геометрии, – исчисление идей.
В мозгу, вероятно, неясным пока способом создаются связи и отношения между образами – энграммами памяти, а сам мыслительный процесс сводится к перестройкам этой структуры. При этом действует и минимизация – мы ведь всегда ищем самое короткое представление совокупности фактов; раньше это называли принципом экономии мышления.
Вообще, потребность в развитии какой‑то «новой математики и логики» назрела. Как указывали отцы кибернетики и теории систем Джон фон Нейман и Людвиг фон Берталанфи, «логика будет вынуждена претерпеть метаморфозу и превратиться в неврологию в гораздо большей степени, чем неврология – в раздел логики», и «уже давно предпринимаются попытки создать „гештальт‑математику“, в основе которой лежало бы не количество, а отношения, то есть форма и порядок».
Мозг и компьютер
ЭВМ может хранить в памяти любое количество сведений (даже абсолютно бессмысленных) и производить с ними миллионы действий в секунду. Сперва надеялись, что эти достоинства уже гарантируют высокий интеллектуальный потенциал, но вскоре выяснилось, что во многой осведомленности не обязательно таится мудрость. Ведь, как мы видели, ум – способность не отбрасывать плохие варианты, а находить хорошие, чего примитивным перебором не достигнешь.
Человек не запомнит большой объем неорганизованной информации (вроде телефонного справочника), но зато знания у него н голове хорошо структурированы и взаимосвязаны. Они в наибольшей мере отражают существенные стороны реальности: наборы маршрутных «карт» увязаны между собой по вертикали и горизонтали, каждое понятие окружено его «ассоциативной аурой» (Д.С.Лихачев). Это богатство связей позволяет извлекать только относящиеся к делу сведения, а из них уже конструировать нужное решение.
Знаниями о мире, моделью мира необходимо наделить и компьютер. Для этого в него сейчас вводят набор «сценариев». Сценарий – это общий каркас, стереотип, который каждый раз должен наполняться конкретным содержанием. Распознав ситуацию, машина отыскивает соответствующий сценарий, после чего сама ставит вопросы и уточняет для себя недостающие детали.
Это нелегко сделать, если учесть, что запас таких шаблонов у человека поистине колоссален – в них кристаллизуется опыт всей предшествующей жизни. Каждое явление мы представляем во многих срезах и ракурсах, а некоторые вещи, например, пространственные соотношения, усваиваются бессознательно в раннем детстве.
Но самое главное отличие здесь в том, что мозг оперирует непосредственно теми емкими образами, которые в нем возникли, то есть ему не нужно каждый раз опускаться до простейших операций. Судя по всему, образное мышление не отделено от памяти, где эти образы как‑то запечатлены, и одновременно с перестройкой памяти самоорганизуется, настраивается на вновь созданный язык и «процессор».
Это очень трудно воспроизвести прежде всего потому, что физические принципы нейрологической памяти не раскрыты. Сейчас популярна аналогия между оптическими голограммами и энграммами памяти (распределенность по носителю, огромная емкость, ассоциативность). На этом сходстве пытаются основывать думающие машины необычного типа – оптоэлектронные, в которых храниться и обрабатываться будут не числовые коды всех понятий, а образы – голограммы.
Другое направление – создание как бы аналога нейронной сети из большого массива простых ЭВМ. Хотя каждая из них выполняет несложную функцию, все вместе они манипулируют целыми комплексами состояний. Опять получается нечто похожее на образное мышление.
Так или иначе, но компьютеры должны научиться, выражаясь словами еще одного патриарха кибернетики, Клода Шеннона, «выполнять естественные операции с образами, понятиями и смутными аналогиями, а не последовательные операции с десятиразрядными числами».
Работа мысли направляется определенными целевыми установками, мотивацией. Сама цель становится тем вершинным образом, который направляет поиск средств для ее достижения. В нас заложена потребность получить новые впечатления (чувство информационного голода), а также сжать их, охватить одним взглядом. Вероятно, эти установки надо внести в машину, чтобы сделать ее активно познающей.
Наступит день, когда интуитивное мышление, связанное с неизвестными пока механизмами памяти, тоже будет реализовано в виде электронных или каких‑то других схем. Постепенно искусственный интеллект начнет догонять, а затем и превосходить своего создателя в решении различных задач, игре в шахматы и тому подобное.
И будет становиться все более очевидным, что главное различие – не в свойствах мышления как такового, а в том, что человек наделен личностными свойствами, в первую очередь, сознанием. «Человек знает, что знает».
Сможет ли машина преодолеть и этот рубеж? Когда она научится сама образовывать новые понятия, то рано или поздно придет к понятию «компьютер». А после – эффект зеркала: зная, что такое зеркало и видя в нем свое отражение, она придет к пониманию своего «Я».
Биокомпьютер
Если оглянуться и окинуть непредвзятым взглядом историю мирового компьютинга, неминуемо обнаруживаешь: огромный корабль компьютерного приборостроения находится в движении. Он медленно, но верно разворачивается от чисто счетной техники, через машины с массовым параллелизмом к так называемому биокомпьютеру – машине, которая должна вобрать в себя все лучшее, присущее «счетному железу» и живому человеческому мозгу. И если раньше биологические, эволюционные вопросы были для профессионального компьютерщика интересны не более, чем экологические, политические и прочие чисто человеческие проблемы, то теперь все изменилось. Как в процессе биологической эволюции возникали и развивались биологические системы обработки информации? Как совершенствовались обеспечиваемые этими системами кибернетические свойства организмов? Все это ныне – профессиональные компьютерные вопросы. А посему не грех и обозреть сегодня, что мы, люди, сумели сделать и чего не сумели еще в силу разных причин на длинной извилистой дорожке, в конце которой написано: «биокомпьютер».