Экспертные системы. Предметные области для экспертных систем. Определение ЭС и структура. Классификация систем, основанных на знаниях. Технология проектирования и разработки.
В начале 70-х акценты в искусственном интеллекте сместились на создание человеко-машинных систем, позволяющих комплексно на основе эвристических методов вырабатывать решения в рамках конкретных предметных областей на подхода основе символьного. В это же время стали развиваться бурными темпами экспертные системы (ЭС). Экспертная система (ЭС) - это система искусственного интеллекта (интеллектуальная система), предназначенная для решения плохо формализованных и слабо структурированных задач в определенных проблемных областях, на основе заложенных в ней знаний специалистов-экспертов. Экспертная система способна вырабатывать рекомендации, какие бы дал эксперт-человек, запрашивая при необходимости дополнительную информацию. Экспертные системы могут работать на том же уровне что и эксперты, а в некоторых случаях они лучше, потому что в нее вложен коллективный опыт их создателей. В настоящее время ЭС внедряются в различные виды человеческой деятельности, где использование точных математических методов и моделей затруднительно или вообще невозможно. К ним относятся: медицина, обучение, поддержка принятия решений и управление в сложных ситуациях, различные деловые приложения, планирование в различных предметных областях и анализ данных, в том числе и на основе статических методов, интерпретация геологических данных и выработка рекомендаций по обнаружение полезных ископаемых и т. д.
Предметом теории экспертных систем служат методы и приемы конструирования систем, компетентных в некоторой узкоспециальной области. Эта компетентность состоит из знания конкретной области, понимания задач из этой области и из умения решать некоторые такие задачи. Знания, относящиеся к любой специальности, обычно существуют в двух видах: общедоступные и индивидуальные. Общедоступные знания - это факты, определения и теории, которые обычно изложены в учебниках и справочниках по данной области. Но, как правило, компетентность означает нечто большее, чем владение такими общедоступными сведениями. Специалисты в большинстве случаев обладают ещё и индивидуальными знаниями, которые отсутствуют в опубликованной литературе. Эти личные знания в значительной степени состоят из эмпирических правил - эвристик, которые позволяют экспертам при необходимости выдвигать разумные предположения, находить перспективные подходы к задачам и эффективно работать при зашумленных или неполных данных. Центральной задачей при построении экспертных систем является выявление и воспроизведение таких знаний. (Знания – система понятий и отношений между ними)
Проектирование ЭСимеет существенное отличие от проектирования традиционных информационных систем в силу того, что постановка задач, решаемых экспертной системой может уточняться во время всего цикла проектирования. Вследствие этого возникает потребность модифицировать принципы и способы построения базы знаний и аппарата логического вывода в ходе проектирования по мере того, как увеличивается объем знаний разработчиков о предметной области.
В силу отмеченных особенностей при проектировании ЭС-м применяется концепция “быстрого прототипа”. Ее суть: разработчики не пытаются сразу построить законченный продукт. На начальном этапе создается прототип, который должен удовлетворять двум условиям:
1) он должен решать типичные задачи предметной области;
2) с другой стороны трудоемкость его разработки должна быть очень незначительной.
Для удовлетворения этих условий используются инструментальные средства, позволяющие ускорить процесс разработки ЭС (специализированные языки искусственного интеллекта, оболочки экспертных систем). Может потребоваться создание не одного, а нескольких прототипов, базирующихся на различных способах представления знаний, с последующим выбором наиболее удачного. B том случае, когда достигнута удовлетворительная работа прототипа по всему комплексу задач, возможно принятие решения об окончательном перепрограммировании всей системы на языках низкого уровня, с целью улучшения ее характеристик - увеличения быстродействия, уменьшения занимаемой памяти, повышения эргономических параметров интерфейса.
Примеры широко известных и эффективно используемых (или использованных в свое время) экспертных систем:
MOLGEN - ЭС для выработке гипотез о структуре ДНК на основе экспериментов с ферментами.
MYCIN - ЭС диагностики кишечных заболеваний.
PUFF - ЭС диагностики легочных заболеваний.
MACSYMA - ЭС для символьных преобразований алгебраических выражений.
PROSPECTOR - ЭС для консультаций при поиске залежей полезных ископаемых.
ЭСПЛАН - ЭС для планирования производства на Бакинском нефтеперерабатывающем заводе.
МОДИС - ЭС диагностики различных форм гипертонии.
Выделяют следующие основные этапы разработки ЭС:
1. Идентификация - определение проблемы, ресурсов, целей, экспертов. Производится неформальное (вербальное) описание проблемы.
2. Концептуализация - выделение ключевых понятий системы, отношений и характеристик, достаточных для полного и детального описания рассматриваемой проблемы.
3. Формализация - выражение введенных понятий на некотором формальном языке, построение модели исследуемой области.
4. Этап выполнения - создание одного или нескольких прототипов. Этот этап выполняется программистом и заключается в наполнении базы знаний инструментальной системы конкретными знаниями, а также программировании отдельных компонент системы. Обычная ошибка программиста заключается в том, что процесс наполнения базы знаний реальными знаниями откладывается до окончания программирования. Если база знаний заполняется с начала разработки прототипа, то это позволяет своевременно уточнить структуру знаний и быстро изменить программные компоненты.
Первый прототип должен быть готов уже через 2 месяца. При работе с ним программист доказывает, что выбранные структуры и методы пригодны для данного приложения и могут быть в дальнейшем расширены. При этом он совсем не заботится об эффективности машинной реализации. После завершения первого прототипа круг задач расширяется и на этой основе формируется следующий прототип. После достижения достаточно эффективного функционирования ЭС на базе прототипов, совершенствуются структуры декларативных и процедурных знаний, а также процедуры логического вывода. Основная трудность состоит в том, что очень часто в системе имеются громоздкие правила или много похожих правил. Неверно выбранные управляющие стратегии, в которых порядок выбора и анализа понятий существенно отличается от технологии эксперта. На этом этапе очень важно посвящать эксперта во все проблемы, связанные с получением решений, и внимательно проводить анализ мнения эксперта о недостатках системы.
5. Этап тестирования – оценка выбранного метода представления знаний и работоспособности всей системы в целом на основе проверки прототипа.
6. Этап опытной эксплуатации – проверка пригодности системы для конечного пользователя. При этом разработчики стараются привлечь как можно больше пользователей различной квалификации, которые могут обращаться к системе для реализации разнообразных запросов. Пользователь анализирует систему с точки зрения полезности (возможность системы в ходе диалога определить потребности пользователя, выявить и устранить причины его неудач в работе) и удобства (настраиваемость на уровень квалификации пользователя, устойчивость к ошибкам).
7.
Модификация системы – полное перепрограммирование или доведение прототипа до состояния программного продукта. При этом усовершенствование прототипов затрагивает только этапы 4 и 5. Переконструирование представлений необходим в том случае, если обнаруживается , что желаемое поведение системы не достигнуто. Предполагается возврат на этап формализации и далее осуществляется весь цикл проектирования.
Известны три основные разновидности исполнения экспертных систем:
1. Экспертные системы, выполненные в виде отдельных программ, на некотором алгоритмическом языке, база знаний которых является непосредственно частью этой программы. Как правило, такие системы предназначены для решения задач в одной фиксированной предметной области.
2. Оболочки экспертных систем - программный продукт, обладающий средствами представления знаний для определенных предметных областей. Задача пользователя заключается не в непосредственном программировании, а в формализации и вводе знаний с использованием предоставленных оболочкой возможностей.
3. Генераторы экспертных систем - мощные программные продукты, предназначенные для получения оболочек, ориентированных на то или иное представление знаний в зависимости от рассматриваемой предметной области.
Дата добавления: 2016-05-11; просмотров: 6669;