Анализ снизу вверх и сверху вниз

Рассмотрим сперва пример прямого цепного анализа. Допустим, система получила начальную информацию о том, что завтра рано утром у меня нет встреч. Активируются правила 1 и 2. Допустим, что далее система получила сообщение о том, что мне нужно поработать. Активируется правило 3, а правило 2 вызывается и выполняется, откуда следует вывод, что я нахожусь в режиме «Работа допоздна», в результате чего вызываются и выполняются правила 5 и 6. В итоге система заключает, что я должна вернуться в офис и не спать допоздна.

Теперь рассмотрим эту же проблему с применением обратного цепного анализа. Допустим, что система получила исходную информацию о том, что у меня нет завтра утром встреч, но мне нужно еще поработать, а затем ее (систему) спросили, следует ли мне вернуться в офис. Данный запрос активирует правила 6 и 7. В свою очередь возникнет вопрос «Работа допоздна» или «Работа в офисе»? При этом активируются правила 2 и 3, и возникает вопрос «Рано утром встреч нет», «Нужно поработать» или «Нужны документы»? Первые два антецедента будут удовлетворены, таким образом правило 2 будет вызвано и выполнено, что повлечет за собой удовлетворение антецедента «Работа допоздна», вызов и выполнение правила 6, в результате чего система придет к заключению, что мне следует вернуться в офис.

Обратите внимание на то, что при прямом разборе порождается больше следствий, а при обратном — запросов. Т. к. в обоих примерах использовались одни и те же данные, то в ходе анализа выполнялись одни и те же правила, но активировались различные.