Технология разработки экспертных систем реферат

Обновлено: 02.07.2024

Отличия систем искусственного интеллекта от обычных программных систем

Виды ЭС

Статические ЭС
Основные компоненты база знаний;
рабочая память, называемая также базой данных;
решатель (интерпретатор);
система объяснений;
компоненты приобретения знаний;
интерфейс с пользователем.

Специалисты, привлекаемые для разработки ЭС

эксперты той проблемной области, к которой относятся задачи, решаемые ЭС;
инженеры по знаниям, являющиеся специалистами по разработке ИИС;
программисты, осуществляющие реализацию ЭС .

Режимы работы ЭС

Режим приобретения знаний
Режим консультаций


2. Динамические ЭС
которые наряду с компонентами статических систем содержат подсистему моделирования внешнего мира и подсистему связи с внешним окружением.

Классификационные признаки экспертных систем (приложений)

тип приложения стадия существования масштаб тип проблемной среды тип решаемой задачи

1. Тип приложения

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

2. Стадия существования

исследовательский прототип действующий прототип промышленная система коммерческая система

3. Масштаб

малые ЭС
средние ЭС
большие ЭС
символьные ЭС

4. Тип проблемной среды

проблемная среда определяется характеристиками соответствующей предметной области и характеристиками типов решаемых в ней задач.

Характеристики предметной области

Тип предметной области
Способ описания сущностей предметной области
Способ организации сущностей в БЗ

Характеристики задач

Тип решаемых задач
Общность исполняемых утверждений

5. Тип решаемой задачи

интерпретация данных (задача анализа)
диагностика (задача анализа)
мониторинг (комбинированные задачи)
проектирование (задача синтеза)
прогнозирование (комбинированные задачи)
планирование (задача синтеза)
обучение (комбинированные задачи)
управление (задача синтеза)
поддержка принятия решений (задача анализа)

Характеристика инструментальных средств

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

1. Уровень используемого языка

Традиционные (Си, Си++ и т.д.)
Специальные языки программирования (Lisp, Prolog, Рефал)
Инструментальные средства, содержащие многие, но не все компоненты ЭС (OPS 5, KRL, FRL )
Оболочки ЭС общего назначения (ЭКО, Leonardo, Nexpert Object, Kappa, EXSYS, GURU, ART, KEE )
Проблемно/предметно-ориентированные оболочки и среды (не требуют знания программирования)

2. Парадигмы программирования и механизмы реализации

процедурное программирование;
программирование, ориентированное на данные;
программирование, ориентированное на правила;
объектно-ориентированное программирование.

3. Способ представления знаний

Типичными моделями представления знания являются правила (продукции)
фреймы (или объекты)
семантические сети логические формулы гибридные

4. Механизмы вывода и моделирования

Структура процесса получения решения
Поиск (выбор) решения
Процесс генерации предположений и сети вывода

5. Средства приобретения знаний

Уровень языка приобретения знаний
Тип приобретаемых знаний
Тип приобретаемых данных

6. Технология проектирования и разработки экспертных систем

исследование выполнимости проекта;
разработку общей концепции системы;
разработку и тестирование серии прототипов;
разработку и испытание головного образца;
разработку и проверку расширенных версий системы;
привязку системы к реальной рабочей среде .

Главные принципы

Мощность экспертной системы
Знания
Неформальный характер решаемых задач и используемых знаний

Технология реализации ЭС

Идентификация
Концептуализация
Формализация
Выполнение
Тестирование
Опытную эксплуатацию

Подходы к разработке ЭС

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

Технология экспертных систем является одним из направлений новой области исследования, которая получила наименование искусственного интеллекта. Исследования в этой области сконцентрированы на разработке и внедрении компьютерных программ, способных имитировать, воспроизводить те области деятельности человека, которые требуют мышления, определенного мастерства и накопленного опыта. К ним относятся… Читать ещё >

Введение. Технология разработки экспертной системы ( реферат , курсовая , диплом , контрольная )

Технология экспертных систем является одним из направлений новой области исследования, которая получила наименование искусственного интеллекта. Исследования в этой области сконцентрированы на разработке и внедрении компьютерных программ, способных имитировать, воспроизводить те области деятельности человека, которые требуют мышления, определенного мастерства и накопленного опыта. К ним относятся задачи принятия решений, распознавания образов и понимания человеческого языка. Эта технология уже успешно применяется в некоторых областях техники и жизни общества — органической химии, поиске полезных ископаемых, медицинской диагностике. Вот в этом заключается актуальность. А точнее актуальность заключается в том что, именно интеллектуальные информационные технологии и экспертные системы являются последними прогрессами науки в области информатики и информационного общества. Именно над этим направлением трудятся многие ученые информатики, именная эта тема у всех на слуху, над ней трудятся ее развивают. компьютерный программа мышление.

Введение

в сущность экспертных систем

История развития экспертных систем Наиболее известные ЭС, разработанные в 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 были разработаны в Станфордском университете доктором Д. Ленатом для исследовательских и учебных целей. Ленат считает, что эффективность любой ЭС определяется закладываемыми в нее знаниями. По его мнению, чтобы система была способна к обучению, в нее должно быть введено около миллиона сведений общего характера. Это примерно соответствует объему информации, каким располагает четырехлетний ребенок со средними способностями. Ленат также считает, что путь создания узкоспециализированных ЭС с уменьшенным объемом знаний ведет к тупику.

При разработке системы EURISCO была предпринята попытка преодолеть указанные недостатки системы AM. Как и в начале эксплуатации AM, первые результаты, полученные с помощью EURISCO, были эффективными. Сообщалось, что система EURISCO может успешно участвовать в очень сложных играх. С ее помощью в военно-стратегической игре, проводимой ВМФ США, была разработана стратегия, содержащая ряд оригинальных тактических ходов. Согласно одному из них, например, предлагалось взрывать свои корабли, получившие повреждения. При этом корабли, оставшиеся неповрежденными, получает необходимое пространство для выполнения маневра.

Однако через некоторое время обнаружилось, что система не всегда корректно переопределяет первоначально заложенные в нее правила. Так, например, она стала нарушать строгое предписание обращаться к программистам с вопросами только в определенное время суток. Т.о., система EURISCO, так же как и ее предшественница, остановилась в своем развитии, достигнув предела, определенного, в конечном счете, ее разработчиком.

Название работы: Технология разработки экспертных систем

Предметная область: Информатика, кибернетика и программирование

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

Дата добавления: 2013-11-16

Размер файла: 36 KB

Работу скачали: 28 чел.

32 Технология разработки экспертных систем

Технология создания интеллектуального программного обеспечения существенно отличается от разработки традиционных программ с использованием известных алгоритмических языков.

К разработке экспертных систем привлекаются специалисты из разных предметных областей, а именно:

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

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

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

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

Любая экспертная система должна иметь, по крайней мере, два режима работы. В режиме приобретения знаний эксперт наполняет систему знаниями, которые впоследствии позволят системе самостоятельно (без помощи эксперта) решать определенные задачи из конкретной проблемной области. Эксперт описывает проблемную область в виде совокупности данных и правил. Данные определяют объекты, их характеристики и значения, существующие в области экспертизы. Правила определяют взаимные связи, существующие между данными, и способы манипулирования данными, характерные для рассматриваемого класса задач.

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

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

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

Фаза сопровождения, включающая выполнение самых различных модификаций системы, является важнейшим этапом процесса разработки любой системы, но имеет свою специфику для систем искусственного интеллекта. Здесь база знаний – наиболее динамичный компонент и меняется в течение всего жизненного цикла. Поэтому сопровождение интеллектуальных систем – серьезная проблема.

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

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

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

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

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

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

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

Содержание

Введение. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3
1.Экспертные системы, их особенности. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4
1.1 Определение экспертных систем, достоинство и назначение. . . . . . . . . . . . . . . 4
1.2 Классификация экспертных систем. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
2.Структура, этапы разработки экспертных систем. . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.1 Технология разработки экспертных систем. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2 Наиболее известные и распространенные экспертные системы. . . . . . . . . . . . . 8
Заключение. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9
Литература. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

Прикрепленные файлы: 1 файл

Экспертные системы.docx

1.Экспертные системы, их особенности. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4

1.1 Определение экспертных систем, достоинство и назначение. . . . . . . . . . . . . . . 4

1.2 Классификация экспертных систем. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6

2.Структура, этапы разработки экспертных систем. . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.1 Технология разработки экспертных систем. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.2 Наиболее известные и распространенные экспертные системы. . . . . . . . . . . . . 8

Экспертные системы возникли как значительный практический результат в применении и развитии методов искусственного интеллекта - совокупности научных дисциплин, изучающих методы решения задач интеллектуального (творческого) характера с использованием ЭВМ.

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

Экспертная система - это набор программ, выполняющий функции эксперта при решении задач из некоторой предметной области. Экспертные системы выдают советы, проводят анализ, дают консультации, ставят диагноз. Практическое применение экспертных систем на предприятиях способствует эффективности работы и повышению квалификации специалистов.

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

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

1. Экспертные системы, их особенности

1.1. Определение экспертных систем, достоинство и назначение

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

Похожие действия выполняет такой программный инструмент как Мастер (англ. Wizard). Мастера применяются как в системных программах так и в прикладных для упрощения интерактивного общения с пользователем (например, при установке ПО). Главное отличие мастеров от ЭС — отсутствие базы знаний — все действия жестко запрограммированы. Это просто набор форм для заполнения пользователем.

Другие подобные программы — поисковые или спра вочные системы. По запросу пользователя они предоставляют наиболее подходящие (релевантные) разделы базы статей.

Структуры экспортной системы:

  • Интерфейс пользователя
  • Пользователь
  • Интеллектуальный редактор базы знаний
  • Эксперт
  • Инженер по знаниям
  • Рабочая (оперативная) память
  • База знаний
  • Решатель (механизм вывода)
  • Подсистема объяснений

База знаний состоит из правил анализа информации от пользователя по конкретной проблеме. ЭС анализирует ситуацию и, в зависимости от направленности ЭС, дает рекомендации по разрешению проблемы.

Как правило, база знаний экспертной системы содержит факты ( статические сведения о предметной области) и правила — набор инструкций, применяя которые к известным фактам можно получать новые факты.

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

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

Обычно факты в базе знаний описывают те явления, которые являются постоянными для данной предметной области. Характеристики, значения которых зависят от условий конкретной задачи, ЭС получает от пользователя в процессе работы, и сохраняет их в рабочей памяти.

База знаний ЭС создается при помощи трех групп людей:

1.эксперты той проблемной области, к которой относятся задачи, решаемые ЭС;

2.инженеры по знаниям, являющиеся специалистами по разработке ИИС;

3.программисты, осуществляющие реализацию ЭС.

ЭС может функционировать в 2-х режимах:

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

1.2. Классификация экспертных систем

Классификация ЭС по решаемой задаче:

Классификация ЭС по связи с реальным временем:

  • Статические ЭС - это ЭС, решающие задачи в условиях не изменяющихся во времени исходных данных и знаний.
  • Квазидинамические ЭС интерпретируют ситуацию, которая меняется с некоторым фиксированным интервалом времени.
  • Динамические ЭС - это ЭС, решающие задачи в условиях изменяющихся во времени исходных данных и знаний.

Классификация по типу ЭВМ:

На сегодняшний день существуют:

    • экспертные системы для уникальных стратегически важных задач на суперЭВМ (Эльбрус, CRAY, CONVEX и другие.);
    • экспертные системы на ЭВМ средней производительности (типа mainfrave);
    • экспертные системы на символьных процессорах и рабочих станциях (SUN, АРОLLО);
    • экспертные системы на мини- и супермини-ЭВМ (VАХ, micro-VАХ и другие);
    • экспертные системы на персональных компьютерах (IВМ РС, МАС II и подобные).

    2. Этапы разработки экспертных систем

    2.1 Технология разработки экспертных систем

    • Этап идентификации проблем — определяются задачи, которые подлежат решению, выявляются цели разработки, определяются эксперты и типы пользователей.
    • Этап извлечения знаний — проводится содержательный анализ проблемной области, выявляются используемые понятия и их взаимосвязи, определяются методы решения задач.
    • Этап структурирования знаний — выбираются ИС и определяются способы представления всех видов знаний, формализуются основные понятия, определяются способы интерпретации знаний, моделируется работа системы, оценивается адекватность целям системы зафиксированных понятий, методов решений, средств представления и манипулирования знаниями.
    • Этап формализации — осуществляется наполнение экспертом базы

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

    Как и любые другие системы, они имеют ряд своих особенностей:

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

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

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

    Экспертные системы строятся для решения широкого круга проблем в таких областях, как:

    • прогнозирование – проектирование возможных последствий данной ситуации.
    • диагностика – определение причин неисправностей в сложных ситуациях на основе наблюдаемых симптомов.
    • проектирование – нахождение конфигурации компонентов системы, которая удовлетворяет целевым условиям и множеству проектных ограничений.
    • планирование – разработка последовательности действий для достижения множества целей при данных начальных условиях и временных ограничениях.
    • мониторинг – сравнение наблюдаемого поведения системы с её ожидаемым поведением.
    • инструктирование – помощь в образовательном процессе по изучению технической области.
    • управление – управление поведением сложной среды.

    Таким образом, проблема разработки и использования экспертных систем является весьма актуальной в современном обществе.

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

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

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

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

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

    Этап 1: выбор подходящей проблемы

    Этот этап включает деятельность, предшествующую решению начать разрабатывать конкретную экспертную систему. Он включает:

    определение проблемной области и задачи;

    нахождение эксперта, желающего сотрудничать при решении проблемы, и назначение коллектива разработчиков;

    определение предварительного подхода к решению проблемы;

    анализ расходов и прибыли от разработки;

    подготовку подробного плана разработки.

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

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

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

    Рассмотрим некоторые факты, свидетельствующие о необходимости разработки и внедрения экспертных систем:

    нехватка специалистов, расходующих значительное время для оказания помощи другим;

    потребность в многочисленном коллективе специалистов, поскольку;

    сниженная производительность, поскольку задача требует полного анализа сложного набора условий, а обычный специалист не в состоянии просмотреть (за отведённое время) все эти условия;

    большое расхождение между решениями самых хороших и самых плохих исполнителей;

    наличие конкурентов, имеющих преимущество в том, что они лучше справляются с поставленной задачей.

    Подходящие задачи имеют следующие характеристики:

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

    не являются для эксперта слишком лёгкими, ни слишком сложными (время, необходимое эксперту для решения проблемы, может составлять от трех часов до трех недель);

    условия исполнения задачи определяются самим пользователем системы;

    имеет результаты, которые можно оценить.

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

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

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

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

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

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

    Наметились тенденции разработки менее дорогостоящих систем, хотя и с более длительным сроком возвращаемости вложенных в них средств, так как программные средства разработки экспертных систем непрерывно совершенствуются.

    После того как инженер по знаниям убедился, что:

    данная задача может быть решена с помощью экспертной системы;

    экспертную систему можно создать предлагаемыми на рынке средствами;

    имеется подходящий эксперт;

    предложенные критерии производительности являются разумными;

    затраты и срок их возвращаемости приемлемы для заказчика,

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

    Этап 2: разработка прототипной системы

    Прототипная система является усечённой версией экспертной системы, спроектированной для проверки правильности кодирования фактов, связей и стратегий рассуждения эксперта. Она также даёт возможность инженеру по знаниям привлечь эксперта к активному участию в разработке экспертной системы и, следовательно, к принятию им обязательства приложить все усилия для создания системы в полном объёме.

    Объём прототипа - несколько десятков правил, фреймов или примеров. Выделяют шесть стадий разработки прототипа. Рассмотрим краткую характеристику каждой из стадий.

    Сроки приведены условно, так как зависят от квалификации специалистов и особенностей задачи.

    Уточняется задача, планируется ход разработки прототипа экспертной системы, определяются:

    необходимые ресурсы (время, люди, ЭВМ и так далее.);

    источники знаний (книги, дополнительные эксперты, методики);

    имеющиеся аналогичные экспертные системы;

    цели (распространение опыта, автоматизация рутинных действий и другие);

    классы решаемых задач и так далее.

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

    Происходит перенос компетентности экспертов на инженеров по знаниям с использованием различных методов:

    наблюдение и другие.

    Извлечение знаний - получение инженером по знаниям наиболее полного представления предметной области и способах принятия решения в ней.

    Средняя продолжительность 1 - 3 месяца.

    Выявляется структура полученных знаний о предметной области, то есть определяются:

    список основных понятий и их атрибутов;

    отношения между понятиями;

    структура входной и выходной информации;

    стратегия принятия решений;

    ограничения стратегий и так далее.

    Концептуализация знаний – разработка неформального описания знаний о предметной области в виде графа, таблицы, диаграммы или текста, которое отражает основные концепции и взаимосвязи между понятиями предметной области.

    Строится формализованное представление концепций предметной области на основе выбранного языка представления знаний (ЯПЗ). Традиционно на этом этапе используются:

    логические методы (исчисления предикатов порядка и другие); продукционные модели (с прямым и обратным выводом); семантические сети;

    объектно-ориентированные языки, основанные на иерархии классов, объектов и другие.

    Формализация знания - разработка базы знаний на языке, который, с одной стороны, соответствует структуре поля знаний, а с другой - позволяет реализовать прототип системы на следующей стадии программной реализации.

    Всё чаще на этой стадии используется симбиоз языков представления знаний, например, в системе ОМЕГА фреймы + семантические сети + полный набор возможностей языка исчисления предикатов.

    Создаётся прототип экспертной системы, включающий базу знаний и остальные блоки, при помощи одного из следующих способов:

    программирование на традиционных языках типа Паскаль, Си и других; программирование на специализированных языках, применяемых в задачах искусственного интеллекта: LISP, FRL, SmallTalk и другие;

    использование инструментальных средств разработки экспертных систем типа СПЭИС, ПИЭС;

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

    Оценивается и проверяется работа программ прототипа с целью приведения в соответствие с реальными запросами пользователей. Прототип проверяется на:

    удобство и адекватность интерфейсов ввода-вывода (характер вопросов в диалоге, связность выводимого текста результата и другое);

    эффективность стратегии управления (порядок перебора, использование нечёткого вывода и другое);

    качество проверочных примеров;

    корректность базы знаний (полнота и непротиворечивость правил).

    Тестирование - выявление ошибок в подходе и реализации прототипа и выработка рекомендаций по доводке системы до промышленного варианта.

    Этап 3: развитие прототипа до промышленной экспертной системы

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

    Если первоначально выбранные объекты или свойства оказываются неподходящими, их необходимо изменить. Можно сделать оценку общего числа эвристических правил, необходимых для создания окончательного варианта экспертной системы. Иногда при разработке промышленной системы выделяют дополнительные этапы для перехода: демонстрационный прототип - исследовательский прототип - действующий прототип - промышленная система.

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

    Понятие же коммерческой системы в нашей стране входит в понятие промышленный программный продукт, или промышленной экспертной системы в этой работе (таблица 3).

    Демонстрационный прототип ЭС

    Система решает часть задач, демонстрируя жизнеспособность подхода (несколько десятков правил или понятий).

    Исследовательский прототип ЭС

    Система решает большинство задач, но не устойчива в работе и не полностью проверена (несколько сотен правил или понятий).

    Действующий прототип ЭС

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

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

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

    Таблица 3 - Переход от прототипа к промышленной экспертной системе.

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

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

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

    Этап 4: оценка системы

    критерии приглашённых экспертов (оценка советов-решений, предлагаемых системой, сравнение её с собственными решениями, оценка подсистемы объяснений и другие.);

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

    Этап 5: стыковка системы

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

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

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

    Стыковка включает обеспечение связи экспертной системы с существующими базами данных и другими системами на предприятии, а также улучшение системных факторов, зависящих от времени, чтобы можно было обеспечить её более эффективную работу и улучшить характеристики её технических средств, если система работает в необычной среде (например, связь с измерительными устройствами).

    Этап 6: поддержка системы

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

    Читайте также: