Разработка интеллектуальной системы

Автор работы: Пользователь скрыл имя, 27 Мая 2013 в 20:05, курсовая работа

Краткое описание

Логическое программирование – технология программирования, возникшая на основе логического доказательства теорем. Типичным представителем концепции логического программирования является язык Пролог. Первоначально разработки в области логического программирования велись для использования в компьютерах пятого поколения. В настоящее время Пролог применяется главным образом в приложениях типа экспертных систем и интеллектуальных баз данных. Механизм языка основан на получении логического вывода из программы, а сама программа представляет собой не алгоритм, а описание задачи в терминах Пролога.

Содержание

ВВЕДЕНИЕ 5
1 ПОСТАНОВКА ЗАДАЧИ 6
2 ОПИСАНИЕ ПРЕДИКАТОВ ПОЛЬЗОВАТЕЛЯ 8
3 ТЕКСТ ПРОГРАММЫ 9
4 СОДЕРЖИМОЕ ВНЕШНИХ ФАЙЛОВ И БАЗ ДАННЫХ, ИСПОЛЬЗУЕМЫХ ПРИ РАБОТЕ ПРОГРАММЫ 10
5 КОНТРОЛЬНЫЙ ПРИМЕР: ПЕРЕЧЕНЬ ШАГОВ ПРИ ПРОХОЖДЕНИИ СХЕМЫ И СООТВЕТСТВУЮЩИЙ ИМ ДИАГНОЗ 11
ЗАКЛЮЧЕНИЕ 13
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 14

Прикрепленные файлы: 1 файл

Курсовой_ФЛП_Linett.docx

— 200.95 Кб (Скачать документ)


Федеральное агентство по образованию  РФ


Государственное образовательное учреждение высшего  профессионального образования

СИБИРСКИЙ ГОСУДАРСТВЕННЫЙ  ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТ

Факультет автоматизации  и информационных технологий

Кафедра информационных технологий

 

 

 

 

 

 

 

 

 

Разработка  интеллектуальной системы

 

Пояснительная записка

 

(ИТ.230105.11.ПЗ)

 

 

 

Руководитель:

Товбис Е.М.

_____________________________

   (подпись)

_____________«___»______2013г.

          (оценка, дата)

Разработала:

Студентка группы : 22-06

Рукосуев И.П.

______________________________

(подпись)

«_____» ________________2013г.

(дата)

 

 

 

 

 

 

 

Красноярск, 2011 
Федеральное агентство по образованию Российской Федерации

ГОУ ВПО "Сибирский  государственный технологический  университет"

Кафедра информационных технологий

 

 

ЗАДАНИЕ

НА КУРСОВУЮ РАБОТУ ПО ЛОГИЧЕСКОМУ ПРОГРАММИРОВАНИЮ

 

Студент Рукосуев И.П.

Факультет  ФАИТ  гр 22-04

Тема курсовой: ___Разработка интеллектуальной системы

 

 

 

Календарный план выполнения работы:

 

01.05.11 — 07.05.11

Ознакомление с заданием, сбор материала  по теме

09.05.11 — 14.05.11

Разработка модели решения задачи на естественном языке

16.05.11 — 18.05.11

Написание программы

19.05.11 — 21.05.11

Оформление пояснительной записки


 

 

 

 

 

Задание выдано __________________

 

Руководитель____________________

 

СОДЕРЖАНИЕ

 

РЕФЕРАТ 4

ВВЕДЕНИЕ 5

1  ПОСТАНОВКА ЗАДАЧИ 6

2 ОПИСАНИЕ ПРЕДИКАТОВ ПОЛЬЗОВАТЕЛЯ 8

3 ТЕКСТ ПРОГРАММЫ 9

4 СОДЕРЖИМОЕ ВНЕШНИХ ФАЙЛОВ И БАЗ ДАННЫХ, ИСПОЛЬЗУЕМЫХ ПРИ РАБОТЕ ПРОГРАММЫ 10

5 КОНТРОЛЬНЫЙ ПРИМЕР: ПЕРЕЧЕНЬ ШАГОВ ПРИ ПРОХОЖДЕНИИ СХЕМЫ И СООТВЕТСТВУЮЩИЙ ИМ ДИАГНОЗ 11

ЗАКЛЮЧЕНИЕ 13

БИБЛИОГРАФИЧЕСКИЙ СПИСОК 14

 

 

 

 

РЕФЕРАТ

 

Целью данного  курсового проекта является разработка интеллектуальной системы, способной  по набору симптомов установить диагноз. На основе исходных данных разрабатываем  программный продукт, содержащий группы симптомов «Плохое самочувствие ребенка», «Пятна и высыпания у  ребенка», «Сыпь с температурой у  ребенка», «Кожные нарушения у  подростка».

Курсовой проект содержит пояснительную  записку из  страниц текста, рисунков, 4 литературных источника.

 

 

ВВЕДЕНИЕ

 

Логическое программирование – технология программирования, возникшая  на основе логического доказательства теорем. Типичным представителем концепции логического программирования является язык Пролог. Первоначально разработки в области логического программирования велись для использования в компьютерах пятого поколения. В настоящее время Пролог применяется главным образом в приложениях типа экспертных систем и интеллектуальных баз данных. Механизм языка основан на получении логического вывода из программы, а сама программа представляет собой не алгоритм, а описание задачи в терминах Пролога.

В настоящее  время Prolog, несмотря на неоднократные пессимистические прогнозы, продолжает развиваться в разных странах и вбирать в себя новые технологии и концепции, а также парадигмы императивного программирования.

Экспертная  система – компьютерная программа, способная частично заменить специалиста-эксперта в решении проблемной ситуации. Решение задачи может быть неизвестно заранее, программа оперирует базами знаний и правилами вывода. В рамках курсового проекта необходимо построить интеллектуальную экспертную систему, имитирующую человеческие рассуждения.

 

1  ПОСТАНОВКА ЗАДАЧИ

 

Цель  курсовой работы – построить интеллектуальную систему определения диагноза по симптомам.  Было получено задание:



 

Рисунок 1 –  вариант задания

Диагностические схемы шума в ушах:

 

Рисунок 2 – Группа симптомов  при боле в ухе

 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рисунок 3 –  Группа симптомов при глухоте

 

Условия, изображенные квадратными закрашенными прямоугольниками, имеют 2 выхода: метка  «да» - условие выполняется и метка  «нет» - условие не выполняется. Переходя по стрелкам, необходимо прийти к решению ситуации – поставить диагноз и выдать рекомендации, либо сообщить о невозможности постановки диагноза по данным симптомам.


Рисунок 4 – Условия с двумя вариантами выхода

 

Блоки решений  обозначены белыми скругленными прямоугольниками с формулировкой диагноза и рекомендациями внутри.


Рисунок 5 – Блок решения

2 ОПИСАНИЕ ПРЕДИКАТОВ ПОЛЬЗОВАТЕЛЯ

Были  описаны следующие типы:

s=string

i=integer

 

Предикат  pusk проверяет существование файла с базой и загружает его.

Предикат na4alo создает новое окно и выводит меню, в котором предлагает пользователю начать тестирование или выйти.

Предикат  pgup(Char) – переход по пунктам меню.

Предикат  pgup(Сhar,Integer,Integer)- переход по пунктам меню и выбор варианта ответа.

Предикат  pres обрабатывает нажатие клавиш.

Предикат  pres1 (Integer, Integer) обрабатывает нажатие клавиш.

Предикат  proverka(Integer) осуществляет очистку окна и выводит вопрос с вариантами ответов.

Предикат  atr(Integer, Integer)- устанавливает значение текущего цветового атрибута для всего рабочего окна.

 

 

3 ТЕКСТ ПРОГРАММЫ

DOMAINS

s=string

i=integer

DATABASE

vopros(i,s,i,i)

 

PREDICATES

pusk

na4alo

atr(i,i)

pgup(char)

pgup2(char,i,i)

pres

pres2(i,i)

proverka(i)

CLAUSES

atr(S,C):-scr_attr(S,0,C),scr_attr(S,1,C),scr_attr(S,2,C),

        scr_attr(S,3,C),scr_attr(S,4,C),scr_attr(S,5,C),

        scr_attr(S,6,C),scr_attr(S,7,C),scr_attr(S,8,C).

pres:-readchar(C),pgup(C).

pgup(C):-char_int(C,I),I=27,!.

pgup(C):-char_int(C,I),I=72,cursor(X,Y),X=2,pres.

pgup(C):-char_int(C,I),I=72,cursor(X,Y),atr(X,7),X1=X-1, cursor(X1,Y), atr(X1,5),pres.       

pgup(C):-char_int(C,I),I=80,cursor(X,Y),X=3,pres.

pgup(C):-char_int(C,I),I=80,cursor(X,Y),X1=X+1,atr(X,7),cursor(X1,Y),atr(X1,5),pres.

pgup(C):-char_int(C,I),I=13,Cursor(X,Y),X=2,proverka(1).

pgup(C):-char_int(C,I),I=13,Cursor(X,Y),X=3,!.

pgup(C):-pres.

proverka(Q):-clearwindow,cursor(0,0),vopros(Q,S,A,B),write(S),

             A=0,readchar(_),pusk.

proverka(Q):-clearwindow,cursor(0,0),vopros(Q,S,A,B),write(S),

             B=0,readchar(_),pusk.

proverka(Q):-clearwindow,cursor(0,0),vopros(Q,S,A,B),write(S),

             cursor(2,0), write("„ "),cursor(3,0),

             write("ЌҐв"),cursor(2,0),atr(2,5),pres2(A,B).                    

pres2(A,B):-readchar(C),pgup2(C,A,B).

pgup2(C,A,B):-char_int(C,I),I=27,!.

pgup2(C,A,B):-char_int(C,I),I=72,cursor(X,Y),X=2,pres2(A,B).

pgup2(C,A,B):-char_int(C,I),I=72,cursor(X,Y),atr(X,7),X1=X-1, cursor(X1,Y),atr(X1,5),pres2(A,B).       

pgup2(C,A,B):-char_int(C,I),I=80,cursor(X,Y),X=3,pres2(A,B).

pgup2(C,A,B):-char_int(C,I),I=80,cursor(X,Y),X1=X+1,atr(X,7),cursor(X1,Y), atr(X1,5), pres2(A,B).

pgup2(C,A,B):-char_int(C,I),I=13,Cursor(X,Y),X=2,proverka(A).

pgup2(C,A,B):-char_int(C,I),I=13,Cursor(X,Y),X=3,proverka(B).

pgup2(C,A,B):-pres2(A,B).

pusk:-existfile("base.txt"), consult("base.txt"),na4alo.

na4alo:- makewindow(1,7,7,"Диагноз",0,0,25,80), cursor(0,0), write("Начать тестирование?"),    cursor(2,0),write("Да"), cursor(3,0), write("Нет"),cursor(2,0),atr(2,5),pres.

GOAL

pusk.

 

4 СОДЕРЖИМОЕ ВНЕШНИХ ФАЙЛОВ И БАЗ ДАННЫХ, ИСПОЛЬЗУЕМЫХ ПРИ РАБОТЕ ПРОГРАММЫ

vopros(1,"Шумы в ухе появились во время или после полета?",2,3)

vopros(2,"Возможна баротравма - повреждение органа слуха в результате нарушения равновесия между давлением воздуха, особенно если у вас был насморк",0,0)

vopros(3,"Вы заметили снижение слуха",9,4)

vopros(4,"Вы принимаете или недавно принимали какие-нибудь лекарства",6,5)

vopros(5,"Вы ощущаете щекотание в ухе?",7,8)

vopros(6,"Побочным действием некоторых лекарств может быть появление шумов в ухе.",0,0)

vopros(7,"Вероятно, в наружный слуховой проход попало насекомое или другое инородное тело.",0,0)

vopros(8,"Если вы не можете поставить диагноз по схеме, а шумы в ухе сопровождаются снижением слуха и головной болью, обратитесь к врачу!",0,0)

vopros(9,"У вас боль в ухе?",10,19)

vopros(10,"Боль в ухе усиливается, когда вы оттягиваете мочку уха?",11,12)

vopros(11,"Причиной симптомов может быть инфекционное поражение наружного слухового аппарата. Обратитесь к врачу!",0,0)

vopros(12,"Вы чувствуете заложенность в ухе и она не проходит при глотании?",13,15)

vopros(13,"Боль начинаете во время или после полета на самолете?",14,2)

vopros(14,"Возможно острое воспаление среднего уха, которое возникает в результате закупорки евстахиевой2 трубы. Обратитесь к врачу!",0,0)

vopros(15,"У вас зеленовато-желтые выделения из уха?",16,17)

vopros(16,"Причиной может быть инфекционное поражение среднего уха или наружного слухового прохода. Обратитесь к врачу!",0,0)

vopros(17,"Вы простужены",16,18)

vopros(18,"Если вы не можете поставить диагноз по схеме, обратитесь к врачу!",19,22)

vopros(19,"У вас зеленовато-желтые выделения из уха?",16,20)

vopros(20,"Вы ощущаете заложенность?",21,23)

vopros(21,"На прошлой неделе у вас были насморк, заложенность в носу, головные боли?",22,23)

vopros(22,"Причиной глухоты может быть закупорка евстахиевой трубы в результате простуды или сенной лихорадки. Это не должно быть причиной для беспокойства и не требует специального лечения, но если слух не улучшается в течении 3 дней, обратитесь к врачу!",0,0)

vopros(23,"У вас наступают внезапные приступы головокружения?",24,25)

vopros(24,"Это может быть болезнь Меньера - относительно редкое заболевание, возникающее при увеличении количества жидкости в лабиринте. Это заболевание характерно для людей среднего возраста. Обратитесь к врачу!",0,0)

vopros(25,"Вы регулярно слушаете громкую музыку и находитесь в условиях повышенного шума?",26,27)

vopros(26,"Причиной снижения слуха возможно, являются повторные воздействия сильного шума. Дело в том, что к повреждению слуха могут приводить даже уровни шума, которые не вызывают дискомфорта.",0,0)

vopros(27,"Вы недавно принимали какие-либо лекарства?",28,29)

vopros(28,"Причиной снижение слуха может быть побочное действие некоторых лекарств.",0,0)

vopros(29,"Ваш слух ухудшился за последние несколько недель или раньше?",18,30)

vopros(30,"Наблюдается ли постепенная потеря слуха у других членов вашей семьи",32,31)

vopros(31,"Причиной вашей глухоты может быть серная пробка в ушах.",0,0)

vopros(32,"Вам за 50?",33,34)

vopros(33,"Пресбиакузис (старческая тугоухость)- постепенная потеря слуха в пожилом и старческом возрасте - обычное явление, особенно если другие члены вашей семьи становяться к старости глухими. Обратитесь к врачу.",0,0)

vopros(34,"Причиной ваших симптомов может быть отосклероз - заболевание, при котором нарушается функционирование косточек в среднем ухе. Эта разновидность глухоты в основном поражает в молодом возрасте и особенно характерна для женщин. Обратитесь к врачу.",0,0)

5 КОНТРОЛЬНЫЙ ПРИМЕР: ПЕРЕЧЕНЬ ШАГОВ ПРИ ПРОХОЖДЕНИИ СХЕМЫ И СООТВЕТСТВУЮЩИЙ ИМ ДИАГНОЗ

 

Запускаем программу. Перед нами появляется предложение начать тестирование:


 

 

 

 

 

 

 

Рисунок 6 –  Основное меню программы

 

Выбираем  ответ «Да» и приступаем к тестированию. Перед нами открывается новый вопрос (рис. 7), при положительном ответе на который выдается диагноз (рис. 8).


 

 

 

 

 

 

 

 

 

Рисунок 7 – Вопрос программы

Рисунок 8 – Конец тестирования, поставленный диагноз.

Если при ответе на вопрос на рис.7 ответить «Нет», то тестирование будет  продолжено новыми вопросами. В итоге  программа выдаст диагноз или  сообщение о том, если не возможно поставить диагноз по схеме и следует обратитесь к врачу.

 

ЗАКЛЮЧЕНИЕ

В ходе курсового  проектирования было разработана интеллектуальная система определения диагноза по симптомам. На основе исходных данных создан программный продукт, содержащий следующие группы симптомов: «Шум в ушах», «Глухота» и «Боль в ушах».

 

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

    1. Братко, И. Алгоритмы искусственного интеллекта на языке PROLOG [Текст] / И. Братко. – М.: Диалектика, 2004. – 640 с.
    2. СТП 3.4.204-01. Стандарт предприятия. Требования к оформлению текстовых документов. – Красноярск: СибГТУ, 2001. – 46 с
    3. Основы информационной культуры. Библиографическое описание документа. Составление библиографического списка: методические указания к проведению практических занятий для студентов всех специальностей и форм обучения. – Красноярск: СибГТУ, 2005. – 16 с.
    4. Шрайнер, П. Основы программирования на языке Пролог [Текст] / П. Шрайнер. – Минск: Интернет-университет, 2005. – 176 с.



Информация о работе Разработка интеллектуальной системы