Экспертные системы. 6

     Министерство  образования и науки Российской Федерации

     ФГАОУ ВПО «Российский государственный  профессионально-педагогический университет»

     Институт  электроэнергетики и информатики

     Факультет информатики

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

     КОНТРОЛЬНАЯ РАБОТА

     по  информатике

     Вариант № 8 

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

       
 
 
 
 
 
 
 
 
 

                                                      Работу выполнил:  Спирин Р.Н.

                    Группа: ВТ-103

          Работу проверил: Шайдуров А.А. 
 
 
 
 
 
 
 
 
 
 
 

Екатеринбург

2011 

Оглавление

Введение 3

1. Сущность экспертной системы 4

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

1.2. Определение экспертной системы 5

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

1.4. Достоинства и недостатки экспертной системы по сравнению с человеком 8

1.5. Структура экспертной системы 10

2. Модели представления знаний 13

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

2.2. Продукционная модель представления знаний 16

2.3. Представление знаний фреймами 17

2.4. Представление знаний семантическими сетями 19

3. Области применения экспертных систем. 20 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

     Введение

     1. Сущность экспертной  системы

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

 

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

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

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

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

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

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

     1.2. Определение экспертной системы

 

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

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

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

 

       
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

     1.4. Достоинства и недостатки экспертной системы по сравнению с человеком

 

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

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

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

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

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

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

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

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

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

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

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

 

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

     Основные  компоненты ИТ, используемой в экспертной системе:  

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

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

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

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

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

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

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

     Подсистема  объяснений - программа, позволяющая пользователю получить ответы на вопросы: «Как была получена та или иная рекомендация?» и «Почему система приняла такое решение?» Ответ на вопрос «как» — это трассировка всего процесса получения решения с указанием использованных фрагментов БЗ, то есть всех шагов цепи умозаключений. Ответ на вопрос «почему» — ссылка на умозаключение, непосредственно предшествовавшее полученному решению, то есть отход на один шаг назад. Развитые подсистемы объяснений поддерживают и другие типы вопросов  

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

       
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

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

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

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

     - блок приобретения знаний снимает проблему самообучения системы. Необходим для получения знаний от эксперта, поддержки базы знаний и дополнения ее при необходимости. Автоматизирует процесс наполнения ЭИС знаниями, осуществляемый пользователем-экспертом модуль создания системы служит для создания набора (иерархии) правил. Существуют два подхода, которые могут быть положены в основу модуля создания системы: использование алгоритмических языков программирования и использование оболочек экспертных систем. Для представления базы знаний специально разработаны языки Лисп3 и Пролог4, хотя можно использовать и любой известный алгоритмический язык.

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

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

     Специальности специалистов по разработке экспертных систем

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

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

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

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

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

     2. Модели представления знаний

 

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

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

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

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

  • внутренняя интерпретируемость;
  • рекурсивная структурированность;
  • связность (взаимосвязь единиц);
  • семантические пространства с метрикой;
  • активность;
  • функциональная целостность
 

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

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

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

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

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

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

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

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

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

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

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

 

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

      M  =  <T,P,A,F>, 

     где T – множество базовых символов теории M (например, буквы алфавита);

     P – множество синтаксических правил, посредством которых из базовых  символов строятся формулы;

     A – множество построенных формул, состоящих из аксиом;

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

Экспертные системы. 6