Лекция 11

Механизм вывода.

Структура: условие – заключение.

Продукционная модель: if P then C

P ::= S|(P)|not P|S or P|S and P

S ::= Предложение типа 1

Общая структура базы знаний:

R1

if P1 then C1

R2

if P2 then C2

Rn

if Pn then Cn

Чтобы отследить цепочку рассуждений, используется специальная матрица BB , которая имеет размерность n x n , где n – число правил в базе знаний. 1 в матрице означает, что правила взаимосвязаны, а 0 – в любом другом случае.

Нам необходимы две структуры: структура логических условий (правил) LR и структура логических заключений LC .

Механизм прямого вывода заключается в следующем: мы идем по правилам и создаем множество всех целей новые правила.

Алгоритм :

Done := false ;

While not Done do

Begin

Done := True ;

I := 1;

For I := 1 to N do

Begin

Get_premise (st, i); // условие правила i

Compile_conc (st);

Compare (st, BB, Match);

If Match > 0.5 then

Begin

Get_conclusion (conc, i);

Compile_conclusion (conc);

Add_to_LC (i);

Done := False ;

End ;

End ;

End ;

 

Для ключевого слова 3 в компилируемых данных

 

 

Для ключевого слова в компилируемом условии

Процесс сходства ( matching ) делится на два этапа:

•  Найти сходные слова.

•  Если они найдены, продолжить компиляцию.

Рассмотрим отрезок [0;1].

1.  Если LB1 = UB1 и LB2 = UB2, тогда M = 1, иначе М = 0.

2.  Если LB1 ≠ UB1 и LB2 = UB2, тогда

2.1  Если условие не находится в области утверждения, то М = 0.

2.2 Характеристическая функция:

Тогда

3.  Если LB1 = UB1 и LB2 ≠ UB2, тогда

3.1  если данные утверждения включены в отрезок условия, то М = 1, иначе М = 0

4.  Если LB1 ≠ UB1 и LB2 ≠ UB2, тогда

4.1  Если отрезки не пересекаются, то М = 0

4.2  Если отрезок условий содержит отрезок данных, т.е. LB1 ≥ LB2 и UB2 ≥ UB1, то М = 1

4.3  Если отрезки пересекаются и отрезок данных выше, чем отрезок условий, т.е. UB1≥ UB2 и LB1 ≥ LB2, то М =

Как указывалось ранее, условие может включать ключевые слова НЕ, И, ИЛИ, т.е. условие состоит из нескольких частей, и вывод нужно делать отдельно. В этом случае результаты можно представить в виде следующих формул:

M (A) OR M (B) = MAX (M (A), M (B))

M (A) AND M (B) = MIN (M (A), M (B))

NOT ( M ( A )) = 1 – M ( A )

При выводе заключения коэффициент уверенности заменяется коэффициентом сходства М.