Экспертные системы
Основные понятия, особенности и история развития экспертных систем, их классификация и структура. Преимущества и недостатки экспертных систем перед человеком-экспертом. Примеры экспертных систем (MOLGEN, STRIPS), их сравнение и практическое применение.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 11.10.2012 |
Размер файла | 540,0 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Введение
Компьютеризация общества - одно из основных направлений научно-технического прогресса - вызвала существенные изменения в технологии разработки и использования программных средств. Эти изменения были подготовлены всем развитием теории и практики искусственного интеллекта, наиболее существенным результатом которого явился переход к так называемой новой информационной технологии и создание экспертных систем.
Идеологию экспертных систем можно выразить формулой: знание + вывод = система. Экспертная система предполагает взаимодействие блоков. Главные из них - база знаний и механизм вывода.
Целью данной курсовой работы является всестороннее рассмотрение теоретических особенностей экспертных систем, а так же их использование в практической деятельности. Для этого поставлены следующие задачи:
· краткое изучение истории развития экспертных систем;
· введение основных понятий и классификации;
· рассмотрение особенностей экспертных систем;
· рассмотрение достоинств и недостатков систем;
· изучение структуры и этапов создания систем;
· подробное описание и сравнение активно эксплуатирующихся экспертных систем.
1. Теоретические основы экспертных систем
1.1 Основные понятия, особенности и история развития экспертных систем
Экспертные системы - это направление исследований в области искусственного интеллекта по созданию вычислительных систем, умеющих принимать решения, схожие с решениями экспертов в заданной предметной области.
Как правило, экспертные системы создаются для решения практических задач в некоторых узкоспециализированных областях, где большую роль играют знания специалистов. Экспертные системы были первыми разработками, которые смогли привлечь большое внимание к результатам исследований в области искусственного интеллекта.
Экспертные системы имеют одно большое отличие от других систем искусственного интеллекта: они не предназначены для решения каких-то универсальных задач, экспертные системы предназначены для качественного решения задач в определенной разработчиками области, в редких случаях - областях.
Экспертное знание - это сочетание теоретического понимания проблемы и практических навыков ее решения, эффективность которых доказана в результате практической деятельности экспертов в данной области. Фундаментом экспертной системы любого типа является база знаний, которая составляется на основе экспертных знаний специалистов. Правильно выбранный эксперт и удачная формализация его знаний позволяет наделить экспертную систему уникальными и ценными знаниями. Поэтому ценность всей экспертной системы как законченного продукта на 90% определяется качеством созданной базы знаний.
Экспертная система - является плодом совместной работы экспертов в данной предметной области, инженеров по знаниям и программистов.
Но стоит отметить, что встречаются случаи, когда программы пишутся самими экспертами в данной области.
Эксперт предоставляет необходимые знания о тщательно отобранных примерах проблем и путей их решения. Например, при создании экспертной системы диагностики заболеваний врач рассказывает инженеру по знаниям об известных ему заболеваниях. Далее эксперт раскрывает список симптомов, которые сопровождают каждое заболевание и в заключение рассказывает об известных ему методах лечения. Инженер по знаниям, формализует всю полученную информацию в виде базы знаний и помогает программисту в написании экспертной системы.
Особенности экспертных систем, отличающие их от обычных программ, заключаются в том, что они должны обладать следующими качествами.
1. Компетентностью, а именно:
· достигать экспертного уровня решений, т.е. в конкретной предметной области иметь тот же уровень профессионализма, что и эксперты-люди;
· быть умелой, т.е. применять знания эффективно и быстро, избегая, как и люди, ненужных вычислений;
· иметь адекватную робастность, т.е. способность лишь постепенно снижать качество работы по мере приближения к границам диапазона компетентности или допустимой надёжности данных.
2. Возможностью к символьным рассуждениям, а именно:
· представлять знания в символьном виде;
· переформулировать символьные знания. На языке искусственного интеллекта символ - это строка знаков, соответствующая содержанию некоторого понятия. Символы объединяют, чтобы выразить отношения между ними. Когда отношения представлены в экспертной системе они называются символьными структурами.
3. Глубиной, а именно:
· работать в предметной области, содержащей трудные задачи;
· использовать сложные правила, т.е. использовать либо сложные конструкции правил, либо большое их количество.
4. Самосознанием, а именно:
· исследовать свои рассуждения, т.е. проверять их правильность;
· объяснять свои действия.
Существует ещё одна важная особенность экспертных систем. Если обычные программы разрабатываются так, чтобы каждый раз порождать правильный результат, то экспертные системы разработаны с тем, чтобы вести себя как эксперты. Они, как правило, дают правильные ответы, но иногда, как и люди, способны ошибаться.
Первую экспертную систему, которую назвали Dendral, разработали в Стэнфорде в конце 1960-х гг. Эта была экспертная система, определяющая строение органических молекул по химическим формулам и спектрографическим данным о химических связях в молекулах. Ценность Dendral заключалась в следующем. Органические молекулы, как правило, очень велики и поэтому число возможных структур этих молекул также велико. Благодаря эвристическим знаниям экспертов-химиков, заложенных в экспертную систему, правильное решение из миллиона возможных находилось всего за несколько попыток. Принципы и идеи, заложенные в Dendral оказались настолько эффективными, что они до сих пор применяются в химических и фармацевтических лабораториях по всему миру.
Экспертная система Dendral одной из первых использовала эвристические знания специалистов для достижения уровня эксперта в решении задач, однако методика современных экспертных систем связана с другой разработкой - Myсin. В ней использовались знания экспертов медицины для диагностики и лечения специального менингита и бактериальных инфекций крови.
Экспертная система Mycin, разработанная в том же Стэнфорде в середине 1970-х гг., одной из первых обратилась к проблеме принятия решений на основе ненадежной или недостаточной информации. Все рассуждения экспертной системы Mycin были основаны на принципах управляющей логики, соответствующих специфике предметной области. Многие методики разработки экспертных систем, использующиеся сегодня, были впервые разработаны в рамках проекта Mycin.
На сегодняшний день создано уже большое количество экспертных систем. С помощью них решается широкий круг задач, но исключительно в узкоспециализированных предметных областях. Как правило, эти области хорошо изучены и располагают более менее четкими стратегиями принятия решений.
1.2 Классификация и структура экспертных систем
Общепринятая классификация экспертных систем отсутствует, однако наиболее часто экспертные системы различают по назначению, предметной области, методам представления знаний, динамичности и сложности. На рисунке 1 приведена более подробная и наглядная схема.
По назначению классификацию экспертных систем можно провести следующим образом:
· диагностика состояния систем, в том числе мониторинг (непрерывное отслеживание текущего состояния);
· прогнозирование развития систем на основе моделирования прошлого и настоящего;
· планирование и разработка мероприятий в организационном и технологическом управлении;
· проектирование или выработка четких предписаний по построению объектов, удовлетворяющих поставленным требованиям;
· автоматическое управление (регулирование);
· обучение пользователей и др.
Рис. 1. Классификация экспертных систем
По предметной области наибольшее количество экспертных систем используется в военном деле, геологии, инженерном деле, информатике, космической технике, математике, медицине, метеорологии, промышленности, сельском хозяйстве, управлении процессами, физике, филологии, химии, электронике, юриспруденции.
Классификация экспертных систем по методам представления знаний делит их на традиционные и гибридные. Традиционные экспертные системы используют, в основном, эмпирические модели представления знаний и исчисление предикатов первого порядка. Гибридные экспертные системы используют все доступные методы, в том числе оптимизационные алгоритмы и концепции баз данных.
По степени сложности экспертные системы делят на поверхностные и глубинные. Поверхностные экспертные системы представляют знания в виде правил «если-то». Условием выводимости решения является безобрывность цепочки правил. Глубинные экспертные системы обладают способностью при обрыве цепочки правил определять (на основе метазнаний) какие действия следует предпринять для продолжения решения задачи. Кроме того, к сложным относятся предметные области, в которых текст записи одного правила на естественном языке занимает более 1/3 страницы.
Классификация экспертных систем по динамичности делит экспертные системы на статические и динамические. Предметная область называется статической, если описывающие ее исходные данные не изменяются во времени. Статичность области означает неизменность описывающих ее исходных данных. При этом производные данные (выводимые из исходных) могут и появляться заново, и изменяться (не изменяя, исходных данных).
Если исходные данные, описывающие предметную область, изменяются за время решения задачи, то предметную область называют динамической. В архитектуру динамической экспертной системы, по сравнению со статической, вводятся два компонента:
· подсистема моделирования внешнего мира;
· подсистема связи с внешним окружением.
Последняя осуществляет связи с внешним миром через систему датчиков и контроллеров. Кроме того, традиционные компоненты статической экспертной системы (база знаний и механизм логического вывода) претерпевают существенные изменения, чтобы отразить временную логику происходящих в реальном мире событий.
На рисунке 2 представлена каноническая структура экспертной системы динамического типа.
Рис. 2. Структура экспертной системы
Механизм логического вывода (МЛВ) предназначен для получения новых фактов на основе сопоставления исходных данных из рабочей памяти и знаний из базы знаний. Механизм логического вывода во всей структуре экспертной системы занимает наиболее важное место. Он реализует алгоритмы прямого и / или обратного вывода и формально может быть представлен четверкой:
· - процедура выбора из базы знаний и рабочей памяти правил и фактов;
· - процедура сопоставления правил и фактов, в результате которой определяется множество фактов к которым применимы правила для присвоения значений;
· - процедура разрешения конфликтов, определяющая порядок использования правил, если в заключении правила указаны одинаковые имена фактов с разными значениями;
· - процедура, осуществляющая выполнение действий, соответствующих полученному значению факта (заключению правила).
Рабочая память предназначена для хранения исходных и промежуточных фактов решаемой в текущий момент задачи. Как правило, размещается в оперативной памяти ЭВМ и отражает текущее состояние предметной области в виде фактов с коэффициентами уверенности (КУ) в истинности этих фактов.
Следующий элемент в структуре экспертной системы не менее важен, чем механизм логического вывода. Это - база знаний. База знаний предназначена для хранения долгосрочных фактов, описывающих рассматриваемую область, правил, описывающих отношения между этими фактами и других типов декларативных знаний о предметной области. Кроме правил и фактов, образующих декларативную часть базы знаний, в нее может входить процедурная часть - множество функций и процедур, реализующих оптимизационные, расчетные и другие требуемые алгоритмы.
Экспертные системы относятся к классу интеллектуальных систем, основывающихся на понимании факта. Другими словами экспертные системы основываются на знаниях специалиста-эксперта о предметной области. Высококачественный опыт наиболее квалифицированных специалистов, доступный для всех пользователей системы, становится фактором, резко повышающим качество принимаемых решений для организации, использующей экспертные системы в целом.
Подсистема приобретения и пополнения знаний автоматизирует процесс наполнения экспертной системы знаниями, осуществляемый пользователем-экспертом, и адаптации базы знаний системы к условиям ее функционирования. Адаптация экспертной системы к изменениям в предметной области реализуется путем замены правил или фактов в базе знаний.
Подсистема объяснения объясняет, как система получила решение задачи (или почему она не получила решения) и какие знания она при этом использовала, что облегчает эксперту тестирование системы и повышает доверие пользователя к полученному результату. Возможность объяснять свои действия является одним из самых важных свойств экспертной системы, так как:
· повышается доверие пользователей к полученным результатам;
· облегчается отладка системы;
· создаются условия для пользователей по вскрытию новых закономерностей предметной области;
· объяснение полученных выводов может служить средством поиска точки в парето-оптимальном множестве решений.
Структура экспертной системы была бы неполной без подсистемы диалога. Подсистема диалога ориентирована на организацию дружественного интерфейса со всеми категориями пользователей как в ходе решения задач, так и в ходе приобретения знаний и объяснения результатов работы.
1.3 Преимущества и недостатки экспертных систем перед человеком-экспертом
Потенциальный пользователь экспертной системы чаще всего задается вопросом: «Сможет ли система решить проблему?». Существуют три фактора, от которых зависит окончательный ответ, - природа проблемы, наличие определенного опыта в той предметной области, к которой относится проблема, и возможность сопоставления результатов анализа проблемы и имеющегося опыта методом, доступным компьютерной программе. Перед принятием решения о создании экспертной системы, следует задуматься над следующим: доступен ли эксперт, который:
· способен решить проблему;
· знает, как решается проблема;
· способен объяснить, как решается проблема;
· располагает временем, чтобы объяснить, как решается проблема;
· имеет достаточные побудительные мотивы к активному участию в создании экспертной системы.
Например, предсказание погоды - это не та задача, которую может решить кто-либо, даже умудренный большим опытом эксперт. Распознавание речи - это задача, которую решает практически каждый, но никто из нас (включая и профессиональных лингвистов) не может вразумительно объяснить, как это делается. А потому использовать для решения этой проблемы методы, основанные на анализе знаний, вряд ли удастся. Здесь большего следует ожидать от статистического моделирования. Даже имея на примете гениального эксперта, знающего, как решается задача, нельзя рассчитывать на успех, если этот эксперт не может или не желает подробно и вразумительно объяснить, как он это делает. Эксперт может быть не расположен к общению с посторонними или слишком занят, чтобы терять время на длительные собеседования с инженером, которому поручено проектирование базы знаний. Как правило, эксперт высокого класса не испытывает недостатка в предложениях работы в той области, с которой он хорошо знаком, а потому предпочитает выполнять ее, а не вести беседы о том, как он это делает. Есть еще и психологический фактор - многие эксперты весьма ревниво относятся к своему уникальному опыту и не склонны его разглашать, поскольку считают, что, передавая опыт автоматизированным системам, они рубят сук, на котором сидят.
Но даже если удастся выполнить оговоренные выше условия, в задаче могут существовать факторы, ограничивающие возможность «машинного» воспроизведения человеческого опыта. Например:
· в процессе решения задачи используются способности органов чувств человека, недоступные на сегодняшний день в мире машин;
· в решение задачи вовлечены соображения здравого смысла человечества или большой объем знаний, само собой разумеющихся для любого человека.
Нельзя упускать из виду и огромный объем знаний об окружающем мире, которым мы все располагаем: знаниями о предметах и их свойствах, людях и мотивации их действий, взаимосвязях в физическом мире и наиболее вероятном течении событий в тех или иных условиях - список можно продолжать до бесконечности. Эту совокупность знаний мы не включаем в знания, отличающие эксперта, но до сих пор еще совсем не ясно, насколько они важны компьютеру для решения узкоспециальной проблемы. Таким образом, любая задача, которую не удается инкапсулировать в ограниченный перечень фактов и правил, на сегодняшний день не под силу экспертным системам.
Возникает вопрос в надобности экспертных систем. Не лучше ли обратиться к человеческому опыту, как это было в прошлом? Но, не смотря на выше перечисленные недостатки, экспертные системы ряд преимуществ:
1. Постоянство.
Человеческая компетенция ослабевает со временем. Перерыв в деятельности человека-эксперта может серьёзно отразиться на его профессиональных качествах.
2. Лёгкость передачи.
Передача знаний от одного человека другому - долгий и дорогой процесс. Передача искусственной информации - это простой процесс копирования программы или файла данных.
3. Устойчивость и воспроизводимость результатов.
Экспертные системы устойчивы к «помехам». Человек же легко поддается влиянию внешних факторов, которые непосредственно не связаны с решаемой задачей. Эксперт-человек может принимать в тождественных ситуациях разные решения из-за эмоциональных факторов. Результаты экспертной системы - стабильны.
4. Стоимость.
Эксперты, особенно высококвалифицированные обходятся очень дорого. Экспертные системы, наоборот, сравнительно недороги. Их разработка дорога, но они дёшевы в эксплуатации.
Вместе с тем разработка экспертной системы не позволяет полностью отказаться от эксперта-человека. Хотя экспертная система хорошо справляется со своей работой, тем не менее, в определённых областях человеческая компетенция явно превосходит искусственную. Однако и в этих случаях экспертная система может позволить отказаться от услуг высококвалифицированного эксперта, оставив эксперта средней квалификации, используя при этом экспертную систему для усиления и расширения его профессиональных возможностей.
Несмотря на все эти ограничения и недостатки, экспертные системы уже доказали всю свою ценность и значимость во многих важных приложениях.
1.4 Подходы к созданию экспертных систем
Существует, по крайней мере, четыре значительно отличающихся друг от друга подхода к созданию экспертных систем:
· подход, базирующийся на поверхностных знаниях;
· структурный подход;
· подход, базирующийся на глубинных знаниях;
· смешанный подход, базирующийся на использовании поверхностных и глубинных знаний.
1. Подход, базирующийся на поверхностных знаниях.
Применяется к сложным задачам, которые не могут быть точно описаны. Этот подход заключается в получении от эксперта фрагментов знаний (часто эвристических), которые релевантны решаемой задаче. При этом не предпринимается никаких попыток систематического или глубинного изучения области, что предопределяет использование поиска в пространстве состояний в качестве универсального механизма вывода. Обычно в экспертных системах, использующих данный подход, в качестве способа представления выбираются правила. Условие каждого правила определяет образец некоторой ситуации, при соблюдении которой правило может быть выполнено. Поиск решения состоит в выполнении тех правил, образцы которых сопоставляются с текущими данными. При этом предполагается, что в процессе поиска решения последовательность формируемых таким образом ситуаций не оборвется до получения решения, т.е. не возникнет неизвестной ситуации, которая не сопоставится ни с одним правилом. Данный подход с успехом применяется к широкому классу приложений, однако он оказывается неэффективным в тех приложениях, когда задача может быть заранее структурирована или при решении задачи может быть использована некоторая модель.
2. Структурный подход.
Структурный подход к построению экспертных систем обусловлен тем, что для ряда приложений применение только техники поверхностных знаний не обеспечивает решения задачи. Действительно, использование поиска в качестве механизма вывода в неструктурированной базе знаний может приводить к ненадежным и (или) некачественным решениям. Структурный подход к построению экспертных систем подобен структурному программированию. Однако применительно к экспертным системам речь не идет о том, что структурирование должно довести задачу до алгоритма (как в традиционном программировании), а предполагается, что часть задачи решается с помощью поиска. Структурный подход в различных приложениях целесообразно сочетать с поверхностным или глубинным.
3. Глубинный подход.
В глубинном подходе компетентность экспертной системы базируется на модели той проблемной среды, в которой эта экспертная система работает. Модель может быть определена различными способами (декларативно, процедурно). Необходимость в ряде приложений использовать модели вызвана стремлением исправить несовершенство поверхностного подхода, возникающего при отсутствии правил, удовлетворяющих текущей ситуации в рабочей памяти. Глубинные экспертные системы кроме возможностей поверхностных обладают способностью при возникновении неизвестной ситуации определить с помощью некоторых общих принципов, справедливых для области экспертизы, какие действия следует выполнить.
Глубинный (модельный) подход требует явного описания структуры и взаимоотношений между различными сущностями области. При этом подходе необходимо использовать инструментальные средства, обладающие мощными моделирующими возможностями: объекты с присоединенными процедурами, иерархическое наследование свойств, активные знания (программирование, управляемое данными), передача сообщений объектам (объектно-ориентированное программирование) и т.п.
4. Смешанный подход.
Смешанный подход в общем случае может сочетать поверхностный, структурный и глубинный подходы. Например, поверхностный подход может быть использован для поиска адекватных знаний, которые затем используются некоторой глубинной моделью.
Экспертная система работает в двух режимах: режиме приобретения знаний и в режиме консультаций (называемом также режимом решения или режимом пользования экспертной системой).
В режиме приобретения знаний общение с экспертной системой осуществляет эксперт. В этом режиме эксперт, используя компонент приобретения знаний, наполняет систему знаниями, которые позволяют экспертной системе в режиме консультаций самостоятельно (без эксперта) решать задачи из проблемной области. Эксперт описывает проблемную область в виде совокупности данных и правил. Данные определяют объекты, их характеристики и значения, существующие в области экспертизы. Правила определяют способы манипулирования с данными, характерные для рассматриваемой области.
В режиме консультации общение с экспертной системой осуществляет конечный пользователь, которого интересует результат и (или) способ его получения. Необходимо отметить, что в зависимости от назначения экспертной системы пользователь может не быть специалистом в данной проблемной области (в этом случае он обращается к экспертной системе за результатом, не умея получить его сам), или быть специалистом (в этом случае пользователь может сам получить результат, но он обращается к экспертной системе с целью либо ускорить процесс получения результата, либо возложить на экспертную систему рутинную работу). Следует подчеркнуть, что термин «пользователь» является многозначным, так как использовать экспертную систему кроме конечного пользователя может и эксперт, и инженер по знаниям, и программист.
В режиме консультации данные о задаче пользователя после обработки их диалоговым компонентом поступают в рабочую память. Решатель на основе входных данных из рабочей памяти, общих данных о проблемной области и правил из базы знаний формирует решение задачи.
Хорошо построенная экспертная система должна иметь возможность самообучаться на решаемых задачах, пополняя автоматически свою базу знаний результатами полученных выводов и решений.
1.5 Разработка экспертных систем
В настоящее время сложилась определенная технология разработки ЭС, которая включает следующие шесть этапов: идентификация, концептуализация, формализация, выполнение, тестирование и опытная эксплуатация. На рисунке 3 приведена подробная схема создание экспертных систем.
Обычно в разработке экспертной системы участвуют не менее трех-четырех человек - один эксперт, один или два инженера по знаниям и один программист, привлекаемый для модификации и согласования инструментальных средств. Также к процессу разработки экспертной системы могут по мере необходимости привлекаться и другие участники. Например, инженер по знаниям может пригласить других экспертов, чтобы убедиться в правильности своего понимания основного эксперта, представительности тестов, демонстрирующих особенности рассматриваемой задачи, совпадения взглядов различных экспертов на качество предлагаемых решений. Кроме того, для сложных систем считается целесообразным привлекать к основному циклу разработки несколько экспертов. Однако в этом случае, как правило, требуется, чтобы один из экспертов отвечал за непротиворечивость знаний, сообщаемых коллективом экспертов.
Рис. 3. Этапы разработки экспертных систем
1. Этап идентификации.
Этап идентификации связан, прежде всего, с осмыслением тех задач, которые предстоит решить будущей экспертной системе, и формированием требований к ней. Результатом данного этапа является ответ на вопрос, что надо сделать и какие ресурсы необходимо задействовать (идентификация задачи, определение участников процесса проектирования и их роли, выявление ресурсов и целей).
Идентификация задачи заключается в составлении неформального (вербального) описания, в котором указываются:
· общие характеристики задачи;
· подзадачи, выделяемые внутри данной задачи;
· ключевые понятия (объекты), их входные (выходные) данные;
· предположительный вид решения;
· знания, относящиеся к решаемой задаче.
В процессе идентификации задачи инженер по знаниям и эксперт работают в тесном контакте. Начальное неформальное описание задачи экспертом используется инженером по знаниям для уточнения терминов и ключевых понятий. Эксперт корректирует описание задачи, объясняет, как решать ее и какие рассуждения лежат в основе того или иного решения. После нескольких циклов, уточняющих описание, эксперт и инженер по знаниям получают окончательное неформальное описание задачи.
При идентификации целей важно отличать цели, ради которых создается экспертная система, от задач, которые она должна решать. Примерами возможных целей являются: формализация неформальных знаний экспертов; улучшение качества решений, принимаемых экспертом; автоматизация рутинных аспектов работы эксперта (пользователя); тиражирование знаний эксперта.
2. Этап концептуализации.
На данном этапе проводится содержательный анализ проблемной области, выявляются используемые понятия и их взаимосвязи, определяются методы решения задач. Этот этап завершается созданием модели предметной области, включающей основные концепты и отношения. На этапе концептуализации определяются следующие особенности задачи:
· типы доступных данных;
· исходные и выводимые данные, подзадачи общей задачи;
· используемые стратегии и гипотезы;
· виды взаимосвязей между объектами предметной области, типы используемых отношений (иерархия, причина - следствие, часть - целое и т.п.);
· процессы, используемые в ходе решения;
· состав знаний, используемых при решении задачи;
· типы ограничений, накладываемых на процессы, используемые в ходе решения;
· состав знаний, используемых для обоснования решений.
Существует два подхода к процессу построения модели предметной области, которая является целью разработчиков экспертных систем на этапе концептуализации: признаковый и структурный.
Признаковый или атрибутивный подход предполагает наличие полученной от экспертов информации в виде троек объект - атрибут - значение атрибута, а также наличие обучающей информации. Этот подход развивается в рамках направления, получившего название формирование знаний или «машинное обучение».
Второй подход, называемый структурным (или когнитивным), осуществляется путем выделения элементов предметной области, их взаимосвязей и семантических отношений.
3. Этап формализации.
Теперь все ключевые понятия и отношения выражаются на некотором формальном языке, который либо выбирается из числа уже существующих, либо создается заново. Другими словами, на данном этапе определяются состав средств и способы представления декларативных и процедурных знаний, осуществляется это представление и в итоге формируется описание решения задачи экспертной системы на предложенном (инженером по знаниям) формальном языке.
Выходом этапа формализации является описание того, как рассматриваемая задача может быть представлена в выбранном или разработанном формализме. Сюда относится указание способов представления знаний (фреймы, сценарии, семантические сети и т.д.) и определение способов манипулирования этими знаниями (логический вывод, аналитическая модель, статистическая модель и др.) и интерпретации знаний.
4. Этап выполнения.
Цель этого этапа - создание одного или нескольких прототипов экспертной системы, решающих требуемые задачи. Затем на данном этапе по результатам тестирования и опытной эксплуатации создается конечный продукт, пригодный для промышленного использования. Разработка прототипа состоит в программировании его компонентов или выборе их из известных инструментальных средств и наполнении базы знаний.
Главное в создании прототипа заключается в том, чтобы этот прототип обеспечил проверку адекватности идей, методов и способов представления знаний решаемым задачам. Создание первого прототипа должно подтвердить, что выбранные методы решений и способы представления пригодны для успешного решения, по крайней мере, ряда задач из актуальной предметной области, а также продемонстрировать тенденцию к получению высококачественных и эффективных решений для всех задач предметной области по мере увеличения объема знаний.
5. Этап тестирования.
В ходе данного этапа производится оценка выбранного способа представления знаний в экспертной системе в целом. Для этого инженер по знаниям подбирает примеры, обеспечивающие проверку всех возможностей разработанной системы.
Различают следующие источники неудач в работе системы: тестовые примеры, ввод-вывод, правила вывода, управляющие стратегии.
Показательные тестовые примеры являются наиболее очевидной причиной неудачной работы экспертной системы. В худшем случае тестовые примеры могут оказаться вообще вне предметной области, на которую рассчитана система, однако чаще множество тестовых примеров оказывается слишком однородным и не охватывает всю предметную область. Поэтому при подготовке тестовых примеров следует классифицировать их по подпроблемам предметной области, выделяя стандартные случаи, определяя границы трудных ситуаций и т.п.
Ввод-вывод характеризуется данными, приобретенными в ходе диалога с экспертом, и заключениями, предъявленными экспертной системой в ходе объяснений. Методы приобретения данных могут не давать требуемых результатов, так как, например, задавались неправильные вопросы или собрана не вся необходимая информация. Кроме того, вопросы системы могут быть трудными для понимания, многозначными и не соответствующими знаниям пользователя. Ошибки при вводе могут возникать также из-за неудобного для пользователя входного языка. В ряде приложения для пользователя удобен ввод не только в печатной, но и в графической или звуковой форме.
Выходные сообщения (заключения) системы могут оказаться непонятны пользователю (эксперту) по разным причинам. Например, их может быть слишком много или, наоборот, слишком мало. Также причиной ошибок может являться неудачная организация, упорядоченность заключений или неподходящий пользователю уровень абстракций с непонятной ему лексикой.
Наиболее распространенный источник ошибок в рассуждениях касается правил вывода. Важная причина здесь часто кроется в отсутствии учета взаимозависимости сформированных правил. Другая причина заключается в ошибочности, противоречивости и неполноте используемых правил. Если неверна посылка правила, то это может привести к употреблению правила в неподходящем контексте. Если ошибочно действие правила, то трудно предсказать конечный результат. Правило может быть ошибочно, если при корректности его условия и действия нарушено соответствие между ними.
Нередко к ошибкам в работе ЭС приводят применяемые управляющие стратегии. Изменение стратегии бывает необходимо, например, если экспертная система анализирует сущности в порядке, отличном от привычного для эксперта. Последовательность, в которой рассматриваются данные, не только влияет на эффективность работы системы, но и может приводить к изменению конечного результата. Изменение стратегии бывает также необходимо и в случае неэффективной работы системы. Кроме того, недостатки в управляющих стратегиях могут привести к чрезмерно сложным заключениям и объяснениям.
Критерии оценки ЭС зависят от точки зрения. Например, полнота и безошибочность правил вывода. При тестировании промышленной системы превалирует точка зрения инженера по знаниям, которого в первую очередь интересует вопрос оптимизации представления и манипулирования знаниями. И, наконец, при тестировании после опытной эксплуатации оценка производится с точки зрения пользователя, заинтересованного в удобстве работы и получения практической пользы
6. Этап опытной эксплуатации.
На этом этапе проверяется пригодность экспертной системы для конечного пользователя. Пригодность для пользователя определяется в основном удобством работы с ней и ее полезностью. Под полезностью системы понимается ее способность в ходе диалога определять потребности пользователя, выявлять и устранять причины неудач в работе, а также удовлетворять указанные потребности пользователя (решать поставленные задачи). В свою очередь, удобство работы с экспертной системой подразумевает:
· естественность взаимодействия - общение в привычном, не утомляющем пользователя виде;
· гибкость - способность системы настраиваться на различных пользователей, а также учитывать изменения в квалификации одного и того же пользователя;
· устойчивость к ошибкам - способность не выходить из строя при ошибочных действиях неопытного пользователях.
В ходе разработки экспертной системы почти всегда осуществляется ее модификация. Выделяют следующие виды модификации системы:
· переформулирование понятий и требований;
· переконструирование представления знаний в системе и усовершенствование прототипа.
2. Примеры экспертных систем, их практическое применение
2.1 Экспертная система MOLGEN
Экспертная система MOLGEN, предназначенная для планирования экспериментов в исследованиях по молекулярной генетике, имеет многоуровневую организацию, в которой каждый более верхний уровень управляет расположенными ниже уровнями. Такой вид организации экспертной системы получил в литературе название метауровневой архитектуры (meta-level architecture). Идея состоит в том, что в дополнение к представлению «первого уровня» проблемы в предметной области добавить еще более высокие уровни, представляющие такие понятия, как возможные действия с объектами предметной области, критерии выбора и комбинирования таких действий.
В терминологии системы MOLGEN уровни управления называются пространствами планирования (planning space). Программа использует три таких пространства, каждое из которых имеет собственные объекты и операторы, которые взаимодействуют друг с другом с помощью протоколов передачи сообщений. Схематически организация уровней управления в системе MOLGEN представлена на рисунке 4. На этой схеме в левой части прямоугольников, представляющих каждое пространство планирования, приведен список некоторых операторов этого пространства. Интерпретатор организует внешний цикл управления системой. Фактически он формирует и следит за соблюдением определенной стратегии поведения системы. Как будет показано ниже, в этих стратегиях реализуется логический вывод суждений на метауровне, которые управляют способом решения проблемы планирования эксперимента.
Рис. 4. Организация пространств планирования в системе MOLGEN
Начинать анализ архитектуры системы MOLGEN необходимо с самого нижнего уровня - пространства лабораторных экспериментов (laboratory space). В этом пространстве содержатся знания об объектах и операциях, выполняемых в лаборатории в процессе проведения экспериментов. Объектами этого пространства являются те сущности, которыми манипулируют лаборанты, а операторы - это те действия, которые с этими сущностями могут выполняться, например сортировка, слияние и т.д.
Пространство разработки (design space) содержит знания о планах проведения экспериментов в форме классов операторов для выполнения следующих действий:
· проверки прогнозируемых характеристик и выявления необычных характеристик объектов - операторы сравнения (comparison-operators);
· формирования предложений относительно целей, операций и прогнозируемых результатов - операторы временного расширения (temporal-extension operators);
· уточнения этапов плана в соответствии с имеющимися ограничениями - операторы специализации (specialization operators).
Каждому оператору назначается определенный уровень приоритета. Как правило, операторы сравнения имеют более высокий приоритет, чем операторы временного расширения, а последние имеют приоритет перед операторами специализации. Такое ранжирование операторов является, по существу, одним из отражений стратегии наименьшего принуждения, поскольку операции с более высоким приоритетом, как правило, оставляют большую свободу действий на будущее, чем операторы с более низким приоритетом. В той предметной области, для которой предназначена система MOLGEN, с помощью этих операторов моделируется экспертность специалистов, разрабатывающих эксперименты, но общие принципы организации этой системы вполне применимы и в других областях проектирования и планирования.
Большую роль в системе MOLGEN (как, впрочем, и в других приложениях, предназначенных для решения проблем конструирования) играют следующие три операции с ограничениями:
1. Формулирование ограничений. Эта операция формирует ограничения для пространства решений. Если воспользоваться примером из области планирования компоновки помещений, то такой операцией будет принятие решения, что кухня и столовая должны быть расположены рядом.
2. Распространение ограничений. Эта операция организует передачу информации между подзадачами, которые являются в определенной мере независимыми. Например, компоновка помещений на верхнем и нижнем этажах коттеджа является почти независимыми задачами, но они связаны друг с другом наличием одних и тех же ограничений в виде расположения лестниц и элементов водопроводной системы.
3. Удовлетворение ограничений. Эта операция собирает информацию об ограничениях, извлекая ее из деталей реализации отдельных подзадач проектирования. Например, при планировке помещений можно попробовать подгонять планировку верхнего и нижнего этажей таким образом, чтобы облегчить выполнение подзадачи планирования системы водоснабжения.
Полезно попытаться охарактеризовать отдельные операции в терминах тех ограничений, которые на них накладываются. Например, если проблема состоит в том, чтобы выяснить, что делать сегодня вечером, а текущая операция - это «пойти в кино», то можно сказать, что эта операция недоопределена (underconstrained), если в городке есть более одного кинотеатра. В более общем смысле операция является недоопределенной, если отсутствует вся необходимая информация для того, чтобы эта операция могла быть однозначно реализована в терминах более детальных этапов. Но операция «пойти посмотреть фильм-ужастик» является переопределенной (overconstrained), если в городке нет ни одного кинотеатра, в котором бы шел такой фильм. В более общем смысле операция является переопределенной в том случае, если любая попытка выполнить ее приводит к нарушению наложенных ограничений.
Назначение пространства стратегий (strategy space) - выработка суждений об этапах плана в пространстве разработки. Основным инструментом для этого являются эвристики стратегии наименьшего принуждения. Если операторы пространства разработки отвечают за формирование последовательности этапов выполнения в предметной области, то операторы пространства стратегий отвечают за формирование последовательности выполнения операторов пространства разработки. Таким образом, можно утверждать, что операторы этого пространства выполняют метапланирование.
Пространство стратегий системы MOLGEN состоит из следующих операторов:
1. Оператор Focus посылает сообщение «find task» каждому оператору пространства разработки, побуждающее его найти такую задачу, которую этот оператор мог бы выполнить в развитии текущего плана. Затем предлагаемые операции включаются в список и сортируются в порядке приоритетов соответствующих операторов. Не все из этих операций могут быть действительно выполнены. Некоторые из них недоопределены, а другие - переопределены. Оператор Focus просматривает сформированный список и выполняет те задачи, которые могут быть выполнены, отсылая после каждого успешного выполнения сообщение «find task». Если обнаруживается недоопределенная задача, ее выполнение приостанавливается. Когда же будет обнаружена переопределенная задача, управление передается оператору Undo.
2. Оператор Resume во многом похож на оператор Focus. Отличие состоит в том, что он не формирует новые задачи, а старается выявить ранее приостановленные и повторно запустить их на выполнение.
3. Оператор Guess активизируется в том случае, когда оказывается, что все предлагаемые для дальнейших действий задачи являются недоопределенными. Возникает ситуация, когда обычный «регулярный» подход на основе стратегии наименьшего принуждения не позволяет определить следующее действие и нужно привлекать на помощь эвристики. Оператор Guess посылает каждой приостановленной задаче сообщение, предлагая оценить степень «полезности» опций, которыми располагает эта задача, а затем выбирает ту из них, у которой самый высокий рейтинг.
4. Оператор Undo активизируется, когда обнаруживается, что в план включена переопределенная задача. В этом случае складывается ситуация, в которой нельзя применить стратегию наименьшего принуждения. В том виде, в каком он реализован в системе MOLGEN, оператор Undo выглядит довольно примитивным. Он отыскивает тот этап, который привел к включению в план переопределенной задачи, и предлагает изъять его из плана.
Многоуровневая архитектура должна существенно упростить решение проблемы, если в ней правильно выполнено распределение нагрузки по уровням. По мере перехода на более высокие уровни решаемые задачи должны упрощаться. На самом высоком уровне, уровне интерпретатора, решается единственная тривиальная задача запуска на выполнение той подзадачи, которая стоит первой в списке актуальных.
Как уже отмечалось, основной «слабостью» системы MOLGEN является то, что в ней отсутствует достаточно совершенный механизм обратного прослеживания. Другими словами, если вспомнить о наименовании стратегии предложение и пересмотр, то эта система сильна в выработке предложений, но слаба в их пересмотре, а потому ей не всегда удается «выкарабкаться» из ситуации, которая складывается после неудачного предложения.
2.2 Экспертная система STRIPS
Первой системой, которая создавалась именно для решения задачи планирования, была система STRIPS (Sеanford Research Institute Problem Solver). Эта система выступала в роли модуля планирования для мобильного робота Shakey (разработка Центра искусственного интеллекта при SRI). STRIPS был разработан в 1971 году двумя исследователями - Ричардом Файксом и Нильсом Нильсоном. Описание системы опубликовано в трудах 2-ой международной конференции по искусственному интеллекту.
Файкс и Нильсон сформулировали задачу планирования такой, какова она и по сей день. Задача планировщика найти такую последовательность действий, которая преобразует начальное состояние в такое состояние, в котором достигается заранее заданное целевое условие (в оригинальной статье используются понятия «модель мира» для обозначения состояния и «оператор» для обозначения действия). Состояние представляется множеством формул логики первого порядка. Цель также описывается формулой. Действия описываются в виде специальных конструкций, которые будут рассмотрены ниже.
STRIPS пользуется методологией доказательства теорем только в рамках одного заданного состояния для получения ответа на вопросы «какие действия применимы» и «достигнуты ли целевые условия». В STRIPS поиск в пространстве состояний осуществляется по аналогии с системой GPS, а именно, используется стратегия «анализ средств и целей».
Формально, постановка задачи в STRIPS включает три составляющие: начальное состояние, множество действий и целевую формулу. Как уже было отмечено, состояния описываются множеством формул. Например, то, что объект obj1 находится в комнате room2, можно выразить следующей формулой: At(obj1, room2). Кроме таких «описательных» аксиом, можно включать аксиомы-правила, наподобие тех, что использовал Грин (в другой системе QA3). Например, можно написать, что если объект находится в комнате room2, то он не находится ни в какой другой комнате. Формально это можно представить так:
(» x, y, z) [At (x, y) & ¬(y = z) -> ¬At (x, z)].
Если формула, описывающая состояние, является литералом, то это должен быть позитивный литерал (без знака отрицания). Все атомарные формулы во множестве формул, описывающих состояние, должны быть означены (ground), т.е. не иметь свободных переменных. Утверждения, не входящие в число формул, описывающих состояние, и не являющиеся их логическим следствием, считаются ложными. Это последнее допущение в литературе называют допущение о замкнутости мира (closed-world assumption).
Действия группируются в классы действий, называемые схемами действий (в оригинальной статье, соответственно, схемы операторов). Такой подход позволил существенно сократить описание задачи. Конкретные действия получаются из описания схемы путем подстановки конкретных сущностей (констант) вместо параметров. Применять можно только конкретизированные схемы действий, т.е. сами действия.
Напомню, что STRIPS создавался для управления роботом. Введение понятия схемы было необходимо для задачи управления роботом, т.к. в этой задаче было также действие перемещения между двумя точками в комнате, а точек могло быть очень много. Без схем, описание задачи было бы очень большим. С тех пор понятие схемы действия вошло в практику планирования как постоянный компонент. В настоящее время все планировщики прибегают именно к такой (параметризованной) форме описания действий.
Описание каждой схемы действия (а, соответственно, и самого действия) состоит из двух основных частей: описания эффекта действия и описания условий, при которых действие применимо. Эффект действия определяется через два списка: список формул, которые добавляются к состоянию, и список формул, которые удаляются из состояния, т.к. становятся ложными в результате применения действия. Отметим, что если формула из списка добавления уже присутствует в текущем состоянии (состоянии, к которому применяется действие), то эта формула не будет добавлена вторично. Аналогично, если формула из списка удаления уже отсутствует в текущем состоянии, то ее удаление игнорируется. Все формулы, которые не упоминаются в эффекте, остаются неизменными в новом состоянии. Это последнее утверждение в литературе называют STRIPS-допущением (STRIPS assumption).
Условия применимости действия, называемые также предусловием (precondition), задаются при помощи одной формулы. Для того, чтоб узнать применимо ли действие в некотором заданном состоянии, мы должны проверить истинность предусловия, т.е. доказать, что предусловие является логическим следствием множества аксиом данного состояния. Если предусловие истинно, то действие применимо.
Важно отметить, что схема действия имеет дело со схемами формул, т.к. параметры действия могут фигурировать и в формулах. Конкретизация предусловия может происходить в процессе доказательства его истинности в некотором состоянии. Сам процесс доказательства предлагает подстановку для данного параметра такую, чтобы сделать формулу истинной. Следует различать параметры схемы действия и связанные переменные формулы (квантифицированные переменные), и этот момент нужно учитывать при доказательстве истинности формул.
Фактически, с введением параметров в формулы изменения в подходе к доказательству теорем коснутся только двух аспектов. Во-первых, потребуется изменение алгоритма унификации. Так для связанных переменных допустимы следующие подстановки: переменные, константы, параметры и функциональные термы, не содержащие переменных. Для параметров же допустимы такие подстановки: константы, параметры и функциональные термы, не содержащие сколемовых функций, переменных и параметров. Во-вторых, один и тот же параметр может фигурировать в нескольких формулах и надо следить, чтобы подстановка затрагивала именно все формулы. Т.е. в данном случае это будет не набор одноименных сущностей (как это было бы с переменными), а одна сущность.
STRIPS начинает работу с попытки доказать, что цель является следствием множества формул, описывающих начальное состояние. Если цель следует из начального состояния, то задача решена. В противном случае незавершенное доказательство теоремы (то, что пока не удалось доказать) рассматривается в качестве различия между состоянием и целью. Затем выполняется поиск схемы действия, эффект которой может добавить (или удалить) такую формулу, что доказательство будет продолжено. Здесь может потребоваться частичная или полная конкретизация формулы эффекта. Подходящих схем действий может быть несколько, поэтому будут формироваться ветви поиска, в каждой из которых прорабатывается один способ. После того, как схема действия выбрана, ее предусловие (возможно частично конкретизированное) рассматривается в качестве новой подцели. При попытке доказать это предусловие выполняется конкретизация предусловия. Т.е. процесс доказательства ищет такие подстановки для параметров формулы, чтобы сделать эту формулу истинной в текущем состоянии. Если такая подстановка находится, то схема действия конкретизируется и действие применяется, иначе в процессе доказательства вновь формируется различие и процесс повторяется.
Подобные документы
Понятие и содержание экспертных систем, принципы взаимосвязи элементов: интерфейса пользователя, собственно пользователя, эксперта, средств объяснения, рабочей памяти и машины логического вывода. Классификация, преимущества, недостатки экспертных систем.
реферат [33,9 K], добавлен 25.02.2013Сущность экспертных систем и их научно-познавательная деятельность. Структура, функции и классификация ЭС. Механизм вывода и система объяснений. Интегрированные информационные системы управления предприятием. Применение экспертных систем в логистике.
курсовая работа [317,3 K], добавлен 13.10.2013Определение экспертных систем, их достоинство и назначение. Классификация экспертных систем и их отличие от традиционных программ. Структура, этапы разработки и области применения. Классификация инструментальных средств и технология разработки систем.
курсовая работа [78,0 K], добавлен 03.06.2009Сущность, виды, направления использования и основные понятия экспертных систем. Понятие и характеристика основных элементов структуры экспертной системы. Основные виды классификаций экспертных систем: по решаемой задаче и по связи с реальным временем.
доклад [104,5 K], добавлен 09.06.2010Механизм автоматического рассуждения. Основные требования к экспертным системам. Наделение системы способностями эксперта. Типовая структура и классификация интерфейсов пользователей экспертных систем. Основные термины в области разработки систем.
презентация [252,6 K], добавлен 14.08.2013Этапы разработки экспертных систем. Требования к организации-разработчику. Правильный выбор подходящей проблемы, работа с экспертом. Разработка прототипной системы. Развитие прототипа до промышленной экспертной системы. Особенности оценки системы.
презентация [169,1 K], добавлен 14.08.2013Изучение характеристик, классификации, функций и основных элементов экспертных систем. Исследование их структуры и отличительных особенностей от другого программного обеспечения. Описания методов проектирования и области применения экспертных систем.
реферат [38,1 K], добавлен 18.09.2013Понятие и особенности экспертных систем, способных накапливать, обрабатывать знания из некоторой предметной области, на их основе выводить новые знания и решать на основе этих знаний практические задачи. История и устройство юридических экспертных систем.
реферат [58,4 K], добавлен 17.03.2015Структура экспертных систем, их классификация и характеристики. Выбор среды разработки программирования. Этапы создания экспертных систем. Алгоритм формирования базы знаний с прямой цепочкой рассуждений. Особенности интерфейса модулей "Expert" и "Klient".
курсовая работа [1,1 M], добавлен 18.08.2009Понятия, классификация и структура экспертных систем. Базы знаний и модели представления знаний. Механизмы логического вывода. Инструментальные средства проектирования и разработки экспертных систем. Предметная область ЭС "Выбор мобильного телефона".
курсовая работа [2,2 M], добавлен 05.11.2014