Объяснение этого факта давно уже опубликовано В 1940 году датский психолог Адриан де Грот исследовал то, как шахматные мастера, в отличие от новичков, оценивают позицию. Его исследования показали, что мастера воспринимают расположение фигур блоками. Существует более высокий уровень описания доски, чем прямолинейное «белая пешка на е5, черная ладья на д6», и мастер каким-то образом создает мысленный образ доски на высшем уровне. Это доказывается тем, как быстро, по сравнению с новичком, мастер может восстановить какую-либо позицию из партии, после того, как обоим показали доску в течение пяти секунд. Весьма показателен тот факт, что ошибки мастера касались целых групп фигур, которые он ставил в неправильное место; при этом стратегически позиция оставалась почти той же самой — но не на взгляд новичка! Окончательным доказательством этого факта послужил тот же эксперимент, в котором на этот раз вместо настоящих позиций фигуры были расставлены как попало. В реконструкции таких случайных позиций мастера показали себя ничуть не лучше новичков.
Из этого следует, что в шахматных партиях повторяются некие типы ситуаций, некие определенные схемы и что именно эти схемы высшего уровня воспринимаются мастером. Он думает на ином уровне, чем новичок, и оперирует другим набором понятий. Почти все бывают удивлены, узнав, что во время партии мастер редко заглядывает вперед дальше, чем новичок — более того, мастер обычно рассматривает всего лишь горстку возможных ходов. Трюк заключается в том, что его восприятие доски подобно фильтру, глядя на позицию, он буквально не видит плохих ходов, подобно тому, как любители не видят ходов, противоречащих правилам. Любой, кто хотя бы немного играл в шахматы, организует свое восприятие таким образом, что диагональные ходы ладьей, вертикальное взятие пешками и тому подобное просто не приходят ему в голову. Подобно этому, мастера создали высшие уровни организации в их восприятии позиции; в результате, рассматривать плохие ходы для них так же маловероятно, как для большинства людей — рассматривать незаконные ходы. Это можно назвать явной обрезкой гигантского разветвленного дерева возможностей. С другой стороны, неявная обрезка включает рассмотрение хода и, после поверхностного анализа, решение этот ход больше не анализировать.
Это различие приложимо также и к другим видам интеллектуальной деятельности — например, к занятиям математикой. Способный математик обычно не обдумывает всяческие ложные пути к доказательству нужной теоремы, как это могли бы делать менее одаренные люди; скорее, он «нюхом чувствует» многообещающие пути и сразу направляется по ним.
Компьютерные шахматные программы, основанные на заглядывании далеко вперед, не научены думать на высшем уровне; стратегией таких машин была «грубая сила» просчета вариантов, в надежде таким образом сокрушить любое сопротивление. Однако оказалось, что эта стратегия не работает. Может быть, когда-нибудь и удастся создать такую программу, которая, основываясь только на грубой силе — умению считать варианты — действительно сможет обыгрывать лучших человеческих игроков. Однако это будет небольшим выигрышем в области интеллекта, по сравнению с открытием того, что важнейшей составляющей разума является его умение создавать многоуровневые описания сложных схем, таких, как шахматные доски, телевизионные экраны, печатные страницы или картины.
Похожие уровни
Обычно нам не приходится держать в уме больше одного уровня понимания ситуации. Более того, как мы уже сказали ранее, различные описания одной и той же системы бывают настолько далеки друг от друга концептуально, что у нас не возникает проблемы одновременного восприятия обоих; они просто хранятся в разных мысленных отделениях. Трудности возникают тогда, когда одна и та же система допускает два или более описаний, в чем-то похожих друг на друга. Тогда нам бывает трудно, думая о системе, не смешивать различные уровни — и при этом мы легко можем запутаться.
Вне сомнения, это происходит, когда мы думаем о нашей собственной психологии — скажем, когда мы пытаемся понять мотивы различных человеческих поступков. В структуре человеческого разума есть множество уровней — безусловно, это система, которую мы пока понимаем недостаточно хорошо. Существуют сотни соперничающих друг с другом теорий, объясняющих различное поведение; они основаны на предположениях о том, насколько глубоко в этой иерархии уровней расположены те или иные психологические «силы». Поскольку в настоящее время мы используем почти один и тот же язык для описания различных уровней, это приводит к немалой путанице и, наверняка, к рождению множества ложных теорий. Например, мы говорим о стимулах — сексе, власти, славе, любви — понятия при этом не имея, где именно в структуре человеческого интеллекта они зарождаются. Я не буду останавливаться на этом подробно; скажу лишь, что наше непонимание того, кто мы есть, безусловно связано с тем фактом, что мы состоим из большого количества уровней и используем один и тот же язык для описания нас самих на разных уровнях.
Компьютерные системы
Существует еще одно место, где многие уровни описания сосуществуют в единой системе и все уровни концептуально близки один к другому. Я имею в виду компьютерные системы. Работающую компьютерную программу можно рассматривать на нескольких уровнях. На каждом уровне описание дается на языке вычислительных машин, что делает все описания в какой-то мере схожими — в то же время между нашим восприятием разных уровней есть крайне важные различия. На низшем уровне описание настолько сложно, что его можно сравнить с описанием образа на экране телевизора в виде набора точек; однако для определенных целей нужен именно такой взгляд на вещи. На высшем уровне описание представлено в форме крупных блоков и воспринимается совершенно по-другому, несмотря на то, что многие понятия повторяются как на низшем так и на высшем уровнях. Блоки описания на высшем уровне можно сравнить с блоками шахматного мастера и с блочным описанием образа на экране: они суммируют в сжатой форме те вещи, которые на низших уровнях представлены как отдельные. (См. рис. 57.)
Рис. 57. Идея «укрупнения» группа предметов воспринимается как единый «блок» Граница этого блока работает как клеточная мембрана или национальная граница, она устанавливает индивидуальность группы предметов внутри нее. В зависимости от контекста, внутренняя структура блока может приниматься во внимание или игнорироваться.
Чтобы предмет нашего разговора не стал слишком абстрактным, обратимся к конкретным фактам из области вычислительной техники; для начала бросим взгляд на то, что представляет собой компьютерная система на низшем уровне. Низший уровень? Не совсем, конечно — но я не буду здесь говорить об элементарных частицах, так что для нас это будет низшим уровнем.
В основании компьютерной системы находится память, центральный процессор (ЦП), и некоторые вводно-выводные устройства. Сначала давайте опишем память. Она состоит из отдельных физических единиц, называемых словами. Для конкретности скажем что в памяти есть 65 536 слов (это типичное число — 2 в 16-ой степени). Слово далее подразделяется на то что мы будем считать атомами информатики — биты. В типичном слове — около тридцати шести битов. Физически бит представляет собой магнитный «выключатель» который может быть в одном из двух положений.
00X0XXX0X00XX00X0XXXXXX0XX00XXX0000
— слово из 36 битов —
Вы можете называть эти положения «вверх» и «вниз», или «x» и «o», или «1» и «0». Последнее — общепринятое название, оно вполне адекватно, но может запутать читателя, заставив его думать, что на самом деле в памяти компьютера хранятся числа. Это неверно. У нас столько же оснований думать о наборе из тридцати шести битов, как о числе, как и считать, что два четвертака — это цена мороженого. Так же, как деньги могут быть использованы по-разному так и слово в памяти может выполнять разные функции. Строго говоря, иногда эти тридцать шесть битов действительно могут представлять число в двоичной записи. В другой раз они могут представлять тридцать шесть точек на экране телевизора, или же несколько букв текста. Наша интерпретация слова в памяти целиком зависит от той роли, которую это слово играет в использующей его программе. Разумеется, оно может играть несколько ролей — как нота в каноне.
Команды и данные
Существует еще одна интерпретация слова, о которой я пока не упоминал слово может интерпретироваться как команда. Слова памяти содержат не только данные, на основании которых действует компьютер, но и программу, действующую на эти данные. Существует ограниченное количество операций, которые могут быть выполнены центральным процессором — ЦП — и часть некоего слова (обычно несколько первых битов) интерпретируются как название типа команды, которая должна быть выполнена. Что же означают остальные биты в слове-команде? Чаще всего, они говорят, на какие другие слова памяти надо воздействовать. Иными словами, остальные биты являются указателем на какое-либо другое слово (или слова) памяти. Каждое слово в памяти имеет свое расположение, как дом на улице; это расположение называется адресом. Память может иметь одну «улицу» или много «улиц» — они называются страницами. Таким образом, адрес любого слова — это номер страницы (если память подразделена на страницы) и его расположение на этой странице. Итак, «указатель» — это часть команды, содержащая числовой адрес какого-либо слова (или слов) в памяти. На указатель нет никаких ограничений, так что команда может даже указывать сама на себя — в этом случае, когда она действует, она изменяет саму себя.