Преимущества и недостатки экспертных систем

Сам собою напрашивается вопрос: зачем разрабатывать экспертные системы? Не лучше ли обратиться к человеческому опыту?

Искус­ственная компетентность ЭС имеет ряд существенных преимуществ перед человеческой

Человеческая компетентность Искусственная компетентность
Непрочная, утрачиваемая при отсутствии практики Постоянная
Трудно передаваемая, т.к. обучение – долгий и дорогой процесс Легко передаваемая посредством копирования про­граммной системы
Трудно документируемая Легко документируемая, т.к. способ представления искусственной компетентности в си­стеме отображен в описании этого представления на естественном языке
Непредсказуемая, зависящая от эмоций эксперт-человек может принимать разные решения в тождественных ситуа­циях из-за эмоций, забыть в кризисной ситуации важное правило Устойчивая
Дорогая Приемлемая по затратам, т.к. разработка ЭС дорога, это годы труда высоко­оплачиваемых инженеров знаний и экспертов но эксплуатация дешева.

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

“…Вероятно, можно отказаться от наиболее квалифицированного эксперта, но во многих ситуациях необходимо оставить в системе место для эксперта со средней квалификацией. Экспертные системы ис­пользуются при этом для усиления и расширения профессио­нальных возможностей такого пользователя”[Уотермен, “Руководство по экспертным системам”].

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

Это не есть отражение фундаментальных ограниче­ний ИИ, но характерно для его современного состояния.

Человеческая компетентность Искусственная компетентность
Творческая, использующая воображение, аналогии с ситуациями из других предметных областей. Запрограммированная, ЭС тяготеет к рутинному поведению
Приспосабливающаяся Нуждается в подсказке, мало приспособлена к обучению новым концепциям и правилам
Использует чувственное вос­приятие визуальной, зву­ковой, осязательной или обонятельной информации Использует символьный ввод
Широкая по охвату Узконаправленная
Использует общедоступные знания человек использует огромный объем общедоступных зна­ний, которые почти невозможно встроить в ЭС Использует только специализиро­ванные знания


Организация ЭС

Организация знаний

Для специалистов в области ИИ термин знания означает информацию, которая необходима программе, чтобы она вела себя «интеллектуально».

Эта информация представляется в форме фактов и правил.

ФАКТ: При включении станка получена травма.

ПРАВИЛО: Если не соблюдались требования безопасности, то применимо за­конодательство о неосторожном поведе­нии, приведшем к несчаст­ному случаю.

Факты и правила в экспертной системе не всегда либо ис­тинны, либо ложны. Иногда существует некоторая степень не­уверенности в достоверности факта или точности правила. Если это сомнение выражено явно, то оно называется «коэф­фициентом уверенности».

ФАКТ: Станок имеет дефект с коэффициентом уверенности 0.9

ПРАВИЛО: Если станок имеет дефект с коэф­фициентом уверенности >0.6, то теория строгой ответственности применима с ко­эффициентом уверенности 1.0.

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

Рассмотрим различия между алгоритмическим и эвристическим методами на примере

Рис. 3.

Алгоритм полностью исклю­чает возможность попадания оружия на борт самолета и предотвращает захват террористами самолета, но требует много времени, дорог и непопулярен. Эвристиче­ский метод более легок и практичен, но не обеспечивает 100% защиту.

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

В экспертной системе существует четкое разделение знаний на:

§ знания о предметной области, называемые базой знаний;

§ знания о том, как решать задачи, называемые механизмом вывода;

§ знания о том, как взаимодействовать с пользовате­лем.

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

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

Механизм вы­вода содержит:

§ интерпретатор, определяющий, как применять правила для вывода новых знаний;

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

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

 

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

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

Эти средства разделяются на четыре основных категории:

1. Языки программирования;

2. Языки инженерии знаний

3. Вспомогательные средства

4. Средства поддержки

Языки программирования, применяемые для работы в обла­сти экспертных систем – это или проблемно-ори­ентированные языки(Фортран, Паскаль) или языки обработки текстов (Лисп, Пролог). Проблемно-ори­ентированные языки разработаны для специального класса за­дач: например, Фортран удобен для выполнения алгебраиче­ских вычислений и чаще всего применяется в научных, матема­тических и статистических исследованиях.

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

Рассмотрим, как записывается обычное высказывание на языке Лисп:

 

Естественный язык Лисп
Разлита нефть в строении №5 (МЕСТОНАХОЖДЕНИЕ (РАЗЛИТА НЕФТЬ) (СТРОЕНИЕ №5))

 

Здесь элемент МЕСТОНАХОЖДЕНИЕ действует как отношение, которое указывает, что его первый аргумент размещается в его втором аргументе.

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

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

Примеры

Первая ЭС в геологии PROSPECTOR → скелетный язык диагностики и классификации KAS.

ЭС диагностики и лечения бак­териальных инфекций MYCIN → скелетная система EMYCIN (EMPTY MYCIN).

Консуль­тационная система по глаукоме CASNET → скелетная система EXPERT.

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

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

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

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

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

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

 

Таким образом, существует два подхода к разработке механизма вывода ЭС:

1. Использование предназначенного для построения экспертных си­стем языка высокого уровня(EMYCIN, KAS, EXPERT), в который уже встроен механизм вывода. Это об­легчает разработку ЭС, но ограничивает разработчика в выборе способа ор­ганизации знаний и доступа к ним. Предлагаемая схема управления процессом поиска реше­ния даже может быть негодна для данной предметной области.

2. Использование языка более низкого уровня(LISP, PROLOG, FORTRAN) без механизма вывода. Требует больших усилий на разработку, но позволяет разработать про­граммные блоки для схемы управления процессом решения, который будет адекватен дан­ной предметной области.

Представление знаний

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

§ правила (самый популярный);

§ семан­тические сети;

§ фреймы.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: