рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

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

Работа сделанна в 1996 году

Разработка фрагментов оболочки экспертной системы - Курсовой Проект, раздел Программирование, - 1996 год - Государственный Комитет Российской Федерации По Высшему Образованию Московски...

Государственный комитет Российской Федерации по Высшему Образованию Московский Государственный институт радиотехники, электроники и автоматики Факультет Кибернетики Кафедра ИТС Курсовой проект Дисциплина Фунциональное программирование Тема Разработка фрагментов оболочки экспертной системы Задание Л.10 Студент Рыбина М. А. Группа АИ-1-93 Руководитель Холкин И.И. МОСКВА 1996 Содержание Задание 3 Введение 1. Название программы и ее автор 2. Анализ предметной области 3. Выбор способа представления знаний 4. Разработка меню экспертной системы 5. Разработка процедур оболочки 6. Описание программы на micro-LISP 7. Краткое описание встроенных предикатов и функций micro- LISP, используемых в программе 8. Отладка программы 9. Инструкция пользователю и пример выполнения 23 Заключение 24 Библиографический список 26 Приложение А 27 Приложение В 35 Задание л.10 на курсовое проектирование по дисциплине Функциональное программирование студенту Рыбиной Марине Анатольевне группа АИ-1-1. Тема исследования Разработка фрагментов оболочки экспертной системы. 2. Исходные данные 2.1 Предметная область - заболевания гортани ларингит острый, ларингит хронический катаральный, ларингит хронический гипертрофический, ларингит хронический атрофический 2.2 Язык программирования microLISP 3. Перечень вопросов, подлежащих разработке 3.1 Провести анализ предметной области и выбрать способ представления знаний 3.2 Разработать меню, обеспечивающее взаимодействие пользователя с системой, предусмотрев режимы 2.1 Добавления в БЗ 2.2 Загрузки БЗ 2.3 Просмотра 2.4 Корректировки 2.5 Сохранения 2.6 Удаления 2.7 Логического вывода 2.8 Объяснения логического вывода 4. Перечень графических материалов 4.1 Структура меню 4.2 Структурная схема программы 5. Календарный план-график 5.1 Получение задания 5.2 Анализ задания, постановка задачи, подбор литературы 5.3 Анализ предметной области и проектирование БЗ 5.4 Разработка меню и структуры программы 5.5 Разработка процедур оболочки экспертной системы 5.6 Отладка программы 5.7 Оформление пояснительной записки и сдача на проверку 14.05.96 8. Защита 05.96 Руководитель Холкин И.И. Студент Рыбина М.А Введение Сегодня всем, кто работает в области информатики или интересуется этой новой областью науки, известен термин экспертные системы.

Экспертная система expert system, knowledge based system - это программная система, знания и умения которой сравнимы с умением и знаниями специалистов в какой-нибудь специальной области знаний.

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

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

Название программы и ее автор

. Анализ предметной области В данной курсовом проекте предметную область... кашель сначала сухой, затем с мокротой4. жжение в горле13. кашель при обострении14.

Выбор способа представления знаний

Некоторые экспертные системы могут также использовать новую информацию... Механизм вывода МВ 3. Интерфейс с пользователем и механизм вывода могут рассматриваться как ... способности к объяснению принятых решений и полученных результатов. Од... Таким образом, используя данные понятия, наша ПО на языке microLISP пр...

Разработка меню экспертной системы обеспечивающего заданные режимы Для обеспечения наиболее понятной работы с программой разработана иерархическая Структура меню. Система пользовательского интерфейса обеспечивает взаимодействие между экспертной системой и пользователем. Это взаимодействие обычно включает несколько функций 1. Обработка данных, полученных с клавиатуры, и высвечивание водимых и выводимых данных на экране. 2. Поддержка диалога между пользователем и системой. 3. Распознавание ситуации непонимания между пользователем и системой. 4. Обеспечение дружественности по отношению к пользователю. Система интерфейса с пользователем должна эффективно обрабатывать ввод и вывод.

Для этого необходимо обрабатывать вводимые и выводимые данные быстро, в ясной и выразительной форме.

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

Кроме того, система интерфейса должна поддерживать соответствующий диалог между пользователем и системой.

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

Структурная схема системы меню представлена на рис.1 Главное меню 1.Files 2.DataBase 3.Diagnosticka 4.Quit 1. LOAD 2. SAVE 1. ADD 2. DELETE 3. REDACT 4. VIEW Добавление Добавление Удаление Удаление Редактирование Редактирование симптомов болезней симптомов неисправностей симптомов неисправностей Объяснение логического вывода рис.1 Структурная схема меню 5. Разработка процедур оболочки 1. Процедура Загрузка loading загрузка БД производится путем загрузки файла с именем, указанным пользователем, в оперативную память для использования его содержимого в программе.

Вход Ввод имени файла для загрузки Загрузка файла с этим именем Выход 2. Процедура Сохранение saving сохранение БД означает запись ее содержимого из оперативной памяти в файл с именем, указанным пользователем. Эта процедура позволяет сохранить изменения, произведенные с БД во время работы. Вход Ввод имени файла для записи Запись БД в файл с этим именем Выход 3. Процедура Добавление adding добавление делится на добавление симптомов и добавление болезней.

В первом случае запрашивается название болезни, к которой нужно добавить симптом, затем вводится симптом, и происходит добавление. Имеется возможность добавить сразу несколько симптомов. Вход Ввод названия болезни Ввод симптома Добавление симптома к введенной ранее болезни - Еще Выход Добавление болезни осуществляется путем введения с клавиатуры нового названия болезни и ее симптомов для окончания ввода симптомов необходимо набрать end. Добавление происходит в конец БД. Вход Ввод названия болезни Ввод симптома end Добавление болезни и всех ее симптомов Выход 4. Процедура Просмотр viewing осуществляется просмотр всей БД, содержащейся в данный момент в оперативной памяти.

Вход Вывод названия болезни Вывод симптомов этой болезни Пуста БД Выход 5. Процедура Логический вывод expert консультация осуществляется следующим образом с помощью задания вопросов пользователю о том, есть ли у него какой-то симптом, программа определяет диагноз.

В процессе работы процедура в оперативной памяти формирует временные динамические базы данных БД-YES БД, содержащая симптомы, на которые пользователь ответил Да и БД-NO БД, содержащая симптомы, на которые пользователь ответил Нет. Для того, чтобы процедура вывела диагноз, необходимо, чтобы пользователь ответил Да на все вопросы о симптомах, характеризующих эту болезнь. Схема алгоритма данной процедуры представлена ниже. Вход конец Выбор болезни из БД Выход Выбор конец симптома этой болезни Вывод этой болезни Он Выход есть в БД- YES Он есть в БД- NO Вывод вопроса о том, есть ли у пользователя этот симптом Добавить его в Добавить его БД-YES в БД-NO Да 6. Процедура Объяснение логического вывода logout данная процедура выводит список симптомов болезни, которая была получена с помощью процедуры логического вывода, объясняя этим ее диагноз.

Вход Выбор определенной болезни из БД Вывод симптомов этой болезни Выход 7. Процедура Удаление deleting удаление делится на удаление симптомов и удаление болезней.

При удалении симптома необходимо ввести название болезни, которой принадлежит симптом, подлежащий удалению, а также название самого симптома. Имеется возможность удалить несколько симптомов у болезни для окончания ввода удаляемых признаков необходимо набрать end. Вход Ввод названия болезни Ввод симптома, под- лежащего удалению End Выход - При удалении болезни запрашивается ее название.

Вместе с ней из БД удаляются и все ее симптомы. Вход Ввод названия болезни Удаление этой болезни и всех ее симптомов Выход 8. Процедура Редактирование redacting редактирование делится на редактирование симптомов и редактирование болезней. В первом случае вводится название болезни, симптом которой нужно исправить, сам симптом и его отредактированное значение. Из БД удаляется старое значение симптома и добавляется новое. Вход Ввод названия болезни Ввод симптома для исправления Удаление этого симптома Ввод исправленного симптома Добавление нового значения Выход При редактировании болезни необходимо ввести ее название и затем новое исправленное значение.

Процедура удалит старое значение и добавит новое. Вход Ввод названия болезни Удаление этой болезни Ввод исправленного значения Добавление нового значения Выход рис. 2 Структурная схема программы Start mainmenu menufiles menubd menucons quit logout loading saving adding deleting viewing redacting plus plussym delill delsym redill redsym 6. Описание программы на micro-LISP Структурная схема программы на Лиспе изображена на рис.2. Об основных процедурах написано в разделе Разработка процедур оболочки, в котором представлены схемы алгоритмов их работы.

Текст программы находится в Приложении А, текст базы знаний - в Приложении В. Теперь перейдем непосредственно к описанию программы. Главная процедура start запускает процедуру mainmenu она представлена в виде бесконечного цикла do, также представлены и все подменю menufiles, menubd и т.д Mainmenu рисует главное меню и здесь же с помощью выражения cond и eq организованно получение выбора и запуск выбранной процедуры.

Процедура saving осуществляет запись БД в файл с помощью встроенного выражения with-output-to-file и функции write все это организованно в виде lambda-выражения. Загрузка файла процедура loading происходит с помощью встроенных with-input-from-file и read причем БД болезней представлена в виде списка itis, а симптомов в виде списка simptom. Постановка диагноза осуществляется с помощью функции experting.

Из БД выбирается болезнь ill, берется список ее симптомов spisnum и с помощью функции expill spisnum, ill определяется, есть ли у пользователя эти симптомы. Если эта функция будет ложной на запрос пользователь ответил отрицательно, то произойдет рекурсивный вызов функции experting от конца списка болезней т.е. в дальнейшем будет выбрана следующая и т.д В процессе работы функции с помощью функции set формируются списки положительных и отрицательных ответов пользователя yes и no. Если функция experting выполнила свою работу и диагноз поставлен успешно, то функция logout объяснение логического вывода выводит на экран название определенной болезни и ее симптомы функция использует для этого функцию cond и рекурсию.

В режиме

Просмотра

Просмотра списка болезней и симптомов viewill используется cond и рекурсивный вызов функции от хвоста списка, что позволяет вывести все содержимое БД на экран. В режиме добавления болезней addill и симптомов addsym используется встроенная функция append для соединения списков, а рекурсивный вызов функции addsyms обеспечивает возможность добавления к болезни нескольких симптомов.

При редактировании болезней redill и симптомов redsym старое значение удаляется с помощью функции delete удаление элемента из списка, а новое обавляется с помощью append. Удаление болезней delill осуществляется с помощью функции delete. При удалении болезни автоматически удаляются и все ее симптомы рекурсивно вызывая сама себя от конца удаляемого списка признаков функция delsyms последовательно удаляет все симптомы этой болезни.

Удаление симптома delsym также осуществляется с помощью delete, но при этом с помощью функции append формируется новый список симптомов болезни, симптом которой удаляется. Затем происходит удаление болезни со старым списком симптомов set itis delete list ill spisnums itis и добавление к списку itis этой же болезни с новым списком. 7. Краткое описание встроенных предикатов и функций microLISP, используемых в программе Окна Окна являются объектами, подобными портам, которые представляют собой прямоугольные области на экране.

Предикат WINDOW определяет, действительно ли заданный объект является портом, представляющим окно на экране. Все интерактивные окна ввода-вывода представляются посредством окон, включая ввод-вывод, обеспечиваемый портами STANDARD-INPUT и STANDARD-OUTPUT. Новые окна-порты создаются и открываются с помощью MAKE-WINDOW их атрибуты доступны с помощью WINDOW-GET-ATTRIBUTE и модифицируются WINDOW-SET-ATTRIBUTE Окна до тех пор не выводятся на экран, пока область для них не очистится с помощью WINDOW-CLEAR. WINDOW-DELETE очищает область экрана, занятого окном.

WINDOW-POPUP и WINDOW-POPUP-DELETE выдают несколько перекрывающихся окон. Позиция окна на экране и размер его строк и столбцов устанавливаются WINDOW-GET-POSITION и WINDOW-GET-SIZE, соответственно модификация выполняется WINDOW-SET-POSITION и WINDOW-SET-SIZE. Модификация позиции и размеров окна может быть выполнена перед тем, как окно изначально выводится на экран по WINDOW-CLEAR. Позиция курсора устанавливается с помощью WINDOW-GET-CURSOR и изменяется WINDOW-SET-CURSOR. Курсор появляется на экране только тогда, когда ввод производится с клавиатуры.

FLUSH-INPUT Процедура FLUSH-INPUT чистит буфер вводного порта. Формат FLUSH-INPUT port Параметр port- вводной порт необязательный аргумент. Объяснение FLUSH-INPUT отбрасывает любые литеры и включает следующую последовательность конца строки end-of-line в буфер ввода, который связан с port, если он задан, или с текущим вводным портом.

Выдается неопределенное значение. LAST-PAIR Возвращает последнюю пару непустого списка. LIST Композиции пар, связанных через их cdr-компоненты, называются списками. Пустой список, обозначаемый как, также является списком. Когда цепочка cdr-связей в паре оканчивается пустым списком, тогда пара называется собственным списком.

Процедура LIST обеспечивает такой список, состоящий из значений его аргументов. LIST обеспечивает похожий список, но имеющий значение его последнего аргумента в cdr-компоненте последней пары цепочки. MEMBER MEMBER, MEMQ, MEMV Процедура Данные процедуры выдают подсписок, начинающийся с некоторого специфического объекта в собственном списке. Формат MEMBER оbj list MEMQ оbj list MEMV оbj list Параметры obj - любой объект в ЛИСП-МИКРО list - собственный список Объяснение Данные процедуры ищут первое появление obj в list, используя EQVAL для сравнения в случае MEMBER при MEMQ используется EQ при MEMV - EQV Если obj найден, подсписок, содержащий obj как первый элемент, выдается как результат.

Если obj не найден в list, выдается ложь. DO Специальное выражение DO обеспечивает наиболее общую возможность вычисления итераций. Формат DO var init step test exp stmt Параметры var - любой идентификатор ЛИСП-МИКРО init - любые выражения в ЛИСП-МИКРО. Вычисляется каждое init результат используется как значение соответствующего var. Этот аргумент необязательный step - любые выражения ЛИСП-МИКРО. Вычисляется каждое init результат используется как значение соответствующего var для следующей итерации.

Этот необязательный аргумент может быть описан, только если описан init test - любое выражение ЛИСП-МИКРО. Это выражение является условием, по которому итерация останавливается exp - любые выражения ЛИСП-МИКРО. Эти выражения вычисляются перед выходом из цикла stmt - любые выражения ЛИСП-МИКРО. Эти выражения вычисляются по порядку каждый раз как test возвращает ложь. 8.

Отладка программы

Отладка программы Для удобства отладки программа писалась не вся сразу, а постепенно, отдельными процедурами.

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

Инструкция пользователю и пример выполнения

Работа с подменю Файлы - для работы с пунктом Загрузка - наберите на к... Описание работы с программой После запуска программы Вы попадаете в ее... Работая с подменю Консультация, нужно - отвечать на вопросы набирать с... . Работа с подменю БазаДанных - для работы с пунктом Редактирование нужн...

Заключение

Заключение В данной работе была реализована идея создания фрагмента оболочки экспертной системы.

В результате разработки КПР была получена интегрированная среда по диагностике заболеваний.

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

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

Часто к экспертным системам предъявляют дополнительное требование - способность иметь дело с неопределенностью и неполнотой.

Информация о поставленной задаче может быть неполной или ненадежной отношения между объектами предметной области могут быть приближенными.

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

Библиографический список

Библиографический список 1. Ин Ц Соломон Д. Использование Турбо-Пролога Пер. с англ. -Мир, 1993 608 с. 2. Таусенд К Фохт Д. Проектирование и программная реализация экспертных систем на персональных ЭВМ Пер. с англ М. Финансы и статистика, 1990 320 с. 3. Хювенен Э Сеппянен Й. Мир Лиспа. В 2-х т. Пер. с финск М. Мир, 1990.

Приложение А

Полный текст программы на языке micro-LISP файл FUN.LSP define mainwma... Приложение А. menucw set nums findsym ill itis set yes set no logout nums t set s fi...

Приложение В

Приложение В Листинг файла базы знаний BD2.LSP 1 общее недомогание 2 сухость, першение, саднение 3 кашель сначала сухой, затем с мокротой 4 голос хриплый или беззвучный 5 иногда боль при глотании 6 головная боль 7 повышение температуры тела 8 быстрая утомляемость голоса 9 периодический кашель с мокротой 10 охриплость с афонией 11 ощущение неловкости 12 жжение в горле 13 кашель при обострении 14 сухой кашель 15 слизистая покрыта густой слизью 16 откашливание с прожилками крови ларингит острый 1 2 3 4 5 6 7 ларингит хронический катаральный 1 2 4 8 9 ларингит хронический гипертрофический 1 10 11 12 13 ларингит хронический атрофический 1 2 4 14 15 16.

– Конец работы –

Используемые теги: Разработка, фрагментов, оболочки, экспертной, системы0.085

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Разработка фрагментов оболочки экспертной системы

Что будем делать с полученным материалом:

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

Еще рефераты, курсовые, дипломные работы на эту тему:

Экспертные системы. Классификация экспертных систем. Разработка простейшей экспертной системы
Глава 2. Структура систем, основанных на знаниях. 1. Категории пользователей экспертных систем. 2.2. Подсистема приобретения знаний. 3. База… ЭС выдают советы, проводят анализ, дают консультации, ставят диагноз. Практическое применение ЭС на предприятиях способствует эффективности работы и повышению квалификации специалистов.

Разработка подсистемы вывода в диагностической экспертной системе
Работа выполнялась с 1 сентября 1998 года по 30 мая 1999 года. Тип работы инженерная является плановой разработкой института. Особенностью данной дипломной работы является возможность ее работы с… При этом подсистема вывода будет использовать экспертные знания, также допускающие элементы нечеткости и неточности.

Лекция 1. Тема: Операционная система. Определение. Уровни операционной системы. Функции операционных систем. 1. Понятие операционной системы
Понятие операционной системы... Причиной появления операционных систем была необходимость создания удобных в... Операционная система ОС это программное обеспечение которое реализует связь между прикладными программами и...

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

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

Микропроцессорные системы: система ДЦ-МПК, система "Юг"
Использован практический опыт внедрения линейных пунктов управления (ЛПУ) на 60 станциях в увязке с ЭЦ-4, ЭЦ-9, МРЦ-12, МРЦ-13. Выполнен переход на… В состав аппаратуры центрального пункта управления (ПУ) входят IBM-совместные… Круглосуточный режим работы аппаратных средств ПУ обеспечивается источниками бесперебойного питания, а также системой…

Разработка отказоустойчивой операционной системы реального времени для вычислительных систем с максимальным рангом отказоустойчивости
Таким образом, объектом исследования в рамках сетевой отказоустойчивой технологии становится ОСРВ - управляющее программное обеспечение особого… Данная дипломная работа посвящена разработке специализированной распределенной… Для полного освещения выбранной темы были поставлены следующие задачи 1. Провести анализ существующих операционных…

Разработка и программная реализация фрагментов диалоговой информационной системы "Надежность"
К ним в первую очередь относятся уже ставшие классическими реляционный подход, моделирование данных предметной области, объектно-ориентированный… В данной курсовой работе нужно разработать и программно реализовать фрагменты… Особое значение имеет возможность создания экранных форм, совпадающих по структуре с реальными документами источниками…

Разработка фрагмента информационной системы "АБОНЕНТЫ ГТС"
Примечание В графике указаны контрольные сроки дляосновных разделов курсового проекта. Абоненты ГТС городскойтелефонной станции Базаданных должна содержать…

0.04
Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • По категориям
  • По работам