% база знаний - книги

:- op(100,xfx,['читать','читают','читает','нравится','имеет','это']).
:- dynamic 'имеет'/2, 'нравится'/2, 'читает'/2, 'читают'/2, 'читать'/2.


X 'это' 'триллер':-
X 'имеет' 'драки'.

X 'это' 'триллер':-
X 'имеет' 'воров'.

X 'это' 'мелодрама':-
X 'имеет' 'любовь'.

X 'это' 'мелодрама':-
X 'читает' 'женское население'.

X 'это' 'детектив':-
X 'имеет' 'убийство'.

X 'это' 'детектив':-
X 'читает' 'мужское население'.

X 'это' 'роман':-
X 'имеет' 'романтику'.

X 'это' 'роман':-
X 'читают' 'женщины'.

X 'это' 'фантастика':-
X 'имеет' 'битву в космосе'.

X 'это' 'фантастика':-
X 'имеет' 'чудовищ'.

clause_cf(
X 'это' 'Общак',
(X 'это' 'триллер',
X 'имеет' 'криминал',
X 'нравится' 'мужчинам'),0.8).

clause_cf(
X 'это' 'Алмаз',
(X 'это' 'мелодрама',
X 'читать' 'интересно',
X 'нравится' 'женщинам'),0.8).

clause_cf(
X 'это' 'Эмануэль',
(X 'это' 'роман',
X 'читать' 'интересно',
X 'нравится' 'женщинам'),0.8).

clause_cf(
X 'это' 'Агата Кристи',
(X 'это' 'детектив',
X 'читать' 'интересно',
X 'читают' 'все'),0.9).

clause_cf(
X 'это' 'Нити смерти',
(X 'это' 'фантастика',
X 'имеет' 'много пожаров',
X 'имеет' 'много стрельбы'),0.6).


book(X,Y):-
member(Y,['Общак','Алмаз','Эмануэль','Агата Кристи','Нити смерти']),
X 'это' Y.

askable(_'читать'_).
askable(_'читают'_).
askable(_'читает'_).
askable(_'нравится'_).
askable(_'имеет'_).




system(member(_,_)).

/*explainThis(_'читать'_).
explainThis(_'читают'_).
explainThis(_'читает'_).
explainThis(_'нравится'_).
explainThis(_'имеет'_).
*/
explainThis(_'это'_).
Соседние файлы в папке Экспертная система