11.ПРЯМОЙ И ОБРАТНЫЙ ВЫВОД
Наиболее распространенными являются два типа: прямой и
обратный. До сих пор как ранее, так в примерах со средой
чудовища использовался прямой вывод. Будем полагать, что
все формулы, входящие в постановку задачи, образуют
некоторую начальную базу знаний.
Идея прямого вывода основа на следующих шагах. На
первом шаге подбирается правило вывода, условие которого
можно образовать из формул начальной базы знаний с
использованием, если это необходимо, унификации. Обычно
начинается всё с формул, которые представляют знания о
начальном состоянии среды. По правилу вывода получаются
новые истинные формулы, которые являются его
унифицированным следствием. Эти формулы помещаются в
начальную базу знаний, в результате чего она превращается в
другую базу знаний, из неё извлекаются новые формулы, и всё
повторяется сначала до тех пор, пока на очередном шаге
унифицированное следствие не совпадёт с целевой функцией.
Таким образом, в процессе прямого вывода на каждом его шаге
база знаний пополняется выведенными истинными формулами.
В обратном выводе всё делается наоборот. На первом шаге
обратного вывода подбирается правило вывода, следствием
которого является целевая формула, а условие может быть
образовано из формул начальной базы знаний, с
использованием, если это необходимо, унификации.
Унифицированные формулы, которые входят в условие,
принимаются за новые целевые формулы (обычно называемые
подцелевыми формулами) и всё повторяется сначала, но уже
для каждой из них. И так до тех пор, пока все
унифицированные подцелевые формулы не окажутся аксиомами,
входящими в начальную базу знаний. При выводе на основе
использования обобщенного правила модус поненс, унификации
и хорновских формул используется только один тип правила,
поэтому нет необходимости осуществлять выбор подходящего
правила вывода. Это типизирует процедуру прямого и
обратного вывода, превращая их в итеративную процедуру
выполнения однотипных шагов. Рассмотрим прямой и обратный
вывод на простых примерах из среды кубиков.
Постановка задачи в среде кубиков. Представим формулы,
которые определяют начальные знания агента. Имеем среду,
которая из стола и кубиков на нём. Каждый из кубиков может
лежать либо непосредственно на столе, либо на одном из
других кубиков, образуя с кубиками, лежащими под ним,
столбик. Столбики могут быть любой высоты. Пусть начальное