Фреймы для представления знаний | страница 64



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

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

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

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

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