2. Представление знаний

Представление знаний – это множество соглашений по синтаксису и семантике, согласно которым описываются объекты. Хорошее правило при проектировании представления знаний – это организация знаний в такой форме, которая позволяет легко осуществлять доступ с помощью естественных и простых механизмов. «Чем проще, тем лучше» – правило, которое нужно помнить, при работе с представлением знаний.

Экспертные системы часто создаются «инженером по знаниям» (или проектировщиками экспертных систем), которые работают с человеком-экспертом, чтобы закодировать знания эксперта в базе знаний.

Первый способ – это классификация и помещение фактов и чисел (фрагментов фактического знания) в правила Турбо Пролога. Это представление подходит для использования в экспертных системах, базирующихся на правилах.

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

3. Система пользовательского интерфейса

Система пользовательского интерфейса обеспечивает взаимодействие между экспертной системой и пользователем. Это взаимодействие обычно включает несколько функций:

·  Обработка данных, полученных с клавиатуры, и визуализация вводимых и выводимых данных на экране.

·  Поддержка диалога между пользователем и системой.

·  Распознавание ситуации непонимания между пользователем и системой.

·  Обеспечение «дружественности» по отношению к пользователю.

Система интерфейса пользователя должна эффективно обрабатывать ввод и вывод. Для этого необходимо обрабатывать вводимые и выводимые данные быстро, в ясной и выразительной форме. Необходимо также включить возможность работы с дополнительными средствами такими, как печатающие устройства, магнитные диски и дополнительные файлы данных.

Кроме того, система интерфейса должна поддерживать соответствующий диалог между пользователем и системой. Диалог – это общая форма консультации с экспертной системой. Консультация должна завершаться ясным утверждением, выдаваемым системой, и объяснением последовательности вывода, приведшей к этому утверждению.

Система пользовательского интерфейса должна также распознавать непонимание, между пользователем и системой, возникшее либо из-за ошибки, либо на принципиальной основе. Система должна реагировать соответствующим образом на эту ситуацию.

Способность экспертной системы моделировать человека эксперта может меняться от простых познавательных процессов до включения новых знаний или новых способов решения задачи. Система интерфейса должна информировать пользователя о методике работы системы и ее развитии, если такое развитие предусмотрено в системе.

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

4. Структура базы знаний экспертной системы

Для определения диагноза внутри каждого подмножества можно использовать список атрибутов. Количество характеристик будет определять степень точности классификации. Различающей необязательно является какая-нибудь единственная характеристика – все множество атрибутов используется для достижения целей в строящихся правилах.

Все перечисленные ниже атрибуты являются необходимыми, так как ни один из них не характерен для всех диагнозов одновременно:

1) головная боль;

2) кашель;

3) насморк;

4) высокая температура;

5) боль в горле;

6) тошнота;

7) слабость;

8) плохой сон;

9) изжога;

10) раздражимость;

11) охриплость;

12) похудание.

Каждая характеристика для конкретного диагноза либо верна, либо не верна. Для каждого диагноза справедливы следующие характеристики:

Диагноз

Характеристики

Грипп 1, 2, 3, 7
ОРВИ 2, 3, 5, 7
Мигрень 1, 6, 7
Гиповитаминоз 1, 7, 8
Гастрит 6, 7, 9
Бессоница 7, 8, 10
Ларингит 2, 5, 11
Фарингит 2, 4, 5
Язва желудка 6, 7, 9, 12

 


Заключение

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

В процессе выполнения курсовой работы, мной были приобретены не только навыки в области программирования на языке Пролог и изучения принципа логического программирования, но и навыки программной реализации экспертных систем.

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


Список использованной литературы

1.  Емельянов В.А., Емельянов Б.В. Курсовое проектирование. Рекурсивно-логическое программирование: разработка экспертных систем и систем принятия решений. Учебно-метод. пособие, Чуваш. Ун-т. Чебоксары, 2006.

2.  Ц. Ин, Д. Соломон. Использование Турбо-Пролога: Пер. с англ.-М.:Мир, 1993.

3.  И. Братко. Программирование на языке пролог для искусственного интеллекта. М.: Мир, 1990.


Приложения

 

Приложение 1. Реализация экспертной системы

domains

database

xpositive(symbol,symbol)

xnegative(symbol,symbol)

predicates

Zastavka.

do_expert.

do_consulting

ask(symbol,symbol)

elem_is(symbol)

positive(symbol,symbol)

negative(symbol,symbol)

remember(symbol,symbol,symbol)

clear_facts

goal

Zastavka,

do_expert.

clauses

Zastavka:-

makewindow(1,10,31,"",0,0,25,80),

nl,nl,nl,

write("Expertnaya systema "),nl,nl,

write(Kursovaya rabota: Pomosh' medikam v postanovke diagnoza"),nl,

nl,nl,nl,nl,nl,nl,nl,

write("vipolnil: "),nl,

write("proveril:"),nl,nl,nl,nl,nl,nl,nl,nl,

write("61-06"),nl,

write("AFCHGU"),nl,

write(""),nl,nl,

readchar(_),removewindow(1,1).

do_expert:-

makewindow(1,7,7," *** Expert's System *** ",1,3,22,71),

nl,write(" ----------------------------------------------"),

nl,write(" Postanovka diagnoza "),

nl,write(" "),

nl,write(" Please answer the qustions 'yes' or 'no'. "),

nl,write(" ----------------------------------------------"),

nl,nl,

do_consulting,nl,

readchar(_),

removewindow,

exit.

do_consulting:-

elem_is(X),!,nl,

write("Vash diagnoz: ",X,"."),nl,

clear_facts.

do_consulting:-

nl,write("Ssory,vash diagnoz ne ustanovlen !"),

clear_facts.

ask(X,Y):-

write(" Doctor> U vas est' ",Y," ? "),

readln(Reply),

remember(X,Y,Reply).

positive(X,Y):-

xpositive(X,Y),!.

positive(X,Y):-

not(negative(X,Y)),!,

ask(X,Y).

negative(X,Y):-

xnegative(X,Y),!.

remember(X,Y,yes):-

asserta(xpositive(X,Y)).

remember(X,Y,no):-

asserta(xnegative(X,Y)),

fail.

clear_facts:-

retract(xpositive(_,_)),

fail.

clear_facts:-

retract(xnegative(_,_)),

fail.

elem_is("Gripp (Antigrippin)"):-

positive(elem,"golovnaya bol"),

positive(elem,"kashel"),

positive(elem,"nasmork"),

positive(elem,"slabost"),

positive(elem,"visokaya temperatura"),!.

elem_is("ORVI (Fervex)"):-

positive(elem,"kashel"),

positive(elem,"nasmork"),

positive(elem,"slabost"),

positive(elem,"bol v gorle"),!.

elem_is("Migren (Migrenol)"):-

positive(elem,"golovnaya bol"),

positive(elem,"slabost"),

positive(elem,"toshnota"),!.

elem_is("Gipovitaminoz (Duovit)"):-

positive(elem,"golovnaya bol"),

positive(elem,"slabost"),

positive(elem,"plohoi son"),!.

elem_is("Gastrit (Gastrofarm)"):-

positive(elem,"slabost"),

positive(elem,"toshnota"),

positive(elem,"izghoga"),!.

elem_is("Bessonica (Novo-Passit)"):-

positive(elem,"slabost"),

positive(elem,"plohoi son"),

positive(elem,"razdrazhimost'"),!.

elem_is("Laringit (Antibiotiki)"):-

positive(elem,"kashel"),

positive(elem,"bol v gorle"),

positive(elem,"ohriplost'"),!.

elem_is("Faringit (Antibiotiki)"):-

positive(elem,"slabost"),

positive(elem,"kashel"),

positive(elem,"bol v gorle"),!.

elem_is("Faringit (Antibiotiki)"):-

positive(elem,"visokaya temperatura"),

positive(elem,"kashel"),

positive(elem,"bol v gorle"),!.

elem_is("Jazva zheludka (Antibiotiki)"):-

positive(elem,"slabost"),

positive(elem,"toshnota"),

positive(elem,"izghoga"),

positive(elem,"pohudanie"),!.


Приложение 2. Результат работы экспертной системы


Информация о работе «Разработка программы в помощь медикам в постановке диагноза»
Раздел: Информатика, программирование
Количество знаков с пробелами: 13608
Количество таблиц: 1
Количество изображений: 2

Похожие работы

Скачать
29905
0
3

... медикаментов. Этот уровень должен находиться в пределах 40-30% от дохода, полученного сверх нормативных платежей. Наиболее перспективным методом экономического стимулирования качества медицинской помощи является поощрение и организация новых лечебно-диагностических технологий. Проблемой этого направления является необходимость наличия значительных начальных оборотных средств (Л. Берестов). ...

Скачать
402329
1
0

... осложнения для матери и новорожденного возникают при несоблюдении условий и техники выполнения операции.   ЛИТЕРАТУРА: ОСНОВНАЯ: 1.   Аномалии родовой деятельности. Методические рекомендации. М., 1990. 2.   Бодяжина В.И., Жмакин К.Н. Акушерство., М., Медицина, 1995. 3.   И.В. Дуда. Нарушения сократительной деятельности матки. М., 1989. 4.   Малиновский М.Р. Оперативное акушерство. 3е изд ...

Скачать
236182
33
8

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

Скачать
107258
0
1

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

0 комментариев


Наверх