Продукционные правила предполагают на каждом шаге вывода просмотр всех правил (в порядке их следования) и пополнение фактов за счет выполнения активизированных правил. Такая стратегия вывода называется прямой. В этом случае имеет место рассуждение: если факты, составляющие антецедент продукции уже находятся в рабочей памяти (т.е. установлены), то и утверждения, составляющие консеквент, также заносятся в рабочую память, т.е. считаются установленными фактами.
Возможна и другая стратегия. В ней зависимость «если - то» используется в другом смысле. Пусть нам нужно вывести утверждение из консеквента некоторой продукции. Тогда проверяем, доказаны ли утверждения из антецедента этой продукции. Если доказаны, то вывод найден. В противном случае потребуется применить то же рассуждение для недоказанных утверждений из антецедента и т.д., пока все утверждения из А не будут доказаны, доказывая тем самым утверждения из В. Таким образом, активизируются те продукции, консеквенты которых содержат утверждения, подлежащие выводу. Эта стратегия поиска логического вывода называется обратной.
Как прямая, так и обратная стратегии, в свою очередь, делятся на параллельную и последовательную. Они отличаются друг от друга методами перебора. При параллельной стратегии все возможные варианты вывода рассматриваются параллельно. Этот способ не требует возвратов, реализации «бектрекинга». Напротив, последовательная стратегия предусматривает последовательный перебор вариантов с использованием бектрекинга. Эта стратегия, по сути, эквивалентна обходу дерева. Приведем пример, иллюстрирующий два варианта стратегий: прямой параллельный и обратный последовательный.
Пример 6.
Пусть в нашей БЗ используются утверждения