Работа со множеством контекстов. Отслеживание истинности предположений, основанное на анализе допущений.
Не всегда можно делать произвольные допущения. Например, нельзя объединить допущения {p,q} и {-p,r}, поскольку такая комбинация будет противоречивой. Более того, хотя само множество допущений может и не быть антагонистическим, определенные комбинации допущений могут привести к противоречию, если принять во внимание и другую имеющуюся в нашем распоряжении информацию.
Предположим, что наша модель неисправного автомобиля содержит информацию о том, что одновременно не может случиться так, чтобы и карбюратор не работал из-за избытка топлива, и в баке отсутствовал бензин. Следовательно, в том варианте среды, в котором сделано допущение "в баке отсутствует бензин", не может присутствовать допущение "избыток топлива в карбюраторе". Такое логическое заключение образует контекст среды – множество высказываний, производных от сделанных допущений, и фактов, имеющихся в исходной модели мира. Например, мы можем оказаться в ситуации, представленной схематически на рис. 19.4. Здесь среда, образованная в результате объединения двух допущений, должна быть исключена из рассмотрения, поскольку ее контекст становится несовместимым (nogood).
Приведенный выше пример может служить наглядной иллюстрацией того очевидного факта, что имеющуюся теорию мира (предметной области) допускается расширять, только принимая во внимание "фоновые" знания об этой предметной области. Другими словами, между отдельными допущениями существуют определенные зависимости, которые мы должны каким-либо образом зафиксировать и не нарушать.
В системах отслеживания истинности предположений, основанных на анализе допущений, такие зависимости называются обоснованиями (justification). Конечно, такая вольная трактовка термина "обоснование" вносит некоторую неоднозначность в изложение материала (ранее мы придавали этому термину несколько другой смысл), но дело в том, что обоснование в тех системах, которые рассматриваются в данном разделе, играет роль, отличную от обоснований в простых системах отслеживания истинности, анализированных Мак-Аллестером и Дойлом. В тех системах обоснования формировались программой в результате распространения принуждений и связывались с узлами сети зависимостей, которые представляли высказывания.
Рис. 19.4. Решетка сред, в которой выделен несовместный контекст
В системах отслеживания истинности предположений, основанных на анализе допущений, обоснования являются частью исходной информации, которой программа располагает в момент запуска на выполнение. Затем система для каждого узла высказывания формирует ярлык (label), который содержит список сред, имеющих отношение к этому высказыванию ("интересующих" это высказывание). Ниже мы увидим, что скрывается за этим "интересом", но сначала рассмотрим пример.
На рис. 19.4 отрицание высказывания "Нет бензина в баке" существует в среде, в которой сделано допущение "Избыток топлива в карбюраторе", причем в модели имеется обоснование, которое гласит примерно следующее:
"Если в карбюраторе имеется избыток топлива, то бензин не может отсутствовать в баке".