Идентификация лекарств
Разработка прототипа экспертной системы на языке программирования Prolog, позволяющий идентифицировать тип лекарства по заданным параметрам. Перечень идентифицируемых лекарств. Основные концепции и взаимосвязи между понятиями предметной области.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 21.02.2012 |
Размер файла | 336,9 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Саратовский Государственный Технический Университет
Кафедра СИИ
Контрольная работа
по Методам Искусственного Интеллекта
Идентификация лекарств
Выполнил: студент РТС-41
Маркин Д.В.
Проверил:
профессор каф. СИИ
Большаков А.А.
Саратов 2011
Содержание
- Постановка задачи
- Идентификация проблемы
- Извлечение знаний
- Структурирование знаний
- Формализация
- Реализация
- Тестирование
- Текст программы
- Тестирование
- Вывод
- Список литературы
Постановка задачи
Основная задача данной работы - разработать прототип экспертной системы на языке программирования Prolog, позволяющий идентифицировать тип лекарства по заданным параметрам. Количество видов лекарств задается в начале разработки и не изменяется пользователем.
Идентификация проблемы
На данном этапе уточняется задача, планируется ход разработки прототипа экспертной системы, определяются необходимые ресурсы, источники знаний и т.д.
Зададим перечень идентифицируемых лекарств
1. Аспирин
2. Ренни
3. Амбробене
4. Аспаркам
5. Парацетамол
Необходимые ресурсы:
требуется ПЭВМ с программой Prolog
обучающая литература по программированию на языке Prolog
Извлечение знаний
Источники знаний: Онлайн Энциклопедия [med-tutorial.ru/lek-spav/].
Извлечение знаний будем проводить путем анализа текстов специальной литературы, и с помощью диалога с экспертом.
1) АСПИРИН - общепринятое название ацетилсалициловой кислоты - самого распространенного болеутоляющего, жаропонижающего и противовоспалительного средства. Ацетилсалициловая кислота и ряд других химических производных салициловой кислоты известны под общим названием салицилатов. Салицилаты - одно из старейших лекарств. Еще в древности для лечения инфекционных болезней и подагры, для облегчения боли и снижения температуры использовали разного рода экстракты ивовой коры. В 1838 было показано, что ее активным компонентом является салициловая кислота. В 1860 эту кислоту впервые получили искусственным путем, а с 1875 стала употребляться ее натриевая соль.
2) Ренни - антацидный препарат местного действия. Содержит кальция карбонат и магния карбонат, которые обеспечивают быструю и продолжительную нейтрализацию избытка соляной кислоты желудочного сока, тем самым, оказывая защитное действие на слизистую оболочку желудка. Достижение терапевтического эффекта в течение 3-5 мин обусловлено хорошей растворимостью таблеток и высоким содержанием кальция.
3) Амбробене - муколитическое средство, стимулирует пренатальное развитие легких (повышает синтез, секрецию сурфактанта и блокирует его распад). Обладает секретомоторным, секретолитическим и отхаркивающим действием; стимулирует серозные клетки желез слизистой оболочки бронхов, увеличивает содержание слизистого секрета и выделение поверхностно-активного вещества (сурфактанта) в альвеолах и бронхах; нормализует нарушенное соотношение серозного и слизистого компонентов мокроты. Активируя гидролизующие ферменты и усиливая высвобождение лизосом из клеток Кларка, снижает вязкость мокроты. Повышает двигательную активность мерцательного эпителия, увеличивает мукоцилиарный транспорт. После приема внутрь действие наступает через 30 мин, при ректальном введении - через 10-30 мин и продолжается в течение 6-12 ч. При парентеральном введении действие наступает быстро и продолжается в течение 6-10 ч.
4) Аспаркам - источник K+ и Mg2+, регулирует метаболические процессы, способствует восстановлению электролитного баланса, оказывает антиаритмическое действие. K+ участвует как в проведении импульсов по нервным волокнам, так и в синаптической передаче, осуществлении мышечных сокращений, поддержании нормальной сердечной деятельности. Нарушение обмена K+ приводит к изменению возбудимости нервов и мышц. Активный ионный транспорт поддерживает высокий градиент K+ через плазменную мембрану. В малых дозах K+ расширяет коронарные артерии, в больших - суживает. Оказывает отрицательное хроно - и батмотропное действие, в высоких дозах - отрицательное ино - и дромотропное, а также умеренное диуретическое действие. Mg2+ является кофактором 300 ферментных реакций. Незаменимый элемент в процессах, обеспечивающих поступление и расходование энергии. Участвует в балансе электролитов, транспорте ионов, проницаемости мембран, нервно-мышечной возбудимости. Входит в структуру (пентозофосфатную) ДНК, участвует в синтезе РНК, аппарате наследственности, клеточном росте, в процессе деления клеток. Ограничивает и предупреждает чрезмерное высвобождение катехоламина при стрессе, возможны липолиз и высвобождение свободных жирных кислот. Является "физиологическим" БМКК. Способствует проникновению K+ в клетки. Аспарагинат способствует проникновению K+ и Mg2+ во внутриклеточное пространство, стимулирует межклеточный синтез фосфатов.
5) Парацетамомл (лат. Paracetamolum, англ. Paracetamol, также ацетаминофен) - лекарственное средство, оказывающее жаропонижающее и обезболивающее действие. Является широко распространённым ненаркотическим анальгетиком, обладает довольно слабыми противовоспалительными свойствами (и поэтому не имеет связанных с ними побочных эффектов, характерных для НПВП). Вместе с тем, может служить причиной нарушений работы печени, кровеносной системы и почек. Риск нарушений данных органов и систем увеличивается при одновременном принятии спиртного, поэтому лицам, употребляющим алкоголь, рекомендуют употреблять пониженную дозу парацетамола.
Белый или белый с кремовым или розовым оттенком кристаллический порошок. Легко растворим в спирте, нерастворим в воде
Структурирование знаний
В данном разделе определяется структура полученных знаний о предметной области.
Структурирование знаний в нашем случае - это разработка неформального описания знаний о предметной области в виде таблицы, которая отражает основные концепции и взаимосвязи между понятиями предметной области.
Табл. 1 Общие признаки Лекарств
Аспирин |
Ренни |
Амбробене |
Аспаркам |
Парацетамол |
||
Температура |
+ |
- |
- |
- |
+ |
|
Давление |
- |
- |
- |
+ |
- |
|
Головная боль |
+ |
+ |
+ |
- |
- |
|
Кашель |
- |
- |
+ |
- |
+ |
|
Изжога |
- |
+ |
- |
- |
- |
Формализация
На этом этапе построим формализованное представление концепций предметной области на основе продукционной модели с прямым выводом (от данных к поиску цели). Под продукционной моделью будем понимать знания, которые можно представить в виде предложений типа "Если (условие), то (действие)".
Введем переменные, которые соответствуют ключевым понятиям:
Ключевые понятия |
Переменные |
|
Температура |
Т |
|
Давление |
D |
|
Кашель |
К |
|
Головные боли |
G |
|
Изжога |
I |
|
Результат идентификации |
Выводится на монитор |
С применением введенных переменных построим базу правил, которая в формальном виде может быть записана следующим образом:
1. Если T и G, TO Аспирин.
2. Если I, ТО Ренни.
3. Если G и K, ТО Амбробене.
4. Если D, ТО Аспаркам.
5. Если T и K, ТО Парацетамол.
Во всех остальных случаях программа будет выдавать сообщение следующего содержания: "К сожалению, данная программа не может вам помочь. Воспользуйтесь помощью эксперта "
Реализация
Данный раздел включает в себя разработку программного комплекса, демонстрирующего жизнеспособность и эффективность разработанной экспертной системы.
Программирование осуществим на специализированном языке Turbo Prolog 5.0
Тестирование
На этом этапе проверяется компетентность ЭС. Процесс тестирования продолжается до тех пор, пока система не достигнет требуемого уровня компетентности.
идентификация лекарство язык программирование
На этапе тестирования последовательно проверялось соответствие выдаваемых результатов установленным правилам. Был произведен перебор возможных вариантов ответов на вопросы теста, и таким образом мы убедились в правильности выдаваемых ответов, а, следовательно, и в правильности работы программы.
Вводимые данные |
Ожидаемый результат |
Фактический результат |
|
T и G |
Аспирин |
Скорее всего, вам нужен Аспирин |
|
I |
Ренни |
Скорее всего, вам нужен Ренни |
|
G и K |
Амбробене |
Скорее всего, вам нужен Амбробене |
|
D |
Аспаркам |
Скорее всего, вам нужен Аспаркам |
|
T и K |
Парацетамол |
Скорее всего, вам нужен Парацетамол |
Текст программы
domains
i = integer
s = string
predicates
mainProc
preview
ask_TypeOfTree (i)
ask_LifeTime (i)
ask_HeightOfTree (i)
ask_ShapOfTree (i)
ask_ResinOfTree (i)
process_TreeIs (s, i, i, i, i, i)
showResult (s)
clauses
preview: -
makewindow (1,2,4," - = [Vybor lekarstv] = - ",0,0,25,80),
cursor (5,30),write ("KURSOVAYA RABOTA"),
cursor (9, 20),write ("vybor lekarstva pri simptomax"),
cursor (14,40),write ("Vypolnila: student gruppy RTS-41"),
cursor (15,51),write ("Markin D. "),
cursor (17,40),write ("Proveril: professor"),
cursor (18,51),write ("Bol'shakov A. A. "),
cursor (22,31),write ("Saratov 2011"),nl,
write ("Press ENTER. "),
readln (_).
ask_TypeOfTree (ToTi): -
clearwindow,
nl,nl,nl,
write (" Temperatura?"),nl,
write (" 1 - da 2 - net"),nl,nl, write ("> "),
readint (ToTi).
ask_LifeTime (LTi): -
clearwindow,
nl,nl,nl,
write (" Davlenie?"),nl,
write (" 1 - da 2 - net"),nl,nl, write ("> "),
readint (LTi).
ask_HeightOfTree (HoTi): -
clearwindow,
nl,nl,nl,
write (" Kashel'?"),nl,
write (" 1 - da 2 - net"),nl,nl, write ("> "),
readint (HoTi).
ask_ShapOfTree (SoTi): -
clearwindow,
nl,nl,nl,
write (" Izghoga?"),nl,
write (" 1 - Da 2 - net"),nl,nl, write ("> "),
readint (SoTi).
ask_ResinOfTree (RoTi): -
clearwindow,
nl,nl,nl,
write (" Golovnaya bol'?"),nl,
write (" 1 - da 2 - net"),nl,nl, write ("> "),
readint (RoTi).
process_TreeIs (Ts,ToTi,LTi,HoTi,SoTi,RoTi): -
ToTi = 1,LTi = 2,HoTi = 2,SoTi = 2,RoTi = 1,Ts = "aspirin".
process_TreeIs (Ts,ToTi,LTi,HoTi,SoTi,RoTi): -
ToTi = 2,LTi = 2,HoTi = 2,SoTi = 1,RoTi = 2,Ts = "renni".
process_TreeIs (Ts,ToTi,LTi,HoTi,SoTi,RoTi): -
ToTi = 2,LTi = 2,HoTi = 1,SoTi = 2,RoTi = 1,Ts = "ambrobene".
process_TreeIs (Ts,ToTi,LTi,HoTi,SoTi,RoTi): -
ToTi = 1,LTi = 2,HoTi = 1,SoTi = 2,RoTi = 2,Ts = "paracetamol".
process_TreeIs (Ts,ToTi,LTi,HoTi,SoTi,RoTi): -
ToTi = 2,LTi = 1,HoTi = 2,SoTi = 2,RoTi = 2,Ts = "asparkam".
process_TreeIs (Ts,_,_,_,_,_): -
Ts = "Lekarstva NET V BASE".
showResult (Ts): -
clearwindow,
nl,nl,nl,
write (" - = RESULTAT =-"),nl,
write (" Rezultat poiska v baze po vvedennym dannym: ",Ts),nl,nl,nl.
mainProc: -
preview,
ask_TypeOfTree (ToTi),
ask_LifeTime (LTi),
ask_HeightOfTree (HoTi),
ask_ShapOfTree (SoTi),
ask_ResinOfTree (RoTi),
process_TreeIs (Ts,ToTi,LTi,HoTi,SoTi,RoTi),
showResult (Ts).
goal
mainProc,
readln (_).
Тестирование
ТЕСТ: Если температура, головная боль, ТО аспирин.
Результат работы системы совпадает с нашими данными. Система работает верно.
Вывод
В результате разработки нашей программы разработан прототип экспертной системы для определения лекарств при заболевании; получены навыки в программирование на специализированным языке Prolog; мы научились создавать системы, основанных на знаниях.
Список литературы
1. Онлайн Энциклопедия Кругосвет http://www.krugosvet.ru (дата доступа 25.04.11)
2. Энциклопедия лекарств http://www.rlsnet.ru (дата доступа 22.04.11)
3. Медико-фармацевтическая служба http://www.webapteka.ru (дата доступа 22.04.11)
Размещено на Allbest.ru
Подобные документы
Разработка программного комплекса, нацеленного на предоставление информации о комплектации персонального компьютера. Входные и выходные данные системы. Описание предметной области. Краткая информация о языке Clips. Проектирование экспертной системы.
курсовая работа [36,0 K], добавлен 23.06.2011Реализация экспертных систем любой сложности, решение любых головоломок и шарад с помощью языка логического программирования Prolog. Основные понятия в языке Prolog. Правила логического вывода и запросы. Процедуры логического вывода и принятия решений.
курсовая работа [19,0 K], добавлен 24.05.2012Понятие экспертных систем, их классификация, виды и структура. Построение продукционной модели экспертной системы прогнозирования результатов сессии на основании анализа успеваемости, ее реализация в языке логического программирования Visual Prolog.
дипломная работа [1,6 M], добавлен 25.01.2011Разработка, макетирование и реализация экспертной системы для решения задачи о коммивояжере, используя возможности языка Prolog. Составление графа "Карта Саратовской области" и решение проблемы поиска кратчайшего пути между двумя пунктами на карте.
курсовая работа [366,4 K], добавлен 12.05.2009История возникновения и развития языка Prolog. Рассмотрение императивных и декларативных языков программирования. Элементы экспертной системы: база знаний, механизм вывода и система пользовательского интерфейса. Описание предикатов и предложений.
дипломная работа [44,0 K], добавлен 11.05.2014Разработка программы для поиска пути в лабиринте с возможностью задания входа и выхода, наглядное представление решений. Использование языка логического программирования Prolog. Данные и методы решения. Пользовательский интерфейс, листинг программы.
реферат [14,3 K], добавлен 15.10.2012Назначение и функции информационной системы как программно-аппаратного комплекса, предназначенного для хранения и обработки данных какой-либо предметной области. Каскадная схема создания ИС с обратной связью. Основные элементы языка программирования С++.
контрольная работа [1,7 M], добавлен 14.05.2012Назначение экспертной системы. Разработка экспертной системы путем самостоятельного программирования в полном объеме простейшей ЭС в "GURU". Листинг экспертной системы по прогнозированию на бирже уровня цен, если валютный курс доллара падает или растет.
лабораторная работа [17,8 K], добавлен 15.01.2011Общая характеристика киноиндустрии как предметной области работы. Разработка базы данных и дерева вопросов для получения информации для выбора фильма. Программная реализация экспертной системы. Тестирование системы и создание руководства пользователя.
курсовая работа [1,9 M], добавлен 19.05.2014Постановка задачи и принятие решений, связанных со строительством бани на дачном участке. Структура экспертной системы: блоки и алгоритм функционирования. Понятийно-объектная и концептуальная модель предметной области: структура, состав, база знаний.
дипломная работа [867,9 K], добавлен 26.08.2012