Выбрать главу

Структура управления "продукциями" А.Ньюэлла и Г.Саймона (1972) образуется последовательным расположением (в некоторой памяти) локальных правил поведения. В системах, подобных языку CONNIVER (А.Макдермотт, Дж.Суссман, 1972), существуют явные структуры управления высших уровней; однако и здесь многое зависит от того, какие утверждения (аналогичные "продукциям") активны в данный момент; такой вид управления полностью явным уже не назовешь. Обе эти системы характеризуются высокой степень" локального процедурального управления. Все, что удается заметить, сопоставляется со своим "образцом-предшественником", который вызывает другой субфрейм, подключает его к процессу поиска и выполняет некоторые предписанные им функции.

Здесь существует еще одна проблема: процессы, являющиеся общими для многих систем, должны быть централизованы. Это способствует и экономии ресурсов, и возможности их усовершенствования, что достигается в процессе отладки. Слишком большая автономия мешает системе быстро и правильно реагировать при появлении новых целей высокого уровня.

Ниже предлагается один из вариантов, с помощью которого, по всей вероятности, можно будет преодолеть подобные затруднения. Фрейм представляется в виде "пакета" данных в процедурах, в таком же виде представляются и цели высокого уровня. Когда вызывается какой-либо фрейм, его пакет добавляется к "среде" текущей программы и определяемые им процессы получают непосредственный доступ к тем данным, которые им нужны, не ухудшая при этом возможности работы с остальными знаниями системы. Теперь следует рассмотреть два вопроса: как в деталях реализуется эта идея и насколько она хороша.

4.2. Фреймы и процесс согласования (по С.Фальману (1974))

Рассмотрим базу данных, в которой множества фактов и демонов объединены в пакеты; любое их число может быть немедленно активировано или к ним в любой момент можно организовать доступ. Пакет может (рекурсивно) содержать любое число других пакетов это означает, что если один пакет активируется, то и все, содержащиеся в нем пакеты, также активируются, это открывает доступ к любым данным, за исключением тех которые были особым образом модифицированы или аннулированы. Таким образом, активация небольшого числа соответствующих пакетов приводит к созданию в системе той среды, которая требуется для проведения вычислений и которая содержит только необходимые для достижения заданной цели данные и процедуры. Конечно, в некоторых случаях может оказаться необходимым дополнить активную группу новыми пакетами для того, чтобы иметь возможность найти выход из какой-то особой ситуации, но неудобство такого рода во много раз меньше, чем бремя постоянного перебора ненужных знаний или бесполезной активации демонов

Фрейм начинает процесс согласования с проверки любых сведений, которыми он уже располагает и которые могли быть получены в процессе его активации или проверки предыдущих гипотез. После этого, если разрабатываемая гипотеза еще не принята, но и не отклонена, фрейм начинает задавать вопросы, чтобы получить больше сведений о текущей ситуации. Характер этих вопросов будет меняться в зависимости от проблемной среды: программа, работающая в области медицины, может потребовать проведения некоторых лабораторных исследований, визуальная программа - дать указание более внимательно изучить некоторую область пространства. Иногда один вопрос может положить начало целому процессу распознавания: "Это может быть коровой - посмотреть, есть ли у нее вымя".

Последовательность, в которой задаются вопросы, определяется дополнительной информацией, хранящейся во фрейме. Эта информация указывает, какие основные черты следует выявлять в рамках данной проверки, каким образом на нее может повлиять уже имеющаяся информация и во что обойдется ответ на каждый вопрос. При выявлении каждой новой черты ее описание добавляется к пакету информации вместе с указанием на то, откуда получена эта информация и насколько она надежна. Этот пакет может быть использован и при переходе к другой гипотезе. Когда встречается незатребованная информация, она проверяется и пускается в дело.

Конечно, на практике невозможно добиться для такой системы идеального согласования. Для каждого возможного вида нарушений в дополнительных данных фрейма содержатся указания на то, следует ли это нарушение рассматривать как тривиальное, серьезное или фатальное (т.е. отклоняющее возможность использования этого фрейма). Такие индивидуальные черты, как размер обуви, пропорции тела или давление крови будут иметь перечни с указанием диапазона своего нормального изменения, а также данные других возможных значений с указанием на возможные последствия. Иногда какая-то черта может не способствовать ни принятию, ни опровержению выдвинутой гипотезы, но сама она может быть объяснена с помощью этой гипотезы; это также должно быть отмечено во фрейме. Если анализируемая ситуация содержит нечто необычное, не предусмотренное текущим фреймом (например, оленьи рога), то система будет рассматривать этот факт как серьезное нарушение, а сами невписывающиеся в обычную схему данные будут оцениваться в соответствии с информацией того пакета, который связан с этими данными, ибо ясно, что фрейм гипотезы не может содержать сведений о том, что делать со всякими не вписывающимися в него деталями.

Изредка какая-либо деталь будет получать для себя сильное подтверждение: если подобный факт удается заметить, то не нужно будет волноваться относительно правильности выбранного пути. Однако подобное случается крайне редко, поэтому обычная процедура состоит в том, чтобы выявленные детали накапливать до тех пор, пока либо не будет достигнут некоторый уровень приемлемости и гипотеза сможет перейти в разряд принятых, либо пока какое-то явное нарушение или совокупность более мелких нарушений не укажут на необходимость поиска другой гипотезы. (В настоящий момент я представляю себе уровень приемлемости в виде простой "копилки": каждая согласованная черта увеличивает счет в этой "копилке", а каждая не согласованная, но тривиальная - его уменьшает. Возможно, что здесь может понадобиться и более сложная схема, но пока я не вижу для этого причин). В зависимости от ситуации уровень приемлемости может колебаться в значительных пределах: лишь один беглый взгляд может убедить меня в том, что стол по-прежнему находится на своем месте, тогда как счет в тысячу долларов заслуживает тщательной проверки, прежде чем его следует оплатить.

Иногда может случиться так, что, за исключением двух-трех серьезных нарушений, вся собранная нами модель довольно хорошо согласуется с реальной ситуацией. В таком случае система должна попытаться объяснить имеющиеся разногласия. Возможно, корова красная потому, что ее кто-то вымазал краской. Возможно, у больного не наблюдается высокое давление, какое обычно бывает при подобных заболеваниях, поскольку он принимает соответствующие лекарства. Если какое-то несоответствие может, в конце концов, получить удовлетворительное объяснение, то данную гипотезу следует принять. Иногда две модели будут настолько близки Друг к другу, что их можно различить только с помощью особого теста или по ряду малозначительных деталей. Наиболее простым выходом из положения будет включение в оба родственных фрейма сведений о подобии, а также инструкций для правильного выбора нужного фрейма. В медицине подобное тестирование именуется дифференциальным диагнозом.

Отметим, что такое использование фреймов придает системе значительную гибкость, особо ценную в путаных и непредвиденных ситуациях. Формально корова может быть представлена как крупное четвероногое, но наша система не встретит особых затруднений, если у коровы не будет одной ноги, хотя во всем остальном эта корова достаточно хорошо вписывается в свой образ. (Заметим, что отсутствие ноги объяснить легко, а вот присутствие лишней - намного труднее.) Если такой системе предъявить нечто, не вписывающееся ни в одно из известных ей понятий, то она может, по крайней мере, указать, к чему близко это нечто, а также его основные отличия от понятия, предложенного в качестве первого приближения. Визуальная система, организованная в соответствии с этими принципами, может легко сориентироваться при встрече с такими высказываниями, как, например, "похожий на человека, только ростом 25 метров и зеленый". При определенных обстоятельствах такие описания могут образовывать ядра новых фреймов распознавания, представляющих собой законные, хотя и не имеющие наименования, концепты.