Главная arrow книги arrow Копия Глава 10. Представление знаний arrow Решение проблемы выводимого окружения
Решение проблемы выводимого окружения

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

1.    Проиндексировать предикаты PosEffect и NegEffect по их первому параметру таким образом, чтобы после получения информации о действии, которое произошло в момент времени t, можно было бы найти его результаты за время 0(1).

2.    Проиндексировать аксиомы таким образом, чтобы после определения того, что Fi представляет собой результат какого-то действия, мы могли найти аксиому для Fi за время 0(1). В таком случае не придется даже рассматривать аксиомы, касающиеся тех флюентных высказываний, которые не являются результатом данного действия.

3.    Представить каждую ситуацию как предыдущую ситуацию плюс некоторая дельта. Таким образом, если ничего не изменяется от одного шага к другому, то не нужно вообще выполнять никакой работы. При использовании старого подхода требовалось выполнять объем работы 0(F), вырабатывая утверждение для каждого флюентного высказывания Fi (Result (a, s) ) из предыдущих Fi(s) утверждений.

Поэтому в каждом временном шаге мы рассматриваем текущее действие, собираем данные о его результатах и обновляем множество истинных флюентных высказываний. Среднее количество таких обновлений в каждом временном шаге соответствует Е, поэтому общая сложность измеряется величиной O(Et). В этом и состоит решение проблемы выводимого окружения.