Представьте такую абстракцию:
На нижнем уровне (представим его плоскостью, основанием «пирамиды») есть множество реально наблюдаемых в настоящий момент времени фактов, на уровне выше - есть множество выводов, которые делаются непосредственно на основании тех или иных сочетаний низкоуровневых фактов. Выше идут выводы, которые делаются на основе только выводов 2-го уровня или на основе выводов второго уровня и фактов, как угодно. В любом случае чем выше уровень среза выводов над уровнем простейших фактов - тем сложнее эти выводы.
Задача заключается в том, чтобы рекурсивно подняться от простейших фактов по дереву, каждый раз обрывая вычисления на некоем конечном выводе, т.е. на выводе, на основании которого не строятся никакие другие выводы и соотв, в котором отсутствуют связи.
На самом деле и простейшие факты тоже могут быть такими «конечными выводами», почему же нет.
Собственно, вопрос не в том, как должен бы работать алгоритм, а в том, как проектировать дерево описанного типа. Для этого нужно понимать, а что это такое :) Как в IT или логике или ещё чём называется дерево, которое следует обходить не начиная с одного-единственного факта сверху вниз, а наоборот - по которому следует подниматься от листьев к «вершинам», т.е. от более простых логических агрегатов (включая элементарные) к более сложным логическим агрегатам, при этом имея на каждом этапе подъёма всё более глобальную и при этом менее точную картину?
По сути это дерево позволяет смотреть на проблему на разных уровнях: начиная от элементарного уровня (у вас загрузка CPU превышает 89%) и заканчивая глобальным уровнем: «Следует провести радикальное обновление парка серверов в ЦОДе таком-то».
Возможно, кроме меня такие штуки никому не нужны и все подстраиваются под логику Decision trees - тогда звиняйте. Но мало ли...