6.2.1. Разделение
видов узлов и когнитивная экономия
Два аспекта
модели памяти, предложенной Квиллианом, оказали особенно существенное влияние
на последующее развитие исследований в области применения систем семантических
сетей.
Во-первых,
он ввел разделение между видами узлов, представляющих концепты. Один вид узлов
он назвал узлами-типами. Такой узел представляет концепт, связанный с
конфигурацией других узлов, узлов-лексем. Конфигурация узлов-лексем
образует определение концепта узла-типа. Это в определенной степени
напоминает толковый словарь, в котором каждое понятие (элемент словаря) определяется
другими понятиями, также присутствующими в этом словаре, причем их смысл толкуется
с помощью еще каких-либо понятий в этом словаре. Таким образом, смысл узла-лексемы
определяется ссылкой на соответствующие узлы-типы.
Например,
можно определить смысл слова "машина" как конструкцию из связанных
компонентов, которые передают усилие для выполнения некоторой работы. Это потребует
присоединения узла-типа для слова "машина" к узлам-лексемам, представляющим
слова "конструкция", "компонент" и т.д. Однако в дополнение
к связям, сформированным для определения смысла, могут существовать и связи
к другим узлам-лексемам, например "телетайп" или "офис".
Эти связи представляют знание о том, что телетайпы являются одним из видов машин,
которые используется в офисе.
Другое интересное
свойство модели памяти получило наименование когнитивной экономии. Суть
его поясним на примере. Если известно, что машина — это конструкция, состоящая
из взаимодействующих деталей, а телетайп — это тоже машина, то можно сделать
вывод, что телетайп — это тоже конструкция. Таким образом, нет смысла в явном
виде хранить эту информацию, присоединяя ее к узлу "телетайп". Указывая,
что этот узел сохраняет определенные свойства, заданные связями узла "машина",
мы можем сэкономить память и сохранить при этом возможность извлечь всю необходимую
информацию, если только будем способны построить правильную схему влияния одних
узлов на другие.
Эта схема,
которую в настоящее время принято называть схемой наследования свойств, получила
широкое распространение в представлении знаний. Наследование свойств является
типичным примером сохранения объема памяти за счет снижения производительности,
которое должен учитывать разработчик схемы представления знаний. Мы увидим в
дальнейшем, что такой подход влечет за собой появление множества нетривиальных
проблем, в частности, если допустить возможность исключений в наследовании,
т.е. существование таких узлов-лексем, которые не наследуют все свойства своего
узла-типа. Кроме того, хотя смысл понятий полностью определен в пределах сети,
но для каждого отдельного понятия он "размазывается", т.е. отдельные
части определения связываются с разными узлами. В нашем примере определение
понятия "телетайп" только частично хранится в соответствующем узле,
а остальная часть определения находится в узле "машина".
Таким образом, помимо антагонизма "объем памяти/производительность", появляется еще и антагонизм между модульностью определения и разумностью этого определения с точки зрения пользователя. Тем не менее, если эта идея будет корректно реализована, программа всегда будет знать, как отыскать отдельные части определения некоторой сущности и собрать их воедино. Главное же преимущество состоит в том, что в узле можно хранить произвольное количество семантической информации, например данные о диапазонах значений свойств, которыми могут обладать узлы-лексемы определенного типа. В чистом виде такая организация памяти не практикуется при использовании формализмов вроде продукционных систем, поскольку придется выполнять трудоемкий анализ целостности информации в рабочей памяти либо с привлечением специальных правил, описывающих такую целостность, либо с помощью самих правил поиска решений. В любом случае это потребует значительных вычислительных ресурсов.