В экспертной системе оболочка должна быть независима от базы зна-ний, поэтому механизм вывода и база знаний помещаются в два разных файла. Такие предикаты как system и askable присутствуют в обоих файлах, следовательно необходима специальная директива для интерпретатора Пролога multifile. Если у вам медленный интернет то узнать как его ускорить можно тут: http://perezagruzi.ru/page/kak-uskorit-internet.
% программа 6
:- multifile system/1, askable/1.
% остальной текст программы как в программе 5, за исключением
% того, что убираем правило system(member(_._))
База знаний "Болезни" находится в отдельном файле и дополняется правилом
system(member(_,_)).
bob имеет симптом мышечные боли? why.
<== возможности объяснения исчерпаны
bob имеет симптом мышечные боли? yes.
bob имеет симптом лихорадка? yes.
bob имеет признак моложе 8 лет? no.
bob имеет признак старше 60 лет? no.
Y = 'лечь в постель и принять аспирин' ;
bob имеет симптом насморк? why.
хочу воспользоваться правилом:
Если bob имеет симптом насморк и bob имеет симптом мышечные боли
и not bob имеет симптом лихорадка
то bob имеет грипп
bob имеет симптом насморк? yes.
bob имеет симптом нарывы в горле? why.
хочу воспользоваться правилом:
Если bob имеет симптом лихорадка и bob имеет симптом нарывы в горле
то bob имеет острый фарингит
bob имеет симптом нарывы в горле? yes.
Y = 'вызвать врача' ;
No
Опубликовал vovan666
May 23 2013 07:29:02 ·
0 Комментариев ·
3840 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.