Характеристика этапов проектирования экспертных систем
Исследование этапов проектирования экспертных систем для повышения результативности, полезности, надежности и производительности разрабатываемой системы, удовлетворяющей требованиям пользователя. Преимущества экспертных систем перед человеком-экспертом.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 11.04.2012 |
Размер файла | 50,8 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Курсовая работа
Интеллектуальные системы
Тема Характеристика этапов проектирования экспертных систем
Павилан Айгуль Кадыржановна
Введение
Одной из ведущих тенденций развития информационных технологий в последнее время является их интеллектуализация, то есть переход от систем, оперирующих с данными, к системам, обрабатывающим знания. Возникло новое направление в информатике - инженерия знаний, на основе которого развивается идеология и методология экспертных систем.
Интерес к ЭС вызван, по крайней мере, тремя причинами.
1) Они ориентированы на решение широкого круга неформальных задач, решение которых до недавнего времени считалось малодоступным для ЭВМ.
2) С помощью ЭС специалисты, не знающие программирования, могут самостоятельно разрабатывать интересующие их приложения.
3) С ЭС иногда удается достичь результатов, не уступающих возможностям экспертов.
Слабая формализуемость процесса принятия решений, его альтернативность и нечеткость, качественная и символьная природа используемых знаний, динамичность изменения проблемной области - все эти характерные особенности применения экспертных систем обусловливают сложность и большую трудоемкость их разработки по сравнению с другими подклассами ИИС. Поэтому необходимо рассматривать вопросы проектирования и реализации экспертных систем.
Все выше изложенное говорит об актуальности данной темы.
Цель работы: охарактеризовать этапы проектирования ЭС для повышения результативности, полезности, надежности и производительности разрабатываемой системы, удовлетворяющей требованиям пользователя.
Задачи:
1. Подобрать и изучить необходимую литературу
2. Дать определение ЭС, описать их достоинства и назначение, классифицировать ЭС
3. Охарактеризовать этапы проектирования ЭС
Причиной повышенного интереса, который экспертные системы вызывают к себе на протяжении всего своего существования, является возможность их применения к решению задач из самых различных областей человеческой деятельности.
Поэтому, для того чтобы более подробно познакомиться с экспертными системами, темой курсовой работы была выбрана - «Характеристика этапов проектирования экспертных систем». В курсовой работе будут рассмотрены основные понятия и компоненты экспертных систем, их достоинства и недостатки, различные классификации, отличия экспертных систем от других программ, этапы проектирования.
1. Экспертные системы, их особенности
1.1 Определение экспертных систем, достоинство и назначение
Экспертные системы - это яркое и быстро прогрессирующее направление в области искусственного интеллекта.
Искусственный интеллект - самое молодое научное направление. Появление его было подготовлено развитием мощности вычислительных машин.
Искусственный интеллект занимает исключительное положение. Это связано со следующим:
· часть функций программирования в настоящее время оказалось возможным передать машине. При этом общение с машиной происходит на языке, близком к разговорному. Для этого в ЭВМ закладывают огромную базу знаний, способы решения, процедуры синтеза, программы, а также средства общения, позволяющие пользователю легко общаться с ЭВМ.
· в связи с внедрением ЭВМ во все сферы человеческой жизни становится возможным переход к безбумажной технологии обработки информации.
· если раньше производство ориентировалось на обязательное участие человека, то в настоящее время находят применение безлюдные технологии, основанные на роботизации и автоматизации системы управления.
· интеллектуальные системы в настоящее время начинают занимать ведущее положение в проектировании образцов изделий. Часть изделий невозможно спроектировать без их участия.
Системы, относящиеся к системам искусственного интеллекта в настоящее время:
1. Экспертные системы. Первые системы, которые нашли широкое применение. Их элементы используются в системах проектирования, диагностики, управления и играх. Основаны на вводе знаний высококвалифицированных специалистов (экспертов) в ЭВМ и разработке специальной системы по их использованию.
2. Системы естественно-языкового общения (подразумевается письменная речь). Данные системы позволяют производить обработку связанных текстов по какой-либо тематике на естественном языке.
3. Системы речевого общения.
4. Системы обработки визуальной информации. Находят применение в обработке аэрокосмических снимков, данных, поступающих с датчиков.
5. Системы машинного перевода. Подразумеваются естественные языки человеческого общения.
Экспертная система - это набор программ или программное обеспечение, которое выполняет функции эксперта при решении какой-либо задачи в области его компетенции. Экспертная система, как и эксперт-человек, в процессе своей работы оперирует со знаниями. Знания о предметной области, необходимые для работы экспертных систем, определённым образом формализованы и представлены в памяти ЭВМ в виде базы знаний, которая может изменяться и дополняться в процессе развития системы.
Экспертные системы выдают советы, проводят анализ, выполняют классификацию, дают консультации и ставят диагноз. Они ориентированы на решение задач, обычно требующих проведения экспертизы человеком-специалистом. В отличие от машинных программ, использующий процедурный анализ, экспертные системы решают задачи в узкой предметной области (конкретной области экспертизы) на основе дедуктивных рассуждений. Такие системы часто оказываются способными найти решение задач, которые неструктурированны и плохо определены. Они справляются с отсутствием структурированности путём привлечения эвристик, то есть правил, взятых «с потолка», что может быть полезным в тех системах, когда недостаток необходимых знаний или времени исключает возможность проведения полного анализа.
Главное достоинство экспертных систем - возможность накапливать знания, сохранять их длительное время, обновлять и тем самым обеспечивать относительную независимость конкретной организации от наличия в ней квалифицированных специалистов. Накопление знаний позволяет повышать квалификацию специалистов, работающих на предприятии, используя наилучшие, проверенные решения.
Практическое применение искусственного интеллекта на машиностроительных предприятиях и в экономике основано на экспертных системах, позволяющих повысить качество и сохранить время принятия решений, а также способствующих росту эффективности работы и повышению квалификации специалистов.
1.2 Классификация экспертных систем
Схема классификации
Класс «экспертные системы» сегодня объединяет несколько тысяч различных программных комплексов, которые можно классифицировать по различным критериям.
Классификация по решаемой задаче
Интерпретация данных. Это одна из традиционных задач для экспертных систем. Под интерпретацией понимается определение смысла данных, результаты которого должны быть согласованными и корректными. Обычно предусматривается многовариантный анализ данных.
Пример: обнаружение и идентификация различных типов океанских судов - SIAP; определение основных свойств личности по результатам психодиагностического тестирования в системах АВТАН-ТЕСТ и МИКРОЛЮШЕР и других.
Диагностика. Под диагностикой понимается обнаружение неисправности в некоторой системе. Неисправность - это отклонение от нормы. Такая трактовка позволяет с единых теоретических позиций рассматривать и неисправность оборудования в технических системах, и заболевания живых организмов, и всевозможные природные аномалии. Важной спецификой является необходимость понимания функциональной структуры («анатомии») диагностирующей системы.
Пример: диагностика и терапия сужения коронарных сосудов - ANGY; диагностика ошибок в аппаратуре и математическом обеспечении ЭВМ - система СRIB и другие.
Мониторинг. Основная задача мониторинга - непрерывная интерпретация данных в I реальном масштабе времени и сигнализация о выходе тех или иных параметров за допустимые пределы. Главные проблемы - «пропуск» тревожной ситуации и инверсная задача «ложного» срабатывания. Сложность этих проблем в размытости симптомов тревожных ситуаций и необходимость учёта временного контекста.
Пример: контроль за работой электростанций СПРИНТ, помощь диспетчерам атомного реактора - REACTOR; контроль аварийных датчиков на химическом заводе - FALCON и другие.
Проектирование. Проектирование состоит в подготовке спецификаций на создание «объектов» с заранее определёнными свойствами. Под спецификацией понимается весь набор необходимых документов - чертёж, пояснительная записка и так далее. Основные проблемы здесь - получение чёткого структурного описания знаний об объекте и проблема «следа». Для организации эффективного проектирования и, в ещё большей степени, перепроектирования необходимо формировать не только сами проектные решения, но и мотивы их принятия. Таким образом, в задачах проектирования тесно связываются два основных процесса, выполняемых в рамках соответствующей экспертной системы: процесс вывода и процесс объяснения.
Пример: проектирование конфигураций ЭВМ VАХ - 11/780 в системе ХСОN (или R1), проектирование БИС - САDHELР; синтез электрических цепей - SYN и другие.
Прогнозирование. Прогнозирующие системы логически выводят вероятные следствия из заданных ситуаций. В прогнозирующей системе обычно используется параметрическая динамическая модель, в которой значения параметров «подгоняются» под заданную ситуацию. Выводимые из этой модели следствия составляют основу для прогнозов с вероятностными оценками.
Пример: предсказание погоды - система WILLARD; оценки будущего урожая - РLANT; прогнозы в экономике - ЕСОN и другие.
Планирование. Под планированием понимается нахождение планов действий, относящихся к объектам, способным выполнять некоторые функции. В таких экспертных системах используются модели поведения реальных объектов с тем, чтобы логически вывести последствия планируемой деятельности.
Пример: планирование поведения робота - STRIPS; планирование промышленных заказов - ISIS; планирование эксперимента - МОLGЕN и другие.
Обучение. Системы обучения диагностируют ошибки при изучении какой-либо дисциплины с помощью ЭВМ и подсказывают правильные решения. Они аккумулируют знания о гипотетическом «ученике» и его характерных ошибках, затем в работе способны диагностировать слабости в знаниях обучаемых и находить соответствующие средства для их ликвидации. Кроме того, они планируют акт общения с учеником в зависимости от успехов ученика с целью передачи знаний.
Пример: обучение языку программирования Лисп в системе «Учитель Лиспа»; система РROUSТ - обучение языку Паскаль и другие.
В общем случае все системы, основанные на знаниях, можно подразделить на системы, решающие задачи анализа, и на системы, решающие задачи синтеза. Основное отличие задач анализа от задач синтеза заключается в следующем: если в задачах анализа множество решений может быть перечислено и включено в систему, то в задачах синтеза множество решений потенциально строится из решений компонентов или подпроблем. Задача анализа - это интерпретация данных, диагностика; к задачам синтеза относятся проектирование, планирование. Комбинированные задачи: обучение, мониторинг, прогнозирование.
Классификация по связи с реальным временем
Статические экспертные системы разрабатываются в предметных областях, в которых база знаний и интерпретируемые данные не меняются во времени. Они стабильны.
Пример. Диагностика неисправностей в автомобиле.
Квазидинамические экспертные системы интерпретируют ситуацию, которая меняется с некоторым фиксированным интервалом времени.
Пример. Микробиологические экспертные системы, в которых снимаются лабораторные измерения с технологического процесса один раз в 4-5 ч. (например, производство лизина) и анализируется динамика полученных показателей по отношению к предыдущему измерению.
Динамические экспертные системы работают в сопряжении с датчиками объектов в режиме реального времени с непрерывной интерпретацией поступаемых данных.
Пример. Управление гибкими производственными комплексами, мониторинг в реанимационных палатах и так далее.
Классификация по типу ЭВМ
На сегодняшний день существуют:
· экспертные системы для уникальных стратегически важных задач на суперЭВМ (Эльбрус, CRAY, CONVEX и другие.);
· экспертные системы на ЭВМ средней производительности (типа mainfrave);
· экспертные системы на символьных процессорах и рабочих станциях (SUN, АРОLLО);
· экспертные системы на мини- и супермини-ЭВМ (VАХ, micro-VАХ и другие);
· экспертные системы на персональных компьютерах (IВМ РС, МАС II и подобные).
Классификация по степени интеграции с другими программами
Автономные экспертные системы работают непосредственно в режиме консультаций с пользователем для специфических «экспертных» задач, для решения которых не требуется привлекать традиционные методы обработки данных (расчёты, моделирование и так далее.).
Гибридные экспертные системы представляют программный комплекс, агрегирующий стандартные пакеты прикладных программ (например, математическую статистику, линейное программирование или системы управления базами данных) и средства манипулирования знаниями. Это может быть интеллектуальная надстройка над ППП или интегрированная среда для решения сложной задачи с элементами экспертных знаний.
Несмотря на внешнюю привлекательность гибридного подхода, следует отметить, что разработка таких систем являет собой задачу, на порядок более сложную, чем разработка автономной экспертной системы. Стыковка не просто разных пакетов, а разных методологий (что происходит в гибридных системах) порождает целый комплекс теоретических и практических трудностей.
1.3 Отличие экспертных систем от традиционных программ
Один из способов определить экспертные системы - это сравнить их с обычными программами. Главное различие состоит в том, что экспертные системы манипулируют знаниями, тогда как обычные программы манипулируют данными.
Особенности экспертных систем, отличающие их от обычных программ, заключаются в том, что они должны обладать следующими качествами.
1. Компетентностью, а именно:
· достигать экспертного уровня решений, т.е. в конкретной предметной области иметь тот же уровень профессионализма, что и эксперты-люди;
· быть умелой, т.е. применять знания эффективно и быстро, избегая, как и люди, ненужных вычислений;
· иметь адекватную робастность, т.е. способность лишь постепенно снижать качество работы по мере приближения к границам диапазона компетентности или допустимой надёжности данных.
2. Возможностью к символьным рассуждениям, а именно:
· представлять знания в символьном виде;
· переформулировать символьные знания. На языке искусственного интеллекта символ - это строка знаков, соответствующая содержанию некоторого понятия. Символы объединяют, чтобы выразить отношения между ними. Когда отношения представлены в экспертной системе они называются символьными структурами.
3. Глубиной, а именно:
· работать в предметной области, содержащей трудные задачи;
· использовать сложные правила, т.е. использовать либо сложные конструкции правил, либо большое их количество.
4. Самосознанием, а именно:
· исследовать свои рассуждения, т.е. проверять их правильность;
· объяснять свои действия.
Существует ещё одна важная особенность экспертных систем. Если обычные программы разрабатываются так, чтобы каждый раз порождать правильный результат, то экспертные системы разработаны с тем, чтобы вести себя как эксперты. Они, как правило, дают правильные ответы, но иногда, как и люди, способны ошибаться.
1.4 Преимущества экспертных систем перед человеком-экспертом
Возникает вопрос: «Зачем разрабатывать экспертные системы? И не лучше ли обратиться к человеческому опыту, как это было в прошлом?». Отметим лишь основные преимущества, которые даёт использование экспертных систем. Преимуществом искусственной компетенции являются следующие качества.
1. Постоянство. Человеческая компетенция ослабевает со временем. Перерыв в деятельности человека-эксперта может серьёзно отразиться на его профессиональных качествах.
2. Лёгкость передачи. Передача знаний от одного человека другому - долгий и дорогой процесс. Передача искусственной информации - это простой процесс копирования программы или файла данных.
3. Устойчивость и воспроизводимость результатов. Экспертные системы устойчивы к «помехам». Человек же легко поддается влиянию внешних факторов, которые непосредственно не связаны с решаемой задачей. Эксперт-человек может принимать в тождественных ситуациях разные решения из-за эмоциональных факторов. Результаты экспертной системы - стабильны.
4. Стоимость. Эксперты, особенно высококвалифицированные обходятся очень дорого. Экспертные системы, наоборот, сравнительно недороги. Их разработка дорога, но они дёшевы в эксплуатации.
Вместе с тем разработка экспертной системы не позволяет полностью отказаться от эксперта-человека. Хотя экспертная система хорошо справляется со своей работой, тем не менее, в определённых областях человеческая компетенция явно превосходит искусственную. Однако и в этих случаях экспертная система может позволить отказаться от услуг высококвалифицированного эксперта, оставив эксперта средней квалификации, используя при этом экспертную систему для усиления и расширения его профессиональных возможностей.
1.5 Области применения экспертных систем
Области применения систем, основанных на знаниях, могут быть сгруппированы в несколько основных классов: медицинская диагностика, контроль и управление, диагностика неисправностей в механических и электрических устройствах, обучение.
Медицинская диагностика.
Диагностические системы используются для установления связи между нарушениями деятельности организма и их возможными причинами. Наиболее известна диагностическая система MYCIN, которая предназначена для диагностики и наблюдения за состоянием больного при менингите и бактериальных инфекциях. Её первая версия была разработана в Стенфордском университете в середине 70-х годов. В настоящее время эта система ставит диагноз на уровне врача-специалиста. Она имеет расширенную базу знаний, благодаря чему может применяться и в других областях медицины.
Прогнозирование.
Прогнозирующие системы предсказывают возможные результаты или события на основе данных о текущем состоянии объекта. Программная система «Завоевание Уолл-стрита» может проанализировать конъюнктуру рынка и с помощью статистических методов алгоритмов разработать план капиталовложений на перспективу. Она не относится к числу систем, основанных на знаниях, поскольку использует процедуры и алгоритмы традиционного программирования. Хотя пока ещё отсутствуют экспертные системы, которые способны за счёт своей информации о конъюнктуре рынка помочь увеличить капитал, прогнозирующие системы уже сегодня могут предсказывать погоду, урожайность и поток пассажиров. Даже на персональном компьютере, установив простую систему, основанную на знаниях, можно получить местный прогноз погоды.
Планирование.
Планирующие системы предназначены для достижения конкретных целей при решении задач с большим числом переменных. Дамасская фирма Informat впервые в торговой практике предоставляет в распоряжение покупателей 13 рабочих станций, установленных в холле своего офиса, на которых проводятся бесплатные 15-минутные консультации с целью помочь покупателям выбрать компьютер, в наибольшей степени отвечающий их потребностям и бюджету. Кроме того, компания Boeing применяет экспертные системы для проектирования космических станций, а также для выявления причин отказов самолётных двигателей и ремонта вертолётов. Экспертная система XCON, созданная фирмой DEC, служит для определения или изменения конфигурации компьютерных систем типа VAX и в соответствии с требованиями покупателя. Фирма DEC разрабатывает более мощную систему XSEL, включающую базу знаний системы XCON, с целью оказания помощи покупателям при выборе вычислительных систем с нужной конфигурацией. В отличие от XCON система XSEL является интерактивной.
Интерпретация.
Интерпретирующие системы обладают способностью получать определенные заключения на основе результатов наблюдения. Система PROSPECTOR, одна из наиболее известных систем интерпретирующего типа, объединяет знания девяти экспертов. Используя сочетания девяти методов экспертизы, системе удалось обнаружить залежи руды стоимостью в миллион долларов, причём наличие этих залежей не предполагал ни один из девяти экспертов. Другая интерпретирующая система - HASP/SIAP. Она определяет местоположение и типы судов в тихом океане по данным акустических систем слежения.
Контроль и управление.
Системы, основанные на знаниях, могут применяться в качестве интеллектуальных систем контроля и принимать решения, анализируя данные, поступающие от нескольких источников. Такие системы уже работают на атомных электростанциях, управляют воздушным движением и осуществляют медицинский контроль. Они могут быть также полезны при регулировании финансовой деятельности предприятия и оказывать помощь при выработке решений в критических ситуациях.
Диагностика неисправностей в механических и электрических устройствах.
В этой сфере системы, основанные на знаниях, незаменимы как при ремонте механических и электрических машин (автомобилей, дизельных локомотивов и т.д.), так и при устранении неисправностей и ошибок в аппаратном и программном обеспечении компьютеров.
Обучение.
Экспертные системы, выполняющие обучение, подвергают диагностике, «отладке» и исправлению (коррекции) поведение обучаемого. Примером является обучение студентов отысканию неисправностей в электрических цепях, обучение военных моряков обращению с двигателем на корабле и обучение студентов-медиков выбору антимикробной терапии. Обучающие системы создают модель того, что обучающийся знает и как он эти знания применяет к решению проблемы. Системы диагностируют и указывают обучающемуся его ошибки, анализируя модель и строя планы исправлений указанных ошибок. Они исправляют поведение обучающихся, выполняя эти планы с помощью непосредственных указаний обучающимся.
Большинство экспертных систем включают знания, по содержанию которых их можно отнести одновременно к нескольким типам. Например, обучающая система может также обладать знаниями, позволяющими выполнять диагностику и планирование. Она определяет способности обучаемого по основным направлениям курса, а затем с учетом полученных данных составляет учебный план. Управляющая система может применяться для целей контроля, диагностики, прогнозирования и планирования.
2. Этапы проектирования экспертных систем, их характеристики
2.1 Этап I - идентификация
В ходе работ по созданию экспертных систем сложилась определенная технология их разработки, включающая шесть следующих этапов: идентификация, концептуализация, формализация, реализация, тестирование, опытная эксплуатация и внедрение.
На этапе идентификации определяются задачи, участники процесса разработки и их роли, ресурсы и цели. Определение участников и их ролей сводится к определению количества экспертов и инженеров по знаниям, а также формы их взаимоотношений. Обычно в основном цикле разработки экспертной системы участвуют не менее трех-четырех человек (один эксперт, один или два инженера по знаниям и один программист, привлекаемый для модификации и согласования инструментальных средств). К процессу разработки экспертной системы могут привлекаться и другие участники. Формы взаимоотношений экспертов и инженеров следующие: эксперт исполняет роль информирующего или эксперт выполняет роль учителя, а инженер - ученика. Вне зависимости от выбранной формы взаимоотношений инженер по знаниям должен быть готов и способен изучать специфические особенности той проблемной области, в рамках которой предстоит работать создаваемой экспертной системе. Несмотря на то, что основу знаний экспертной системы будут составлять знания эксперта, для достижения успеха инженер по знаниям должен использовать дополнительные источники знаний в виде книг, инструкций, которые ему рекомендовал эксперт.
Идентификация задачи заключается в составлении неформального (вербального) описания решаемой задачи. В этом описании указываются общие характеристики задачи; подзадачи, выделяемые внутри данной задачи; ключевые понятия (объекты), характеристики и отношения; входные (выходные) данные; предположительный вид решения; знания, релевантные решаемой задаче; примеры (тесты) решения задачи.
Цель этапа идентификации задачи состоит в том, чтобы характеризовать задачу и структуру поддерживающих ее знаний и приступить к работе по созданию базы знаний. Если исходная задача оказывается слишком сложной с учетом имеющихся ресурсов, то этап идентификации может потребовать нескольких итераций.
В процессе идентификации задачи инженер и эксперт работают в тесном контакте. Начальное содержательное описание задачи экспертом влечет за собой вопросы инженера по знаниям с целью уточнения терминов и ключевых понятий. Эксперт уточняет описание задачи, объясняет, как решать эту задачу и какие рассуждения лежат в основе решения. После нескольких циклов, уточняющих описание, эксперт и инженер по знаниям получают окончательное неформальное описание задачи.
При разработке экспертной системы типичными ресурсами являются: источники знаний, время разработки, вычислительные средства (возможности ЭВМ и программного инструментария) и объем финансирования. Для достижения успеха эксперт и инженер должны использовать при построении экспертной системы все доступные им источники знаний. Для эксперта источниками знаний могут быть его предшествующий опыт по решению задачи, книги, конкретные примеры задач и использованных решений. Для инженера по знаниям источниками знаний могут быть опыт в решении аналогичных задач, методы решения и представления знаний, программный инструментарий.
При определении временных ресурсов необходимо иметь в виду, что сроки разработки и внедрения экспертной системы составляют (за редким исключением) не менее шести месяцев (при трудоемкости от двух до пяти человеко-лет). Задача определения ресурсов является весьма важной, поскольку ограниченность какого-либо ресурса существенно влияет на процесс проектирования. Так, например, при недостаточном финансировании предпочтение может быть отдано не разработке оригинальной новой системы, а адаптации существующей.
Задача идентификации целей заключается в формулировании в явном виде целей построения экспертной системы. При этом важно отличать цели, ради которых строится система, от задач, которые она должна решать. Примерами возможных целей являются: формализация неформальных знаний экспертов; улучшение качества решений, принимаемых экспертом; автоматизация рутинных аспектов работы эксперта (пользователя); тиражирование знаний эксперта.
На первом этапе инженер по знаниям должен ответить на основной вопрос: «Подходят ли методы инженерии знаний для решения предложенной задачи?». Для положительного ответа на данный вопрос необходимо, чтобы задача относилась к достаточно узкой, специальной области знаний и не требовала для своего решения использования того, что принято называть здравым смыслом, поскольку методы искусственного интеллекта не дают возможности формализовать это понятие. Кроме того, качество экспертной системы зависит в конечном счете от уровня сложности решаемой задачи и ясности ее формулировки. Задача не должна быть ни слишком легкой, ни слишком трудной. Обычно число связанных понятий, релевантных проблеме, должно составлять несколько сотен. Говоря другими словами, назначение экспертной системы в том, чтобы решать некоторую задачу из данной области, а не в том, чтобы быть экспертом в этой области.
Следует подчеркнуть, что в настоящее время при разработке экспертной системы (особенно динамических экспертных систем) применяется принцип кооперативного проектирования, заключающийся в участии конечных пользователей системы в процессе разработки. Пользователи обладают неформальным пониманием прикладных задач, которые должна решать разрабатываемая программная система. Хотя системные аналитики и программисты могут изучить этот класс прикладных задач, затраты на обучение (прежде всего время) будут высоки, а их компетентность все равно останется более низкой, чем у опытных пользователей. Поэтому включение конечных пользователей в группу разработчиков обычно более эффективно и позволяет более качественно анализировать автоматизируемые операции. Эти преимущества усиливаются по мере усложнения решаемой задачи.
2.2 Этап II - концептуализация
На этапе концептуализации эксперт и инженер по знаниям выделяют ключевые понятия, отношения и характеристики, необходимые для описания процесса решения задачи. На этом этапе определяются следующие особенности задачи: типы доступных данных; исходные и выводимые данные; подзадачи общей задачи; используемые стратегии и гипотезы; виды взаимосвязей между объектами проблемной области; типы используемых отношений (иерархия, причина/следствие, часть/целое и т.п.); процессы, используемые в ходе решения задачи; типы ограничений, накладываемых на процессы, используемые в ходе решения; состав знаний, используемых для решения задачи и для объяснения решения.
Для определения перечисленных характеристик задачи целесообразно составить детальный протокол действий и рассуждений эксперта в процессе решения хотя бы одной конкретной задачи. Такой протокол обеспечивает инженера по знаниям словарем терминов (объектов) и некоторым приблизительным представлением о тех стратегиях, которые использует эксперт. Кроме того, протокол помогает ответить на многие другие вопросы, возникающие в ходе разработки. На этом этапе инженер по знаниям рассматривает вопросы, относящиеся к представлению знаний и методам решения, но говорить о выборе конкретных способов и методов здесь еще рано.
Адекватным средством для выделения ключевых понятий, отношений и характеристик являются диаграммы, которые используют практически все современные инструментальные средства. Диаграммы используются как средства проектирования, сопровождения и документирования, а также для организации взаимодействия между различными участниками процесса создания системы.
Являясь языком для описания требований и проектирования системы, диаграммы должны быть небольшими по размеру, простыми, понятными и полными. Для этого они должны опираться на формальные правила и использовать небольшое количество абстрактных символов. К числу базовых типов диаграмм относятся:
· контекстные диаграммы (структурно-функциональные схемы), например нотация IDEF0;
· диаграммы «сущность-связь», например нотация IDEF1X;
· диаграммы потоков данных, например нотация DFD;
· диаграммы «состояния-переходы», например нотация UML.
Для того чтобы показать, что система должна делать, надо показать всю систему, ее части и их взаимодействие. Это делается с помощью контекстных диаграмм. Эти диаграммы, на которых представлены сама система в виде системного процесса, ее основные части (подсистемы), включая операторы и основные блоки оборудования (измерения и управления), объекты внешнего окружения и основные потоки между ними, описывают разрабатываемую систему на высоком уровне.
Контекстная диаграмма в сочетании с перечнем системных требований стремится ответить на вопрос: «Что делает система?», причем дает только частичный ответ. Для систем со сложными связями между объектами важно более детально представлять взаимоотношения между объектами. Это делается с помощью диаграмм «сущность-связь». В этих диаграммах объекты представляются прямоугольниками, а связи между ними - стрелками. Тип связи и ее направление определяются с помощью стрелок в начале и в конце линии связи. Тип связи задает отношение множественности между объектами, т.е. определяет, скольким экземплярам второго объекта соответствует один экземпляр первого объекта.
После того как определено, что должна делать система, необходимо ответить на вопрос: «Как?» Первый вопрос заключается в том, как система взаимодействует с внешним окружением. Ответ на этот вопрос дает диаграмма потоков данных. На ней представлены внешние объекты, хранилища данных в системе, потоки данных, входящие, выходящие и проходящие внутри системы, и системные процессы, обрабатывающие эти потоки. Объекты принято обозначать квадратами, хранилища данных - узкими прямоугольниками без правой стороны, процессы - прямоугольниками с закругленными углами, а потоки данных - линиями со стрелками. Диаграммы потоков данных позволяют проводить декомпозицию по уровням раскрытия системных процессов и потоков. В совокупности они показывают, как система отвечает требованиям и как реализуется проект.
Типы диаграмм, упомянутые выше, отражали статическое поведение системы. Для того чтобы показать динамическое поведение системы, какие события происходят в системе, как система на них реагирует и в какие состояния она попадает, используются диаграммы «состояний-переходов», которые моделируют поведение машины с конечным числом состояний. Поведение системы представляется в виде множества дискретных, исключительных и конечных состояний. Происходящие события приводят к изменению состояния системы; считается, что изменения происходят мгновенно. События могут происходить синхронно и асинхронно.
экспертный система пользователь
2.3 Этап III - формализация
На этапе формализации все ключевые понятия и отношения, выявленные на этапе концептуализации, выражаются на некотором формальном языке, предложенном (выбранном) инженером по знаниям. Здесь он определяет, подходят ли имеющиеся инструментальные средства для решения рассматриваемой проблемы или необходим выбор другого инструментария, или требуются оригинальные разработки.
Основными задачами в процессе формализации являются проблемы структуризации исходной задачи и знаний в выбранном (разработанном) формализме, а именно: структуризация общей задачи на связанные подзадачи, структуризация предметной области на основе иерархии классов, структуризация знаний на декларативные и процедурные, структуризация приложения на основе иерархии «часть/целое».
1. Структуризация общей задачи на связанные подзадачи
Модульная организация базы знаний составляет важную часть разработки прикладной системы, хотя трудно предложить единственно правильный способ разбиения системы на модули. Процесс эволюции прикладной системы может потребовать пересмотра и ее модульной структуры. В большинстве современных средств разработки сложных экспертных систем и в особенности динамических предусматривается поддержка разбиения базы знаний на модули.
Важность модульной организации экспертной системы определяется тем, что разбиение приложения на модули существенно ускоряет разработку (так как независимые группы разработчиков могут одновременно разрабатывать различные модули), снижает затраты на сопровождение и поддержку, упрощает повторное использование модулей базы знаний в последующих разработках. С другой стороны, разбиение прикладной экспертной системы на модули несколько повышает накладные расходы на загрузку и сборку прикладной системы, например: восстановление после сбоев и перезапуск системы.
2. Структуризация предметной области на основе иерархии классов
Необходимость ускорения темпов разработки и модификации экспертной системы всегда являлась актуальной задачей прикладной инженерии знаний. Применение объектно-ориентированного подхода в современных экспертных системах естественным образом реализует возможность декомпозиции задачи на совокупность подзадач. Знания при этом подходе организованы в классы. Каждый класс определяется специфическим набором атрибутов. Классы организуются в иерархию классов. Каждый класс в иерархии наследует атрибуты и ограничения своего родительского класса. Обычно производный класс определяет дополнительные специфические атрибуты и (или) ограничения.
В большинстве существующих экспертных систем пользователю разрешено производить новый класс только от одного родительского. Такой подход хотя и проще в реализации, требует дополнительных усилий во время формирования предметно-ориентированной иерархии классов, так как в этом случае иерархия наследования должна представляться в виде дерева. Добавление в иерархию наследования нового класса может потребовать существенных концептуальных изменений на различных уровнях. Избежать подобных непроизводительных затрат позволяет концепция множественного наследования, в рамках которой новый класс может наследовать свойства у двух и более классов родителей. Однако следует отметить, что к использованию механизмов множественного наследования следует подходить аккуратно, так как получающаяся в этом случае сетевая схема иерархии наследования затрудняет понимание структуры базы знаний.
Основными механизмами структурирования проблемно-ориентированной иерархии классов являются два противоположно направленных, но взаимосвязанных процесса: обобщение и специализация (конкретизация).
Процесс обобщения заключается в создании родительских классов для обобщения свойств, присущих более чем одному классу объектов в приложении. Например, так как автомобили, самолеты и лодки характеризуются скоростью передвижения, в приложении, работающем с этими объектами, целесообразно ввести новый класс транспортных средств, обладающий этим свойством. Самолеты, автомобили и лодки будут производными классами от транспортного средства и унаследуют от него атрибут «скорость передвижения». Кроме атрибутов, характеризующих наблюдаемые свойства объектов, целесообразно провести обобщение и их поведенческих аспектов.
Процесс специализации заключается во введении новых классов для описания объектов, отличающихся значениями характеристик, их набором и поведением от уже описанных. Рассмотрим далее приведенный выше пример. Если разработчику потребуется описать новый тип лодок (например, моторные лодки), он должен определить его как подкласс существующего класса «лодки». Новый класс наследует все свойства, взаимосвязи и поведение своего родителя. Для его описания необходимо указать только его особенности.
3. Структуризация знаний на декларативные и процедурные
По форме описания знания подразделяются на: декларативные, процедурные.
Декларативные знания - это знания, которые записаны в памяти интеллектуальной системы так, что они непосредственно доступны для использования после обращения к соответствующему полю памяти. Обычно декларативные знания используются для представления информации о свойствах и фактах предметной области. По форме представления декларативные знания противопоставляются процедурным знаниям.
Процедурные знания - это знания, хранящиеся в памяти интеллектуальной системы в виде описания процедур, с помощью которых их можно получить. Обычно процедурные знания используются для представления информации о способах решения задач в проблемной области, а также различные инструкции, методики и т.п.
4. Структуризация приложения на основе иерархии «часть/целое»
Модульный принцип создания приложения предоставляет разработчику различные возможности разбиения приложения на подсистемы, легче поддающиеся сопровождению и модификации. Разбиение приложения на модули упрощает процесс тестирования за счет использования групповой работы над тестируемой системой. Модульность также обеспечивает базовые возможности для повторного использования фрагментов системы.
2.4 Этап IV - реализация
Цель этапа выполнения состоит в создании одного или нескольких прототипов экспертной системы, решающих требуемые задачи. Затем по результатам этапов тестирования и опытной эксплуатации на данном этапе создается конечный продукт, пригодный для промышленного использования. Разработка прототипа состоит в программировании его компонентов (или выборе их из имеющихся инструментальных средств) и наполнении базы знаний.
Обычная ошибка разработчиков при создании прототипа состоит в том, что процесс приобретения знаний откладывают до полного понимания структуры базы знаний и всех тестовых примеров. Тем самым эта наиболее трудоемкая часть работы отодвигается на поздние этапы. Процесс накопления знаний позволяет уточнить используемые понятия и отношения, поэтому необходимо начинать приобретение знаний, как только составлены или выбраны инструментальные средства, позволяющие работать с простейшим представлением знаний и простейшими управляющими структурами. Такой подход позволяет как можно раньше начать выполнение отдельных подзадач и обнаружить, что в ряде случаев для их решения необходимы дополнительные знания. Иными словами, первый прототип экспертной системы (ЭС-1) должен появиться через 1-3 месяца после начала работы. Разработка прототипа является чрезвычайно важным шагом в создании экспертной системы. Некоторые фрагменты прототипа могут войти в окончательную версию экспертной системы, но не это является наиболее важной целью создания прототипа. Главное, чтобы прототип обеспечил проверку адекватности идей, выбранных при построении данной экспертной системы, решаемым задачам.
Создание первого прототипа должно подтвердить, что выбранные методы решений и способы представления пригодны для успешного решения по крайней мере ряда задач из области экспертизы. При разработке первого прототипа обычно оставляют в стороне вопросы, требующие значительных трудозатрат: построение сложных моделей; учет сложных временных, причинных и модальных отношений; понимание намерений пользователей; моделирование рассуждений, содержащих неточные понятия.
Итак, можно сделать вывод, что в первом прототипе реализуется простейшая процедура вывода. При его разработке основная цель состоит в том, чтобы получить решение задачи, не заботясь пока об эффективности. После разработки первого прототипа необходимо расширить круг задач, решаемых системой, для того, чтобы собрать пожелания и замечания, которые будут учтены во втором прототипе системы (ЭС-2).
В ходе приобретения знаний инженер по знаниям должен получить знания от эксперта, структурировать их и представить в виде, понятном экспертной системе. Процесс извлечения знаний сложен и длителен, так как эксперт часто или не осознает, какими знаниями он пользуется, или не может их вербализовать (содержательно выразить). Для достижения эффективного функционирования экспертной системы необходимо осуществить структурирование знаний. Наиболее важным средством для структурирования знаний является иерархия классов, описывающих понятия промежуточного уровня. Во многих случаях эти понятия могут явно не упоминаться (а возможно, и не осознаваться) экспертом. Задача инженера по знаниям - выделить такие понятия, обнаружив сходные действия эксперта при обработке различных ситуаций.
При представлении правил в виде, понятном экспертной системе, особое внимание следует уделять трем ситуациям: некоторое правило слишком громоздко; имеется много похожих правил; используются частные, а не общие правила. Громоздкость правила может объясняться тем, что в нем отражено несколько фактов из данной проблемной области. Если это так, то правило надо разбить на несколько более мелких. Вторая ситуация имеет место тогда, когда в проблемной области существует понятие, явно не указанное экспертом, а возможно, и не имеющее имени. В этом случае новое понятие необходимо ввести в явном виде, присвоить ему специальное имя и, используя это понятие, сформулировать одно правило взамен группы подобных. Третья ситуация имеет место тогда, когда эксперт не использует возможности, предоставляемые объектно-ориентированным программированием, позволяющим скрыть специфику объектов в иерархии классов и ссылаться в правилах на классы, а не на конкретные объекты.
Выполнение экспериментов с версией ЭС-2 и анализ результатов их прогонов позволяют выявить недостатки системы и разработать средства для их устранения. Этот итеративный процесс может продолжаться еще несколько месяцев и зависит от сложности проблемной области, от гибкости выбранного представления и степени соответствия управляющего механизма решаемым задачам (возможно, потребуется разработка ЭС-3 и т.д.).
В целом итеративная разработка заключается в подходе к реализации системы как серии удачных приближений прототипов к конечной цели, а не как к единой, монолитной, интегрированной системе. Итеративная разработка особенно эффективна при создании систем с недостаточно четко определенными спецификациями, к которым прежде всего относятся экспертные системы. Поскольку подобные проекты обычно недостаточно проработаны с точки зрения системного анализа, разработчики обычно обнаруживают новые требования к системе после начала проекта. Если принят итеративный подход к разработке, то на адаптацию системы и коррекцию дальнейшего плана работ требуются относительно небольшие затраты.
2.5 Этап V - тестирование
Этап тестирования экспертной системы включается в каждую стадию прототипирования прикладной системы. Хотя обычно тестирование рассматривают в качестве заключительной фазы процесса разработки, операционное прототипирование, характеризующееся возможностью изменения целей проектирования в процессе разработки, предъявляет особые требования к доказательству корректности (верификации - verification) и соответствия разрабатываемой системы предъявляемым требованиям (концептуальное тестирование - validation). Эти две задачи должны выполняться параллельно с процессом разработки экспертной системы. По аналогии с технологией тестирования традиционных программных систем можно интерпретировать процесс верификации (логического тестирования) как альфа-тестирование программной системы, а концептуальное тестирование - как этап бета-тестирования, хотя тестирование экспертных систем принципиально отличается от тестирования традиционных систем. В то время как достаточно строгие предварительные спецификации традиционной системы позволяют программисту осуществлять эти работы (в особенности верификацию системы) самостоятельно, для тестирования экспертной системы необходимо привлекать эксперта в данной предметной области.
Специалисты выделяют три аспекта тестирования экспертных систем: тестирование исходных данных, логическое тестирование базы знаний, концептуальное тестирование прикладной системы.
Тестирование исходных данных включает проверку фактографической информации, служащей основой для проведения экспертизы. Очевидно, что наборы данных, используемых при тестировании, должны покрывать область возможных ситуаций, распознаваемых экспертной системой.
Логическое тестирование базы знаний заключается в обнаружении логических ошибок в системе продукций, не зависящих от предметной области, таких, как избыточные, циклические и конфликтные правила; пропущенные и пересекающиеся правила; несогласуемые и терминальные клаузы (несогласуемые условия). Формальный характер этих ошибок позволяет автоматизировать процесс логического тестирования. Существует большое количество инструментальных средств для верификации наборов правил и базы знаний в целом. Однако в ряде случаев, когда цепочки правил, используемых в процессе вывода, небольшие (от 3 до 10 правил), целесообразно проводить процесс верификации вручную.
Концептуальное тестирование проводится для проверки общей структуры системы и учета в ней всех аспектов решаемой задачи. На этом этапе проведение тестирования невозможно без привлечения конечных пользователей прикладной системы.
2.6 Этап VI - опытная эксплуатация и внедрение
На этапе опытной эксплуатации и внедрения проверяется пригодность экспертной системы для конечного пользователя. Здесь система занимается решением всех возможных задач при работе с различными пользователями. Целесообразно организовать работу системы не на стенде разработчика, а на месте работы пользователей. К этому этапу следует переходить лишь после того, как система, по мнению эксперта, будет успешно решать все требуемые задачи, чтобы ошибки в решениях не создавали у пользователя отрицательное представление о системе. Пригодность системы для пользователя определяется в основном удобством работы с ней и ее полезностью.
Под полезностью системы понимается способность системы в ходе диалога определить потребность пользователя, выявить и устранить причины неудач в работе и удовлетворить потребности пользователя (т.е. решить поставленные задачи). Говоря другими словами, пользователю важно «довести до сознания» системы свою информационную потребность, несмотря на возможные ошибки, допускаемые им в связи с недостаточным знанием системы. Конечно, для пользователя важны также полнота и правильность решений, но эти характеристики должны быть проверены экспертом на предыдущем этапе.
Под удобством работы с системой понимаются:
· естественность взаимодействия с системой, т.е. общение в привычном, не утомляющем пользователя виде;
· гибкость системы, т.е. способность системы настраиваться на различных пользователей, а также учитывать изменения в квалификации одного и того, же пользователя;
· устойчивость системы к ошибкам, т.е. способность системы не выходить из строя при ошибочных действиях неопытного пользователя.
По результатам эксплуатации может потребоваться не только модификация правил и данных (совершенствование или изменение языка общения, диалоговых средств, средств обнаружения и исправления ошибок, настройка на пользователя и т.д.), но и изменение устройств ввода-вывода в связи с их неприемлемостью для пользователя. По результатам этого же этапа принимается решение о тиражировании системы. После успешного завершения этапа опытной эксплуатации и использования экспертной системы различными пользователями она может классифицироваться как промышленная экспертная система.
В целом в процессе опытной эксплуатации прототипа происходит уточнение требований к системе: разработчики и пользователи имеют возможность непосредственно изучить и устранить последствия принятых проектных решений.
Заключение
Центральная парадигма интеллектуальных технологий сегодня - это обработка знаний. Системы, ядром которых является база знаний (БЗ) или модель предметной области, описанная на языке сверхвысокого уровня, приближенном к естественному, называют интеллектуальными. Чаще всего интеллектуальные системы применяются для решения сложных задач, где основная сложность решения связана с использованием слабо-формализованных знаний специалистов-практиков и где логическая (или смысловая) обработка информации превалирует над вычислительной. Наиболее распространенным видом ИС являются экспертные системы.
Подобные документы
Изучение характеристик, классификации, функций и основных элементов экспертных систем. Исследование их структуры и отличительных особенностей от другого программного обеспечения. Описания методов проектирования и области применения экспертных систем.
реферат [38,1 K], добавлен 18.09.2013Понятие и содержание экспертных систем, принципы взаимосвязи элементов: интерфейса пользователя, собственно пользователя, эксперта, средств объяснения, рабочей памяти и машины логического вывода. Классификация, преимущества, недостатки экспертных систем.
реферат [33,9 K], добавлен 25.02.2013Сущность экспертных систем и их научно-познавательная деятельность. Структура, функции и классификация ЭС. Механизм вывода и система объяснений. Интегрированные информационные системы управления предприятием. Применение экспертных систем в логистике.
курсовая работа [317,3 K], добавлен 13.10.2013Этапы разработки экспертных систем. Требования к организации-разработчику. Правильный выбор подходящей проблемы, работа с экспертом. Разработка прототипной системы. Развитие прототипа до промышленной экспертной системы. Особенности оценки системы.
презентация [169,1 K], добавлен 14.08.2013Понятия, классификация и структура экспертных систем. Базы знаний и модели представления знаний. Механизмы логического вывода. Инструментальные средства проектирования и разработки экспертных систем. Предметная область ЭС "Выбор мобильного телефона".
курсовая работа [2,2 M], добавлен 05.11.2014Понятие и особенности экспертных систем, способных накапливать, обрабатывать знания из некоторой предметной области, на их основе выводить новые знания и решать на основе этих знаний практические задачи. История и устройство юридических экспертных систем.
реферат [58,4 K], добавлен 17.03.2015Механизм автоматического рассуждения. Основные требования к экспертным системам. Наделение системы способностями эксперта. Типовая структура и классификация интерфейсов пользователей экспертных систем. Основные термины в области разработки систем.
презентация [252,6 K], добавлен 14.08.2013Сущность, виды, направления использования и основные понятия экспертных систем. Понятие и характеристика основных элементов структуры экспертной системы. Основные виды классификаций экспертных систем: по решаемой задаче и по связи с реальным временем.
доклад [104,5 K], добавлен 09.06.2010Определение экспертных систем, их достоинство и назначение. Классификация экспертных систем и их отличие от традиционных программ. Структура, этапы разработки и области применения. Классификация инструментальных средств и технология разработки систем.
курсовая работа [78,0 K], добавлен 03.06.2009Структура экспертных систем, их классификация и характеристики. Выбор среды разработки программирования. Этапы создания экспертных систем. Алгоритм формирования базы знаний с прямой цепочкой рассуждений. Особенности интерфейса модулей "Expert" и "Klient".
курсовая работа [1,1 M], добавлен 18.08.2009