Экспертные системы 12

Курс “Экспертные системы” (заочное отделение) 2011



1.Экспертная система, ее достоинства и недостатки

1.1.Краткий исторический очерк

Технология экспертных систем является одним из направлений новой области исследований, называемой искусственным интеллектом(ИИ, AI – Artificial Intellegence). По известному определению Бара и Файгенбаума:

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

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

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

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

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

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



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

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

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



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

Технология построения ЭС называется инженерией знаний. 

Инженерия знаний существенно полагается на исследование поведения экспертов с целью разработки разумных искусных программ. Хейес-Рот и др. в книге «Построение экспертных систем» отметили:

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



1.2.Основные понятия и действующие лица инженерии знаний

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

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

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

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

Процедура извлечения знаний у эксперта и занесения его в программу называется извлечением знаний.

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

Пользователь – человек, использующий экспертную систему, т.е. конечный пользователь, эксперт, инженер знаний, клерк.



Рис.1.Инженерия знаний



1.3.Методология построения ЭС

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

Основные этапы эволюции ЭС:

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

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

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

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

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



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

Основа экспертной системы – база знаний, накапливаемая при ее построении. Накопление и организация знаний — одна из самых важных характеристик экспертной системы.



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



Свойства:

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

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

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

Джон Макдермотт, разработчик экспертной системы для конфигурирования VAX-11 в корпорации DEC:

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

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

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

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

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

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

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

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


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

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

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

Человеческая компетентность

Искусственная компетентность

Непрочная, утрачиваемая при отсутствии практики

Постоянная

Трудно передаваемая, т.к. обучение – долгий и дорогой процесс

Легко передаваемая посредством копирования программной системы

Трудно документируемая

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

Непредсказуемая, зависящая от эмоций 

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

Устойчивая

Дорогая

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

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

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

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

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



Человеческая компетентность

Искусственная компетентность

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

Запрограммированная, ЭС тяготеет к рутинному поведению

Приспосабливающаяся

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

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

Использует символьный ввод

Широкая по охвату

Узконаправленная

Использует общедоступные знания

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

Использует только специализированные знания




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

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

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

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

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

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

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

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

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

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

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



Рис. 3.

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

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

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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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



Естественный язык

Лисп

Разлита нефть в строении №5

(МЕСТОНАХОЖДЕНИЕ (РАЗЛИТА НЕФТЬ) (СТРОЕНИЕ №5))



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

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

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

Примеры

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

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

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

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

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

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

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

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

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



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

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

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



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

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

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

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

фреймы. 

2.2.1.Методы, основанные на правилах

Представление знаний, основанное на правилах, построено на использовании выражений вида 

ЕСЛИ (условие) — ТО (действие).

Пример:

[1] Если обвиняемый был с семьей в момент совершения преступления, то обвиняемый имеет алиби.

[2] Если обвиняемый имеет алиби, то обвиняемый не виновен.

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

Сопоставление частей ЕСЛИ правил с фактами может породить так называемую цепочку выводов.



обвиняемый имеет алиби

обвиняемый был с семьей в момент совершения преступления





обвиняемый не виновен





обвиняемый имеет алиби





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



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

2.2.2.Представление знаний с использованием семантических сетей

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

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

Семантические сети состоят из узлов, и связывающих их дуг. Узлы соответствуют объектам, концепциям или событиям. Дуги описывают отношения между узлами и могут быть определены разными методами, зависящими от вида представляемых знаний. Обычно дуги, используемые для представления иерархии, включают дуги типа isa (является) и has-part (имеет часть). 

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



Так как отношение является транзитивно(a→b и b→c, то a→c), из сети можно вывести третье утверждение: «Куин Мэри является кораблем». Отношение является и другие отношения, как например имеет-часть, устанавливают свойство иерархии наследования в сети. Т.е. в сети элементы более низкого уровня могут наследовать свойства элементов более высокого уровня. 

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





Части корабля, такие, как двигательная установка, корпус, котельная, включены один раз на уровне корабля, и не нужно повторять эти узлы на более низком уровне иерархии, вроде типа корабля или конкретного корабля. На практике это свойство семантической сети позволяет сберечь огромные объемы памяти. Зная смысл отношений, обозначаемых дугами, можно осуществлять поиск по сети, например, чтобы установить факты вроде «Куин Мэри имеет котельную». Семантические сети – один из самых удачных методов представления знаний о предметной области, который сильно упрощает поиск решения задач.

2.2.3.Методы, основанные на фреймах

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

Предложивший идею фрейма Марвин Минский, описывает его так:

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

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

2.3.Основные характеристики экспертных систем

Специалисты в области ИИ имеют несколько более сложное представление о том, что такое экспертные системы. 



Рис. 5. Особенности экспертной системы, отличающие ее от обычных программ.

Компетентность

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

Символьные рассуждения

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

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

продукт

ответчик

0.8

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

(ДЕФЕКТНЫЙ продукт) 

(ВЫПУЩЕННЫЙ ответчиком продукт) 

(РАВНО (ОТВЕТСТВЕННОСТЬ ответчик) 0.8)

Эти структуры можно интерпретировать следующим образом: «продукт является дефектным», «продукт был выпущен в продажу ответчиком» и «ответственность ответчика равна 0.8».

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

Глубина

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

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

Самосознание

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

«Самосознание» важно для экспертной системы, поскольку:

пользователи больше доверяют результатам системы.

систему легче отлаживать и усовершенствовать.

предположения, положенные в основу работы системы, становятся явными, а не подразумеваемыми.

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

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




3.Основные виды деятельности экспертных систем

Экспертные системы можно классифицировать по типу их деятельности.

1.Интерпретирующие

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

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

2.Прогнозирующие

Определяют вероятные последствия заданных ситуаций.

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

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

3.Диагностические

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

Большинство разработок – в медицине

Правило из системы MYCIN(диагностика бактериальной инфекции)

ЕСЛИ: 

1) Окраска бактерий грамположительная

2) Морфология бактерий характерна для кокков

3) Форма колоний — цепочки

ТО: 

Есть основания считать (0.7), что вид бактерий — стрептококк.

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

Строят конфигурации объектов при заданных ограничениях.

Наиболее популярные области применения – молекулярная биология и микроэлектроника. 

Пример правила из системы проектирования XCON(составляет конфигурации компьютерных систем VAX, специалисты этой фирмы считали это невозможным). Это правило помогает установить подвод питания к SBI, высокоскоростной синхронной шине, которая связывает компоненты компьютера VAX.

ЕСЛИ: 

Самый последний текущий контекст — это подвод шины питания

и SBl-модуль любого типа помещен в стойку и известно его положение в стойке (положение его разъемов)

и существует свободное место в стойке для подвода шины питания к этому разъему и существует свободная шина питания 

ТО: Подвести шину питания в свободное место стойки.

5.Планирующие

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

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

ЕСЛИ: На аэродроме обнаружены расположенные под открытым небом самолеты и число таких самолетов на аэродроме больше, чем 0,25 × (общее число самолетов на аэродроме)

ТО: Принять оценку самолета на этом аэродроме равной ПРЕВОСХОДНО.

6.Наблюдающие

Работают в режиме реального времени, сравнивают действительное поведение наблюдаемого объекта с ожидаемым и интерпретацию его поведения.

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

Пример. Правило ЭС REACTOR, наблюдающей за работой ядерного реактора, и отыскивающей признаки аварийной ситуации .

ЕСЛИ: Передача тепла от первичной системы охлаждения ко вторичной системе недостаточна и расход воды в системе подпитки невелик,

ТО: Неисправность состоит в утечке подпитывающей воды.

7.Отладочные

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

8.Ремонтные

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

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

9.Обучающие

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

10.Управляющие

Адаптивно руководят поведением объекта в целом. Примеры: управление производством, контроль за состоянием больных при интенсивной терапии. Включают компоненты наблюдения за поведением объекта на протяжении времени, но могут нуждаться также и в других компонентах: интерпретации, прогнозирования, диагностики, проектирования, планирования, отладки, ремонта и обучения. Типичная комбинация задач состоит из наблюдения, диагностики, отладки, планирования и прогноза.

Существует также классификация ЭС по типам решаемых ими задач.

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

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


4.Экспертная система PROSPECTOR:

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

Это первая экспертная система-геолог. Работы продолжались с 1974 г. по 1983 г. На протяжении всего времени работы над проектом девять разных специалистов-геологов предоставляли свой опыт и знания в распоряжение нескольких инженеров знаний и программистов. Понадобилось более чем 30 человеко-лет, включая полевые испытания и оценку системы, чтобы разработать ее нынешнюю версию. 

Особенности PROSPECTOR:

реализована на мощном языке относительно низкого уровня INTERLISP;

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

обширные знания – более 1000 правил, оперирующих более чем 1000 геологическими терминами.

Рихард Дуда, один из ведущих специалистов проекта:

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

База знаний PROSPECTOR содержит три модели геологических знаний: о сульфидных, свинцово-цинковых или меднорудных месторождениях.



Рис. 6. Решаемые подзадачи

Рассмотрим фрагменты протокола, которые иллюстрируют, как PROSPECTOR ведет диалог с геологом, чтобы классифицировать заданный географический регион. 

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


1: Присутствуют дайки



В строке 3 вместо термина сиенодиорит подставлен синоним и пользователю сообщено, что эта форма предпочтительнее.(Дайки) (5) 

2: Присутствуют меловые диориты

(Меловые диориты) (5) 

3: Возможно, есть сиенодиорит

(Монцонит) (3)

4: Может быть некоторое количество кварцевого монцонита



Ключевое слово завершает фаза ввода. PROSPECTOR выдвигает гипотезу о крупном месторождении сульфидов в данном регионе и начинает ее проверять.

Ключевое слово завершает фаза ввода. PROSPECTOR выдвигает гипотезу о крупном месторождении сульфидов в данном регионе и начинает ее проверять.(Кварцевый монцонит) (2)

…

…

Все

Я рассматриваю возможность крупного (*типа Куроко сульфидного месторождения — КСМ) в исследуемом регионе.

14: До какой степени вы уверены, что:



Отвечая «?», пользователь просит переформулировать вопрос.(* Вулканическая провинция и зона крупного разлома) ? 

?

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

–2 

…

…

16: В какой степени вы уверены, что: (* Галенит, сфалерит или медный колчедан выполняют трещины в риолите, даците или андезите)? 

–5



Получив уверенный отрицательный ответ, PROSPECTOR отказывается от гипотезы о месторождении сульфидов и выдвигает гипотезу о залежах медно-порфировых руд. Система начинает задавать вопросы, чтобы проверить эту новую гипотезу.Я рассматриваю возможность (* месторождения типа А медно-порфировых руд - МПРА) в исследуемом регионе

…

…

28: В какой степени вы уверены, что:



Здесь пользователь хочет понять, с какой целью PROSPECTOR задает этот вопрос.(* В районе поисков существуют вулканические скальные породы того же возраста, что и интрузивные тела в породах)? 

Почему

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

28: В какой степени вы уверены в том, что: (* В районе поисков существуют вулканические скальные породы того же возраста, что и интрузивные тела)? 

3

…

…

32: В какой степени вы уверены в том, что: (* В интрузивных породах содержится кварцевый монцонит)? 

4



PROSPECTOR отмечает противоречия в ответах пользователя, так как информация в строке 4 должна быть согласована с ответом на вопрос 32. Пользователь решает пересмотреть свое более раннее утверждение.** Этот ответ представляется противоречащим вашим предыдущим ответам на следующие вопросы: 

4: (кварцевый монцонит) (2) 

Вы хотите изменить ваш ответ на вопрос 32? 

Нет 

Новый ответ на вопрос 4 = ? 

4

33: В какой степени вы уверены, что:

(* В интрузивных породах содержится гранодиорит)? 



Задав еще 44 вопроса, PROSPECTOR решает, что информации достаточно, чтобы сделать заключение о том, что регион содержит месторождение типа А медно-порфировых руд (МПРА).3

…

…

На шкале от –5 до 5 наша уверенность, что имеется месторождение (МПРА), равно 1.683. В итоге мы обнаружили следующее:

Основные заключения в пользу гипотезы:

   – Соответствующее геологическое строение региона (3.576)

   – Соответствующее петро-тектоническое окружение (3.333)

   – Соответствующая интрузивная система для МПРА (1.683) 

Первые четыре наблюдения, поддерживающие гипотезу, суть:

   – В исследуемом регионе есть система гранитных интрузий (5.0)

   – В пределах активной континентальной окраины имеются гранитные интрузии (5.0)

   – Здесь же наблюдаются эвгеосинклинальные метамор-физованные осадочные и вулканические породы от позднего палеозоя до раннего мезозоя (5.0)

   – Наблюдаются измененные породы (5.0) 

Существуют много других наблюдений в пользу гипотезы;

хотите рассмотреть еще какие-нибудь из них? 

Нет 

Я не могу больше ничего сделать с этой гипотезой; хотите рассмотреть еще какую-нибудь? 

Хватит.




Принципы функционирования PROSPECTOR

PROSPECTOR использует правила вида

ЕСЛИ E ТО H (со степенью доверия) LS, LN

которые связывают свидетельства о тех или иных геологических фактов (E) с гипотезой (H), выдвигаемой на основании этих свидетельств. Свидетельство Е поддерживает гипотезу H со степенью доверия, которая определяется коэффициентами уверенности LS, LN.

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

Правила в PROSPECTOR чаще всего имеют простую структуру: в части ЕСЛИ каждого правила содержится немного свидетельств (часто только одно).

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

Примеры свидетельств в системе PROSPECTOR: 

El и Е2 и E3,     El или Е2,     Е1 и (Е2 или E3).

Правила в системе PROSPECTOR, образуют большую сеть логического вывода.

Например, 3 правила

El и Е2 → H2(LS1, LH1)

H2 → H1(LS2, LH2)

Е3 → H1(LS3, LH3)

образуют фрагмент сети 



Рис.7

Значения коэффициентов уверенности LS и LN определены при создании модели и неизменны при работе системы. Значения коэффициентов уверенности Р и коэффициентов уверенности свидетельств и гипотез изменяются в зависимости от информации пользователя. 

Например, пользователь вводит информацию:

Е1 может находиться в регионе.

PROSPECTOR интерпретирует это условное выражение, присваивая вероятности наличия свидетельства P4 значение 2 по шкале от –5 (уверенность в отсутствии Е1) до +5 (полная уверенность в El). Т.к. Р4 изменилась, то изменяется РЗ – вероятность гипотезы Н2. Это влечет изменение вероятности гипотезы H1. 

Информация, которая поступает в систему от пользователя, автоматически приводит к указанному распространению вероятности “вверх”. В результате непрерывно изменяются вероятности целевых гипотез, например о том, что в регионе содержится определенный тип сульфидных, свинцово-цинковых или меднорудных залежей. PROSPECTOR все время переключается на гипотезу, у которой вероятность выше, чем у остальных. Строка 16 протокола иллюстрирует это: система отбрасывает выдвинутую гипотезу о сульфидном месторождение, пытаясь вместо нее показать, что вероятно месторождение меди.

Та часть системы PROSPECTOR, которая осуществляет распространение вероятности вверх по сети вывода, и есть механизм вывода. 

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

Рассмотрим пример выше. Если выдвинута гипотеза H1, система проверяет правила Е3 → H1 и H2 → H1, чтобы решить, знание какой из предпосылок, ЕЗ или H2, может сильнее повлиять на вероятность H1. Если сильнее влияет ЕЗ, система спросит пользователя о ЕЗ. Если сильнее влияет Н2, система использует ту же процедуру, чтобы найти вопрос, ответ на который в наибольшей степени повлияет на вероятность H2. Этот поиск в обратном направлении через просмотр правил продолжается до тех пор, пока не будет окончательно выбран вопрос. Поскольку доступ к правилам осуществляется из части ТО к части ЕСЛИ, такая процедура просмотра является разновидностью обратной цепочки рассуждений. Когда получен ответ, правила начинают обрабатываться с части ЕСЛИ к части ТО. Этот тип обработки называется прямой цепочкой рассуждений.

*****

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





1