PDA-0571 (Разработка подсистемы вывода в диагностической экспертной системе)
Описание файла
Документ из архива "Разработка подсистемы вывода в диагностической экспертной системе", который расположен в категории "". Всё это находится в предмете "информатика" из , которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "рефераты, доклады и презентации", в предмете "информатика, программирование" в общих файлах.
Онлайн просмотр документа "PDA-0571"
Текст из документа "PDA-0571"
23
ГОСУДАРСТВЕННЫЙ КОМИТЕТ РОССИЙСКОЙ ФЕДЕРАЦИИ ПО ВЫСШЕМУ ОБРАЗОВАНИЮ
НОВОСИБИРСКИЙ ОРДЕНА ТРУДОВОГО КРАСНОГО ЗНАМЕНИ
ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ВЫСШИЙ КОЛЛЕДЖ ИНФОРМАТИКИ
ТЕХНИЧЕСКИЙ ФАКУЛЬТЕТ
КАФЕДРА СИСТЕМ ИНФОРМАТИКИ
РАЗРАБОТКА ПОДСИСТЕМЫ ВЫВОДА В ДИАГНОСТИЧЕСКОЙ ЭКСПЕРТНОЙ СИСТЕМЕ
ДИПЛОМНЫЙ ПРОЕКТ
Пояснительная записка
Листов 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 сентября 1998 года по 30 мая 1999 года. Тип работы – инженерная; является плановой разработкой института.
Особенностью данной дипломной работы является возможность ее работы с нечеткими и неточными входными данными. При этом подсистема вывода будет использовать экспертные знания, также допускающие элементы нечеткости и неточности.
Работа является коллективной. В мою часть работы входит создание машины вывода диагностической экспертной системы.
Разработка данного дипломного проекта подразумевает выполнение следующих работ:
-
Разработка диагностической экспертной системы
-
Разработка машины вывода диагностической экспертной системы
-
Программная реализация машины вывода диагностической экспертной системы
-
Создание модуля для обработки входных данных,
как с клавиатуры, так и из файлов на диске.
-
ОПИСАНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ
Данная дипломная работа разрабатывалась в лаборатории искусственного интеллекта. Рынок современных диагностических систем не сильно «балует» пользователей новыми поступлениями [1]. Поэтому мы решили написать программу, аналогичную уже имеющимся, выпущенным в 1990-1994 гг, но более современную, с эргономичным многоуровневым пользовательским интерфейсом, под Операционную систему Windows 95/98.
Аналогом данной экспертной системы послужила известная в свое время система Di-Gen, обеспечивающая медицинскую диагностику пациентов и техническую диагностику доменных печей.
Данная работа выполнялась в среде Borland Delphi 4, объектно-ориентированной среде программирования.
-
ЭКСПЕРТНЫЕ СИСТЕМЫ, ИХ НАЗНАЧЕНИЕ И СТРУКТУРА
По определению Комитета по Экспертным Системам Британского Компьютерного Общества, под экспертной системой понимается « воплощение в ЭВМ компонента опыта эксперта, основанного на знании, в такой форме, что машина может дать интеллектуальный совет или принять интеллектуальное решение относительно обрабатываемой функции». Желательная дополнительная характеристика (которую многие считают главной) - способность системы по требованию объяснить ход своих рассуждений понятным для спрашивающего образом [2].
Предметом теории экспертных систем служат методы и приемы конструирования систем, компетентных в некоторой узкоспециальной области. Эта компетентность состоит из знания конкретной области, понимания задач из этой области и из умения решать некоторые такие задачи. Знания, относящиеся к любой специальности, обычно существуют в двух видах: общедоступные и индивидуальные. Общедоступные знания - это факты, определения и теории, которые обычно изложены в учебниках и справочниках по данной области. Но, как правило, компетентность означает нечто большее, чем владение такими общедоступными сведениями. Специалисты в большинстве случаев обладают ещё и индивидуальными знаниями, которые отсутствуют в опубликованной литературе. Эти личные знания в значительной степени состоят из эмпирических правил - эвристик, которые позволяют экспертам при необходимости выдвигать разумные предположения, находить перспективные подходы к задачам и эффективно работать при зашумленных или неполных данных. Центральной задачей при построении экспертных систем является выявление и воспроизведение таких знаний.
В архитектуре экспертной системы можно выделить три основных компонента: база знаний, машина вывода и интерфейс пользователя.
-
База знаний содержит факты, правила и эвристики, представляющие экспертные знания о предметной области.
-
Машина вывода содержит стратегии и управляющие структуры, используемые для применения знаний, содержащихся в базе знаний для решения поставленной проблемы.
-
Пользовательский интерфейс управляет взаимодействием с пользователем. Сюда входят и управление экраном, и организация диалога, и объяснительные способности системы.
-
ЗАДАЧИ ДИАГНОСТИКИ
Одной из типичных задач экспертной системы является задача диагностики [3].
Диагностика - это процесс поиска неисправностей в обследуемой системе (или определение стадии заболевания в живой системе), основанный на интерпретации данных, возможно зашумленных. Нахождение согласованных и корректных интерпретаций является основным требованием в этой задаче. Одно из необходимых условий достижения результата - понимание диагностом структурной организации обследуемой области и механизмов взаимодействия между различными подсистемами.
В задачах диагностики необходимо предположительное рассуждение. Во многих диагностических процедурах с успехом используются предположения относительно степени надежности датчиков, т.е. степени надежности вводимой информации. Так же, в задаче диагностики можно столкнуться с ситуацией, которая изменяется во времени по мере того, как происходит развитие болезни (или в связи с предпринимаемым лечением). И наконец данные, поступающие от датчиков, часто оказываются зашумленными. Это существенный момент в задаче диагностики, где рассуждения проводятся на основании результатов измерений.
К примеру, задача медицинской диагностики заключается в обнаружении заболеваний на основе интерпретации данных о текущем состоянии больного, которые получаются в результате анализа жалоб пациента, его объективного осмотра, результатов лабораторных обследований и анализов.
Среди задач диагностики наиболее сложными являются задачи дифференциальной диагностики. Их сложность определяется тем, что среди множества заболеваний, имеющих общие признаки, надо выбрать наиболее вероятные.
Для решения такого типа задач должна эффективно использоваться разрабатываемая оболочка.
-
ПРОЦЕСС ПРИОБРЕТЕНИЯ ЗНАНИЙ
Приобретение знаний - это процесс передачи и преобразования опыта по решению задач от некоторого источника знаний в программу.
Процесс создания диагностической экспертной системы можно разделить на следующие этапы:
-
Настройка оболочки на конкретную проблемную область, т.е. инженер знаний совместно с экспертом описывает основные термины, понятия; формирует иерархию понятий (типа общее - частное ); определяет структуру основных фреймов, области значения слотов, наследование свойств.
-
Наполнение оболочки предметными экспертными знаниями. Эксперт пополняет иерархию понятий конкретными фреймами; устанавливает взаимосвязи между ними; заполняет слоты фреймов.
В нашем случае эксперт взаимодействует с экспертной системой непосредственно через интеллектуальную редактируемую программу. Т.е. вся работа инженера знаний на этих этапах уже должна быть заложена в программу.
-
МАШИНА ВЫВОДА
Машиной вывода можно назвать набор средств, реализующих тот или иной способ рассуждения, технологию поиска по базе знаний, обработку неопределенности и обработку ошибок.
Методы рассуждений.
Самые распространенные методы логического вывода - это прямая цепочка рассуждений (прямой вывод) и обратная цепочка рассуждений (обратный вывод).
При решении задач диагностики используется обратный вывод. Можно сказать, что обратный вывод белее эффективен, когда пользователь должен выбирать из набора возможных последствий как в случае медицинской или технической диагностики.
В разрабатываемой оболочке реализуется механизм смешанного вывода, который позволяет и прямой вывод от фактов к заключениям, и обратный - чтобы подтвердить или опровергнуть гипотезу.
Управление достоверностью.
Одной из важных особенностей экспертной системы является её способность работать с неполной, неточной, недоопределенной информацией.
Неточность в ЭС может возникать следующим образом:
-
Ненадежный источник информации
-
Несогласованность экспертов
-
Противоречивая информация.
Фактор уверенности предоставляет пользователю возможность указать степень уверенности в достоверности вводимой им информации. Так же фактор уверенности демонстрирует степень уверенности системы в достоверности сделанных ею логических заключений.
Нечеткие рассуждения подходят для решения проблем, в которых используются такие неопределенные характеристики, как примерно, возможно, близко к. Нечеткая переменная может одновременно иметь более одного значения, каждое со своим коэффициентом уверенности.
Важным свойством для экспертной системы является способность устанавливать порог уверенности. Машина вывода может работать таким образом, что будет рассматривать только те факты и гипотезы, которые имеют фактор достоверности выше установленного пользователем. Пользователь может ускорить процесс вывода, установив высокий порог достоверности и тем самым дать указание Машине вывода рассматривать только факты и гипотезы с высокой степенью достоверности.
Так же, следует обратить внимание на ситуацию, когда пользователь в ответ на вопрос отвечает неизвестно.
Основной принцип, который реализуется в оболочке, состоит в том, что все проблемные знания описываются экспертом в объектно-ориентированном стиле, а продукционное представление знаний, используемое на более низком уровне, генерируются автоматически и скрыто от эксперта.