Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Результаты работы приложения ⇐ ПредыдущаяСтр 3 из 3
После запуска приложения программа представляется пользователю и предлагает пройти медицинскую консультацию (рис.2). Рис. 2. Начало работы системы «Медицинская консультация» Далее пользователь отвечает на вопросы системы, и если набор ответов, данных в течение опроса, совпадает с набором критериев одного из заболеваний, то система выводит его название (рис. 3). Рис. 3. Вывод заболевания «Менингит» Если же набора симптомов не существует в системе, то она выдаст ответ «Извините, в моей базе по названным симптомам заболевание не найдено» (рис. 4). Рис. 4. Вывод информации о том, что заболевание не найдено 4.5. Системные требования Для работы приложения необходимы: · операционная система MS Windows XP/Vista/Seven. · 1 Мб оперативной памяти. · Среда разработки CLIPS/COOL 6.3. Руководство пользователя Для запуска настольного приложения необходимо установить и запустить файл CLIPSWin.exe. После запуска программы выбрать команду «Load» в меню «File» и выбрать файл MED.clp. После этого в командной строке программы ввести команду (reset) и (run). И можно приступать к медицинской диагностике.
Заключение В качестве курсового проекта было разработано приложение: простейшая экспертная система, способная находить решение задачи пользователя, задавая пользователю вопросы. Различные технологии выполняют различные задачи и поэтому обладают различной производительностью. Список литературы 1. A. П. Частиков “Разработка экспертных систем. Среда Clips” Санкт – Петербург 2003г. 2. ГОСТ 19.106 - 78 ЕСПД. Требования к программным документам, выполненным печатным способом. 3. ГОСТ 19.404 – 79 ЕСПД. Пояснительная записка. Требования к содержанию и оформлению.
ПРИЛОЖЕНИЕ Файл MED.clp (deffunction ask-question (?question $?allowed-values) (printout t?question) (bind?answer (read)) (if (lexemep?answer) then (bind?answer (lowcase?answer))) (while (not (member?answer?allowed-values)) do (printout t?question) (bind?answer (read)) (if (lexemep?answer) then (bind?answer (lowcase?answer)))) ?answer)
(deffunction yes-or-no-p (?question) (bind?response (ask-question?question yes no y n)) (if (or (eq?response yes) (eq?response y)) then TRUE else FALSE)) ;*********************************************************************** (defrule determine-vi-horosho "" (not(norm?)) (not (repair?)) => (if (yes-or-no-p "Вы чувствуете недомогание (y/n)? ") then (assert (norm normal)) else (assert (repair "У Вас нет причин к беспокойству. Вы здоровы"))))
;*********************************************************************** (defrule determine-vi-golova "" (norm normal) (not (gol?)) (not (repair?)) => (if (yes-or-no-p "Болит ли у Вас голова (y/n)? ") then (assert (gol yes)) else (assert (gol no)))) ;*********************************************************************** (defrule determine-vi-temteratura "" (norm normal) (gol yes) (not (temp?)) (not (repair?)) => (if (yes-or-no-p "У Вас есть температура (y/n)? ") then (assert (temp yes)) else (assert (temp no)))) ;*********************************************************************** (defrule determine-vi-oznob "" (norm normal) (gol yes) (temp yes) (not (ozn?)) (not (repair?)) => (if (yes-or-no-p "Ощущаете ли Вы озноб (y/n)? ") then (assert (ozn yes)) else (assert (ozn no))))
;*********************************************************************** (defrule determine-vi-mishci "" (norm normal) (gol yes) (temp yes) (ozn yes) (not (mish?)) (not (repair?)) => (if (yes-or-no-p "Есть ли у Вас боль в мышцах (y/n)? ") then (assert (repair "Грипп")) else (assert (mish no)))) ;*********************************************************************** (defrule determine-vi-kashel' "" (norm normal) (gol no) (not (kash?)) (not (repair?)) => (if (yes-or-no-p "У Вас есть кашель (y/n)? ") then (assert (kash yes)) else (assert (kash no)))) ;*********************************************************************** (defrule determine-vi-gorlo "" (norm normal) (gol no) (kash yes)
(not (gor?)) (not (repair?)) => (if (yes-or-no-p "Ощущаете ли Вы боль или комок в горле (y/n)? ") then (assert (gor yes)) else (assert (gor no)))) ;*********************************************************************** (defrule determine-vi-faringit "" (norm normal) (gol no) (kash yes) (temp no) (gor yes) (not (far?)) (not (repair?)) => (if (yes-or-no-p "Есть ли ощущение сухости или першения в горле (y/n)? ") then (assert (repair "Фарингит")) else (assert (far no)))) ;*********************************************************************** (defrule determine-vi-bronhit "" (norm normal) (gol no) (kash yes) (gor no) (not (mok?)) (not (repair?)) => (if (yes-or-no-p "При кашле у Вас отходит мокрота (y/n)? ") then (assert (repair "Бронхит")) else (assert (mok no)))) ;*********************************************************************** (defrule determine-vi-prostuda "" (norm normal) (gol no) (kash yes) (gor yes) (far no) (not (nasm?)) (not (repair?)) => (if (yes-or-no-p "У Вас есть насморк (y/n)? ") then (assert (repair "Простуда")) else (assert (nasm no)))) ;*********************************************************************** (defrule determine-vi-glotanie "" (norm normal) (gol yes) (temp yes) (ozn yes) (mish no) (not (glot?)) (not (repair?)) => (if (yes-or-no-p "Есть ли у Вас боли в горле при глотании (y/n)? ") then (assert (glot yes)) else (assert (glot no)))) ;*********************************************************************** (defrule determine-vi-angina "" (norm normal)
(gol yes) (temp yes) (ozn yes) (mish no) (glot yes) (not (lim?)) (not (repair?)) => (if (yes-or-no-p "Увеличены ли Ваши лимфатические узлы (y/n)? ") then (assert (repair "Ангина")) else (assert (lim no))))
;*********************************************************************** (defrule determine-vi-onemenie "" (norm normal) (gol yes) (temp yes) (ozn no) (not (onem?)) (not (repair?)) => (if (yes-or-no-p "Есть ли ощущение онемения шеи (y/n)? ") then (assert (onem yes)) else (assert (onem no))))
;*********************************************************************** (defrule determine-vi-meningit "" (norm normal) (gol yes) (temp yes) (ozn no) (onem yes) (not (men?)) (not (repair?)) => (if (yes-or-no-p "Наблюдается ли повышенная чувствительность к свету и звукам (y/n)? ") then (assert (repair "Менингит")) else (assert (men no))))
;*********************************************************************** (defrule determine-vi-encefalit "" (norm normal) (gol yes) (temp yes) (ozn no) (onem no) (not (enc?)) (not (repair?)) => (if (yes-or-no-p "У Вас есть рвота, не приносящая облегчения (y/n)? ") then (assert (repair "Энцефалит")) else (assert (enc no))))
;*********************************************************************** (defrule not-glotan "" (norm normal) (gol yes) (temp yes) (ozn yes) (mish no) (glot no) => (assert (repair "Извините, в моей базе знаний по названным симптомам заболевание не найдено")))
;*********************************************************************** (defrule not-linph "" (norm normal) (gol yes) (temp yes) (ozn yes) (mish no) (glot yes) (lim no) => (assert (repair "Извините, в моей базе знаний по названным симптомам заболевание не найдено")))
;*********************************************************************** (defrule not-encif "" (norm normal) (gol yes) (temp yes) (ozn no) (enc no) => (assert (repair "Извините, в моей базе знаний по названным симптомам заболевание не найдено")))
;*********************************************************************** (defrule not-menin "" (norm normal) (gol yes) (temp yes) (ozn no) (onem yes) (men no) => (assert (repair "Извините, в моей базе знаний по названным симптомам заболевание не найдено")))
;*********************************************************************** (defrule not-temper "" (norm normal) (gol yes) (temp no) => (assert (repair "Извините, в моей базе знаний по названным симптомам заболевание не найдено")))
;*********************************************************************** (defrule not-nasmor "" (norm normal) (gol no) (kash yes) (gor yes) (far no) (nasm no) => (assert (repair "Извините, в моей базе знаний по названным симптомам заболевание не найдено")))
;*********************************************************************** (defrule not-mokrot "" (norm normal) (gol no) (kash yes) (gor no) (mok no) => (assert (repair "Извините, в моей базе знаний по названным симптомам заболевание не найдено")))
;*********************************************************************** (defrule not-nayde "" (norm normal) (gol no) (kash no) => (assert (repair "Извините, в моей базе знаний по названным симптомам заболевание не найдено"))) ;*********************************************************************** (defrule system-banner "" (declare (salience 10)) => (printout t crlf crlf) (printout t "*******************************************************************") (printout t crlf crlf) (printout t "* Экспертная система медицинской консультации") (printout t crlf crlf) (printout t "Выполнил студент группы 220291 Гусева Светлана Львовна") (printout t crlf crlf) (printout t "*******************************************************************") (printout t crlf crlf))
(defrule print-repair "" (declare (salience 10)) (repair?item) => (printout t crlf crlf) (printout t "Скорее всего у Вас:") (printout t crlf crlf) (format t " %s%n%n%n"?item))
|
||||||
Последнее изменение этой страницы: 2017-01-24; просмотров: 101; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.140.242.165 (0.027 с.) |