Рефераты
 

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

p align="left"> 2.2. Классификация инструментальных средств экспертных систем

В широком толковании в инструментарий включают и аппаратуру, ориентированную на разработку экспертных систем (аппаратурный инструментарий).

На проектирование и создание одной экспертной системы раньше требовалось 20-30 чел.-лет. В настоящее время имеется ряд средств, ускоряющих создание экспертных систем. Эти средства называются инструментальными (ИС), или инструментарием. Использование ИС сокращает время разработки экспертных систем в 3 - 5 раз.

Экспертные системы выполняются на ЭВМ следующих типов: общего назначения; ПЭВМ; интеллектуальные рабочие станции (то есть рабочие станции типа 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. Алгоритмические и эвристические модели данных.

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

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

Программа, которая работает со знаниями, организованными подобным образом, называется системой, основанной на знаниях.

Рис. 3. Экспертные системы как системы, основанные на знаниях.

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

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

Экспертная система

Рис. 4. Состав экспертной системы.

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

Концепция механизма вывода экспертной системы часто вызывает некоторое недоумение среди начинающих разработчиков. Обычно ясно, как знания предметной области могут быть записаны в виде фактов и правил, но далеко не ясно, каким образом конструировать и использовать так называемый «механизм вывода». Это недоумение происходит от отсутствия простого и общего метода организации логического вывода. Его структура зависит и от специфики предметной области и от того, как знания структурированы и организованы в экспертной системе. Многие языки высокого уровня, предназначенные для построения экспертных систем, например ЕМYСIМ, имеют механизм вывода, в некотором смысле встроенный в язык как его часть.

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

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

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

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

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

Представление знаний, основанное на правилах, построено на использовании выражений вида ЕСЛИ (условие) - ТО (действие). Например:

(1) Если пациент был по профессии изолировщиком до 1988 г., то пациент непосредственно работал с асбестом. (2) Если пациент непосредственно работал с асбестом и пациент находился при этом в закрытом помещении, то пациент получил большую дозу асбестовой пыли. Когда текущая ситуация (факты) в задаче удовлетворяет или согласуется с частью правила ЕСЛИ, то выполняется действие, определяемое частью ТО. Это действие может оказаться воздействием на окружающий мир (например, вызовет распечатку текста на терминале пользователя), или же повлиять на управление программой (например, вызвать проверку и запуск некоторого набора правил), или может сводиться к указанию системе о получении определенного заключения (например, необходимо добавить новый факт или гипотезу в базу данных).

Сопоставление частей ЕСЛИ правил с фактами может породить так называемую цепочку выводов. Цепочка выводов, образованная последовательным применением правил 1 и 2, изображена на рисунке 5. Эта цепочка показывает, как система использует правила для вывода о том, насколько серьёзную дозу канцерогенного вещества пациент получил при работе с асбестом.

Рис. 5. Цепочка вывода для получения заключения о накопленной дозе асбестовой пыли.

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

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

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

Этапы разработки

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

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

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

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

· информационный поиск;

· сложные расчёты;

· графика;

· обработка текстов.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

· являются узкоспециализированными;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Понятие прототипной системы

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

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

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

Идентификация проблемы

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

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

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

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

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

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

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

Средняя продолжительность 1 - 2 недели.

Извлечение знаний

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

· анализ текстов;

· диалоги;

· экспертные игры;

· лекции;

· дискуссии;

· интервью;

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

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

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

Структурирование или концептуализация знаний

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

· терминология;

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

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

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

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

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

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

Средняя продолжительность этапа 2 - 4 недели.

Формализация

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

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

· фреймы;

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

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

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

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

Реализация

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

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

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

· использование «пустых» экспертных систем или «оболочек» типа ЭКСПЕРТ, ФИАКР и др.

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

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

Тестирование

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

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

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

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

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

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

Средняя продолжительность 1 - 2 недели.

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

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

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

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

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

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

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

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

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

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

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

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

Промышленная система

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

Коммерческая система

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

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

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

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

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

· После завершения этапа разработки промышленной экспертной системы необходимо провести её тестирование в отношении критериев эффективности. К тестированию широко привлекаются другие эксперты с целью апробирования работоспособности системы на различных примерах. Экспертные системы оцениваются главным образом для того, чтобы проверить точность работы программы и её полезность. Оценку можно проводить, исходя из различных критериев: критерии пользователей (понятность и «прозрачность» работы системы, удобство интерфейсов и другие.);

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

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

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

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

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

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

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

Пример. Успешно состыкована со своим окружением система PUFF - экспертная система для диагностики заболеваний лёгких. После того, как PUFF была закончена и все были удовлетворены её работой, систему перекодировали с LISP на Бейсик. Затем систему перенесли на ПК, которая уже работала в больнице. В свою очередь, эта ПК была связана с измерительными приборами. Данные с измерительных приборов сразу поступают в ПК. РUFF обрабатывает эти данные и печатает рекомендации для врача. Врач в принципе не взаимодействует с РUFF. Система полностью интегрирована со своим окружением - она представляет собой интеллектуальное расширение аппарата исследования лёгких, который врачи давно используют.

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

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

Пример. Примером экспертной системы, внедрённой таким образом, является ХСON (R1) - экспертная система, которую фирма DЕС использует для комплектации ЭВМ семейства VАХ. Одна из ключевых проблем, с которой столкнулась фирма DЕС, - необходимость постоянного внесения изменений для новых версий оборудования, новых спецификаций и так далее. Для этой цели ХСON поддерживается в программной среде ОРS5.

Заключение

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

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

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

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

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

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

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

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

· прогнозирование - проектирование возможных последствий данной ситуации.

· диагностика - определение причин неисправностей в сложных ситуациях на основе наблюдаемых симптомов.

· проектирование - нахождение конфигурации компонентов системы, которая удовлетворяет целевым условиям и множеству проектных ограничений.

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

· мониторинг - сравнение наблюдаемого поведения системы с её ожидаемым поведением.

· инструктирование - помощь в образовательном процессе по изучению технической области.

· управление - управление поведением сложной среды.

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

Литература

1. Гаскаров, Д. Б. Интеллектуальные информационные системы. - М.: Высшая школа, 2003.

2. Долин, Г. Что такое ЭС. - М.: Компьютер Пресс, 1992.

3. Острейковский, В. А. Информатика. - М.: Высшая школа, 1999.

4. Убейко, В. Н. Экспертные системы.- М.: МАИ, 1992.

5. Ясницкий, Л. Н. Введение в искусственный интеллект. - М.: Академия, 2005.

Страницы: 1, 2


© 2010 BANKS OF РЕФЕРАТ