ФЕДЕРАЛЬНОЕ АГЕНСТВО ПО ОБРАЗОВАНИЮ.
Федеральное государственное образовательное учреждение
Высшего профессионального образования
«Чувашский государственный университет имени И.Н.Ульянова»
Факультет экономический.
Кафедра информационных систем
КУРСОВАЯ РАБОТА.
По дисциплине: Интеллектуальные информационные системы
На тему: «Технология разработки экспертной системы. Выбор подходящей проблемы для разработки экспертной системы »
Выполнила: студентка гр. ЭК
Проверила: Бутунина Я. И.
Чебоксары 2008
Содержание
Введение
Глава 1. Введение в сущность экспертных систем
1.1. История развития экспертных систем
1.2. Определение экспертных систем. Главное достоинство и назначение
экспертных систем
Глава 2. Технология разработки экспертных систем
2.1. Этапа разработки экспертных систем
2.2. Технологии быстрого прототипирования
Глава 3. Анализ теории экспертных систем и выводы
3.1.Выбор подходящей проблемы для разработки экспертной системы
3.2. Преимущества экспертных систем перед человеком-экспертом.
Список использованной литературы
Введение
Технология экспертных систем является одним из направлений новой области исследования, которая получила наименование искусственного интеллекта. Исследования в этой области сконцентрированы на разработке и внедрении компьютерных программ, способных имитировать, воспроизводить те области деятельности человека, которые требуют мышления, определенного мастерства и накопленного опыта. К ним относятся задачи принятия решений, распознавания образов и понимания человеческого языка. Эта технология уже успешно применяется в некоторых областях техники и жизни общества — органической химии, поиске полезных ископаемых, медицинской диагностике. Вот в этом заключается актуальность. А точнее актуальность темы моей работы заключается в том что, именно интеллектуальные информационные технологии и экспертные системы являются последними прогрессами науки в области информатики и информационного общества. Именно над этим направлением трудятся многие ученые информатики, именная эта тема у всех на слуху, над ней трудятся ее развивают. Степень разработанности темы довольна весомая. Работ по теме и изданий много, я бы хотела выделить последние на мой взгляд хорошие и качественные. Разработку темы поддерживал Вильямс В. Г. Джердан Р.Ш. , Донценко Н. А. Рубаков Ш.А.
Цель- написание курсовой работы по данной дисциплине с последующем его усвоении. Для достижения поставленной цели поставлены следующие вопросы:
- с какой стороны подойти к изучению темы;
- на практическую или теоретическую часть делать акцент;
- качественный подбор литературы по данной теме.
И решены следующие задачи:
- изучение и анализ основ интеллектуальных систем;
- изучение и выявление сущности экспертных систем;
- разбор технологии проектирования экспертных систем;
- изучить, проанализировать, и высказать свою точку зрения по вопросу;
- разработка предложений.
Объект исследования - интеллектуальные и экспертные системы. Предмет исследования- разработка экспертной системы. Основой для написания работы стала книга Д. Джарратано, Г. Райли. Экспертные системы. Принципы разработки и программирование. Изд. Вильямс, 2006., именно в ней подробно и понятно рассмотрены все основные аспекты интеллектуальных систем с учетом последних прогрессов и продвижений в области информатики и программирования.
В результате проделанной работы были выявлены, и изучены и проанализированы :
-технология разработки экспертных систем;
-прототип программирования;
- сущность и определение интеллектуальных систем.
А также высказана своя точка зрения с предложениями по данной теме.
Глава 1. Введение в сущность экспертных систем.
История развития экспертных систем.
Наиболее известные ЭС, разработанные в 60-70-х годах, стали в своих областях уже классическими. По происхождению, предметным областям и по преемственности применяемых идей, методов и инструментальных программных средств их можно разделить на несколько семейств.
1. META-DENDRAL.Система DENDRAL позволяет определить наиболее вероятную структуру химического соединения по экспериментальным данным (маспектрографии, данным ядерном магнитного резонанса и др.).M-D автоматизирует процесс приобретения знаний для DENDRAL. Она генерирует правила построения фрагментов химических структур.
2. MYCIN-EMYCIN-TEIREIAS-PUFF-NEOMYCIN. Это семейство медицинских ЭС и сервисных программных средств для их построения.
3. PROSPECTOR-KAS. PROSPECTOR- предназначена для поиска (предсказания) месторождений на основе геологических анализов. KAS- система приобретения знаний для PROSPECTOR.
4. CASNET-EXPERT. Система CASNET- медицинская ЭС для диагностики выдачи рекомендаций по лечению глазных заболеваний. На ее основе разработан язык инженерии знаний EXPERT, с помощью которой создан ряд других медицинских диагностических систем.
5. HEARSAY-HEARSAY-2-HEARSAY-3-AGE. Первые две системы этого ряда являются развитием интеллектуальной системы распознавания слитной человеческой речи, слова которой берутся из заданного словаря. Эти системы отличаются оригинальной структурой, основанной на использовании доски объявлений - глобальной базы данных, содержащей текущие результаты работы системы. В дальнейшем на основе этих систем были созданы инструментальные системы HEARSAY-3 и AGE (Attempt to Generalize- попытка общения) для построения ЭС.
6. Системы AM (Artifical Mathematician- искусственный математик) и EURISCO были разработаны в Станфордском университете доктором Д. Ленатом для исследовательских и учебных целей. Ленат считает, что эффективность любой ЭС определяется закладываемыми в нее знаниями. По его мнению, чтобы система была способна к обучению, в нее должно быть введено около миллиона сведений общего характера. Это примерно соответствует объему информации, каким располагает четырехлетний ребенок со средними способностями. Ленат также считает, что путь создания узкоспециализированных ЭС с уменьшенным объемом знаний ведет к тупику.
В систему AM первоначально было заложено около 100 правил вывода и более 200 эвристических алгоритмов обучения, позволяющих строить произвольные математические теории и представления. Сначала результаты работы системы были весьма многообещающими. Она могла сформулировать понятия натурального ряда и простых чисел. Кроме того, она синтезировала вариант гипотезы Гольдбаха о том, что каждое четное число, большее двух, можно представить в виде суммы двух простых чисел. До сих пор не удалось ни найти доказательства данной гипотезы, ни опровергнуть ее. Дальнейшее развитие системы замедлилось и было отмечено, что, несмотря на проявленные, на первых порах “математические способности”, система не может синтезировать новых эвристических правил, т.е. ее возможности определяются только теми эвристиками, что были в нее изначально заложены.
При разработке системы EURISCO была предпринята попытка преодолеть указанные недостатки системы AM. Как и в начале эксплуатации AM, первые результаты, полученные с помощью EURISCO, были эффективными. Сообщалось, что система EURISCO может успешно участвовать в очень сложных играх. С ее помощью в военно-стратегической игре, проводимой ВМФ США, была разработана стратегия, содержащая ряд оригинальных тактических ходов. Согласно одному из них, например, предлагалось взрывать свои корабли, получившие повреждения. При этом корабли, оставшиеся неповрежденными, получает необходимое пространство для выполнения маневра.
Однако через некоторое время обнаружилось, что система не всегда корректно переопределяет первоначально заложенные в нее правила. Так, например, она стала нарушать строгое предписание обращаться к программистам с вопросами только в определенное время суток. Т.о., система EURISCO, так же как и ее предшественница, остановилась в своем развитии, достигнув предела, определенного, в конечном счете, ее разработчиком.
С 1990 года доктор Ленат во главе исследовательской группы занят кодированием и вводом нескольких сот тысяч элементов знаний, необходимых, по его мнению, для создания “интеллектуальной” системы. Этот проект назван Cyc (“Цик”, от английского слова enciklopaedia).
Далее рассмотрим проблемы, возникающие при создании ЭС и. перспективы разработки.
С 70-х годов ЭС стали ведущим направлением в области искусственного интеллекта. При их разработке нашли применение методы ИИ, разработанные ранее: методы представления знаний, логического вывода, эвристического поиска, распознавания предложений на естественном языке и др. Можно утверждать, что именно ЭС позволили получить очень большой коммерческий эффект от применения таких мощных методов. В этом - их особая роль.
Каталог ЭС и инструментальных программных средств для их разработки, опубликованный в США в 1987 году, содержит более 1000 систем (сейчас их уже значительно больше). В развитых зарубежных странах сотни фирм занимаются их разработкой и внедрением. Имеются и отечественные разработки ЭС, в том числе - нашедший промышленное применение.
Однако уже на начальных этапах выявились серьезные принципиальные трудности, препятствующие более широкому распространению ЭС и серьезно замедляющие и осложняющие их разработку. Они вполне естественных и вытекают из самих принципов разработки ЭС.
Первая трудность возникает в связи с постановкой задач. Большинство заказчиков, планируя разработку ЭС, вследствие недостаточной компетентности в вопросах применения методов ИИ, склонна значительно преувеличивать ожидаемые возможности системы. Заказчик желает увидеть в ней самостоятельно мыслящего эксперта в исследуемой области, способного решать широкий круг задач. Отсюда и типичные первоначальные постановки задачи по созданию ЭС: “Разработать ЭС по обработке изображения”; “Создать медицинские ЭС по лечению заболеваний опорно-двигательного аппарата у детей”. Однако, как уже отмечалось, мощность эвристических методов решения задач при увеличении общности их постановки резко уменьшается. Поэтому наиболее целесообразно (особенно при попытке создания ЭС в области, для которой у разработчиков еще нет опыта создания подобных систем) ограничиться для начала не слишком сложной обозримой задачей в рассматриваемой области, для решения которой нет простого алгоритмического способа (то есть неочевидно, как написать программу для решения этой задачи, не используя методы обработки знаний). Кроме того, важно, чтобы уже существовала сложившаяся методика решения этой задачи “вручную” или какими-либо расчетными методами. Для успешной разработки ЭС необходимы не только четкая и конкретная постановка задач, но и разработка подробного (хотя бы словесного) описания “ручного” (или расчетного) метода ее решения. Если это сделать затруднительно, дальнейшая работа по построению ЭС теряет смысл.
Вторая и основная трудность - проблема приобретения (усвоения) знаний. Эта проблема возникает при “передаче” знаний, которыми обладают эксперты-люди, ЭС. Разумеется, для того, чтобы “обучить” им компьютерную систему, прежде всего, требуется сформулировать, систематизировать и формализовать эти знания “на бумаге”. Это может показаться парадоксальным, но большинство экспертов (за исключением, может быть, математиков), успешно используя в повседневной деятельности свои обширные знания, испытывают большие затруднения при попытке сформулировать и представить в системном виде хотя бы основную часть этих знаний: иерархию используемых понятий, эвристики, алгоритмы, связи между ними. Оказывается, что для подобной формализации знаний необходим определенный систематический стиль мышления, более близкий математикам и программистам, чем, например, юристам и медикам. Кроме того, необходимы, с одной стороны, знания в области математической логики и методов представления знаний, с другой - знания возможности ЭВМ, из программного обеспечения, в частности, языков и систем программирования.
Таким образом, выясняется, что для разработки ЭС необходимо участие в ней особого рода специалистов, обладающих указанной совокупностью знаний и выполняющих функции “посредников” между экспертами в предметной области и компьютерными (экспертными) системами. Они получили название инженеры знаний (в оригинале - knowledge engineers), а сам процесс разработки ЭС и других интеллектуальных программ, основанных на представлении и обработке знаний - инженерией знаний (knowledge engineering). В развитых зарубежных странах специальность “инженер знаний” введена во многих вузах, в нашей стране основы инженерии знаний изучаются пока в рамках специализаций по системному программированию. Функции эксперта и инженера знаний редко совмещаются в одном лице. Чаще функции инженера знаний выполняет разработчик ЭС. Как показал опыт многих разработок, для первоначального приобретения знаний, в которых участвуют эксперты, инженеры знаний и разработчики ЭС, требуется активная работа всех трех категорий специалистов. Она может длиться от нескольких недель до нескольких месяцев.
На этапе приобретения знаний могут возникнуть трудности и психологического порядка: эксперт может препятствовать передаче своих знаний ЭС, полагая, что это снизит его престиж как специалиста и создаст предпосылки для замены его “машиной”. Однако эти опасения лишены оснований: ЭС “уверенно” работает лишь в типовых ситуациях, а также удобна в случаях, когда человек находится в состоянии стресса, в наиболее сложных ситуациях, требующих нестандартных рассуждений и оценок, эксперт- человек незаменим.
Третья серьезная трудность - в очень большой трудоемкости создания ЭС: требуется разработать средства управления базой знаний, логического вывода, диалогового взаимодействия с пользователем и т.д. Объем программирования столь велик, а программы столь сложны и нетрадиционны, что имеет смысл, как это принято сейчас при разработке больших программ, на первом этапе создать демонстрационный прототип системы - предварительный вариант, в котором в упрощенном виде реализованы лишь ее основные планируемые возможности и которая будет служить для заказчика подтверждниением того, что разработка ЭС для решения данной задачи принципиально возможна, а для разработчиков - основой для последующего улучшения и развития системы.
Одной из причин неудач в создании ЭС стала недооценка авторами ЭС объемов и роли неявных знаний. Системы, базы знаний которых создавались на основе справочников, в лучшем случае так справочниками и остались. Большинство же таких систем оказывались даже хуже справочников, так как сковывали исследовательскую мысль пользователя. Вторым “узким местом” ЭС оказалась модель, на которой были основаны их первые экземпляры, и лишь модель знаний, принимающая вид пороговой направленной иерархической сети с возможностью выбора в конечном из логических узлов (где каждая отдельная ситуация похожа на дерево с листьями), может стать базой для построения ЭС.
Когда стала очевидной полная непригодность этих систем и созданного для них специализированного аппаратного оборудования, многие обозреватели пришли к выводу, что существующая технология создания ЭС была тупиковым направлением в развитии информационных технологий. В последнее десятилетие ЭС возродились в виде систем с базой знаний, которые тесно переплетались с существующими деловыми системами. Их используют в здравоохранении, страховании, банковском деле и других областях, чтобы с помощью правил и объектов накапливать опыт, повысить качество принимаемых решений. Базы знаний встроены сегодня в наиболее современные крупные системы. Они находятся в самой сердцевине программ- агентов, осуществляющих поиск в сети Internet, и помогают коллективам пользователей справиться с потоками информации.
Рассмотрим факторы, стимулировавшие развитие систем с базами знаний:
- компании, добившиеся значительной экономии денежных средств благодаря технологии баз знаний, развивают и выстраивают ее в специальные бизнес - процессы, которые были бы просто невозможны без компьютерной экспертизы;
- разработаны новые технологии создания баз знаний, является необходимым средством, которое может изменить бизнес - процесс;
- современные системы реализованы не на специализированном, а на стандартном оборудовании.
Объединение всех видов программных продуктов и их отдельных компонентов в единую ЭС признано экономически выгодным, так как применение ЭС позволяет существенно сократить расходы на подготовку квалифицированного персонала, дальнейшую проверку работоспособности и надежности, разрабатываемых и исследовательских систем, а также уменьшить время проектирования и (или) исследования.
Объектная технология, на основе которой могут создаваться и развиваться современные ЭС,- значительный шаг вперед по сравнению с CASE- средствами, т.к. она похожа на наше восприятие окружающей действительности. Наше представление о моделировании меняется, то же самое происходит и с объектами, поэтому сопровождение программируемых объектов может, выполнятся аналогично приспособлению наших умозрительных образов к изменению окружающих условий. Данная технология прекрасно подходит аналитикам и программистам т.к. очень напоминает стратегию решения проблем и соответствует мыслительным процессам людей, считающихся экспертами в своей области.
Чтобы стать экспертом, специалисту нужен инструментарий, имитирующий мышление эксперта. Разработка парадигмы превращается из задачи, чуждой мышлению человека, в знакомое, привычное и легко выполняемое задание.
Как работают эксперты? Следуя принципам, заложенным в объектно-ориентированные технологии, они подразумевают проблемы на объекты или классы объектов. По мере накопления знаний в определенной области они делают обобщения, ориентируясь на выделенные объекты или классы объектов. Некоторые обобщения имеют иерархическую структуру, где свойства высших объектов наследуются объектами низшего уровня. Сущность может соответствовать нескольким классам объектов и взаимодействовать с различными объектами или классами. По мере того как знания эксперта углубляются, на их основе формируются новые ассоциации, а отдельные уровни иерархии пропадают или расширяются.
Методика объектно-ориентированного программирования основана на модели, напоминающей образы, возникающие в мозгу аналитика, которая представляет предметы и процессы в виде объектов и связей между ними. Наблюдая событие, эксперт легко выделяет знакомые образы. Для решения проблем он испытывает конкретные правила, рассматривая при этом исследуемую проблему под определенным ракурсом.
При разработке систем автоматизированного проектирования (САПР) уже нельзя обойтись без ЭС; их использование признано экономически выгодным.
С середины 80-х годов наиболее популярные системы с базами знаний создавались с ориентацией на стандартное оборудование. В этом ключ к пониманию причин успеха современной технологии баз знаний. Опыт показывает, что системы с базами знаний необходимо встраивать в самые важные бизнес-с - процессы и организовывать работу персонала так, чтобы он мог максимально использовать их преимущества для достижения наилучших результатов.
Определение экспертных систем. Главное достоинство и назначение.
Экспертные системы (ЭС)- это яркое и быстро прогрессирующее направление в области искусственного интеллекта (ИИ). Причиной повышенного интереса, который ЭС вызывают к себе на протяжении всего своего существования является возможность их применения к решению задач из самых различных областей человеческой деятельности. Пожалуй, не найдется такой проблемной области, в которой не было бы создано ни одной ЭС или, по крайней мере, такие попытки не предпринимались бы.
ЭС - это набор программ или программное обеспечение, которое выполняет функции эксперта при решении какой-либо задачи в области его компетенции. ЭС, как и эксперт-человек, в процессе своей работы оперирует со знаниями. Знания о предметной области, необходимые для работы ЭС, определенным образом формализованы и представлены в памяти ЭВМ в виде базы знаний, которая может изменяться и дополняться в процессе развития системы.
ЭС выдают советы, проводят анализ, выполняют классификацию, дают консультации и ставят диагноз. Они ориентированы на решение задач, обычно требующих проведения экспертизы человеком-специалистом. В отличие от машинных программ, использующий процедурный анализ, ЭС решают задачи в узкой предметной области (конкретной области экспертизы) на основе дедуктивных рассуждений. Такие системы часто оказываются способными найти решение задач, которые неструктурированны и плохо определены. Они справляются с отсутствием структурированности путем привлечения эвристик, т. е. правил, взятых “с потолка”, что может быть полезным в тех системах, когда недостаток необходимых знаний или времени исключает возможность проведения полного анализа.
Главное достоинство ЭС - возможность накапливать знания, сохранять их длительное время, обновлять и тем самым обеспечивать относительную независимость конкретной организации от наличия в ней квалифицированных специалистов. Накопление знаний позволяет повышать квалификацию специалистов, работающих на предприятии, используя наилучшие, проверенные решения.
Практическое применение искусственного интеллекта на машиностроительных предприятиях и в экономике основано на ЭС, позволяющих повысить качество и сохранить время принятия решений, а также способствующих росту эффективности работы и повышению квалификации специалистов.
Типичная статическая ЭС состоит из следующих основных компонентов (рис. 1.):
- решателя (интерпретатора);
- рабочей памяти (РП), называемой также базой данных (БД);
- базы знаний (БЗ);
- компонентов приобретения знаний;
- объяснительного компонента;
- диалогового компонента.
База данных (рабочая память) предназначена для хранения исходных и промежуточных данных решаемой в текущий момент задачи. Этот термин совпадает по названию, но не по смыслу с термином, используемым в информационно-поисковых системах (ИПС) и системах управления базами данных (СУБД) для обозначения всех данных (в первую очередь долгосрочных), хранимых в системе.
База знаний (БЗ) в ЭС предназначена для хранения долгосрочных данных, описывающих рассматриваемую область (а не текущих данных), и правил, описывающих целесообразные преобразования данных этой области.
Решатель, используя исходные данные из рабочей памяти и знания из БЗ, формирует такую последовательность правил, которые, будучи примененными, к исходным данным, приводят к решению задачи.
Компонент приобретения знаний автоматизирует процесс наполнения ЭС знаниями, осуществляемый пользователем-экспертом.
Объяснительный компонент объясняет, как система получила решение задачи (или почему она не получила решение) и какие знания она при этом использовала, что облегчает эксперту тестирование системы и повышает доверие пользователя к полученному результату.
Диалоговый компонент ориентирован на организацию дружественного общения с пользователем, как в ходе решения задач, так и в процессе приобретения знаний и объяснения результатов работы. В разработке ЭС участвуют представители следующих специальностей:
- эксперт в проблемной области, задачи которой будет решать ЭС;
- инженер по знаниям - специалист по разработке ЭС (используемые им технологию, методы называют технологией (методами) инженерии знаний);
- программист по разработке инструментальных средств (ИС), предназначенных для ускорения разработки ЭС.
Необходимо отметить, что отсутствие среди участников разработки инженеров по знаниям (т. е. их замена программистами) либо приводит к неудаче процесс создания ЭС, либо значительно удлиняет его.
Эксперт определяет знания (данные и правила), характеризующие проблемную область, обеспечивает полноту и правильность введенных в ЭС знаний.
Инженер по знаниям помогает эксперту выявить и структурировать знания, необходимые для работы ЭС; осуществляет выбор того ИС, которое наиболее подходит для данной проблемной области, и определяет способ представления знаний в этом ИС; выделяет и программирует (традиционными средствами) стандартные функции (типичные для данной проблемной области), которые будут использоваться в правилах, вводимых экспертом.
Программист разрабатывает ИС (если ИС разрабатывается заново), содержащее в пределе все основные компоненты ЭС, и осуществляет его сопряжение с той средой, в которой оно будет использовано. Экспертная система работает в двух режимах: режиме приобретения знаний и в режиме решения задачи (называемом также режимом консультации или режимом использования ЭС).
В режиме приобретения знаний общение с ЭС осуществляет (через посредничество инженера по знаниям) эксперт. В этом режиме эксперт, используя компонент приобретения знаний, наполняет систему знаниями, которые позволяют ЭС в режиме решения самостоятельно (без эксперта) решать задачи из проблемной области. Эксперт описывает проблемную область в виде совокупности данных и правил. Данные определяют объекты, их характеристики и значения, существующие в области экспертизы. Правила определяют способы манипулирования с данными, характерные для рассматриваемой области. Отметим, что режиму приобретения знаний в традиционном подходе к разработке программ соответствуют этапы алгоритмизации, программирования и отладки, выполняемые программистом. Таким образом, в отличие от традиционного подхода в случае ЭС разработку программ осуществляет не программист, а эксперт (с помощью ЭС), не владеющий программированием.
В режиме консультации общение с ЭС осуществляет конечный пользователь, которого интересует результат и (или) способ его получения. Необходимо отметить, что в зависимости от назначения ЭС пользователь может не быть специалистом в данной проблемной области (в этом случае он обращается к ЭС за результатом, не умея получить его сам), или быть специалистом (в этом случае пользователь может сам получить результат, но он обращается к ЭС с целью либо ускорить процесс получения результата, либо возложить на ЭС рутинную работу). В режиме консультации данные о задаче пользователя после обработки их диалоговым компонентом поступают в рабочую память. Решатель на основе входных данных из рабочей памяти, общих данных о проблемной области и правил из БЗ формирует решение задачи. ЭС при решении задачи не только исполняет предписанную последовательность операции, но и предварительно формирует ее.
Глава 2. Технология разработки экспертных систем.
2.1. Этапа разработки экспертных систем.
Процесс разработки промышленной экспертной системы, опираясь на традиционные технологии, можно разделить на шесть более или менее независимых этапов (рис 2.1.), практически не зависимых от предметной области.
Последовательность этапов дана для общего представления о создании идеального проекта. Конечно, последовательность эта не вполне фиксированная. В действительности каждый последующий этап разработки ЭС приносит новые идеи, которые могут повлиять на предыдущие решения и даже привести к их переработке. Именно поэтому многие специалисты по информатике весьма критично относятся к методологии экспертных систем. Они считают, что расходы на разработку таких систем очень большие, время разработки слишком длительное, а полученные в результате программы ложатся тяжелым бременем на вычислительные ресурсы.
В целом за разработку экспертных систем целесообразно браться организации, где накоплен опыт по автоматизации рутинных процедур обработки информации, например:
- информационный поиск;
- сложные расчеты;
- графика;
- обработка текстов.
Решение таких задач, во-первых, подготавливает высококвалифицированных специалистов по информатике, необходимых для создания интеллектуальных систем, во-вторых, позволяет отделить от экспертных систем неэкспертные задачи.
Этап 1. Выбор подходящей проблемы. Этот этап включает деятельность, предшествующую решению начать разрабатывать конкретную ЭС. Он включает:
- определение проблемной области и задачи;
- нахождение эксперта, желающего сотрудничать при решении проблемы, и назначение коллектива разработчиков;
- определение предварительного подхода к решению проблемы;
- анализ расходов и прибыли от разработки;
- подготовку подробного плана разработки.
Рис. 2.1.. Этапы разработки ЭС
Правильный выбор проблемы представляет, наверное, самую критическую часть разработки в целом. Если выбрать неподходящую проблему, можно очень быстро увязнуть в "болоте" проектирования задач, которые никто не знает, как решать. Неподходящая проблема может также привести к созданию экспертной системы, которая стоит намного больше, чем экономит. Дело будет обстоять еще хуже, если разработать систему, которая работает, но не приемлема для пользователей. Даже если разработка выполняется самой организацией для собственных целей, эта фаза является подходящим моментом для получения рекомендаций извне, чтобы гарантировать удачно выбранный и осуществимый с технической точки зрения первоначальный проект. При выборе области применения следует учитывать, что если знание, необходимое для решения задач, постоянное, четко формулируемое, и связано с вычислительной обработкой, то обычные алгоритмические программы, по всей вероятности, будут самым целесообразным способом решения проблем в этой области,
Экспертная система ни в коем случае не устранит потребность в реляционных базах данных, статистическом программном обеспечении, электронных таблицах и системах текстовой обработки. Но если результативность задачи зависит от знания, которое является субъективным, изменяющимся, символьным или вытекающим частично из соображений здравого смысла, тогда область может обоснованно выступать претендентом на экспертную систему.
Приведем некоторые факты, свидетельствующие о необходимости разработки и внедрения экспертных систем:
- нехватка специалистов, расходующих значительное время для оказания помощи другим;
- потребность в многочисленном коллективе специалистов, поскольку ни один из них не обладает достаточным знанием;
- большое расхождение между решениями самых хороших и самых плохих исполнителей;
- наличие конкурентов, имеющих преимущество в том, что они лучше справляются с поставленной задачей.
Подходящие задачи имеют следующие характеристики:
- являются узкоспециализированными;
- не зависят в значительной степени от общечеловеческих знаний или соображении здравого смысла;
- не являются для эксперта ни слишком легкими, ни слишком сложными (время, необходимое эксперту для решения проблемы, может составлять от трех часов до трех недель);
- условия исполнения задачи определяются самим пользователем системы;
- имеет результаты, которые можно оценить.
Обычно экспертные системы разрабатываются путем получения специфических знаний от эксперта и ввода их в систему. Некоторые системы могут содержать стратегии одного индивида. Следовательно, найти подходящего эксперта - это ключевой шаг в создании экспертных систем.
В процессе разработки и последующего расширения системы инженер по знаниям и эксперт обычно работают вместе. Инженер по знаниям помогает эксперту структурировать знания, определять и формализовать понятия и правила, необходимые для решения проблемы.
Во время первоначальных бесед они решают, будет ли их сотрудничество успешным. Это немаловажно, поскольку обе стороны будут работать вместе, по меньшей мере, в течение одного года. Кроме них в коллектив разработчиков целесообразно включить потенциальных пользователей и профессиональных программистов.
Предварительный подход к программной реализации задачи определяется исходя из характеристик задачи и ресурсов, выделенных на ее решение. Инженер по знаниям выдвигает обычно несколько вариантов, связанных с использованием имеющихся на рынке программных средств. Окончательный выбор возможен лишь на этапе разработки прототипа. После того как задача определена, необходимо подсчитать расходы и прибыли от разработки экспертной системы. В расходы включаются затраты на оплату труда коллектива разработчиков. В дополнительные расходы приобретаемого программного инструментария, с помощью которого разрабатывается экспертная система. Прибыль возможна за счет снижения цены продукции, повышения производительности труда, расширения номенклатуры продукции или услуг или даже разработки новых видов продукции или услуг в этой области. Соответствующие расходы и прибыли от системы определяются относительно времени, в течение которого возвращаются средства, вложенные в разработку. На современном этапе большая часть фирм, развивающих крупные экспертные системы, предпочли разрабатывать дорогостоящие проекты, приносящие значительные прибыли.
Наметились тенденции разработки менее дорогостоящих систем, хотя и с более длительным сроком возвращаемости вложенных в них средств, так как программные средства разработки экспертных систем непрерывно совершенствуются. После того как инженер по знаниям убедился, что:
- данная задача может быть решена с помощью экспертной системы;
- экспертную систему можно создать предлагаемыми на рынке средствами;
- имеется подходящий эксперт;
- предложенные критерии производительности являются разумными;
- затраты и срок их возвращаемости приемлемы для заказчика.
Он составляет план разработки. План определяет шаги процесса разработки и необходимые затраты, а также ожидаемые результаты.
Этап 2. Разработка прототипной системы - его мы рассмотрим позже.
Этап 3. Развитие прототипа до промышленной ЭС. При неудовлетворительном функционировании прототипа эксперт и инженер по знаниям имеют возможность оценить, что именно будет включено в разработку окончательного варианта системы. Если первоначально выбранные объекты или свойства оказываются неподходящими, их необходимо изменить. Можно сделать оценку общего числа эвристических правил, необходимых для создания окончательного варианта экспертной системы. Иногда при разработке промышленной системы выделяют дополнительные этапы для перехода: демонстрационный прототип - исследовательский прототип - действующий прототип - промышленная система. Однако чаще реализуется плавный переход от демонстрационного прототипа к промышленной системе, при этом, если программный инструментарий выбран удачно, необязательна перепись другими программными средствами.
Таблица 2.1
Демонстрационный прототип ЭС | Система решает часть задач, демонстрируя жизнеспособность полхода (несколько десятков правил или понятий) |
Исследовательский прототип ЭС | Система решает большинство задач, но не устойчива в работе и не полностью проверена несколько сотен правил или понятий. |
Действующий прототип ЭС | Система надежно решает все задачи на реальных примерах, но для сложной задачи требует много времени и памяти |
Промышленная система | Система обеспечивает высокое качество решений при минимизации требуемого времени и памяти: переписывается с использованием более эффективных средств представления знаний |
Коммерческая система | Промышленная система, пригодная к продаже, т.е. хорошо документирована и снабжена сервисом |
2.1 Переход от прототипа к промышленной экспертной системе
Основное на третьем этапе заключается в добавлении большого числа дополнительных эвристик. После установления основной структуры ЭС инженер по знаниям приступает к разработке и адаптации интерфейсов, с помощью которых система будет общаться с пользователем и экспертом. Необходимо обратить особое внимание на языковые возможности интерфейсов, их простоту и удобство для управления работой ЭС. Система должна обеспечивать пользователю возможность легким и естественным образом спрашивать непонятное, приостанавливать работу и т.д. В частности, могут оказаться полезными графические представления. На этом этапе разработки большинство экспертов узнают достаточно о вводе правил и могут сами вводить в систему новые правила. Таким образом, начинается процесс, во время которого инженер по знаниям передает право собственности и контроля за системой эксперту для уточнения, детальной разработки и обслуживания.
Этап 4. Оценка системы. После завершения этапа разработки промышленной экспертной системы необходимо провести ее тестирование в отношении критериев эффективности. К тестированию широко привлекаются другие эксперты с целью апробирования работоспособности системы на различных примерах. Экспертные системы оцениваются главным образом для того, чтобы проверить точность работы программы и ее полезность. Оценку можно проводить, исходя из различных критериев, которые сгруппируем следующим образом:
- критерии пользователей (понятность и "прозрачность" работы системы, удобство интерфейсов и др.);
- критерии приглашенных экспертов (оценка советов-решений, предлагаемых системой, сравнение ее с собственными решениями, оценка подсистемы объяснений и др.);
- критерии коллектива разработчиков.
Этап 5. Стыковка системы. На этом этапе осуществляется стыковка экспертной системы с другими программными средствами в среде, в которой она будет работать, и обучение людей, которых она будет обслуживать. Иногда это означает внесение существенных изменений. Такое изменение требует непременного вмешательства инженера по знаниям или какого-либо другого специалиста, который сможет модифицировать систему. Под стыковкой подразумевается также разработка связей между экспертной системой и средой, в которой она действует. Когда экспертная система уже готова, инженер по знаниям должен убедиться в том, что эксперты, пользователи и персонал знают, как эксплуатировать и обслуживать ее. После передачи им своего опыта в области информационной технологии инженер по знаниям может полностью предоставить ее в распоряжение пользователей. Для подтверждения полезности системы важно предоставить каждому из пользователей возможность поставить перед ЭС реальные задачи, а затем проследить, как она выполняет эти задачи. Чтобы система была одобрена, необходимо представить ее как помощника, освобождающего пользователей от обременительных задач, а не как средство их замещения.
Стыковка включает обеспечение связи ЭС с существующими базами данных и другими системами на предприятии, а также улучшение системных факторов, зависящих от времени, чтобы можно было обеспечить ее более эффективную работу и улучшить характеристики ее технических средств, если система работает в необычной среде.
Этап 6. Поддержка системы. При перекодировании системы на язык, подобный Си, повышается ее быстродействие и увеличивается переносимость, однако гибкость при этом уменьшается. Это приемлемо лишь в том случае, если система сохраняет все знания проблемной области, и это знание не будет изменяться в ближайшем будущем. Однако если экспертная система создана именно из-за того, что проблемная область изменяется, то необходимо поддерживать систему в инструментальной среде разработки.
2.2. Технологии быстрого прототипирования.
При разработке экспертных систем используется концепция "быстрого прототипа". Суть ее в следующем: сначала создается не экспертная система, а ее прототип, который должен решать типичные задачи и требовать на свою разработку незначительное время. Этот прототип должен демонстрировать пригодность методов экспертной системы для данной области. В ходе работ по созданию экспертных систем сложилась определенная технология их разработки, включающая 6 этапов:
- идентификация;
- концептуализация
- формализация;
- выполнение;
- тестирование;
- опытная эксплуатация.
Прототипная система является усеченной версией экспертной системы, спроектированной для проверки правильности кодирования фактов, связей и стратегий рассуждения эксперта. Она также дает возможность инженеру по знаниям привлечь эксперта к активному участию в разработке экспертной системы и, следовательно, к принятию им обязательства приложить все усилия для создания системы в полном объеме. Объем прототипа - несколько десятков правил, фреймов или примеров. На рис. 2.2. изображены шесть стадий разработки прототипа и минимальный коллектив разработчиков, занятых на каждой из стадий. Приведем краткую характеристику каждой из стадий, хотя эта схема представляет грубое приближение к сложному итеративному процессу. Хотя любое теоретическое разделение бывает часто условным, осознание коллективом разработчиков четких задач каждой стадии представляется целесообразным. Роли разработчиков (эксперт, программист, пользователь и аналитик) являются постоянными на протяжении всей разработки. Совмещение ролей нежелательно.
Рис.2.2..Стадии разработки прототипа ЭС
Идентификация проблемы. Уточняется задача, планируется ход разработки прототипа экспертной системы, определяются: необходимые ресурсы (время, люди, ЭВМ и т.д.), источники знаний (книги, дополнительные эксперты, методики), имеющиеся аналогичные экспертные системы, цели (распространение опыта, автоматизация рутинных действий и др.), классы решаемых задач и т.д. Идентификация проблемы - знакомство и обучение коллектива разработчиков, а также создание неформальной формулировки проблемы. Средняя продолжительность 1 - 2 недели.
Извлечение знаний. Происходит перенос компетентности экспертов на инженеров по знаниям с использованием различных методов: анализ текстов, диалоги, экспертные игры, лекции, дискуссии, интервью, наблюдение и другие. Извлечение знаний - получение инженером по знаниям наиболее полного представления о предметной области и способах принятия решения в ней. Средняя продолжительность 1 -3 месяца.
Структурирование или концептуализация знаний. Выявляется структура полученных знаний о предметной области, т.е. определяются: терминология, список основных понятий и их атрибутов, отношения между понятиями, структура входной и выходной информации, стратегия принятия решений, ограничения стратегий и т.д. Концептуализация знаний - разработка неформального описания знаний о предметной области в виде графа, таблицы, диаграммы или текста, которое отражает основные концепции и взаимосвязи между понятиями предметной области. Такое описание называется полем знаний. Средняя продолжительность этапа 2 - 4 недели.
Формализация. Строится формализованное представление концепций предметной области на основе выбранного языка представления знаний (ЯПЗ). Традиционно на этом этапе используются: логические методы (исчисления предикатов I порядка и др.), продукционные модели (с прямым и обратным выводом), семантические сети, фреймы, объектно-ориентированные языки, основанные на иерархии классов, объектов и др. Формализация знаний - разработка базы знаний на языке, который, с одной стороны, соответствует структуре поля знаний, а с другой - позволяет реализовать прототип системы на следующей стадии программной реализации. Все чаще на этой стадии используется симбиоз языков представления знаний, например, в системе ОМЕГА - фреймы + семантические сети + полный набор возможностей языка исчисления предикатов. Средняя продолжительность 1 - 2 месяца.
Реализация. Создается прототип экспертной системы, включающий базу знаний и остальные блоки, при помощи одного из следующих способов: программирование на традиционных языках типа Паскаль, Си и др., программирование на специализированных языках, применяемых в задачах искусственного интеллекта: LISP , FRL , SmallTalk и др., использование инструментальных средств разработки ЭС типа СПЭИС, ПИЭС, использование "пустых" ЭС или "оболочек" типа ЭКСПЕРТ, ФИАКР и др. Реализация - разработка программного комплекса, демонстрирующего жизнеспособность подхода в целом. Чаще всего первый прототип отбрасывается на этапе реализации действующей ЭС. Средняя продолжительность 1 - 2 месяца.
Тестирование. Оценивается и проверяется работа программ прототипа с целью приведения в соответствие с реальными запросами пользователей. Прототип проверяется на: удобство и адекватность интерфейсов ввода-вывода, эффективность стратегии управления, качество проверочных примеров, корректность базы знаний. Тестирование - выявление ошибок в подходе и реализации прототипа и выработка рекомендаций по доводке системы до промышленного варианта. Средняя продолжительность 1 - 2 недели.
Глава 3. Анализ теории экспертных систем и выводы
3.1.Выбор подходящей проблемы для разработки экспертной системы.
Этот этап включает деятельность, предшествующую решению начать разрабатывать конкретную ЭС. Он включает:
- определение проблемной области и задачи;
- нахождение эксперта, желающего сотрудничать при решении проблемы, и назначение коллектива разработчиков;
- определение предварительного подхода к решению проблемы;
- анализ расходов и прибыли от разработки;
- подготовку подробного плана разработки.
Правильный выбор проблемы представляет, наверное, самую критическую часть разработки в целом. Если выбрать неподходящую проблему, можно очень быстро увязнуть в "болоте" проектирования задач, которые никто не знает, как решать. Неподходящая проблема может также привести к созданию экспертной системы, которая стоит намного больше, чем экономит. Дело будет обстоять еще хуже, если разработать систему, которая работает, но не приемлема для пользователей. Даже если разработка выполняется самой организацией для собственных целей, эта фаза является подходящим моментом для получения рекомендаций извне, чтобы гарантировать удачно выбранный и осуществимый с технической точки зрения первоначальный проект.
При выборе области применения следует учитывать, что если знание, необходимое для решения задач, постоянное, четко формулируемое, и связано с вычислительной обработкой, то обычные алгоритмические программы, по всей вероятности, будут самым целесообразным способом решения проблем в этой области,
Экспертная система ни в коем случае не устранит потребность в реляционных базах данных, статистическом программном обеспечении, электронных таблицах и системах текстовой обработки. Но если результативность задачи зависит от знания, которое является субъективным, изменяющимся, символьным или вытекающим частично из соображений здравого смысла, тогда область может обоснованно выступать претендентом на экспертную систему.
Приведем некоторые факты, свидетельствующие о необходимости разработки и внедрения экспертных систем:
- нехватка специалистов, расходующих значительное время для оказания помощи другим;
- потребность в многочисленном коллективе специалистов, поскольку ни один из них не обладает достаточным знанием;
- сниженная производительность, поскольку задача требует полного анализа - сложное набора условий, а обычный специалист не в состоянии просмотреть (за отведенное время) все эти условия;
- большое расхождение между решениями самых хороших и самых плохих исполнителей;
- наличие конкурентов, имеющих преимущество в том, что они лучше справляются с поставленной задачей.
Подходящие задачи имеют следующие характеристики:
1)являются узкоспециализированными;
2) не зависят в значительной степени от общечеловеческих знаний или соображении здравого смысла;
3) не являются для эксперта ни слишком легкими, ни слишком сложными (время, необходимое эксперту для решения проблемы, может составлять от трех часов до трех недель);
4) условия исполнения задачи определяются самим пользователем системы;
5) имеет результаты, которые можно оценить.
Обычно экспертные системы разрабатываются путем получения специфических знаний от эксперта и ввода их в систему. Некоторые системы могут содержать стратегии одного индивида. Следовательно, найти подходящего эксперта - это ключевой шаг в создании экспертных систем.
В процессе разработки и последующего расширения системы инженер по знаниям и эксперт обычно работают вместе. Инженер по знаниям помогает эксперту структурировал знания, определять и формализовать понятия и правила, необходимые для решения проблемы.
Во время первоначальных бесед они решают, будет ли их сотрудничество успешным. Это немаловажно, поскольку обе стороны будут работать вместе, по меньшей мере, в течение одного года. Кроме них в коллектив разработчиков целесообразно включить потенциальных пользователей и профессиональных программистов.
Предварительный подход к программной реализации задачи определяется исходя из характеристик задачи и ресурсов, выделенных на ее решение. Инженер по знаниям выдвигает обычно несколько вариантов, связанных с использованием имеющихся на рынке программных средств. Окончательный выбор возможен лишь на этапе разработки прототипа.
После того как задача определена, необходимо подсчитать расходы и прибыли от разработки экспертной системы. В расходы включаются затраты на оплату труда коллектива разработчиков. В дополнительные расходы приобретаемого программного инструментария, с помощью которого разрабатывается экспертная система.
Прибыль возможна за счет снижения цены продукции, повышения производительности труда, расширения номенклатуры продукции или услуг или даже разработки новых видов продукции или услуг в этой области. Соответствующие расходы и прибыли от системы определяются относительно времени, в течение которого возвращаются средства, вложенные в разработку. На современном этапе большая часть фирм, развивающих крупные экспертные системы, предпочли разрабатывать дорогостоящие проекты, приносящие значительные прибыли.
Наметились тенденции разработки менее дорогостоящих систем, хотя и с более длительным сроком возвращаемости вложенных в них средств, так как программные средства разработки экспертных систем непрерывно совершенствуются. После того как инженер по знаниям убедился, что:
- данная задача может быть решена с помощью экспертной системы;
- экспертную систему можно создать предлагаемыми на рынке средствами;
- имеется подходящий эксперт;
- предложенные критерии производительности являются разумными;
- затраты и срок их возвращаемости приемлемы для заказчика.
Он составляет план разработки. План определяет шаги процесса разработки и необходимые затраты, а также ожидаемые результаты.
3.2. Преимущества экспертных систем перед человеком-экспертом.
Системы, основанные на знаниях, имеют определенные преимущества перед человеком-экспертом.
1. У них нет предубеждений.
2. Они не делают поспешных выводов.
3. Эти системы работают, систематизировано, рассматривая все детали, часто выбирая наилучшую альтернативу из всех возможных.
4. База знаний может быть очень и очень большой. Будучи введены в машину один раз, знания сохраняются навсегда. Человек же имеет ограниченную базу знаний, и если данные долгое время не используются, то они забываются и навсегда теряются.
Системы, основанные на знаниях, устойчивы к “помехам”. Эксперт пользуется побочными знаниями и легко поддается влиянию внешних факторов, которые непосредственно не связаны с решаемой задачей. ЭС, не обремененные знаниями из других областей, по своей природе менее подвержены “шумам”. Со временем системы, основанные на знаниях, могут рассматриваться пользователями как разновидность тиражирования - новый способ записи и распространения знаний. Подобно другим видам компьютерных программ они не могут заменить человека в решении задач, а скорее напоминают орудия труда, которые дают ему возможность решат задачи быстрее и эффективнее.
6. Эти системы не заменяют специалиста, а являются инструментом в его руках.
Список использованной литературы
Амарселлус Д. Программирование экспертных систем на Турбо Прологе: Пер. с англ. - М.: Финансы и статистика, 2005 г. Моисеев В.Б. Представление знаний в интеллектуальных системах. Информатика и образование,. №2, 2003 г. с. 84-91 Андрейчиков А.В., Андрейчикова О.Н. Интеллектуальные информационные системы: М. Наука, 2004 г. Зубов В. В., Макушкин В. А., Оглоблин А. Г. Экспертная система диагностирования цифровых устройств и БИС. Средства связи, №3, 2000, с. 32-36. Зубов В. В., Макушкин В. А. Экспертная система диагностирования цифровых устройств ДИЭКС на персональной ЭВМ.ЭКСПЕРТНЫЕ СИСТЕМЫ НА ПЕРСОНАЛЬНЫХ КОМПЬЮТЕРАХ, М.: МДНТП, 2005, с. 115-120. Макушкин В. А., Щербицкий К. А. Экспертная система для контроля и диагностирования цифроаналоговых устройств. НОВЫЕ ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ В ПЛАНИРОВАНИИ, УПРАВЛЕНИИ И В ПРОИЗВОДСТВЕ, М.: МДНТП, 2001, с. 121-125. Попов Э. В., Фоминых И. Б., Кисель Е. Б., Шапт М. Д.Статические и динамические экспертные системы. М.: Финансы и статистика, 2003 г. Гаврилова Т.А., Хорошевский В.Ф. Базы знаний интеллектуальных систем. СПб: Питер, 2003г. Володичев Д.С., Макушкин В.А. OMEGAMON - эффективная система управления вычислительными ресурсами. М: Научная сессия МФТИ-2004, том 12, с.199-201. Муромцев Д.И. Введение в технологию экспертных систем. СПб: СПб ГУ ИТМО, 2005. Минский М.Л. Фреймы для представления знаний. М.:Энергия, 2001. www.intuit.ru www.ai.tsi.lv knpi-iip.mipk.kharkiv.edu www.libray.narod.ru expro.kzn.ru
ru.wikipedia.org 256bit.ru tver.mesi.ru www.ssti.ru Моделирование управления движением человека М.: СпортАкадемПресс, 2003. 360 с., сборник научных трудов под ред. Шестакова М. П. и Аверкина А. Н. Люгер Д. Искусственный интеллект М.: Мир, 2006. 690 с. Макаров И. М., Топчиев Ю. И. Робототехника. История и перспективы М.: Наука, МАИ, 2004. 350 с. Ярушкина Н. Г Основы теории нечетких и гибридных систем Учебное пособие, М.: Финансы и статистика, 2004. 320 c. Рыбина Г. В., Пышагин С. В., Смирнов В. В., Левин Д. Е., Душкин Р. В. Инструментальный комплекс АТ-ТЕХНОЛОГИЯ для поддержки разработки интегрированных экспертных систем учебное пособие, М.: МИФИ, 2001, 100 с. Частиков А. П., Гаврилова Т. А., Белов Д. Л. Разработка экспертных систем. Среда CLIPS BHV-Санкт-Петербург, 2003 г., 606 стр. И. Абдуллин. Программирование в промышленности. – М.: Логос. 2000г Г. Долин. Что такое ЭС. – Компьютер Пресс, 2002 г. К. Нейлор. Как построить свою экспертную систему.- М.: Энегроатомиздат, 2007. В.О. Сафонов. Экспертные системы – интеллектуальные помощники специалистов. – СПб.: Санкт-Петербургская организация общества «Знания Росси», 2007. К. Таусенд, Д. Фохт. Проектирование и программная реализация экспертных систем на персональных ЭВМ. М.: Финансы и статистика. 2005. Н. Убейко. Экспертные системы. – М.: МАИ, 2002. Д. Джарратано, Г. Райли. Экспертные системы. Принципы разработки и программирование. Изд. Вильямс, 2006. В.В. Круглов. Интеллектуальные информационные системы. 2002. В. Л. Афонин, В.А. Макушкин. Интеллектуальные робототехнические системы. ИНТУИТ.РУ, 2005. |