Описание слайда:
Применение ключевых операторов Пусть (S, F, G) – описание исходной задачи в пространстве состояний, g1, …, gn – последовательность промежуточных состояний, которые удалось выделить. Необходимо свести задачу (S, F, G) к множеству подзадач (S, F, {g1}), ({g1}, F, {g2}), …, ({gn}, F, G). (1) Различают 2 случая: Состояние gi (i = 1n) определяется явно => подзадачи решаются в произвольном порядке. gi (i = 1n) определяется неявно, например, множество Gi (i = 1n) элемент может служить в качестве основного промежуточного состояния gi. Тогда задача (S, F, Gi) должна быть решена раньше чем ({gi}, F, Gi+1). Решая задачу в пространстве состояний, требуется определить решающую цепочку операторов. Нахождение всей цепочки – сложная задача, но всегда можно выделить необходимый шаг решения. Для определения основного промежуточного состояния можно пользоваться так называемыми «ключевыми операторами» (КО). Обозначим f F КО для задачи (S, F, G). Пусть Gf - множество состояний, к которым применим f. Тогда первой следующей за (S, F, G) задачей будет (S, F, Gf). Решая ее определяют основное состояние g Gf, и тогда можно сформулировать элементарную задачу: ({g}, F, {f(g)}), где f(g) = состояние, достигаемое применением f к g. (*) Т.о. осталось решить задачу ({f(g)}, F, G). Графическое представление сведения задачи к подзадачам с использованием КО (без указания элементарной задачи (*) ): (S, F, G) /\ /--\ / f \ (S, F, Gf) ({f(g)}, F, G) На следующем шаге находят КО задачи (S,F,Gf) и т.д. В результате – последовательность промежуточных состояний g1,…,gn.