Разработка интеллектуальной системы
Проект программного продукта, содержащего группы симптомов: "Головная боль у ребенка", "Высокая температура у ребенка", "Сыпь с температурой у ребенка". Разработка интеллектуальной системы, способной по симптомам установить диагноз. Описание предикатов.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 15.09.2017 |
Размер файла | 380,0 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Министерство образования и науки РФ
ФГБОУ ВПО "Сибирский Государственный Технологический Университет"
Химико-технологический факультет заочно дистанционного обучения
Кафедра информационных технологий
Курсовая работа
по дисциплине "Логическое программирование"
Тема "Разработка интеллектуальной системы"
Руководитель: Товбис Е.М.
Студент Тараканов Ф.А.
Красноярск
Содержание
Введение
1. Постановка задачи
2. Описание предикатов пользователя
3. Текст программы
4. Контрольный пример: перечень шагов при прохождении схемы и соответствующий им диагноз
Заключение
Библиографический список
Реферат
Целью данного курсового проекта является разработка интеллектуальной системы, способной по набору симптомов установить диагноз. На основе исходных данных разрабатываем программный продукт, содержащий группы симптомов "Головная боль у ребенка", "Высокая температура у ребенка", "Сыпь с температурой у ребенка".
Ключевые слова: Пролог, интеллектуальная система, логическое программирование
Введение
Логическое программирование - технология программирования, возникшая на основе логического доказательства теорем. Типичным представителем концепции логического программирования является язык Пролог. Первоначально разработки в области логического программирования велись для использования в компьютерах пятого поколения.
Пролог - один из языков логического программирования, позволяющий использовать как традиционный процедурный подход, так и декларативный подход, то есть программировать не ход решения задачи, а ее постановку. Встроенная в Пролог машина вывода, реляционный характер языка, средства автоматического поиска позволяют использовать не только механизм вывода от цели, но и легко моделировать другие парадигмы представления знаний: семантические сети, фреймы, продукции. В прологе отсутствуют средства объектно-ориентированного программирования, однако они легко моделируются средствами самого языка.
Пролог включает механизм вывода, который основан на сопоставлении образцов. С помощью подбора ответов на запросы он извлекает хранящуюся (известную) информацию. Пролог пытается проверить истинность гипотезы (другими словами, ответить на вопрос), запрашивая для этого информацию, о которой уже известно, что она истинна. Прологовское знание о мире - это ограниченный набор фактов (и правил), заданных в программе.
Одной из важнейших особенностей Пролога является то, что, в дополнение к логическому поиску ответов на поставленные вами вопросы, он может иметь дело с альтернативами и находить все возможные решения. Вместо обычной работы от начала программы до ее конца, Пролог может возвращаться назад и просматривать более одного "пути" при решении всех составляющих задачу частей.
1. Постановка задачи
Цель курсовой работы
Выяснение причин чрезмерной потливости у взрослых
Рисунок 1
Диагностические схемы
Чрезмерная потливость
2. Описание предикатов пользователя
vopros(Integer,String,Integer,Integer) - хранение информации о вопросах и переходах на следующий;
show_menu(Integer,integer) - текст окон программы;
select - выбор ответа;
pos(Char) - реакция на нажатые кнопки;
process(Integer) - переход к следующим вопросам;
var_otvet(Integer) - определение выбора ответа;
main_menu; главное окно программы
step(Integer,Integer) - Определение следующего вопроса;
scr_attrib(Integer,Integer,Integer,Integer) - рисование окон программы;
3. Текст программы
Predicates
vopros(Integer,String,Integer,Integer)
show_menu(Integer,integer)
select
pos(Char)
process(Integer)
var_otvet(Integer)
main_menu
step(Integer,Integer)
scr_attrib(Integer,Integer,Integer,Integer)
Clauses
vopros(1," vy ochen' poteete?",2,3).
vopros(2,"u vas lishnij ves?",4,5).
vopros(3," vy zhenshhina i vam inogda stanovit'sja zharko i na neskol'ko minut usilivaetsja potootdelenie?",9,11).
vopros(4,"Vozmozhno, ozhirenie privelo k tomu, chto dazhe obychnaja ezhednevnaja nagruzka mozhet okazat'sja chrezmernoj dlja vashego organizma i vyzyvat' chrezmernuju potlivost'?",26,26).
vopros(5,"u vas nabljudaetsja odin ili bolee iz sledujushhih simptomov: neob#jasnimaja poterja vesa, slabost' ili drozh', povyshennyj appetit, pucheglazie?",8,7). программный интеллектуальный предикат
vopros(6,"vas bespokojat postojannyj kashel' i/ili poterja vesa?",10,9).
vopros(7,"vy poteete v osnovnom noch'ju, dazhe esli odety legko?",6,3).
vopros(8,"Takie simptomy mozhet vyzvat' tireotoksikoz (povyshennaja funkcija shhitovidnoj zhelezy). Obratites' k vrachu?",0,0).
vopros(9,"vam za 45?",12,11).
vopros(10,"srochno obratites' k vrachu! Prichinoj jetih simptomov mozhet vyt' tuberkulez ili drugaja hronicheskaja bolezn'?",0,0).
vopros(11,"u vas temperatura 38 i vyshe?",14,13).
vopros(12,"prilivy (vnezapnye pristupy oshhushhenija zhary i potlivosti) odin iz naibolee harakternyh simptomov nachala menopauzy?",0,0).
vopros(13,"potlivost' pojavilas' u vas posle priema alkogolja ili bol'shih doz aspirina?",16,15).
vopros(14,"Potlivost' - normal'naja otvetnaja reakcija na vysokuju temperaturu?",44,44).
vopros(15,"vy nosite odezhdu ili pol'zuetes' postel'nym bel'em iz nejlona ili drugih iskusstvennyh tkanej?",18,19).
vopros(16,"usilennuju potlivost' mozhet vyzvat' alkogol' ili aspirin?",0,0).
vopros(18,"sinteticheskie tkani chasto vyzyvajut usilennoe potootdelenie. Jeto ob#jasnjaetsja tem, chto oni ne vpityvajut vlagu i prepjatstvujut normal'nomu dyhaniju kozhi?",0,0).
vopros(19,"chrezmernaja potlivost' ogranichivaetsja oblast'ju stupnej i kistej?",20,21).
vopros(20,"vysokaja plotnost' raspolozhenija potovyh zhelez na kozhe i stupnej ne dolzhna byt' povodom dlja bespokojstva ?",0,0).
vopros(21,"vy poteete tol'ko kogda vozbuzhdeny ili vstrevozheny?",24,23).
vopros(22,". razvitie apokrinovyh potovyh zhelez vo vremja polovogo sozrevanija obychno vyzyvaet usilennuju potlivost', kotoraja osobenno vyrazhaetsja v podmyshechnoj oblasti. Jeto normal'no sostojanie",0,0).
vopros(23,"vy v vozraste ot 13 do 19 let?",22,25).
vopros(24,"jemocional'nyj stress mozhet legko vyzvat' chrezmernuju potlivost'?",0,0).
vopros(25,"Obratites' k vrachu, esli ne mozhete postavit' diagnoz po sheme?",0,0).
vopros(26,"u vas izlishnij ves na protjazhenii bol'shej chasti zhizni?",28,27).
vopros(27,"vy pribavili v vese, posle togo, kak brosili kurit'?",65,65).
vopros(28,"Vashi roditeli byli polnymi?",30,31).
vopros(29,"vy popolneli posle beremennosti i rozhdenija rebenka?",32,33).
vopros(30,"predraspolozhennost' k ozhireniju neredka javljaetsja semejnoj chertoj. Jeto mozhet byt' obuslovleno nezdorovym rezhimom pitanija v detstve, libo medlennym rashodovaniem jenergii",0,0).
vopros(31,"prichina uvelichenija vashego vesa, verojatno, chto vy potrebljaete pishhu v bol'shem kolichestve, chem nuzhdaetes'",0,0).
vopros(32,"beremennost' chasto soprovozhdaetsja uvelichenie vesa, kotoroe trudno srazu ustranit' posle rozhdenija rebenka",0,0).
vopros(33,"vy popolneli vo vremja depressii?",34,35).
vopros(34,"povyshennyj appetit vo vremja psihologicheskogo stressa - obychnoe sostojanie",0,0).
vopros(35,"vash ves uvelichilsja posle smeny fizicheskogo obraza zhizni na bolee spokojnyj?",36,37).
vopros(36,"jenergeticheskie potrebnosti organizma var'iruetsja ot vashej obychnoj ezhednevnoj fizicheskoj nagruzki",0,0).
vopros(37,"zametili li vy u sebja paralel'l'no s uvelicheniem vesa dva ili bolee sledujushhih simptomov : bol'shaja chuvstvitel'snot' k prostude, lomkost' volos, suhost' kozhi, neob#jasnimaja utomljaemost'?",38,39).
vopros(38,"vozmozhno jeto gipotireoz (nedostatochnost' funkcii shhitovidnoj zhelezy) - zabolevanie, naibolee chasto vstrechajushhiesja u zhenshhin srednego vozrasta. obratites' k vrachu",0,0).
vopros(39,"vy prinimaete kakie-nibud' lekarstva?",40,41).
vopros(40,"k uvelicheniju vesa mogut privodit' nekotorye lekarstvennye preparaty, osobenno gormony",0,0).
vopros(41,"vam za 40?",42,43).
vopros(42,"starenie chasto soprovozhdaetsja postepennym uvelicheniem vesa tela. Jeto vpolne estestvenno, poskol'ku fizicheskie nagruzki umen'shajutsja, v to vremja kak organizm vse medlenen pererabatyvaet posypajushhuju pishhu",0,0).
vopros(43,"prichinoj uvelichenija vesa mozhet byt' pereedanie",0,0).
vopros(44,"vas bespokoit kashel'?",46,45).
vopros(45,"u vas sil'naja golovnaja bol'?",50,53).
vopros(46,"u vas ottydshka dazhe v sostojanii pokoja i/ili vy otkashlivaete korichnevuju mokrotu?",48,48).
vopros(47,"vy otkashlivaete zheltuju mokrotu i/ili tjazhelo dyshite?",52,51).
vopros(48,"nemedlenno obratis' k vrachu! vozmozhno infekcionnoe zabolevanie legkih, naprimer vospalenie. Ono mozhet protekat' ves'ma tjazhelo, osobenno u pozhilyh ljudej i ljudej, s oslablennym zdorov'em",0,0).
vopros(49,"nemedlenno obratites' k vrachu. prichinoj mozhet byt' meningit",0,0).
vopros(50,"u vas nabljudaetsja odin ili bolee priznakov: bol' pri naklonenii golovy vpered, toshnota ili rvota, bojazn' jarkogo sveta, sonlivost' ili sputannoe soznanie?",49,53).
vopros(51,"u vas nabljudaetsja odini ili bolee iz sledujushhih priznakov: golovnaja bol', boli v konechnostjah, nasmork, bol' v gorle?",54,53).
vopros(52,"vozmozhno, u vas ostryj bronhit",0,0).
vopros(53,"u vas bolit gorlo?",0,0).
vopros(54,"ochen' verojatno, chto u vas obshhee virusnoe zabolevanie, kak naprimer grupp",0,0).
vopros(55,"vy nedavno vernulis' iz strany s zharkim klimatom?",56,57).
vopros(56,"srochno obratites' k vrachu, u vas mozhet byt' ochen' redkaja tropicheskaja bolezn', naprimer maljarija ili brjushnoj ti?",0,0).
vopros(57,"u vas nabljudaetsja odin ili bolee priznakov: bol' v pojasnice, uchashhennoe mocheispuskanie. bol' pri mocheispuskanii?",58,59).
vopros(58,"srochno obratites' k vrachu! u vas mozhet byt' ostroe infekcionnoe poredenie pochek ili mochevogo puzyrja",0,0).
vopros(59,"vy proveli bol'shuju chast' dnja na jarkom solnce ili v ochen' dushnom poveshenii?",60,61).
vopros(60,"prebyvanie pod zharkim solncem ili v dushnom pomeshhii mozhet privesti k povysheniju tempereratury. V bol'shinstve takih sluchaev povyshennaja temperatura vozvrashhaetsja k normal'nomu",0,0).
vopros(61,"vy zhenshhina?",62,63).
vopros(62,"u vas byli rody v poslednie dve nedeli?",64,63).
vopros(63,"esli temperatura ne vozvrashhaetsja k normal'noj v techenii 48 chasov, obratites' k vrachu",0,0).
vopros(64,"nemedlenno obratites' k vrachu! poslerodovaja infekcija, hot' i redkoe v nashe vremja zabolevanie, mozhet posluzhit' prichinoj lihoradki posle rozhdenija rebenka!",0,0).
main_menu:- MakeWindow(1, 15,27, "Выяснение причин чрезмерной потливости у взрослых",2,5,22,70,1,0,"г¬L-=¦"), process(1).
show_menu(N,M):-
M=1,
ClearWindow,
vopros(N,S,H,F),
Cursor(1,3),
Write(N,". ",S),
Cursor(8,2),
Write("Da"),
Cursor(10,2),
Write("No"),
scr_attrib(8,2,0,27),
Cursor(8,2),
select.
show_menu (N,M):-
M=0,
ClearWindow,
vopros(N,S,H,F),
Cursor(1,3),
Write(S),
select,
exit.
scr_attrib(Y,X,Inc,Attr):-
Inc><2,
A=Inc+1,
scr_attrib(Y,X,A,Attr),
B=X+Inc,
scr_attr(Y,B,Attr).
scr_attrib(Y,X,Inc,Attr):-
Inc=2,
Z=X+Inc,
scr_attr(Y,Z,Attr).
/*Вниз*/
pos(80):-
Cursor(Y,X),
Y><10,
X=2,
scr_attrib(Y,2,0,15),
A=Y+2,
scr_attrib (A,2,0,27),
Cursor(A,2), !.
pos(80):-
cursor(Y,X),
Y=10,
X=2,
scr_attrib (Y,2,0,15),
scr_attrib (8,2,0,27),
Cursor(8,2),!.
/* Вверх*/
pos(72):-
Cursor(Y,X),
Y><8,
X=2,
scr_attrib (Y,2,0,15),
A=Y-2,
scr_attrib (A,2,0,27),
Cursor(A,2), !.
pos(72):-
Cursor(Y,X),
Y=8,
X=2,
scr_attrib (Y,2,0,15),
scr_attrib (10,2,0,27),
Cursor(10,2), !.
pos('\27'):- Exit.
pos('\13').
select:- ReadChar(D), pos(D), D=13, !.
select:- select.
/*perehod na sled.vopros*/
step(No,V):- var_otvet(Z),Z=1,vopros(No,L,V,P).
step(No,V):- var_otvet(Z),Z=2,vopros(No,L,P,V).
process(No):-
show_menu(No,1),
var_otvet(Z),
step(No,V),
V><0,
process(V),
Fail.
process(No):-
show_menu(No,0),
var_otvet (Z),
step(No,V),
V=0,
exit.
/* otvet "Da"*/
Var_otvet(Z):-Cursor(Y,_),Y=8,Z=1,!.
/* otvet "No"*/
var_otvet(Z):- Cursor(Y,_),Y=10,Z=2,!.
Goal
retractall(_),
main_menu,
removewindow.
4. Контрольный пример: перечень шагов при прохождении схемы и соответствующий им диагноз
Запускаем программу
Рисунок 1 - Вопрос " Вы очень потеете?"
Выбираем "Да"
Рисунок 2 Вопрос " У вас лишний вес? "Выбираем "Нет"
Рисунок 3
Вопрос " У вас наблюдается один или более из слудующих симптомов: необъяснимая потеря веса, слабость или дрожь, повышенный аппетит, пучеглазие?" Выбираем "Да"
Рисунок 4. "Такие симптомы может вызвать тиреотоксикоз (повышенная функция щитовидной железы).
Обратитесь к врачу
Заключение
В ходе курсового проектирования было разработана интеллектуальная система определения диагноза по симптомам. На основе исходных данных создан программный продукт, содержащий следующие группы симптомов: "Чрезмерная потливость", "Излишний вес", "Высокая температура".
Библиографический список
1. Братко, И. Алгоритмы искусственного интеллекта на языке PROLOG [Текст] / И. Братко. - М.: Диалектика, 2004. - 640 с.
2. Ясницкий, Л. Введение в искусственный интеллект [Текст] / Л. Ясницкий. - М.: Академия, 2005. - 175 с.
3. СТП 3.4.204-01. Стандарт предприятия. Требования к оформлению текстовых документов. - Красноярск: СибГТУ, 2001. - 46 с
4. Марселлус, Д. Программирование экспертных систем на Турбо-Прологе [Текст]/ Д. Марселлус. - М.: Финансы и статистика, 2001. - 254с.
5. Шрайнер, П. Основы программирования на языке Пролог [Текст] / П. Шрайнер. - Минск: Интернет-университет, 2005. - 176 с.
6. Стерлинг, Л. Искусство программирования на языке Пролог [Текст] / Л. Стерлинг, Э. Шапиро. - М.: Мир, 1990. - 235с.
7. Товбис, Е. Логическое программирование: Методические указания к выполнению курсовых работ для студентов специальности 230105 "Программное обеспечение вычислительной техники и автоматизированных систем", направления 230100 "Информатика и вычислительная техника" дневной, заочной и сокращенной форм обучения [Текст] / Е. Товбис, С. Якимов. - Красноярск: СибГТУ, 2008. - с..
Размещено на Allbest.ru
Подобные документы
Анализ исследований на тему предрасположенности человека к химических зависимостям. Создание опроса, на основе проанализированной литературы. Анализ и выбор технологии для создания интеллектуальной системы. Проектирование интеллектуальной системы.
дипломная работа [2,5 M], добавлен 26.08.2017Определение основных функциональных требований к модулям автоматизированной информационной системы. Разработка концептуальной модели данных. Реализация системы учета объектов интеллектуальной собственности и научно-технической продукции университета.
дипломная работа [5,2 M], добавлен 26.05.2012Разработка алгоритма и реализация интеллектуальной информационной системы, позволяющей оценить время в неделю, необходимое для осуществления функций технической поддержки администратора с необходимым уровнем надежности работы локальной сети.
курсовая работа [37,4 K], добавлен 01.12.2009Задачи применения модели персонализации в сети Интернет. Программная реализация интеллектуальной системы, позволяющей при заданном запросе подбирать клиенту необходимый косметический товар. Использование ассоциативных правил для разработки программы.
курсовая работа [1,3 M], добавлен 17.04.2012Анализ технологий "умного дома", их базовые понятия. Описание технологического процесса и модель автоматизации. Разработка системы управления зданием. Анализ программного обеспечения. Технология производства программного продукта, разработка бизнес-плана.
дипломная работа [1,8 M], добавлен 06.04.2015Технико-экономическое обоснование разработки интеллектуальной справочной системы по музыкальным произведениям. Задачно-ориентированная спецификация, онтология и содержательная декомпозиция базы знаний проектируемой справочной интеллектуальной системы.
курсовая работа [2,2 M], добавлен 04.12.2010Особенности создания интеллектуальной справочной системы по логике, ее технико-экономическое обоснование. Онтология, содержательная декомпозиция, исходные тексты базы знаний, ее верификация и отладка. Тестирование интеллектуальной справочной системы.
курсовая работа [3,4 M], добавлен 14.07.2012Проект программного продукта, представляющего собой веб-приложение в виде системы управления веб-контентом и предназначенного для быстрого создания простых сайтов. Функциональные требования в рамках языка UML. Разработка визуальных интерфейсов системы.
дипломная работа [5,0 M], добавлен 11.07.2012Подготовка к созданию интеллектуальной системы: определение проблемы, поиск эксперта, анализ расходов и прибыли. Стадии разработки прототипной системы, ее развитие до промышленной экспертной системы (ЭС). Оценка, стыковка с программами и поддержка ЭС.
презентация [79,0 K], добавлен 03.01.2014Обоснование выбора языка программирования. Анализ входных и выходных документов. Логическая структура базы данных. Разработка алгоритма работы программы. Написание программного кода. Тестирование программного продукта. Стоимость программного продукта.
дипломная работа [1008,9 K], добавлен 13.10.2013