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