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