В этот момент детектор сходства, работающий параллельно с другими операциями, обнаруживает повторение понятия «три» во всех гнездах, описывающих «о»; этого оказывается достаточно, чтобы снова модифицировать эталон. Обратите внимание, что первая модификация была предложена сетью понятий, а вторая — детектором сходства. Теперь наш эталон для задачи #49 приобретает такой вид:
большая замкнутая кривая: —
три маленьких «о» внутри: —
три маленьких «о» снаружи: —
Теперь, когда «три» поднялось уровнем выше и вошло в эталон, имеет смысл обратиться к его соседям по сети понятий. Один их них — «треугольник», что означает, что треугольники, состоящие из «о», могут оказаться важными для решения задачи. В результате оказывается, что эта дорога заводит в тупик, — но как мы могли знать об этом заранее? Человек, решающий эту задачу, скорее всего пошел бы тем же путем, так что хорошо, что наша программа нашла эту дорогу.
Описание рамки II-Д может быть таким:
большая замкнутая кривая:
три маленьких «о» внутри:
три маленьких «о» снаружи:
Разумеется, при этом было отброшено огромное количество информации о размерах, положении и ориентации этих треугольников и т. п. Но именно в этом и заключается смысл создания описаний вместо использования необработанных данных! Это похоже на «воронку», которую мы обсуждали в главе XI.
Нам не понадобится рассматривать решение задачи #49 целиком, поскольку мы уже показали, каким образом индивидуальные описания, эталоны, детектор сходства и сеть понятий непрерывно взаимодействуют между собой. Рассмотрим более подробно, что представляет из себя сеть понятий и каковы ее функции. Упрощенный ее фрагмент, приведенный на рис. 123, кодирует следующие идеи:
«высоко» и «низко» противоположны.
«сверху» и «снизу» противоположны.
«высоко» и «сверху» схожи.
«низко» и «снизу» схожи.
«справа» и «слева» противоположны.
различие между «справа-слева» подобно различию между «высоко-низко».
«противоположно» и «схоже» противоположны.
Обратите внимание, что мы можем говорить как об узлах, так и о связях сети. В этом смысле ни один объект в сети не находится уровнем выше другого. В другой части данной схемы закодированы следующие понятия:
Квадрат — это многоугольник.
Треугольник — это многоугольник.
Многоугольник — это замкнутая кривая.
Разница между треугольником и квадратом в том, что у первого 3 стороны, а у второго — 4.
4 схоже с 3.
Круг — это замкнутая кривая.
У замкнутой кривой есть внутренний и внешний районы. «Внутри» и «снаружи» противоположны.
Сеть понятий очень широка. Кажется, что знания закодированы в ней только статистически, или декларативно, — но это верно лишь наполовину. На самом деле, ее знания граничат с процедурными, потому что сходство в сети действует как гид, или «подпрограммы», сообщая основной программе, как лучше понимать картинки в рамках.
Например, какая-нибудь из первых догадок может оказаться ошибочной, но при этом содержать зерно правильного ответа При первом взгляде на ЗБ #33 (рис. 124) можно подумать, что класс I содержит «колючие» фигуры, а класс II — «гладкие». Однако, если присмотреться, эта догадка оказывается неверной. Все же в ней есть ценная информация, и можно попытаться развить эту идею дальше, работая с теми понятиями сети, которые связаны с «колючим». Это понятие схоже с «острым», которое и оказывается отличительной чертой класса I. Таким образом, одна из основных функций сети понятий состоит в том, чтобы позволять модификацию ранних ошибочных идей и переход к вариациям, которые могут оказаться правильными.
Понятие перехода между похожими предметами родственно понятию восприятия одного предмета как вариации другого. Мы уже видели прекрасный пример этого — «круг с тремя выемками», который на самом деле вовсе не круг! Наши понятия должны быть до определенной степени гибкими. Ничто не должно оставаться совершенно неизменным. С другой стороны, они также не должны быть настолько бесформенными, что в них пропадет всякое значение. Все дело в том, чтобы знать, когда одно понятие может перейти в другое.