KB - это набор предложений в форме a ⇒ b1 ∨ · · · ∨ bn, где b может быть положительным или отрицательным, а отрицание принимается за неудачу.
выборка из KB будетбыть:
p ⇐ q, ∼r
p ⇐ s
q ⇐ ∼s
r ⇐ ∼t
t
s ⇐ w
Цепочка пересылки (процедура «снизу вверх»), которую я имею:
C := {};
repeat
either
choose r ∈ KB such that r is ‘a ⇐ a1, . . . , am’ and
ai ∈ C for all i, and a not∈ C;
C := C ∪ {a}
or
choose a such that for every rule a ⇐ a1, . . . , am
either for some ai we have ∼ai ∈ C
or some ai =∼g and g ∈ C
C := C ∪ { ∼a}
until no more choices
Мои вопросы:
1) помечает ли эта процедура Trueили Ложь на каждый атом в КБ? А как насчет атомов, не появляющихся в голове (например, w в образце КБ)
2), если нет, как я могу убедиться, что процедура присваивает значение каждому значению?
3) чтоесли KB включает в себя «цикл», такой как q ⇐ ∼s и s ⇐ ∼q?