3.2. Сопоставление образцов
3.2. Сопоставление образцов
При замене одного фрейма другим не имеет смысла начинать весь процесс согласования заново. Но каким образом можно сохранить то, что было уже ранее установлено? Будем рассматривать лишь тот случай, когда при отсутствии специальных знаний система обращается за помощью к некоторой «общей» стратегии. Ни на один из универсальных методов мы не можем в данном случае возлагать очень больших надежд, но если удастся подыскать такой фрейм, который использует достаточное число общих со старым фреймом терминалов, то некоторые из общих заданий можно будет сохранить и это, видимо, будет лучшим выходом из положения.
Данная проблема может быть сформулирована следующим образом: допустим, что Е есть штраф за потерю одного полностью согласованного терминала, а F — потери от того, что какой-то другой терминал не может конкретизировать свои задания. Тогда, если Е больше F, то любой новый фрейм должен сохранять старый субфрейм. При наличии какой-либо приоритетности среди терминалов типичный запрос на вызов нового фрейма должен включать:
1. Поиск фрейма с возможно большим числом терминалов, общих с конкретизированными терминалами (a, b,… z) старого фрейма и расположенных в порядке убывания их приоритетности.
Следует помнить, что заменяемый фрейм является обычно субфреймом некоторого более крупного фрейма и поэтому должен удовлетворять маркерам того терминала, к которому он подключен. Это предопределяет наличие другой формы обращения к памяти, направленной в ее иерархии скорее вверх, нежели вниз.
2. Поиск или создание нового фрейма, обладающего свойствами (a, b,…, z).
В том случае, когда мы в большей степени подчеркиваем различия, а не их общие характеристики, можно объединить оба правила в одно:
3. Поиск нового фрейма, во всем подобного старому фрейму, за исключением различий (a, b, …, z) между ними.
Реализация правил 1 и 2 может быть выполнена с помощью процесса поиска в памяти с параллельной выборкой или хаш-кодированием (метод функции расстановки), если терминалы или свойства (a, b , ..., z) — простые атомарные понятия. (В любом случае должен существовать какой-то механизм для поддержания работы генерирующих программ или для одного из видов сопоставления образцов). К сожалению, для осуществления всего этого имеется так много различных способов, что нельзя указать на какие-нибудь характерные для данных целей требования к конструктивным особенностям этих механизмов.
Хотя правила 1 и 2 формально являются частными случаями правила 3, на практике они различны, поскольку для работы со сложным правилом 3 требуются знания о том, каковы же эти различия (a, b, ..., z). Действительно, последнее правило слишком сложно, чтобы его можно было использовать по той схеме, как это предполагалось выше: я приведу доводы в пользу того, что следует в большей степени полагаться на особые, выявленные в процессе обучения различия между парами фреймов, чем на общие принципы.
Нужно еще раз подчеркнуть, что оснований считать реальной возможность быстрого достижения успеха практически нет. Для решения новых и трудных задач необходимо построить новую структуру представления, а это потребует применения как общих, так и специальных знаний. Работа П.Фримэна и А.Ньюэлла(1971), в которой рассматривается проблема конструирования структур, дополняет данную работу в одном важном направлении. В ней рассматривается вопрос о том, каким образом следует создавать структуры, удовлетворяющие наборам функциональных требований, т. е. условиям, связанным с достижением целей, в дополнение к тем требованиям, которые определяются необходимостью использования определенных субфреймов и символов.