Реферат: Разработка подсистемы вывода в диагностической экспертной системе - текст реферата. Скачать бесплатно.
Банк рефератов, курсовых и дипломных работ. Много и бесплатно. # | Правила оформления работ | Добавить в избранное
 
 
   
Меню Меню Меню Меню Меню
   
Napishem.com Napishem.com Napishem.com

Реферат

Разработка подсистемы вывода в диагностической экспертной системе

Банк рефератов / Программирование

Рубрики  Рубрики реферат банка

закрыть
Категория: Реферат
Язык реферата: Русский
Дата добавления:   
 
Скачать
Архив Zip, 144 kb, скачать бесплатно
Заказать
Узнать стоимость написания уникального реферата

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

24 ГОСУДАРСТВЕННЫЙ КОМИТЕТ РОССИЙСКОЙ ФЕДЕРАЦИИ ПО ВЫСШЕМУ ОБРАЗОВАНИЮ НОВОСИБИРСКИЙ ОРДЕНА ТРУДОВОГО КРАСНОГО ЗНАМЕНИ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ВЫСШИЙ КОЛЛЕДЖ ИНФОРМАТИКИ ТЕХНИЧЕСКИЙ ФАКУЛЬТЕТ КАФЕДРА СИСТЕМ ИНФОРМАТИКИ РАЗРАБОТКА ПОДСИСТЕМЫ ВЫВОДА В ДИАГНОСТИЧЕСКОЙ ЭКСПЕРТНОЙ СИСТЕМЕ ДИПЛОМНЫЙ ПРОЕКТ Пояснит ельная записка Листов 23 Студент Добрынин Роман Валентинович " " _______ 1999г Научный руководитель Попов Иван Геннадьевич, м.н.с . ИСИ СО РАН " " _______1999г Новосибирск 1999 СОДЕРЖАНИЕ 1. Введение 3 2. Описание предметной области 4 2.1. Экспертные системы , их назнач ение и структура 4 2.2. Задачи диагностики 5 2.3. Процесс приобретения знаний 5 2.4. Машина вывода 6 2.5. Недоопределенные модели 6 3. Постановка задачи 9 3.1. Формулировка в пользовательских терминах 9 3.2. Входные данные 9 3.3. Выходные данные 9 3.4. Специальные требования 10 4. Методы и алгоритмы решения задачи 11 4.1. Методы и определения 11 4.2. Структуры данных 11 4.3. Алгоритм решения задачи 13 4.4. Специальный инструментарий 15 5. Схем а функционирования программного средства 16 5.1. Модель интерфейса (инфологическая ) 17 5.2. Связь компонент во время решения задачи 17 6. Описание программы 18 7. Отладка и тестирование программного средства 19 8. Руководство по эксплуатации программного средства 20 8.1. Руководство системного программиста 20 8.2. Руководства пользователя 20 Заключение 22 Литература 23 1. ВВЕДЕНИЕ Тема проекта – «Разработка подсистемы вывода в диагностической экспертной системе» . Данная дипломная работа была выполнена на кафедре систем информатики в лаборатории искусственного интеллекта , Института Систем Информатики Сибирского Отделения Российской Академии Наук . (ИСИ СО РАН ). Научный руководитель – Попов Иван Геннадьевич. Работа выполнялась с 1 сентября 1998 года по 30 мая 1999 года . Тип работы – инженерная ; является плановой разработкой института. Особенностью данной дипломной работы является возможность ее работы с нечеткими и неточными входными данными . При этом подсист ема вывода будет использовать экспертные знания , также допускающие элементы нечеткости и неточности . Работа является коллективной . В мою часть работы входит создание машины вывода диагностической экспертной системы . Разработка данного дипломного проекта подразумевает выполнение следующих работ : · Разработка диагностической экспертной системы · Разработка машины вывода диагностической экспертной с истемы · Программная реализация машины вывода диагностической экспертной системы · Создание модуля для обработки входных данных , как с клавиатуры , так и из файлов на диске. 2. ОПИСАНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ Данная дипломная работа разрабатывалась в лаб оратории искусственного интеллекта . Рынок современных диагностических систем не сильно «балует» пользователей новыми поступлениями [1]. Поэтому мы решили написать программу , аналогичную уже имеющимся , выпущенным в 1990-1994 гг , но более современную , с эрг о номичным многоуровневым пользовательским интерфейсом , под Операционную систему Windows 95/98. Аналогом данной экспертной системы послужила известная в свое время система Di-Gen, обеспечивающая медицинскую диагностику пациентов и техническую диагностику дом енных печей. Данная работа выполнялась в среде Borland Delphi 4, объектно-ориентированной среде программирования. 2.1. ЭКСПЕРТНЫЕ СИСТЕМЫ , ИХ НАЗНАЧЕНИЕ И СТРУКТУРА По определению Комитета по Экспертным Системам Британского Компьютерного Общества , под эк спертной системой понимается « воплощение в ЭВМ компонента опыта эксперта , основанного на знании , в такой форме , что машина может дать интеллектуальный совет или принять интеллектуальное решение относительно обрабатываемой функции» . Желательная дополнитель ная характеристика (которую многие считают главной ) - способность системы по требованию объяснить ход своих рассуждений понятным для спрашивающего образом [2]. Предметом теории экспертных систем служат методы и приемы конструирования систем , компетентных в некоторой узкоспециальной области . Эта компетентность состоит из знания конкретной области , понимания задач из этой области и из умения решать некоторые такие задачи . Знания , относящиеся к любой специальности , обычно существуют в двух видах : общедоступны е и индивидуальные . Общедоступные знания - это факты , определения и теории , которые обычно изложены в учебниках и справочниках по данной области . Но , как правило , компетентность означает нечто большее , чем владение такими общедоступными сведениями . Специ а листы в большинстве случаев обладают ещё и индивидуальными знаниями , которые отсутствуют в опубликованной литературе . Эти личные знания в значительной степени состоят из эмпирических правил - эвристик , которые позволяют экспертам при необходимости выдвига т ь разумные предположения , находить перспективные подходы к задачам и эффективно работать при зашумленных или неполных данных . Центральной задачей при построении экспертных систем является выявление и воспроизведение таких знаний. В архитектуре экспертной с истемы можно выделить три основных компонента : база знаний , машина вывода и интерфейс пользователя. · База знаний содержит факты , правила и эвристики , представляющие экспертные знания о предметной области. · Машина вывода содержит стратегии и управляющ ие структуры , используемые для применения знаний , содержащихся в базе знаний для решения поставленной проблемы. · Пользовательский интерфейс управляет взаимодействием с пользователем . Сюда входят и управление экраном , и организация диалога , и объяснитель ные способности системы. 2.2. ЗАДАЧИ ДИАГНОСТИКИ Одной из типичных задач экспертной системы является задача диагностики [3]. Диагностика - это процесс поиска неисправностей в обследуемой системе (или определение стадии заболевания в живой системе ), осно ванный на интерпрета ции данных , возможно зашумленных . Нахождение согласованных и корректных интер претаций является основным требованием в этой задаче . Одно из необходимых усло вий достижения результата - понимание диагностом структурной организации обс л е дуемой области и механизмов взаимодействия между различными подсистемами. В задачах диагностики необходимо предположительное рассуждение . Во многих диагностиче ских процедурах с успехом используются предположения относительно степени надежности датчиков, т.е . степени надежности вводимой информации . Так же , в задаче диагностики можно столкнуться с ситуацией , которая изменяется во времени по мере того , как происходит развитие болезни (или в связи с предпринимаемым лечением ). И наконец данные , поступающие о т датчиков , часто оказываются зашумленными . Это существенный момент в задаче диагностики , где рассуждения проводятся на основании результатов измерений. К примеру , задача медицинской диагностики заключается в обнаружении заболеваний на основе интерпретаци и данных о текущем состоянии больного , которые получаются в результате анализа жалоб пациента , его объективного осмотра , результатов лабораторных обследований и анализов. Среди задач диагностики наиболее сложными являются задачи дифференциальной диагнос тики . Их сложность определяется тем , что среди множества заболеваний , имеющих общие признаки , надо выбрать наиболее вероятные. Для решения такого типа задач должна эффективно использоваться разрабатываемая оболочка. 2.3. ПРОЦЕСС ПРИОБРЕТЕНИЯ ЗНАНИЙ При обретение знаний - это процесс передачи и преобразования опыта по решению задач от некоторого источника знаний в программу. Процесс создания диагностической экспертной системы можно разделить на следующие этапы : · Настройка оболочки на конкретную проблем ную область , т.е . инженер знаний совместно с экспертом описывает основные термины , понятия ; формирует иерархию понятий (типа общее - частное ); определяет структуру основных фреймов , области з начения слотов , наследование свойств. · Наполнение оболочки предметными экспертными знаниями . Эксперт пополняет иерархию понятий конкретными фреймами ; устанавливает взаимосвязи между ними ; заполняет слоты фреймов. В нашем случае эксперт взаимодействует с экспертной системой непосредственно через интеллектуальную редактируемую программу . Т.е . вся работа инженера знаний на этих этапах уже должна быть заложена в программу . 2.4. МАШИНА ВЫВОДА Машиной вывода можно назвать набор средств , реализующих тот или иной способ рассуждения , технологию пои ска по базе знаний , обработку неопределенности и обработку ошибок. Методы рассуждений. Самые распространенные методы логического вывода - это прямая цепочка рассуждений (прямой вывод ) и обратная цепочка рассуждений (обратный вывод ). При решении задач диа гностики используется обратный вывод . Можно сказать , что обратный вывод белее эффективен , когда пользователь должен выбирать из набора возможных последствий как в случае медицинской или технической диагностики. В разрабатываемой оболочке реализуется ме ханизм смешанного вывода , который позволяет и прямой вывод от фактов к заключениям , и обратный - чтобы подтвердить или опровергнуть гипотезу. Управление достоверностью. Одной из важных особенностей экспертной системы является её способность работать с неп олной , неточной , недоопределенной информацией. Неточность в ЭС может возникать следующим образом : a) Ненадежный источник информации b) Несогласованность экспертов c) Противоречивая информация. Фактор уверенности предоставляет пользователю возможность указать степень уверенности в достоверности вводимой им информации . Так же фактор уверенности демонстрирует степень уверенности системы в достоверности сделанных ею логических заключений . Нечеткие рассуждения подходят для решения проблем , в которых испо льзуются такие неопределенные характеристики , как примерно , возможно , близко к . Нечеткая переменная может одновременно иметь более одного значения , каждое со своим коэффициентом уверенности. Важным свойством для экспертной системы является способность устанавливать порог уверенности . Машина вывода может работать таким обр азом , что будет рассматривать только те факты и гипотезы , которые имеют фактор достоверности выше установленного пользователем . Пользователь может ускорить процесс вывода , установив высокий порог достоверности и тем самым дать указание Машине вывода рассм а тривать только факты и гипотезы с высокой степенью достоверности . Так же , следует обратить внимание на ситуацию , когда пользователь в ответ на вопрос отвечает неизвестно . Основной принцип , кот орый реализуется в оболочке , состоит в том , что все проблемные знания описываются экспертом в объектно-ориентированном стиле , а продукционное представление знаний , используемое на более низком уровне , генерируются автоматически и скрыто от эксперта. Эти идеи и ложатся в основу технологических решений при конструировании оболочки. 2.5. НЕДООПРЕДЕЛЕННЫЕ МОДЕЛИ Характерными особенностями знаний о сложных фрагментах действительности являются их неполнота , неоднозначность , отсутствие точности – свойства , кот орые существенно затрудняют (а иногда и делают невозможным ) поиск адекватного решения задачи [4]. Любую модель надо строить с учетом принципиальной неполноты и принципиальной возможности ошибок и противоречий в написании задачи . Эти и другие так называемы е НЕ-факторы отражают то обстоятельство , что в реальном мире существуют в основном объекты , которым присущи все эти свойства или хотя бы одно из них. К настоящему времени наибольшее развитие получил НЕ-фактор , который известен , как недоопределенность конкре тных знаний . Недоопределенность связана с неполнотой доступной в данный момент информации о моделируемом фрагменте реальности . Эта неполнота касается в первую очередь значений величин объектов (например , около двух часов – о времени ), но может присутствов а ть и в случае неполноты информации о типах объектов (то ли окружность , то ли эллипс ) и о существующих отношениях между объектами (то ли раньше , то ли позже ). Мы назовем значение переменной неопределенным , если о нем известно лишь то , что оно равно одному и з элементов множества потенциальных значений . Значение считается определенным , если однозначно известен тот элемент множества потенциальных значений , которому оно равно . Типичным состоянием изучаемого объекта целесообразно считать недоопределенность : бесс порный факт принадлежности его значения какому-то нетривиальному подмножеству области определения . При этом потенциальное совпадение с тем или иным элементом этого множества считается равновероятным . Рассмотрим модель , которую будем называть обобщенной вы числительной моделью (ОВМ ): M = ( X , W , C , R ) , Где множества X и R имеют такую же семантику , как и в обычных вычислительных моделях , W – множество функций присваивания , а C – множество функций проверки корректности . Функция присваивания определяет способ запис и очередного значения в объект x X , а функция проверки корректности осуществляет контроль за правильностью вычисленных значений объекта x . Пусть x – переменная с областью определения X . Обозначим через * X множество всех подмно жеств X , без пустого . Элемент d * X , который содержит только одно значение из X , называется определенным . Все остальные элементы называются недоопределенными . Значение * x , соответствующее всему множеству X , будем называть полно й неопределенностью . ОВМ , в которой хотя бы один объект представлен недоопределенным типом данных , называется недоопределенной моделью (н-моделью ) [5]. Рассмотрим систему из двух линейных уравнений с двумя целочисленными переменными : x + y = 12 2* x = y Для предоставления целых констант данной системы (2 и 12) естественно воспользоваться предопределенным типом integer . Если переменным x и y также сопоставить тип integer , то получим традиционную модель . Найти решение в данном случае можно , только применяя любой из методов решения систем линейных уравнений . Если же для представления переменных x и y воспользоваться недоопределенным типом (например , nint ), то система уравнений становится н-моделью . Далее покажем внутреннее представление такой н-модели и алгор итм ее решения . Множество Х содержит все объекты данной н-модели : Х = x,y:nint; 12,2:integer . Так как множество Х содержит две переменные и две неизменяющиеся константы , множество функций присваивания ( W ) и множество функций порверки корректности (С ) со держат по два элемента : W = PRint ( x ), PRint ( y ) PRint – имя функции присваивания. C = PRDint ( x )< PRDint ( y ) PRDint – имя функции проверки корректности. Множество отношений (R) для данной системы уравнений содержит два отношения ( plus и umn ), св язывающие между собой переменные типов nint и integer (здесь мы игнорируем дополнительные переменные , которые , возможно , появились бы в результате компиляции исходных уравнений ): R = plus(12,x,y); umn(y,2,x) . Множество функций интерпретации отношений и з R можно представить следующим образом (в комментариях приведены описания функций в обычной записи ): Plus: minus 3 #y, 12, *x; (*y:=12-x*) (1) minus 3 #x, 12, *y; (*x:=12-y*) (2) umn: umn 3 #y, x, 2; (*y:=x*2* ) (3) del 3 # x , y , 2; (* x := y /2* ) (4) Напомним , что арифметические операции реализованы в соответствии с правилами интервальной математики. Технология недоопределенных вычислительных моделей позволяет обрабатывать неточные значения. 3. ПОСТАНОВК А ЗАДАЧИ В задачу данной дипломной работы входит разработка машины вывода диагностической экспертной системы . Особенностью разрабатываемой машины вывода является ее способность работать с неточными и нечеткими входными данными . При этом машина вывода буде т использовать экспертные знания , также допускающие элементы нечеткости и неточности . 3.1. ФОРМУЛИРОВКА В ПОЛЬЗОВАТЕЛЬСКИХ ТЕРМИНАХ Необходимо было разработать систему медицинской диагностики , которая позволяла бы на основе неполных данных ставить диагн оз с некоторой точностью , и выдавать , насколько точно она определила болезнь. 3.2. ВХОДНЫЕ ДАННЫЕ Входными данными моей части программы являются : · Ответы пользователя на вопросы системы. · База данных с описаниями симптомов · База данных с описанием болезней · Таблица соответствий между болезнями и симптомами · Таблица «весов» (вероятностей ) симптомов для болезней · База данных с данными о пациентах. Иначе говоря , входные данные можно разбить на два больших блока : · Данные , поступающие из пользов ательского интерфейса ( см . введение ) Сюда также входит и база данных о пациентах (их «больничные карточки» ) · Содержимое базы знаний , заполненной экспертом . База знаний хранится на жестком диске в виде четырех файлов ; ее структура описана подробно в разде ле 4. 3.3. ВЫХОДНЫЕ ДАННЫЕ Выходными данными программы является диагноз , построенный на основе наблюдаемых симптомов и базы знаний о болезнях . Этот диагноз выдается на экран в качестве окончательного ответа экспертной системы пользователю . Кроме того , ин формация об обнаруженной болезни и наблюдаемых симптомах заносится в карточку пациента . В процессе работы система генерирует несколько рабочих версий окончательного диагноза , и в конце происходит «отсеивание» лишних гипотез , которые имеют вес , меньший , че м некоторое значение , заранее заданное системным программистом . Например , в процессе работы сформировалось 5 версий с вероятностями от 67 до 98 %. Порог уверенности , заданный системным программистом – 75%. Тогда система выдаст все версии , вероятности кото рых больше 75%. Например , их 3. Болезнь 1 – 94% Болезнь 2 – 93% Болезнь 3 – 87% Болезнь 4 – 51% Болезнь 5 – 67% Система «отсеет» остальные болезни , кроме этих трех , и выдаст эти три в порядке убывания их вероятностей : У вас , скорее всего , Болезнь 1. Вероя тность – 94% Вероятность Болезни 2 – 93% Вероятность Болезни 3 – 87% Также следует упомянуть , что система ведет регистрацию больных , их болезней , и ведет статистику заболеваний : · Какая болезнь встречается чаще вообще, · Какая болезн ь встречается чаще всего , например , в летний период, · В каком возрасте люди чаще обращаются к врачу, · Люди какого пола чаще обращаются к врачу, · И тому подобное. 3.4. СПЕЦИАЛЬНЫЕ ТРЕБОВАНИЯ 3.1.1. Программные требования · Операционная система Win dows 95/98, NT · BDE (Borland Database Engine) 3.1.2. Аппаратные требования · Компьютер IBM PC, или совместимые 486 и выше · Манипулятор «Мышь» · Свободное дисковое пространство не менее 3 Мб. · SVGA Монитор 3.1.3. Требования к квалификации пользова теля · Для установки Borland DBE и правильной калибровки программного средства желательно присутствие системного программиста. · Для заполнения базы знаний необходимо присутствие эксперта , осуществляющего интеллектуальное заполнение базы знаний. 4. МЕТОДЫ И АЛГОРИТМЫ РЕШЕНИЯ ЗАДАЧИ 4.1. МЕТОДЫ И ОПРЕДЕЛЕНИЯ База знаний – Совокупность трех реляционных баз данных в формате Paradox 7.0: · База данных с описаниями болезней. · База данных с описаниями симптомов. · Таблица соответс твий симптомов и болезней. · Таблица весов симптомов для болезней. Вес – Вероятность той или иной болезни в процентах. Недоопределенная спецификация – Набор данных , на основе которого невозможно принять окончательное решение. Фактор уверенности – Фактор у веренности демонстрирует степень уверенности системы в достоверности сделанных ею логических заключений . Порог уверенности – число , заранее определенное пользователем , означающее максимальный вес болезни в данном случае , ниже которого гипотезы просто не р ассматриваются. 4.2. СТРУКТУРЫ ДАННЫХ Структуры данных данного программного средства – 4 таблицы формата Paradox 7.0 (работу с этими таблицами обеспечивает DBE и DBD , которые как раз поставляются в комплект с Borland Delphi с целью «безпроблемной» работы с базами данных практически любого формата ). Таблица клиентов № П . П. Наименование поля Тип Длина Краткое описание 1. Num_kard Numeric Номер карточки 2. Name Character 10 Имя 3. Last_name Character 15 Фамилия 4. Otchestvo Character 15 Отчество 5. Fotokard Character 12 Файл фотокарточки 6. Sex Logic 1 Пол 7. Date_bd Date Дата рождения 8. Date_create Date Дата регистрации 9. Date_change Date Дата последнего обследования Что касается пункта 5. ( fotokard ), то для этого специально был разрабо тан модуль для работы со сканером , чтобы можно было ввести фотокарточку пациента в его медицинскую карту. Таблица Болезней № П . П. Наименование поля Тип Длина Краткое описание 1. Num Numeric Идентификационный номер болезни 2. Name Character 15 Наиме нование болезни 3. File_name Character 12 Имя файла с рекомендация-ми 4. Work Numeric Поле используется для внутренних нужд Таблица симптомов № П . П. Наименование поля Тип Длина Краткое описание 1. Num Numeric Идентификационный номер 2. Name_s Character 15 Наименование симптома 3. File_name Character 12 Имя файла с реккомендациями 4. Work Numeric Поле используется для внутренних нужд Таблица соответствий S[1] … S[max] N[1] … Numeric N[max] Все значения таблицы – numeric. Число в пересечении колонок есть «указатель» на ту болезнь , на которую указывает определенный симптом , либо на тот симптом , на который указывает определенная болезнь. Таблица весов S[1] … S[max] B[1] … Numeric B [max] Таблица размером [Кол-во болезн ей ]х [Кол-во симптомов ]. Число в пересечении колонок – Вес данного симптома для данной болезни. 4.3. АЛГОРИТМ РЕШЕНИЯ ЗАДАЧИ Работа программы начинается с функции инициализации , которая ответственна за присвоение данным начального значения . После чего уп равление получает процедура “Главного меню” . Далее , в зависимости от действий пользователя , происходит вызов одной из нижеперечисленных процедур : 1) Работа с базами знаний ; 2) Работа с базой пациентов ; 3) Непосредственный запуск экспертной системы ; 4) Настройки ; 5) Контекстно-зависимая справочная система. В мою часть входила обработка следующих пунктов : 1) Работа с текущей базой знаний : · Считывание данных из файлов на диске. · Использование имеющейся там информации согласно нижеприведенному описани ю. 2) Обработка поступающей информации. 3) Принятие решения и выдача окончательного результата. На каждом шаге алгоритма у системы есть откат , т.е . у пользователя есть возможность , если он что-то забыл , вернуться в предыдущее состояние системы , нажав кноп ку «Назад» . Если же ему захочется все начать сначала , то , нажав кнопку «Отмена» , система вернется в первоначальное состояние. На вход системы (данные , введенные пользователем с клавиатуры ) изначально поступает неполная информация , вследствие чего система н е может однозначно поставить диагноз . Для решения данной проблемы используется следующий алгоритм : Ш Сбор предварительной информации . Первоначальный шаг . При входе в систему пользователь видит перед собой список всех симптомов , имеющихся в базе . Напротив выборочных пунктов списка симптомов пользователь выставляет “галочки” (те симптомы , которые он у себя наблюдает ). Нажав кнопку “Далее” система переходит к следующему пункту . Ш Составление первоначального списка болезней , к которым подходит данный набор симптомов. После ввода пользователя некоторых первоначальных симптомов , система анализирует , к каким болезням принадлежат данные симптомы . Алгоритм определения первоначального списка болезней : 1) Открываем таблицу соответствий 2) Для всех k=1 до максим ального числа симптомов : 3) Берем k-т ый симптом из первоначального списка ; 4) Смотрим в таблицу соответствий : простым циклом делаем полный перебор всех элементов (болезней ), стоящих в столбце данного симптома ; 5) Делаем проверку : 5.1) Если данная болез нь уже имеется в списке , то переходим к п .6; 5.2) Если элемент таблицы =0, то болезнь в список не включаем ; 6) Увеличиваем k на 1; 7) Если все симптомы ( k) перебраны , то первоначальный список болезней сформирован ; 8) Закрываем таблицу соответствий. Каж дый симптом может принадлежать сразу нескольким болезням , поэтому в первоначальном списке болезней болезней будет не столько же , сколько симптомов . Следует также учесть , что симптомы есть значимые и незначимые , т.е . вес симптома по отношению к какой-либо б олезни либо большой , либо малый . Данный процесс регулируется системой , поэтому никак не зависит от пользователя . Ш Уточнение информации. Имея начальный список болезней , система проводит их дифференциацию . Далее система начинает проводить “рассуждения” . Самые распространенные методы логического вывода - это прямая цепочка рассуждений (прямой вывод ) и обратная цепочка рассуждений (обратный вывод ). В основном , при решении задач диагностики используется обратный вывод . Можно сказать , что обратный вывод бо лее эффективен , когда пользователь должен выбирать из набора возможных последствий как в случае медицинской или технической диагностики . В разрабатываемой системе реализуется механизм смешанного вывода , который позволяет и прямой вывод от фактов к закл ю чениям , и обратный - чтобы подтвердить или опровергнуть гипотезу. В процессе уточнения информации система , задавая пользователю вопросы , проводит «отсеивание» лишних гипотез , имеющих малый вес . Для просчета веса гипотез система открывает данные из файла н а диске , а именно таблицу весов . Таблица весов размером [Кол-во болезней ] на [Кол-во симптомов ] имеет в пересечении клеток число , равное весу данного симптома для данной болезни ; порог уверенности заранее задается в настройках. Ш Рекомендации и сбор доп олнительной информации. Если пользователь не смог ответить на некоторые вопросы на этапе первоначального опроса , то система дает рекомендации , как можно собрать эти данные , (сдать анализы , провести ЭКГ ) и на основе этого собирает дополнительные данные . Рек омендации система дает только на гипотезы , имеющие большой вес (чтобы подтвердить их весомость , и чтобы пациенту не стоило сдавать лишних анализов ). Ш Принятие окончательного решения . В процессе предыдущих шагов выявляется несколько версий окончательног о результата , которые система распределяет по порядку возрастания вероятности той или иной болезни . Вероятности болезней также считаются по таблице весов . Алгоритм подсчитывания веса : § Выбирается болезнь из списка болезней , сформированного на предыдущ их этапах. § Система просматривает , какие симптомы из списка симптомов имеют отношение к данной болезни. § Происходит суммирование весов всех симптомов , имеющих отношение к данной болезни (опять же по таблице весов ). § Запоминание конечного веса болезн и . После подсчета весов всех болезней выбирается болезнь , имеющая максимальный вес , и происходит нормировка весов болезней (чтобы они были в пределах от 1 до 100) Далее система выбирает те болезни , вероятности которых находятся в некоторых рамках , заранее определенных системным программистом (так называемый “порог уверенности” ). Значение порога уверенности можно задать в настройках программы. Формула для подсчета веса болезни : ves_b(j) = [tab_ves(ves(i,j))]*k(i) То есть , для конечного подсчета вероятности не применяется умножение веса на коэффициенты , а идет суммирование всех элементов таблицы весов (tab_ves(ves(i,j)) имеющих отношение к болезни . Далее происходит нормировка всех конечных вероятностей с целью “укладывания” их в промежуток от 1..100. (Чтобы окончательный ответ измерялся в процентах ). k (i) – коэффициент присутствия симптома (равен либо «0» , либо « 1» ). Пример : Голова болит Провалы памяти Частые припадки В ухе стреляет Челюсть сводит Внутриче-репное давление Скле роз 10 106 64 55 20 43 Например , в процессе работы были выбраны симптомы 2,4 и 6. Система будет суммировать вес : Ves_b( " склероз " )=10*0+106*1+64*0+55*1+20*0+43*1=204. Далее : Ё У всех болезней таким образом будет вычислен вес. Ё Выберется максимальный ве с болезни из списка болезней . J=-1; // отрицательное значение для начала. For i=1 to 15 do ( if j>max(ves_b(i)) // если j больше максимального значения , j=max(ves_b(i)); // то j=max. Ё Допустим , максимальный вес = 300. Ё Веса всех болезней раз делятся на 300 (нормируются ), чтобы быть в пределах от 0 до 1. Ё Таким образом , вес болезни “склероз” = 204/300=0.68 (т.е . 68%). Это и есть конечный итог. Ш Выдача конечного результата . Система выдает те болезни , которые были выбраны в предыдущем пункт е в порядке процентного убывания , на экран. Пример : У вас , скорее всего , Склероз . Вероятность – 94% Вероятность физического повреждения мозга – 93% Вероятность простой потери памяти – 87% В данном случае , порог уверенности , установленный системн ый программистом , составляет 92%, поэтому все болезни , имеющие веса , не превышающие планки 92%, просто отсеиваются. 4.4. СПЕЦИАЛЬНЫЙ ИНСТРУМЕНТАРИЙ Для разработки данной программы была выбрана программная среда Borland Delphi 4.0. Для создания баз данн ых была использована разработка фирмы Borland - DBD (Database Desktop). Среда Borland Delphi была выбрана не случайным образом : · Было решено , что разрабатываемая система , в отличие от ее предшественника , системы Di-Gen, будет функционировать в операционн ых системах Windows 95/98 или NT, имеющих наиболее широкое распространение. · Кроме того , Borland Delphi предоставляет достаточно высокий уровень для создания стандартного пользовательского интерфейса в операционной системе Windows. · В стандартную поста вку Borland Delphi входит Borland DBD, позволяющая создавать и редактировать базы данных практически любого формата. 5. СХЕМА ФУНКЦИОНИРОВАНИЯ ПРОГРАММНОГО СРЕДСТВА 5.1. МОДЕЛЬ ИНТЕРФЕЙСА 5.2. СВЯЗЬ КОМПОНЕНТ ВО ВРЕМЯ РЕШЕНИЯ ЗАДАЧИ (ОБЩАЯ СХЕМА ) 6. ОПИСАНИЕ ПРОГРАММЫ Если процедуре , ли бо функции в качестве параметра передается Sender типа TObject, то он не является входным параметром функции , так как он является стандартным параметром , сгенерированным языком Delphi. Входные же параметры большей частью берутся из глобальных переменных , л ибо из полей баз данных . Function Belongs(Value : Integer) : Boolean; Входные данные : Симптом ; Поле базы болезней Выходные данные : Существует или нет данный симптом у данной болезни. Procedure Find_Pred_Bol; Входные данные : База симптомов ; База болезн ей Выходные данные : Предварительный список болезней Procedure TForm2.BitBtn1Click(Sender: TObject); Входные данные : Номер предыдущего процесса ; Состояние полей входного процесса Выходные данные : Номер следующего процесса Procedure TForm2.BitBtn2Click(Sen der: TObject); Входные данные : Номер текущего процесса Выходные данные : Номер следующего процесса Procedure TForm2.FormActivate(Sender: TObject); Входные данные : Идентификатор первого запуска Выходные данные : Инициализация некоторых параметров Procedure TForm2.N12Click(Sender: TObject); Входные данные : - Выходные данные : Сброс ЭС и приведение ее в «стартовое положение» Procedure TForm2.Timer1Timer(Sender: TObject); Входные данные : Заполненные поля форм Выходные данные : Разрешение /запрещение на выполнение следующего процесса 7. ОТЛАДКА И ТЕСТИРОВАНИЕ ПРОГРАММНОГО СРЕДСТВА Для тестирования программы были использованы стандартные встроенные в программную среду Borland Delphi, средства отладки . Также в экспериментальных целях было произведе но несколько пробных запусков на базе знаний , содержащих 7 болезней и 15 симптомов . Во всех случаях система корректно ставила диагноз . В данный момент система находится на стадии комплексного тестирования . Окончательного варианта на других базах знаний не существует. Для проверки корректности вычисления конечного результата был произведен следующий тест : Было специально отобрано две болезни , имеющие очень близкие симптомы [6] ; с целью проверки корректности системы был произведен запуск системы , на вход кот орой были поданы именно эти схожие симптомы . Система после сбора информации о болезнях корректно выявила заранее намеченную болезнь (В конечном итоге вероятности этих болезней были очень близки по значению ). Пример ( Выдержка из книги [7]): Корь – острое ви русное заболевание . Начинается остро , с подъема температуры до 39-40 С , головной боли , недомогания , насморка , кашля , слезотечения , светобоязни . На 2-3 день на слизистой оболочке щек , десен появляются пятна Филатова – Коплика , напоминающие рассыпанную манную крупу . Затем появляется полиморфная сыпь , проходящая период пигментации и отрубевидного шелушения . Лечение в большинстве случаев проводят в домашних условиях . Госпитализации подлежат дети с тяжелыми формами болезни , с ос ложнениями , по эпидемиологическим и бытовым показаниям (из общежитий , интернатов ). При выраженном конъюнктивите глаза промывают раствором борной кислоты , закапывают альбуцид . Больному необходим постельный режим на протяжении всего лихорадочного периода , у д обное положение в постели , чтобы свет не падал в глаза . В помещении проводят только влажную уборку , часто проветривают комнату . Регулярное умывание , чистота полости рта , глаз , носа – необходимые условия ухода за больным корью . Показано обильно питье : соки, чай с лимоном , кефир и т.п. В данном случае все симптомы перечислены налицо . Весомыми симптомами (имеющими относительно большой вес ) в данном случае являются : светобоязнь , появление пятен Филатова - Коплика , переходящих в полиморфную сыпь . Остальные симпт омы не являются особо весомыми ( подъем температуры , недомогание , насморк … ), так как их наличие также возможно и в других болезнях , но они вносят свой вклад в определение итогового веса болезни. Здесь также сказано и про лечение (профилактику ), информация о котором находится в отдельном файле на диске . 8. РУКОВОДСТВО ПО ЭУСПЛУАТАЦИИ ПРОГРАММНОГО СРЕДСТВА 8.1. РУКОВОДСТВО СИСТЕМНОГО ПРОГРАММИСТА Для корректной работы системы ее необходимо правильно установить (и конфигурировать ). Установк а производится в несколько этапов : a) Проверить наличие установленного Borland DBE. b) Если он отсутствует , то при установке одного из следующих продуктов фирмы Borland: · Delphi · Power Builder · C++ версии 4.0 и выше необходимо отметить галочкой пун кт установки DBE . c) Скопировать поставляемые файлы в любую директорию по желанию. d) Отредактировать файл config.cfg : Первая строка – полный путь до файлов баз данных . По умолчанию – диск :\ каталог\ BASE. Вторая строка – полный путь до файлов картинок ( фотографий ). По умолчанию – диск :\ каталог\ image Третья строка – полный путь до файлов текстов (рекомендаций по излечению болезней и сбору дополнительной информации ). По умолчанию – диск :\ каталог\ TXT. e) По желанию пользователя , вы можете создать ярлык на рабочем столе для запуска системы. 8.2. РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ a) Запустите программу odesa.exe. Если не знаете , как ее запустить , то обратитесь к системному программисту с просьбой создать для нее ярлык на рабочем столе Windows. После появления окн а « About» следует нажать кнопку «продолжить» . После этого перед вами появится основная форма : b) Выберите интересующий вас пункт меню . Следуйте появл яющимся на экране инструкциям. c) В случае , если вы затрудняетесь , то в любом месте программы можно вызвать контекстно-зависимую справку. d) При работе с базой знаний вы можете использовать всплывающее меню , предоставляющее вам дополнительные удобства. Нажатие кнопки можно осуществить следующими способами : · При помощи манипулятора «мышь» установите курсор на нужную кнопку и нажмите левую клавишу «мыши». · При помощи клавиш управления курсором или клавиши « TAB» установите фокус на нужную кнопку (при эт ом она будет обведена жирной черной рамкой ) и нажмите клавишу « Enter». · Если на нужной кнопке имеется подчеркнутый символ , то осуществить нажатие этой кнопки можно с помощью удерживания клавиши « Alt» и нажатия соответствующего символа. Вызов соответству ющего пункта меню : · При помощи манипулятора «мышь» установите курсор на нужный пункт меню и нажмите левую клавишу «мыши». · Нажмите клавишу « F10» . При этом у вас выделится первый пункт меню . При помощи клавиш управления курсором или клавиши « TAB» устано вите фокус на нужный пункт меню (при этом она будет обведена жирной черной рамкой ) и нажмите клавишу « Enter». · Если на нужном пункте меню имеется подчеркнутый символ , то осуществить нажатие этой кнопки можно с помощью удерживания клавиши « Alt» и нажатия соответствующего символа. · Напротив некоторых команд меню стоят комбинации управляющих клавиш , за счет которых вы можете вызвать тот или иной пункт . Например , « Ctrl+O». Вызов всплывающего меню : · Нажмите правую кнопку «мыши» . При этом на месте указател я курсора появится вертикально расположенное меню . Выбрать необходимый пункт данного меню можно любым из способов , описанных в примечании 2. ЗАКЛЮЧЕНИЕ В рамках поставленной задачи требовалось создать систему медицинской диагностики (с возможностью дальнейшего расширения области ее знаний ). Особенностью системы является возможность ее работы с нечеткими входными данными . Знания эксперта также могут допускать элементы нечеткости и недоопределенности. Была выполнена следующая работа : · Создана машина вывода диагностической экспертной системы. · Создан модуль для обработки входных данных , как при вводе с клавиатуры , так и при считывании информации из файлов базы знаний на диске. · Выполнено несколько пробных запусков программы на основе базы знаний величиной в 7 болезней и 15 симптомов. · Доработка и «отшлифовка» программы для возможности ее дальнейшей передачи. Поставленная задача была выполнена . В результате была создана диагностическая система с машиной вывода . В данный момент она на ходится в стадии комплексного тестирования . Результаты предварительного тестирования выявили несколько недостатков , и в настоящий момент идет работа по их устранению. В заключении я хочу выразить благодарность своему научному руководителю за умелое руков одство м.н.с . ИСИ СО РАН Попову Ивану Геннадьевичу и заведующему кафедрой искусственного интеллекта , с.н.с . к.т.н . ИСИ СО РАН Загорулько Юрию Алексеевичу. ЛИТЕРАТУРА Гринберг С.Я . Обзор средств построения эксперт ных систем // Ротапринт ВЦ СО РАН , 1993г. Построение экспертных систем // под ред . Хейеса-Рота Ф ., Уотермана Д ., Лената Д .; М .:Мир ,1987г. Гринберг С.Я.,Яхно Т.М . Решение задач технической диагностики с использованием оболочки Di*Gen // Техни ческая кибернетика N5, 1990г ., с .147-153. Проблемы представления и обработки не полностью определенных знаний // под ред . Швецова И.Е . Москва-Новосибирск , 1996. В.В . Телерман , В.Е . Дмитриев . Технология программирования на основе недоопределен ных моделей // Новосибирск , 1995. Коструб А.А . Медицинский справочник туриста // Москва . Профиздат : 1996г. Справочник медицинской сестры по уходу // под ред . Н.Р . Палеева // Издательство «Медицина» , Москва , 1981. АННОТАЦИЯ дипломной работы студента 541-й группы II курса технического факультета ВКИ НГУ Добрынина Романа Валентиновича. «Разработка подсистемы вывода в диагностической экспертной системе». Тема проекта – «Разработка подсистемы вывода в диагностической экспертной системе» . Данн ая дипломная работа была выполнена на кафедре систем информатики в лаборатории искусственного интеллекта Института Систем Информатики Сибирского Отделения Российской Академии Наук . (ИСИ СО РАН ). Научный руководитель – Попов Иван Геннадьевич . Работа выполн я лась с 1 сентября 1998 года по 30 мая 1999 года . Тип работы – инженерная ; является плановой разработкой института. Задачей дипломной работы является разработка подсистемы вывода и обработки знаний в диагностической экспертной системе по медицинской диагнос тике . Особенностью создаваемой системы является возможность ее работы с нечеткими и неточными входными данными . При этом подсистема вывода будет использовать экспертные знания , также допускающие элементы нечеткости и неточности . Аналогом данной экспертной системы послужила известная в свое время экспертная система « Di - Gen » , обеспечивающая медицинскую диагностику пациентов и техническую диагностику доменных печей. Данная же система аналогична предыдущим экспертным системам типа « Di - Gen »-а , но более современ ная , с эргономичным многоуровневым интерфейсом и разработана под операционную систему Windows 95/98. В рамках поставленной задачи работа была выполнена . В данный момент программа находится в стадии комплексного тестирования . Результаты предварительного тес тирования выявили несколько недостатков и в данный момент идет работа по их устранению . ОТЗЫВ на дипломную работу студента II курса технического факультета ВКИ НГУ Добрынина Романа Валентиновича. «Разработка подсистемы вывода в диагностической экспе ртной системе». Данная дипломная работа проводилась в рамках разработки среды конструирования диагностических экспертных систем , ориентированной на задачи медицинской диагностики . Эта среда должна обеспечивать возможность создания баз знаний для разных об ластей медицинской диагностики , их просмотра и редактирования , и порождения на их основе специализированных диагностических систем . Одной из основных особенностей среды является возможность обработки неточной информации . Порожденная экспертная система дол ж на обеспечивать полный цикл диагностики пациента , определение диагноза по введенным симптомам и ведения истории болезни . Экспертная система должна обладать удобным пользовательским интерфейсом и справочной системой. Задачей данной дипломной работы являлась разработка подсистемы вывода и обработки знаний в диагностической системе . Необходимо было разработать механизм логического вывода , который на основании введенных симптомов определял диагноз пациента . Этот вывод должен осуществляться в условиях неточной и нформации о наблюдаемых симптомах , обеспечивать интерактивный диалог с пользователем для их уточнения и производить ранжирование различных версий диагноза для определения наиболее вероятных. В целом , дипломник с задачей справился . Им были разработаны струк тура для представления базы знаний и модуль логического вывода для определения диагноза в условиях неточной информации о симптомах . Для этого использовался механизм связанных с симптомами весов и определение по ним вероятности выводимого диагноза . Для уто ч нения симптомов предусмотрены средства для ведения диалога с пользователем. Однако , следует отметить , что не все свойства симптомов , которые были бы полезны для определения диагноза , включаются в базу знаний и используются на этапе логического вывода , что в результате снижает точность определения диагноза . Следовало внимательнее изучить модели представления и обработки знаний , используемые в других системах этого класса. Учитывая вышесказанное , считаю , что работа заслуживает оценки "хорошо ". Научный руков одитель : м.н.с . РосНИИ ИИ /Попов И.Г ./
1Архитектура и строительство
2Астрономия, авиация, космонавтика
 
3Безопасность жизнедеятельности
4Биология
 
5Военная кафедра, гражданская оборона
 
6География, экономическая география
7Геология и геодезия
8Государственное регулирование и налоги
 
9Естествознание
 
10Журналистика
 
11Законодательство и право
12Адвокатура
13Административное право
14Арбитражное процессуальное право
15Банковское право
16Государство и право
17Гражданское право и процесс
18Жилищное право
19Законодательство зарубежных стран
20Земельное право
21Конституционное право
22Конституционное право зарубежных стран
23Международное право
24Муниципальное право
25Налоговое право
26Римское право
27Семейное право
28Таможенное право
29Трудовое право
30Уголовное право и процесс
31Финансовое право
32Хозяйственное право
33Экологическое право
34Юриспруденция
 
35Иностранные языки
36Информатика, информационные технологии
37Базы данных
38Компьютерные сети
39Программирование
40Искусство и культура
41Краеведение
42Культурология
43Музыка
44История
45Биографии
46Историческая личность
47Литература
 
48Маркетинг и реклама
49Математика
50Медицина и здоровье
51Менеджмент
52Антикризисное управление
53Делопроизводство и документооборот
54Логистика
 
55Педагогика
56Политология
57Правоохранительные органы
58Криминалистика и криминология
59Прочее
60Психология
61Юридическая психология
 
62Радиоэлектроника
63Религия
 
64Сельское хозяйство и землепользование
65Социология
66Страхование
 
67Технологии
68Материаловедение
69Машиностроение
70Металлургия
71Транспорт
72Туризм
 
73Физика
74Физкультура и спорт
75Философия
 
76Химия
 
77Экология, охрана природы
78Экономика и финансы
79Анализ хозяйственной деятельности
80Банковское дело и кредитование
81Биржевое дело
82Бухгалтерский учет и аудит
83История экономических учений
84Международные отношения
85Предпринимательство, бизнес, микроэкономика
86Финансы
87Ценные бумаги и фондовый рынок
88Экономика предприятия
89Экономико-математическое моделирование
90Экономическая теория

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

Узнайте стоимость курсовой, диплома, реферата на заказ.

Обратите внимание, реферат по программированию "Разработка подсистемы вывода в диагностической экспертной системе", также как и все другие рефераты, курсовые, дипломные и другие работы вы можете скачать бесплатно.

Смотрите также:


Банк рефератов - РефератБанк.ру
© РефератБанк, 2002 - 2016
Рейтинг@Mail.ru