Курсовая: Экспертные системы на базе VP-Expert (WinWord 7)
Московский государственный институт электроники и математики
(технический университет)
кафедра ИТАС
Пояснительная записка к курсовому проекту по дисциплине «экспертные
системы» на тему:
«Экспертная система на базе VP-expert»
Выполнили
студенты
группы АП-101
Петушко А.Г.
Матусов В.В.
Ицков О.М.
Сдано _________ 199 г
Оценка___________
Москва 1996 г.
1. ВВЕДЕНИЕ
Совершенствование средств вычислительной техники по пути
улучшения технических характеристик позволяет значительно расширить
сферу ее применения в народном хозяйстве. Появление персональных
компьютеров дает возможность облегчить доступ к ЭВМ широкому кругу
специалистов из различных областей производства, науки и техники. В
настоящее время при помощи ЭВМ различные типы задач решаются с
большой эффективностью:
Вычислительные задачи - в которых в соответствии с определенным
алгоритмом и множеством входных данных получают множество
результатов. Алгоритм в таких задачах выступает в качестве строгой
последовательности операций.
Информационные задачи - нахождение части базы данных,
соответствующей внешнему запросу. Алгоритм здесь -
последовательность информационно - поисковых процедур, а база
данных - набор декларативных знаний.
Задачи АСУ принятия решений - когда на основании определенного набора
критериев из множества альтернатив выбирается наиболее подходящая
для достижения поставленных целей. Цели и критерии могут быть как
постоянными, так и изменяться в процессе решения задачи.
Логические задачи, в которых по описанию начальной и целевой ситуаций
из имеющегося набора действий синтезируется алгоритм достижения
цели. Для решения двух последних типов задач могут применяться
методы искусственного интеллекта, основанные на знаниях. Одной из
разновидностей систем, использующих эти методы, являются экспертные
системы (ЭС). Они представляют собой попытку создания
человеко-машинных комплексов для решения слабо формализуемых
задач или задач вообще не имеющих алгоритмического решения.
Можно дать следующее определение экспертной системе:
Экспертная система - это компьютерная программа, содержащая
накопленные знания специалистов в определенной предметной области, Эта
программа способна вырабатывать рекомендации, какие бы дал
эксперт-человек, запрашивая при необходимости дополнительную
информацию. Экспертные системы могут работать на том же уровне что и
эксперты, а в некоторых случаях они лучше, потому что в нее вложен
коллективный опыт их создателей.
2. ВИДЫ И ФОРМЫ ПРЕДСТАВЛЕНИЯ ЗНАНИЙ
Определим знания как систему понятий и отношений между ними.
Задача, подлежащая решению с помощью экспертной системы,
формулируется в терминах принятых в этой системе. Будем различать в
конкретной предметной области следующие типы знаний: понятийные,
конструктивные, процедурные, фактографические и метазнания.
Понятийные - набор понятий, которыми пользуются при решении данной
задачи. Этот тип знаний вырабатываются в фундаментальных науках и
теоретических разделах прикладных наук.
Конструктивные - это знания о наборах возможных структур объектов
и взаимодействии между их частями. Получение этого типа знаний
характерно для техники и большей части прикладных наук.
Процедурные знания - используемые в выбранной предметной области
методы, алгоритмы и программы, полезные для данного конкретного
приложения, которые можно использовать, передавать и объединять в
библиотеки.
Фактографические - количественные и качественные характеристики объектов
и явлений.
Метазнания - знания о порядке и правилах применения знаний.
Можно определить модель предметной области как
(модель предметной области)=
(понятийные знания)+
(конструктивные знания),
а базу знаний:
(база знаний)=
(модель предметной области)+
(процедурные знания)+
(метазнания)+
(фактографические знания).
Существуют различные формы представления знаний. При
практической разработке экспертных систем в настоящее время чаще
всего используются эвристические модели - набор средств, (в
принципе, любых) передающих свойства и особенности предметной
области. Примером эвристической модели могут служить сетевые,
фреймовые и продукционные модели.
В большинстве экспертных систем в базе знаний хранятся
используемые в данный момент правила и сведения о проблемной
области.
Подход, основанный на продукционных правилах,
чрезвычайно распространен в экспертных системах. Как правило, они
имеют форму ЕСЛИ ... ТОГДА ....ИНАЧЕ.... .
Например,
ЕСЛИ тип_эвм = микро И
класс_эвм = средний
ТОГДА эвм = IBM_PC/XT CNF 65
ИНАЧЕ эвм = ДВК-3 CNF 20 .
В приведенном правиле заложено знание о том, что если выбираемый тип
ЭВМ микро, а класс ее средний, то с уверенностью 65% желательно
приобретение компьютера IBM PC/XT . В противном случае с
уверенностью 20% допустим выбор ДВК-3. Набор правил подобной
структуры - наиболее распространенное представление знаний в базе
продукционного типа.
В основе представления знаний с помощью семантических сетей
лежит формализация в виде графа с помеченными вершинами и дугами.
Вершины представляют собой некоторые сущности (объекты, события,
процессы, явления и др.), а дуги - отношения между ними. Рассмотрим
простейшую семантическую сеть, выражающую знания: произведена
классификация ЭВМ по типам - в зависимости от производительности
(микро, мини, мега) и по классам - по их стоимости (низкая, средняя,
высокая, большая). Дуги данной сети обозначают соответствие.
Различным моделям ЭВМ соответствуют различные комбинации классов и
типов, Рис. 1.
В некоторых типах экспертных систем применяется представление
знаний в виде фреймов. Это специфические объекты, соответствующие
понятиям предметной области, имеющие внутреннюю структуру в виде
слотов. Слотами могут быть данные, правила, другие фреймы. Фреймы -
более сложный способ представления знаний, используемый в
наиболее мощных экспертных системах.
3. СОСТАВ И ФУНКЦИОНИРОВАНИЕ ЭКСПЕРТНОЙ СИСТЕМЫ
Обычно считается, что прагматические требования к экспертной
системе сводятся к тому, что она должна быть предназначена для
удобной, квалифицированной поддержки информационной деятельности
человека в определенной предметной области. Подразумевается наличие
развитого диалога, обеспечивающего понимание входных сообщений,
выполнение нужных процедур и выдача разумных сообщений в удобной
форме. Считают, что сообщения разумны, если они заслуживают доверия и
"прозрачны".
Структура типичной экспертной системы приведена на Рис.2. Как
правило, в ее состав входят:
- Интерфейс, обеспечивающий общение пользователя с экспертной
системой в удобной для него форме, он позволяет передавать ей
информацию, составляющую содержание базы данных, обратиться к
системе с вопросом или за объяснением.
- Рабочая память, хранящая данные (база данных),
соответствующие объектам, связь между которыми задается правилами в базе
знаний.
- Диспетчер, определяющий порядок функционирования экспертной
системы, планирующий порядок постановки и достижения целей.
- Машина вывода - формально-логическая система, реализованная
в виде программного модуля, позволяющая логически выводить
необходимую для пользователя информацию, исходя из сведений,
размещенных в базе знаний.
- База знаний - совокупность всех имеющихся сведений о проблемной
области, для которой предназначена данная экспертная система,
записанных с помощью определенных формальных структур представления
знаний (набора правил, фреймов, семантических сетей и пр.)
Важной компонентой экспертной системы является блок
объяснений, дающий возможность пользователю убедиться в
обоснованности информации, получаемой им от экспертной системы,
позволяющий задавать ей вопросы, и на основании разумных ответов
проникаться к ней доверием.
Два подхода получили наибольшее распространение при создании
машин логического вывода экспертных систем.
- Системы с прямым логическим выводом, в которых производится
многократное применение всех правил базы знаний к доступным данным, с
возможностью запроса недостающих. Процесс преобразования данных под
воздействием машины логического вывода происходит до тех пор пока
возможно изменение их значений. Упрощенный алгоритм
функционирования такой экспертной системы имеет вид (структура
экспертной системы приведена на рис.2).
В рабочую память 2 через интерфейс 1 вводятся пользователем значения
исходных переменных.
В базе знаний 5 определяются те правила, в условиях которых
присутствуют переменные, имеющиеся в рабочей памяти.
Производится попытка применения правил с помощью машины логического
вывода 4 и занесение результатов в рабочую память.
Если применение хотя бы одного правила оказалось успешным, то переход к
п.2.
Если достигнутое состояние рабочей памяти (базы данных) не позволяет
больше применить ни одно из правил базы знаний, то процесс
логического вывода заканчивается и диспетчер 3 принимает решение о
выдаче пользователю через интерфейсный блок информации, полученной в
результате применения правил.
Системы с прямым логическим выводом более просты в построении,
результатом работы у них обычно является целый пакет данных, но их
эффективность не всегда соответствует требованиям практических
задач.
В системах обратного вывода намечается перечень конечных
целей - переменных, значения которых необходимо получить.
Далее производится поиск правил, определяющих эти цели. Вычисляются
значения всех переменных, входящих в условия правила. Если
переменные определяются другими правилами, происходит переход к
выяснению истинности их условий, в противном случае значения
переменных запрашиваются у пользователя. Процесс экспертизы
заканчивается после того, как будут найдены все поставленные цели
консультации. Это означает, что должна быть выяснена истинность всех
переменных, входящих в задействованные правила. Упрощенный алгоритм
функционирования экспертных систем обратного вывода можно
представить в следующем виде.
Задается набор целей - переменных, значение которых требуется
определить с помощью экспертной системы. Список этих переменных
через интерфейс вводится в рабочую память.
В базе знаний машина логического вывода выделяет список правил, из
которых можно найти неизвестные переменные в рабочей памяти.
Из условий выделенных правил, определяются остальные переменные,
необходимые для применения правил.
Определяется, какие из найденных в п.3 переменных можно получить из
правил базы знаний.
Дополняется список целей переменными найденными в п.4.
Значения переменных из списка определенного в п.3, за исключением
найденных в п.4, запрашиваются у пользователя.
Производится попытка применения правил базы знаний для достижения
поставленных целей.
Если не все цели достигнуты (не удалось применить все правила,
определяющие интересующие нас переменные), производится переход к п.2,
исключив из списка целей найденные переменные.
По достижению всех первоначально поставленных целей диспетчер
прекращает работу машины логического вывода и через интерфейс
выводит пользователю значения этих переменных. Логический вывод
прекращается также, если нельзя достичь поставленных целей.
В большинстве реально работающих экспертных систем, как
правило, используются различные модификации и комбинации
рассмотренных выше алгоритмов.
4. ОСОБЕННОСТИ СОЗДАНИЯ ЭКСПЕРТНЫХ СИСТЕМ
Проектирование экспертных систем имеет определенные отличия от
создания традиционного программного продукта. Суть этого отличия в том,
что разработчики не пытаются сразу построить конечный продукт, а создают
прототип экспертной системы. Прототип должен удовлетворять
основным требованиям к системе при минимальной трудоемкости при
его создании. Для удовлетворения этим требованиям используются
разнообразные инструментальные средства (специализированные
языки искусственного интеллекта, оболочки экспертных систем и
др.) ускоряющие процесс разработки. Возможно, что может потребоваться
создание не одного , нескольких прототипов, базирующихся на
различных способах представления знаний, с
последующим выбором наиболее удачного. B том случае когда
достигнута удовлетворительная работа прототипа по всему комплексу
задач, возможно принятие решения об окончательном
перепрограммировании всей системы на языках низкого уровня, с целью
улучшения ее характеристик - увеличения быстродействия, уменьшения
занимаемой памяти, повышения эргономических параметров интерфейса.
Опыт разработки экспертных систем позволяет выделить
следующие этапы при их создании:
- Идентификация - определение проблемы, ресурсов, целей,
экспертов, производится неформальное (вербальное) описание
проблемы.
- Концептуализация - выделение ключевых понятий системы, отношений
и характеристик, достаточных для полного и детального описания
рассматриваемой проблемы.
- Формализация - выражение введенных понятий на некоторым
формальным языке, построение модели исследуемой области.
- Этап выполнения - создание одного или нескольких прототипов.
- Этап тестирования - оценка выбранного метода представления знаний и
работоспособности всей системы в целом на основе проверки прототипа.
- Этап опытной эксплуатации - проверка пригодности системы для конечного
пользователя.
- Модификация системы - полное перепрограммирование или доведение
прототипа до состояния программного продукта.
Известны три основные разновидности исполнения экспертных систем:
- Экспертные системы, выполненные в виде отдельных программ, на
некотором алгоритмическом языке, база знаний которых является
непосредственно частью этой программы. Как правило, такие системы
предназначены для решения задач в одной фиксированной предметной
области. При построении таких систем применяются как традиционные
процедурные языки PASCAL, C и др., так и специализированные языки
искусственного интеллекта LISP, PROLOG.
- Оболочки экспертных систем - программный продукт, обладающий
средствами представления знаний для определенных предметных
областей. Задача пользователя заключается не в непосредственном
программировании, а в формализации и вводе знаний с использованием
предоставленных оболочкой возможностей. Недостатком этих систем
можно считать невозможность охвата одной системой всех существующих
предметных областей. Примером могут служить ИНТЕРЭКСПЕРТ, РС+,
VP-Expert.
- Генераторы экспертных систем - мощные программные продукты,
предназначенные для получения оболочек, ориентированных на то или иное
представление знаний в зависимости от рассматриваемой
предметной области. Примеры этой разновидности - системы KEE, ART и др..
5. ОБЛАСТИ И КРИТЕРИИ ПРИМЕНИМОСТИ ЭКСПЕРТНЫХ СИСТЕМ
Не останавливаясь на подробном перечне многочисленных
областей применения, отметим лишь некоторые отрасли народного
хозяйства развитых стран, в которых методология экспертных систем была
успешно опробована: химия, сельское хозяйство, электроника,
образование, финансы, геология, медицина, военное дело, программное
обеспечение и многие другие.
Из перечня основных типов решаемых ими задач можно выделить
интерпретацию, прогноз, диагностику, проектирование,
планирование, управление, наблюдение, отладка, ремонт, обучение.
В списке наиболее распространенных в настоящее время за
рубежом экспертных систем и их оболочек можно выделить следующие
наименования: INSIGT, LOGIAN, NEXPERT, RULE MASTER, KDS, PICON,
KNOWLEDGE CRAFT, KESII, S1, TIMM и др.
В качестве критериев, по которым можно судить о возможности
создания экспертной системы следует отметить следующие:
- Необходимость символьных рассуждений, очевидно, нет смысла
разрабатывать экспертную систему для численных расчетов, например, для
преобразований Фурье, интегрирования, решения систем
алгебраических уравнений и др.
- Наличие экспертов, компетентных в избранном круге вопросов, которые
согласны сотрудничать при создании ЭС.
- Поставленная проблема должна быть достаточно важной и
актуальной. Это могут быть проблемы, требующие высокого уровня
экспертизы, либо простые, но трудоемкие многократно повторяющиеся
проверки. Нет смысла тратить время на решение проблем, которые
возникают редко и могут быть разрешены человеком с обычной
квалификацией.
- Необходимо четко ограничивать круг решаемых задач, т.е.
предметная область выбирается достаточно "узкой", чтобы избежать
"комбинаторного взрыва" объема информации необходимой для
компетентного решения поставленной задачи.
- Необходима согласованность мнений экспертов о том, как следует
решать поставленные задачи, какие факты необходимо использовать
и каковы общие правила вынесения суждений. В противном случае невозможно
расширить базу знаний за пределы опыта одного человека и
осуществить сплав экспертных знаний из нескольких областей.
- Должно быть достаточно исходных данных для проверки
работоспособности экспертной системы в выбранной предметной
области, чтобы разработчики смогли убедиться в достижимости
некоторого заданного уровня ее функционирования.
- Должна обеспечиваться возможность постепенного наращивания системы.
База знаний должна легко расширяться и корректироваться, так как
правила часто меняются с появлением новых фактов.
Ценность использования ЭС проявляется в следующих аспектах:
- В сборе, оперативном уточнении, кодировании и
распространении экспертных знаний.
- В эффективном решении проблем, сложность которых превышает
человеческие возможности и для которых требуются экспертные знания
нескольких областей.
- В сохранении наиболее уязвимой ценности коллектива -
коллективной памяти.
Создание баз знаний открывает широкие возможности, которые
обусловлены безошибочностью и тщательностью, присущими ЭВМ и
синтезом знаний экспертов. Если база знаний объединяет информацию по
нескольким дисциплинам, то такой "сплав" знаний приобретает
дополнительную ценность.
Экспертная система позволяет решить проблему сохранения
экспертных знаний, связанную с утратой наиболее
квалифицированных экспертов в результате их продвижения по службе,
смерти, перехода на другую работу или выхода на пенсию, а также
позволит сделать знания легко доступными для тех, кто займет
места ушедших экспертов.
Ограничившись необходимым минимумом изложения теоретического
материала, в дальнейшем сосредоточим внимание на практических
аспектах применения экспертных систем.
6. КРАТКОЕ ОПИСАНИЕ ЭКСПЕРТНОЙ СИСТЕМЫ VP-Expert
Рассматриваемая система представляет собой "пустую" оболочку,
хорошо зарекомендовавшую и получившую достаточно широкое
распространение. ее применение возможно на IBM совместимых
персональных компьютерах с операционной системой MS DOS, имеющих не
менее 256 К оперативной памяти и адаптеры графических дисплеев
подобные CGA, EGA или HERKULES. Важной особенностью оболочки,
существенно расширяющей ее возможности, является совместимость с
файлами созданными dBASE II, dBASE III и dBASE III+.
Для успешного функционирования системы необходим набор из
следующих файлов VPX.EXE, VPX.TXT, VPXE.EXE, VPXH.EXE, VPXHELP.DBF,
VPXHELP.HLP, VPXHELP.TXT, VPXI.EXE, VPXM.EXE, VPXT.EXE.
Перечисленные файлы желательно переписать с дискеты в
специально созданную директорию. Старт экспертной системы
производится запуском файла VPX.EXE на исполнение (возможно с
указанием файла базы знаний с расширением .KBS).
7. Выполнение курсовой работы
Для выполнения курсовой работы была выбрана область- поломки в
двигателях и способы их устранения. В ходе работы был написан модуль,
выполняя который можно получить консультацию.
После запуска системы пользователь видит на экране приветствие:
Внимание! Приведены копии экранов при запуске системы из-под Windows95.
При запуске под DOS программа работает в полноэкранном режиме.
После нажатия на любую клавишу экран очищается и пользователю
предлагается выбрать внешний признак неисправности двигателя:
Во время работы пользователь отвечает на ряд вопросов с помощью выбора
вариантов из предложенных (Enter- выбор варианта, End- продолжение
работы), после чего ему предлагается способ устранения неисправности.
Следующие копии экранов без комментариев показывают последовательность
работы с системой.