Файл: Применение экспертных систем в деятельности предприятия. Структура, этапы разработки экспертных систем.pdf
Добавлен: 27.06.2023
Просмотров: 119
Скачиваний: 4
СОДЕРЖАНИЕ
1. Экспертные системы, их особенности
1.1. Определение экспертных систем, достоинство и назначение
1.2. Классификация экспертных систем
1.3. Отличие экспертных систем от традиционных программ
1.4. Области применения экспертных систем
2. Структура, этапы разработки экспертных систем
2.1.Основные компоненты экспертных систем
2.2. Классификация инструментальных средств экспертных систем
2.3. Организация знаний в экспертных системах
Экспертные системы выполняются на ЭВМ следующих типов: общего назначения; ПЭВМ; интеллектуальные рабочие станции (то есть рабочие станции типа San, Арроlо и др., снабжённые эффективными ИС для создания экспертной системы); последовательные символьные ЭВМ типа ЛИСП - машин (Symbolik-3670, А1рhа, Ехр1огег, Хегох 1100 и дугие) и ПРОЛОГ - машин; параллельные символьные ЭВМ (Connection, Dado, Faun, Hyper Cube и другие).
Программные ИС определяются следующей совокупностью характеристик: назначение; стадия существования; тип ИС; тип используемых методов и знаний; универсальность; основные свойства; среда функционирования.
Назначение определяет, для работы в каких проблемных областях и для создания какой стадии экспертной системы предназначено ИС.
По степени отработанности ИС обычно выделяют три стадии существования: экспериментальная, исследовательская, коммерческая. Экспериментальные ИС создаются для решения узких специфических задач и редко проверяются на других задачах, обычно они работают медленно и неэффективно. Следующей стадией является исследовательская. Средства, достигшие этой стадии, обычно тщательно проверены, имеют документацию и поддерживаются разработчиком, однако они ещё могут действовать медленно и неэффективно. Исследовательские ИС используются при разработке прототипов экспертных систем. Высшей стадией существования ИС является коммерческая. Этой стадии достигают те ИС, которые всесторонне и тщательно проверены, хорошо документированы, сопровождаются разработчиком, являются быстрыми и обладают удобным интерфейсом с пользователем.
По типу ИС классифицируются следующим образом:
- символьные языки программирования, ориентированные на создание экспертных систем и систем искусственного интеллекта (например, LISP, INTRLISP, SMALLTALK);
- языки инженерии знаний, т.е. языки высокого уровня, ориентированные на построение экспертных систем (например, ОРS-5, LOOPS, КЕS, ПРОЛОГ);
- системы, автоматизирующие разработку (проектирование) экспертных систем, (например, КЕЕ, АRТ, ТЕIRЕSIAS, АGЕ, ТIММ), их часто называют окружение (еnvironment) для разработки систем ИИ, ориентированных на знания;
- оболочки экспертных систем (или пустые экспертные) – экспертные системы, не содержащие знаний ни о какой проблемной области (например, ЭКСПЕРТИЗА, ЕМYСIN,ЭКО, ЭКСПЕРТ).
В приведённой классификации ИС перечислены в порядке убывания трудозатрат, необходимых на создание с их помощью конкретной экспертной системы. Действительно, при использовании ИС первого типа в задачу разработчика входит программирование всех компонентов экспертной системы на языке довольно низкого уровня. Использование ИС второго типа позволяет значительно повысить уровень языка, что, как правило, приводит к некоторому снижению эффективности. Инструментальные средства третьего типа позволяют разработчику не программировать все или часть компонентов экспертной системы, а выбирать их из заранее составленного набора. При применении ИС четвертого типа разработчик ИС полностью освобождается от работ по созданию программ, так как берет готовую пустую экспертную систему.
При использовании ИС третьего и особенно четвертого типа могут возникнуть следующие проблемы: управляющие стратегии, вложенные в процедуры вывода ИС, могут не соответствовать методам решения, которые использует эксперт, взаимодействующий с данной экспертной системой, что может приводить к неэффективным, а возможно, и к неправильным решениям; язык представления знаний, принятый в ИС, может не подходить для данного приложения.
Развитие систем, автоматизирующих разработку экспертных систем, приводит к появлению ИС, которые можно назвать настраиваемыми оболочками. Эти ИС позволяют разработчику использовать оболочку не как нечто неизменное, а генерировать оболочку из множества механизмов, имеющихся в ИС. Типичными таймерами таких ИС являются КЕЕ, АRТ, ЭКСПЕРТИЗА, ГЛОБ.
Инструментальные средства можно классифицировать и по классам экспертных систем на: ИС для создания простых экспертных систем, ИС для создания сложных экспертных систем. В настоящее время, как правило, ИС первого типа разрабатываются на ПЭВМ, а второго - на символьных ЭВМ, ЭВМ общего назначения и интеллектуальных рабочих станциях.
По типу используемых методов и знаний ИС делятся, так же как и экспертные системы, на традиционные, использующие только методы и способы представления инженерии знаний, и гибридные, сочетающие подходы инженерии знаний с подходами, развитыми в традиционном программировании при представлении данных и использовании подпрограмм.
Универсальность задаётся совокупностью двух параметров: универсальностью представления знаний и универсальностью функционирования. Универсальность представления характеризует способ; (модель) представления знаний в ИС и принимает следующие значения: единое представление - ИС использует одну модель; интегральное представление - ИС допускает интегральное использование нескольких моделей; универсальное - ИС допускает интегральное использование всех основных моделей представления. К основным моделям представления относятся: правила (продукции); фреймы или семантические сети; логические модели (исчисление предикатов). Примерами ИС, в которых используется единое представление, является ПРОЛОГ, интегральное представление - СENTAUR, а универсальное - КЕЕ, АRТ.
Универсальность функционирования характеризует механизмы (парадигмы), определяющие, как в ИС задается поведение (функционирование) системы, и принимает следующие значения: единый механизм функционирования - ИС использует один механизм функционирования; интегральное функционирование - ИС допускает интегральное использование нескольких механизмов функционирования; универсальное функционирование - ИС допускает интегральное использование всех основных механизмов. К основным механизмам (парадигмам программирования) относятся: процедурное программирование; обратное программирование; программирование, ориентированное на данные; программирование, ориентированное на правила.
Процедурное программирование наиболее широко распространено среди существующих сегодня языков программирования (например, Си). Здесь явно выделяют два вида различных сущностей: процедуры, являющиеся тем, что задает поведение (функционирование) программы и выполняющие активную роль; данные, являющиеся тем, что обрабатывается способом, предписанным процедурами, и выполняющие пассивную роль. Способность составлять процедуры из команд (операторов) и вызывать их - ключ функционирования, использующего данную парадигму. Особенностью её являются боковые эффекты, возникающие в тех случаях, когда различные процедуры, использующие общие данные, независимо их изменяют.
Парадигма объектного программирования в отличие от процедурной не разделяет программу на процедуры и данные. Здесь программа организуется вокруг сущностей (объектов), которые включают локальные процедуры (методы) и локальные данные (переменные). Поведение (функционирование) в этой парадигме организуется путем пересылки сообщений между объектами. Объект, получив сообщение, осуществляет его локальную интерпретацию, основываясь на локальных процедурах и данных. Объектная парадигма удобна в тех приложениях, где взаимодействие сущностей сведено к унифицированным протоколам. Важным свойством языков, использующих данную парадигму, является сеть наследований, которая существенно упрощает определение новых объектов, почти подобных известным.
В обеих рассмотренных парадигмах активная роль в организации поведения отводится процедурам, а не данным. Причём процедура активизируется либо её вызовом, либо посылкой ей сообщения. Подобные способы задания поведения удобны для описания детерминированной последовательности действий либо одного процесса, либо нескольких, но строго взаимосвязанных процессов.
В программировании, ориентированном на данные, активную роль играют данные, а не процедуры. Здесь со структурами активных данных связывают некоторые процедуры (действия), которые активизируются тогда, когда осуществляется доступ к этим данным. Описанный механизм в некотором смысле обратный механизму посылки сообщений. Действительно, сообщение является явным способом указать объекту, какие действия следует выполнять (эти действия в качестве бокового эффекта могут изменить значения некоторых данных (племенных), а отнесение данных к активным является явным способом указания на контроль за доступом к ним, при этом в качестве бокового эффекта может быть послано сообщение процедуре. Программирование, ориентированное на данные, позволяет организовать поведение малозависимых процессов, что трудно реализовать в процедурной и объектной парадигмах. Малая зависимость процессов означает, что они могут рассматриваться и программироваться отдельно. Однако, при использований парадигмы, управляемой данными, эти независимо запрограммированные процессы могут взаимодействовать между собой без их изменения, то есть без перепрограммирования.
В программировании, ориентированном на правила, поведение определяется множеством правил вида условие - действие. Условие задаёт образ данных, при возникновении которого действие правила может быть выполнено. Правила в данной парадигме играют такую же роль, как и подпрограммы в процедурной парадигме. Однако, если в процедурной парадигме поведение задаётся детерминированной последовательностью процедур, не зависящей (для широкого класса обрабатываемых данных) от значений этих данных, то в парадигме, ориентированной на правила, поведение (последовательность действий) задаётся не заранее предписанной последовательностью правил, а формируется на основе тех данных и их значений, которые в текущий момент обрабатываются программой (системой). Формирование поведения осуществляется по следующей схеме. Условия правил сопоставляются с текущими данными, и те правила, условия которых удовлетворяются значениями текущих данных, становятся претендентами на выполнение. Затем по определённому критерию осуществляется выбор одного правила среди претендентов и выполнение его (то есть выполнение действия, указанного в правой части правила). Если система (устройство) допускает параллельную обработку, то все правила-претенденты могут выполняться одновременно. Таким образом, правила выполняются в порядке, предписываемом теми образцами данных, которые, как правило, малозависимы друг от друга. Итак, подход, ориентированный на правила, удобен для описания поведения, гибко и разнообразно реагирующего на большое многообразие состояний данных. Основные свойства определяют особенности ИС с точки зрения реализации компонентов экспертных систем. Среда функционирования определяет тип ЭВМ, на которой реализовано ИС, тип операционной системы, в среде которой ИС работает, и используемый язык программирования.
2.3. Организация знаний в экспертных системах
Для специалистов в области искусственного интеллекта термин знания означает информацию, которая необходима программе, чтобы она вела себя «интеллектуально». Эта информация принимает форму фактов или правил.
Факты и правила в экспертной системе не всегда либо истинны, либо ложны; иногда существует некоторая степень неуверенности в достоверности факта или точности правила. Если это сомнение выражено явно, то оно называется «коэффициентом уверенности».
Многие правила экспертной системы являются эвристиками, то есть эмпирическими правилами или упрощениями, которые эффективно ограничивают поиск решения. Экспертная система использует эвристики, потому что задачи, которые она решает, будь то поиск новых месторождений или согласование исков, как правило, трудны и не до конца понятны. Эти задачи не поддаются строгому математическому анализу или алгоритмическому решению. Алгоритмический метод гарантирует корректное или оптимальное решение задачи, тогда как эвристический метод даёт приемлемое решение в большинстве случаев.
На рисунке 2 показано различие между алгоритмическим и эвристическим методами. Здесь сравнивается алгоритм предотвращения захвата самолётов на коммерческих авиалиниях с эвристическим методом, предназначенным для той же цели.
Предотвратить захват самолётов на коммерческих авиалиниях
Предотвратить посадку терро-ристов на самолёт
Алгоритм
Пропустить всех пассажиров и багаж через детектор металла. Обыскать только тех пассажиров, на которых реагирует детектор, а также тех, чьи приметы совпадают с предполагаемым обликом терро-риста (возраст, одежда, поведение и т. д.).
Провести личный досмотр каждого до-пускаемого на посадку в самолёт и обыскать весь багаж. Сюда входят все пассажиры, члены экипажа и механики.
Эвристика
Рис. 2. Алгоритмические и эвристические модели данных.
Алгоритм обеспечивает полную гарантию предотвращения захвата самолёта, потому что в принципе полностью исключает возможность проникновения оружия на борт самолёта. К сожалению, он требует слишком много времени, слишком дорог и, что ещё важнее; слишком непопулярен, чтобы иметь какую-либо практическую ценность. Приведенный эвристический метод также может предотвратить большинство попыток захвата самолётов, но не гарантирует, что они вообще не возникнут. Использование эвристических правил делает поиск решения намного более лёгким и более практичным.
Знания в экспертной системе организованы таким образом, чтобы знания о предметной области отделить от других типов знаний системы, таких, как общие знания о том, как решать задачи, или знания о том, как взаимодействовать с пользователем, например как печатать текст на терминале пользователя или как изменить текст в соответствии с командами пользователя. Выделенные знания о предметной области называются базой знаний, тогда как общие знания о нахождении решений задач называются механизмом вывода.