45344

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

Доклад

Информатика, кибернетика и программирование

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

Русский

2013-11-16

36 KB

26 чел.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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