Экспертные системы управления

Содержание



Введение

Назначение экспертных систем

Архитектура экспертных систем

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

Заключение

Список литературы






Введение



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

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

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

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

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


1. Назначение экспертных систем



В начале восьмидесятых годов в исследованиях по искусственному интеллекту сформировалось самостоятельное направление, получившее название «экспертные системы» (ЭС). Цель исследований по ЭС состоит в разработке программ, которые при решении задач, трудных для эксперта-человека, получают результаты, не уступающие по качеству и эффективности решениям, получаемым экспертом. Исследователи в области ЭС для названия своей дисциплины часто используют также термин «инженерия знаний», введенный Е. Фейгенбаумом как «привнесение принципов и инструментария исследований из области искусственного интеллекта в решение трудных прикладных проблем, требующих знаний экспертов».

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

Важность экспертных систем состоит в следующем (8, стр. 76):

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

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

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

объединение технологии ЭС с технологией традиционного программирования добавляет новые качества к программным продуктам за счет: обеспечения динамичной модификации приложений пользователем, а не программистом; большей «прозрачности» приложения (например, знания хранятся на ограниченном ЕЯ, что не требует комментариев к знаниям, упрощает обучение и сопровождение); лучшей графики; интерфейса и взаимодействия.

По мнению ведущих специалистов, в недалекой перспективе ЭС найдут следующее применение (3, стр. 45):

ЭС будут играть ведущую роль во всех фазах проектирования, разработки, производства, распределения, продажи, поддержки и оказания услуг;

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

ЭС предназначены для так называемых неформализованных задач, т.е. ЭС не отвергают и не заменяют традиционного подхода к разработке программ, ориентированного на решение формализованных задач.

Неформализованные задачи обычно обладают следующими особенностями:

ошибочностью, неоднозначностью, неполнотой и противоречивостью исходных данных;

ошибочностью, неоднозначностью, неполнотой и противоречивостью знаний о проблемной области и решаемой задаче;

большой размерностью пространства решения, т.е. перебор при поиске решения весьма велик;

динамически изменяющимися данными и знаниями.

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

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

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



2. Архитектура экспертных систем



Типичная статическая ЭС состоит из следующих основных компонентов (рис. 1.) (2, стр. 56):

решателя (интерпретатора);

рабочей памяти (РП), называемой также базой данных (БД);

базы знаний (БЗ);

компонентов приобретения знаний;

объяснительного компонента;

диалогового компонента.

База данных (рабочая память) предназначена для хранения исходных и промежуточных данных решаемой в текущий момент задачи. Этот термин совпадает по названию, но не по смыслу с термином, используемым в информационно-поисковых системах (ИПС) и системах управления базами данных (СУБД) для обозначения всех данных (в первую очередь долгосрочных), хранимых в системе.

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

Решатель, используя исходные данные из рабочей памяти и знания из БЗ, формирует такую последовательность правил, которые, будучи примененными к исходным данным, приводят к решению задачи.

Компонент приобретения знаний автоматизирует процесс наполнения ЭС знаниями, осуществляемый пользователем-экспертом.

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






























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

В разработке ЭС участвуют представители следующих специальностей:

эксперт в проблемной области, задачи которой будет решать ЭС;

инженер по знаниям – специалист по разработке ЭС (используемые им технологию, методы называют технологией (методами) инженерии знаний);

программист по разработке инструментальных средств (ИС), предназначенных для ускорения разработки ЭС.

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

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

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

Программист разрабатывает ИС (если ИС разрабатывается заново), содержащее в пределе все основные компоненты ЭС, и осуществляет его сопряжение с той средой, в которой оно будет использовано.

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

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

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

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

«Почему система задает тот или иной вопрос?», «как ответ, собираемый системой, получен?».

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









































На рис. 1.2 показано, что в архитектуру динамической ЭС по сравнению со статической ЭС вводятся два компонента: подсистема моделирования внешнего мира и подсистема связи с внешним окружением. Последняя осуществляет связи с внешним миром через систему датчиков и контроллеров. Кроме того, традиционные компоненты статической ЭС (база знаний и машина вывода) претерпевают существенные изменения, чтобы отразить временную логику происходящих в реальном мире событий.



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



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

Использовать ЭС следует только тогда, когда разработка ЭС возможна, оправдана и методы инженерии знаний соответствуют решаемой задаче. Чтобы разработка ЭС была возможной для данного приложения, необходимо одновременное выполнение, по крайней мере, следующих требований (1, стр. 67):

1) существуют эксперты в данной области, которые решают задачу значительно лучше, чем начинающие специалисты;

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

3) эксперты способны вербализовать (выразить на естественном языке) и объяснить используемые ими методы, в противном случае трудно рассчитывать на то, что знания экспертов будут «извлечены» и вложены в ЭС;

4) решение задачи требует только рассуждений, а не действий;

5) задача не должна быть слишком трудной (т.е. ее решение должно занимать у эксперта несколько часов или дней, а не недель);

6) задача хотя и не должна быть выражена в формальном виде, но все же должна относиться к достаточно «понятной» и структурированной области, т.е. должны быть выделены основные понятия, отношения и известные (хотя бы эксперту) способы получения решения задачи;

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

Использование ЭС в данном приложении может быть, возможно, но не оправдано. Применение ЭС может быть оправдано одним из следующих факторов (4, стр. 76):

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

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

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

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

Приложение соответствует методам ЭС, если решаемая задача обладает совокупностью следующих характеристик:

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

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

3) задача должна быть достаточно сложна, чтобы оправдать затраты на разработку ЭС. Однако она не должна быть чрезмерно сложной (решение занимает у эксперта часы, а не недели), чтобы ЭС могла ее решать;

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

При разработке ЭС, как правило, используется концепция «быстрого прототипа». Суть этой концепции состоит в том, что разработчики не пытаются сразу построить конечный продукт. На начальном этапе они создают прототип (прототипы) ЭС. Прототипы должны удовлетворять двум противоречивым требованиям: с одной стороны, они должны решать типичные задачи конкретного приложения, а с другой – время и трудоемкость их разработки должны быть весьма незначительны, чтобы можно было максимально запараллелить процесс накопления и отладки знаний (осуществляемый экспертом) с процессом выбора (разработки) программных средств (осуществляемым инженером по знаниям и программистом). Для удовлетворения указанным требованиям, как правило, при создании прототипа используются разнообразные средства, ускоряющие процесс проектирования.

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

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

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



























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

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

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






Заключение



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

Экспертные системы обладают следующими основными характеристиками:

экспертная система ограничена определенной сферой экспертизы;

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

она способна объяснить цепочку рассуждений понятным способом;

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

чаще всего она основана на использовании правил;

на выходе она выдает совет – не таблицы из цифр, не красивые картинки на экране, а четкий совет;

экспертная система обладает способностью самообучаться.

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

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

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

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

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

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

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

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

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

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

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






Список литературы



			Автоматизированное проектирование информационно-управляющих систем. Проектирование экспертных систем на основе системного моделирования: [Монография]/ Науч. ред.: Куликов Г.Г. – Уфа: Уфим. гос. авиац. техн. ун-т, 1999. – 223 с.

			Инжиниринг информационных и деловых процессов: Сб. науч. тр. / М-во общ. и проф. образования Рос. Федерации. Моск. гос. ун-т экономики, статистики и информатики; [Редкол.: Ю.Ф. Тельнов (отв. ред.) и др.]. – М.: Моск. гос. ун-т экономики, статистики и информатики, 1998. – 137 с.

			Информатика: учебник / Под. ред. проф. Н.В. Макаровой. – М.: Финансы и статистика, 1997. – 768 с.

			Компьютерные технологии обработки информации: Учеб. пособие / С.В. Назаров, В.И. Першиков, В.А. Тафинцев и др.; Под ред. С.В. Назарова. – М.: Финансы и статистика, 1995. – 248 с.

			Красилов А.А. Основы информатики. Определение и концепции // Учебное пособие, МФТИ, – М., 1990. – 80 с.

			Красилов А.А., Горельков А.Л. Стили программирования. – М., МФТИ, 1986. – 83 с.

			Попов Э.В. Экспертные системы. Решение неформализованных задач в диалоге с ЭВМ. – М.: Наука, 1987. – 288 с.

			Справочник. Искусственный интеллект. В 3-х книгах. – М., Радио и связь, 1990.

			Уотермен Д. Руководство по экспертным системам: Пер. с англ. – М.: Мир, 1989. – 388 с., ил.

			Уотермен Д. Руководство по экспертным системам: Пер. с англ. – М.: Мир, 1989.

			Уотермен Д. Руководство по экспертным системам: Пер. с англ. – М.: Мир, 1989.

3