Автор работы: Пользователь скрыл имя, 22 Ноября 2012 в 16:19, курсовая работа
Целью данной курсовой работы является – подробно изучить экспертные системы как прикладную область искусственного интеллекта.
Для достижения данной цели в полной мере потребовалось решить следующие задачи:
- рассмотреть историю развития искусственного интеллекта;
- определить дальнейшие тенденции развития искусственного интеллекта;
- рассмотреть основные понятия и компоненты экспертных систем;
- выявить их достоинства и недостатки;
- изучить этапы разработки и области применения;
- выявить отличия экспертных систем от других программ.
Прогнозирование. Прогнозирующие системы предсказывают возможные результаты или события на основе данных о текущем состоянии объекта. Программная система «Завоевание Уолл-стрита» может проанализировать конъюнктуру рынка и с помощью статистических методов алгоритмов разработать план капиталовложений на перспективу. Она не относится к числу систем, основанных на знаниях, поскольку использует процедуры и алгоритмы традиционного программирования. Хотя пока ещё отсутствуют экспертные системы, которые способны за счёт своей информации о конъюнктуре рынка помочь увеличить капитал, прогнозирующие системы уже сегодня могут предсказывать погоду, урожайность и поток пассажиров. Даже на персональном компьютере, установив простую систему, основанную на знаниях, можно получить местный прогноз погоды;
Планирование. Планирующие системы предназначены для достижения конкретных целей при решении задач с большим числом переменных. Дамасская фирма впервые в торговой практике предоставляет в распоряжение покупателей 13 рабочих станций, установленных в холле своего офиса, на которых проводятся бесплатные 15-минутные консультации с целью помочь покупателям выбрать компьютер, в наибольшей степени отвечающий их потребностям и бюджету. Кроме того, компания «Boeing» применяет экспертные системы для проектирования космических станций, а также для выявления причин отказов самолётных двигателей и ремонта вертолётов. Экспертная система, созданная фирмой, служит для определения или изменения конфигурации компьютерных систем типа и в соответствии с требованиями покупателя. Фирма разрабатывает более мощную систему, включающую базу знаний системы, с целью оказания помощи покупателям при выборе вычислительных систем с нужной конфигурацией;
Интерпретация. Интерпретирующие системы обладают способностью получать определенные заключения на основе результатов наблюдения. Система, одна из наиболее известных систем интерпретирующего типа, объединяет знания девяти экспертов. Используя сочетания девяти методов экспертизы, системе удалось обнаружить залежи руды стоимостью в миллион долларов, причём наличие этих залежей не предполагал ни один из девяти экспертов. Существует и другая интерпретирующая система. Она определяет местоположение и типы судов в тихом океане по данным акустических систем слежения;
Контроль и управление. Системы, основанные на знаниях, могут применяться в качестве интеллектуальных систем контроля и принимать решения, анализируя данные, поступающие от нескольких источников. Такие системы уже работают на атомных электростанциях, управляют воздушным движением и осуществляют медицинский контроль. Они могут быть также полезны при регулировании финансовой деятельности предприятия и оказывать помощь при выработке решений в критических ситуациях;
Диагностика неисправностей в механических и электрических устройствах. В этой сфере системы, основанные на знаниях, незаменимы как при ремонте механических и электрических машин (автомобилей, дизельных локомотивов и т.д.), так и при устранении неисправностей и ошибок в аппаратном и программном обеспечении компьютеров;
Обучение. Экспертные системы, выполняющие обучение, подвергают диагностике, «отладке» и исправлению (коррекции) поведение обучаемого. Примером является обучение студентов отысканию неисправностей в электрических цепях, обучение военных моряков обращению с двигателем на корабле и обучение студентов-медиков выбору антимикробной терапии. Обучающие системы создают модель того, что обучающийся знает и как он эти знания применяет к решению проблемы. Системы диагностируют и указывают обучающемуся его ошибки, анализируя модель и строя планы исправлений указанных ошибок. Они исправляют поведение обучающихся, выполняя эти планы с помощью непосредственных указаний обучающимся.
Большинство экспертных систем включают
знания, по содержанию которых их можно
отнести одновременно к нескольким
типам. Например, обучающая система
может также обладать знаниями, позволяющими
выполнять диагностику и
3 СТРУКТУРА, ЭТАПЫ РАЗРАБОТКИ ЭКСПЕРТНЫХ СИСТЕМ
3.1 Основные компоненты экспертных систем
Типичная экспертная система состоит из следующих основных компонентов: решателя (интерпретатора), рабочей памяти (РП), называемой также базой данных (БД), базы знаний (БЗ), компонентов приобретения знаний, объяснительного и диалогового компонентов.
База данных предназначена для хранения исходных и промежуточных данных решаемой в текущий момент задачи. Этот термин совпадает по названию, но никак не по смыслу с термином, используемым в информационно-поисковых системах (ИПС) и системах управления базами данных (СУБД) для обозначения данных, и в первую очередь не текущих, а долгосрочных, хранимых в системе.
База знаний в экспертной системе предназначена для хранения долгосрочных данных, описывающих рассматриваемую область, а не текущих данных, и правил, описывающих целесообразные преобразования данных этой области.
Решатель, использую исходные данные из РП и знания их БХ, формирует такую последовательность правил, которые, будучи примененными к исходным данным, приводят к решению задачи.
Объяснительный компонент
Диалоговый компонент
В разработке экспертной системы участвуют
представители следующих
- эксперт в той проблемной области, задачи которой будет решать экспертная система;
- инженер по знаниям –
- программист – специалист по
разработке инструментальных
Необходимо отметить, что отсутствие среди участников разработки инженера по знаниям, то есть его замена программистом, либо приводит к неудаче процесса создания экспертной системы, либо значительно замедляет его. Эксперт определяет знания, данные и правила, характеризующие проблемную область, обеспечивает полноту и правильность введения в экспертную систему знаний. Инженер по знаниям помогает эксперту выявить и структурировать знания, необходимые для работы экспертной системы, осуществляет выбор того инструментального средства, которое является наиболее подходящим для данной проблемной области, и определяет способ того представления знаний в этом инструментальном средстве, выделяет и программирует традиционными средствами стандартные функции, типичные для данной проблемной области, которые будут использоваться в правилах вводимых экспертом. Программист разрабатывает такие инструментальные средства, которые содержат в своих пределах все основные компоненты экспертной системы, осуществляет сопряжение этих инструментальных средств с той средой, в которой оно будет использовано.
Экспертная система работает в
двух режимах: приобретения знаний и
решения задач, называемом также
режимом консультации или режимом
использования экспертной системы.
В режиме приобретения знаний общение
с экспертной системой осуществляется
через посредничество инженера по знаниям.
Эксперт описывает проблемную область
в виде совокупности данных и правил.
Данные определяют объекты, их характеристики
и значения, характерные для
В режиме консультации общение с экспертной системой осуществляет конечный пользователь, которого интересует результат или способ получения решения. Пользователь в зависимости от назначения экспертной системы может не быть специалистом в данной проблемной области, в этом случае он обращается к экспертной системе за советом, не умея получить ответ сам, или быть специалистом, в этом случае он обращается к экспертной системе, чтобы либо ускорить процесс получения результата, либо возложить на экспертную систему всю рутинную работу. Термин «пользователь» означает, что им является и инженер по знаниям, и программист. Поэтому, когда хотят подчеркнуть, что речь идет о том, для кого делалась экспертная система, используют термин «конечный пользователь». В режиме консультации данные о задаче пользователя обрабатываются диалоговым компонентом, который выполняет следующие действия:
- распределяет роли участников,
пользователя и экспертной
- преобразует данные
- преобразует сообщения системы,
После обработки данные поступают в РП. На основе входных данных в РП, общих данных о проблемной области правил из БЗ решатель (интерпретатор) формирует решение задачи.
В отличие от традиционных программ экспертная система в режиме решения задачи не только исполняет предписанную последовательность, но и предварительно формирует ее. Если ответ экспертной системы не понятен пользователю, то он может потребовать объяснения, как только будет получен ответ [6].
3.2 Технология разработки экспертных систем
Разработка программных
Процесс разработки промышленной экспертной системы, опираясь на традиционные технологии, можно разделить на шесть более или менее независимых этапов, практически не зависимых от предметной области.
Последовательность этапов дана для общего представления о создании идеального проекта. Конечно, последовательность эта не вполне фиксированная. В действительности каждый последующий этап разработки экспертной системы приносит новые идеи, которые могут повлиять на предыдущие решения и даже привести к их переработке. Именно поэтому многие специалисты по информатике весьма критично относятся к методологии экспертных систем. Они считают, что расходы на разработку таких систем очень большие, время разработки слишком длительное, а полученные в результате программы ложатся тяжёлым бременем на вычислительные ресурсы [9].
В целом за разработку экспертных
систем целесообразно браться
- информационный поиск;
- сложные расчёты;
- графика;
- обработка текстов.
Решение таких задач, во-первых, подготавливает
высококвалифицированных
Этапы разработки промышленной экспертной системы:
- выбор подходящей проблемы. Этот этап включает деятельность, предшествующую решению начать разрабатывать конкретную экспертную систему;
- разработка прототипной системы. Прототипная система является усечённой версией экспертной системы, спроектированной для проверки правильности кодирования фактов, связей и стратегий рассуждения эксперта. Она также даёт возможность инженеру по знаниям привлечь эксперта к активному участию в разработке экспертной системы и, следовательно, к принятию им обязательства приложить все усилия для создания системы в полном объёме;
- развитие прототипа до промышленной экспертной системы. При неудовлетворительном функционировании прототипа эксперт и инженер по знаниям имеют возможность оценить, что именно будет включено в разработку окончательного варианта системы;
- оценка системы. После завершения этапа разработки промышленной экспертной системы необходимо провести её тестирование в отношении критериев эффективности. К тестированию широко привлекаются другие эксперты с целью апробирования работоспособности системы на различных примерах;
- стыковка системы. На этом этапе осуществляется стыковка экспертной системы с другими программными средствами в среде, в которой она будет работать, и обучение людей, которых она будет обслуживать;