В качестве рабочего определения экспертной системы примем следующее.
Экспертные системы (ЭС) — это сложные программные комплексы, аккумулирующие знания специалистов в конкретных предметных областях и тиражирующие этот эмпирический опыт для консультаций менее квалифицированных пользователей.
Обобщенная структура экспертной системы представлена на рис. 2.1. Следует учесть, что реальные ЭС могут иметь более сложную структуру, однако блоки, изображенные на рисунке, непременно присутствуют в любой действительно экспертной системе, поскольку представляют собой стандарт de facto структуры современной ЭС.
В целом процесс функционирования ЭС можно представить следующим образом: пользователь, желающий получить необходимую информацию, через пользовательский интерфейс посылает запрос к ЭС; решатель, пользуясь базой знаний, генерирует и выдает пользователю подходящую рекомендацию, объясняя ход своих рассуждений при помощи подсистемы объяснений.
GTK+: создаём приложение на C с графическим интерфейсом пользователя // Курс «Программист С»
Рис. 2.1. Структура экспертной системы
Так как терминология в области разработки ЭС постоянно модифицируется, определим основные термины в рамках данной работы.
Пользователь — специалист предметной области, для которого предназначена система. Обычно его квалификация недостаточно высока, и поэтому он нуждается в помощи и поддержке своей деятельности со стороны ЭС.
Инженер по знаниям — специалист в области искусственного интеллекта, выступающий в роли промежуточного буфера между экспертом и базой знаний. Синонимы: когнитолог, инженер-интерпретатор, аналитик.
Интерфейс пользователя — комплекс программ, реализующих диалог пользователя с ЭС как на стадии ввода информации, так и при получении результатов.
База знаний (БЗ) — ядро ЭС, совокупность знаний предметной области, записанная на машинный носитель в форме, понятной эксперту и пользователю (обычно на некотором языке, приближенном к естественному). Параллельно такому «человеческому» представлению существует БЗ во внутреннем «машинном» представлении.
Решатель — программа, моделирующая ход рассуждений эксперта на основании знаний, имеющихся в БЗ. Синонимы: дедуктивная машина, машина вывода, блок логического вывода.
Подсистема объяснений — программа, позволяющая пользователю получить ответы на вопросы: «Как была получена та или иная рекомендация?» и «Почему система приняла такое решение?» Ответ на вопрос «как» — это трассировка всего процесса получения решения с указанием использованных фрагментов БЗ, то есть всех шагов цепи умозаключений. Ответ на вопрос «почему» — ссылка на умозаключение, непосредственно предшествовавшее полученному решению, то есть отход на один шаг назад. Развитые подсистемы объяснений поддерживают и другие типы вопросов.
Интеллектуальный редактор БЗ — программа, представляющая инженеру по знаниям возможность создавать БЗ в диалоговом режиме. Включает в себя систему вложенных меню, шаблонов языка представления знаний, подсказок («help» — режим) и других сервисных средств, облегчающих работу с базой.
Как устроена общая архитектура экспертных систем? Душкин объяснит
Еще раз следует подчеркнуть, что представленная на рис. 2.1 структура является минимальной, что означает обязательное присутствие указанных на ней блоков. Если система объявлена разработчиками как экспертная, только наличие всех этих блоков гарантирует реальное использование аппарата обработки знаний. Однако промышленные прикладные ЭС могут быть существенно сложнее и дополнительно включать базы данных, интерфейсы обмена данными с различными пакетами прикладных программ, электронными библиотеками и т. д.
Источник: studwood.net
Обобщенная структура экспертной системы. Основные понятия и определения
Экспертные системы (ЭС) – это сложные программные комплексы, аккумулирующие знания специалистов в конкретных предметных областях и тиражирующие этот эмпирический опыт для консультаций менее квалифицированных пользователей.
Обобщенная структура экспертной системы представлена на рис. 16.5. Следует учесть, что реальные экспертные системы могут иметь более сложную структуру, однако блоки, изображенные на рисунке, непременно присутствуют в любой действительно экспертной системе, поскольку являют собой негласный канон на структуру современной экспертной системы.
Определим основные термины в рамках данного учебника.
Рис. 16.5. Структура экспертной системы
Пользователь – специалист предметной области, для которого предназначена система. Обычно его квалификация недостаточно высока, и поэтому он нуждается в помощи и поддержке своей деятельности со стороны ЭС.
Инженер по знаниям — специалист по искусственному интеллекту, выступающий в роли промежуточного буфера между экспертом и базой знаний. Синонимы: когнитолог, инженер-интерпретатор, аналитик.
Интерфейс пользователя – комплекс программ, реализующих диалог пользователя с ЭС как на стадии ввода информации, так и получения результатов.
База знаний (БЗ) – ядро ЭС, совокупность знаний предметной области, записанная на машинный носитель в форме, понятной эксперту и пользователю (обычно на некотором языке, приближенном к естественному). Параллельно такому «человеческому» представлению существует БЗ во внутреннем «машинном» представлении.
Решатель — программа, моделирующая ход рассуждений эксперта на основании знаний, имеющихся в БЗ. Синонимы: дедуктивная машина, блок логического вывода.
Подсистема объяснений – программа, позволяющая пользователю получить ответы на вопросы: «Как была получена та или иная рекомендация?» и «Почему система приняла такое решение?» Ответ на вопрос «как» – это трассировка всего процесса получения решения с указанием использованных фрагментов БЗ, т.е. всех шагов цепи умозаключений. Ответ на вопрос «почему» – ссылка на умозаключение, непосредственно предшествовавшее полученному решению, т.е. отход на один шаг назад.
Интеллектуальный редактор БЗ – программа, представляющая инженеру по знаниям возможность создавать БЗ в диалоговом режиме. Включает в себя систему вложенных меню, шаблонов языка представления знаний, подсказок («help» — режим) и других сервисных средств, облегчающих работу с базой.
В коллектив разработчиков ЭС входят как минимум четыре человека:
инженер по знаниям;
Возглавляет коллектив инженер по знаниям, это ключевая фигура при разработке систем, основанных на знаниях.
КЛАССИФИКАЦИЯ ЭКСПЕРТНЫХ СИСТЕМ
Схема классификации
Класс «экспертные системы» сегодня объединяет несколько тысяч различных программных комплексов, которые можно классифицировать по различным критериям. Полезными могут оказаться следующие классификации (рис. 16.6).
Рис. 16.6. Классификация экспертных систем
Классификация по решаемой задаче
Интерпретация данных. Это одна из традиционных задач для экспертных систем. Под интерпретацией понимается определение смысла данных, результаты которого должны быть согласованными и корректными. Обычно предусматривается многовариантный анализ данных.
Пример 16.5 (все примеры далее из [7, 8, 10]):
обнаружение и идентификация различных типов океанских судов – SIAP;
определение основных свойств личности по результатам психодиагностического тестирования в системах АВТАНТЕСТ и МИКРОЛЮШЕР и др.
Диагностика. Под диагностикой понимается обнаружение неисправности в некоторой системе. Неисправность – это отклонение от нормы. Такая трактовка позволяет с единых теоретических позиций рассматривать и неисправность оборудования в технических системах, и заболевания живых организмов, и всевозможные природные аномалии. Важной спецификой является необходимость понимания функциональной структуры («анатомии») диагностирующей системы.
Пример 16.6:
диагностика и терапия сужения коронарных сосудов – ANGY;
диагностика ошибок в аппаратуре и математическом обеспечении ЭВМ – система CRIB и др.
Мониторинг. Основная задача мониторинга – непрерывная интерпретация данных в реальном масштабе времени и сигнализация о выходе тех или иных параметров за допустимые пределы. Главные проблемы — «пропуск» тревожной ситуации и инверсная задача «ложного» срабатывания. Сложность этих проблем в размытости симптомов тревожных ситуаций и необходимость учета временного контекста.
Пример 16.7:
контроль за работой электростанций СПРИНТ, помощь диспетчерам атомного реактора – REACTOR;
контроль аварийных датчиков на химическом заводе – FALCON и др.
Проектирование. Проектирование состоит в подготовке спецификаций на создание «объектов» с заранее определенными свойствами. Под спецификацией понимается весь набор необходимых документов – чертеж, пояснительная записка и т.д. Основные проблемы здесь – получение четкого структурного описания знаний об объекте и проблема «следа».
Для организации эффективного проектирования и, в еще большей степени, перепроектирования необходимо формировать не только сами проектные решения, но и мотивы их принятия. Таким образом, в задачах проектирования тесно связываются два основных процесса, выполняемых в рамках соответствующей ЭС: процесс вывода решения и процесс объяснения.
Пример 16.8:
проектирование конфигураций ЭВМ VAX – 11/780 в системе XCON (или R1), проектирование БИС – CADHELP;
синтез электрических цепей – SYN и др.
Прогнозирование. Прогнозирующие системы логически выводят вероятные следствия из заданных ситуаций. В прогнозирующей системе обычно используется параметрическая динамическая модель, в которой значения параметров «подгоняются» под заданную ситуацию. Выводимые из этой модели следствия составляют основу для прогнозов с вероятностными оценками.
Пример 16.9:
предсказание погоды – система WILLARD;
оценки будущего урожая – PLANT;
прогнозы в экономике – ECON и др.
Планирование. Под планированием понимается нахождение планов действий, относящихся к объектам, способным выполнять некоторые функции. В таких ЭС используются модели поведения реальных объектов с тем, чтобы логически вывести последствия планируемой деятельности.
Пример 16.10:
планирование поведения робота – STRIPS;
планирование промышленных заказов – ISIS;
планирование эксперимента – MOLGEN и др.
Обучение. Системы обучения диагностируют ошибки при изучении какой-либо дисциплины с помощью ЭВМ и подсказывают правильные решения. Они аккумулируют знания о гипотетическом «ученике» и его характерных ошибках, затем в работе способны диагностировать слабости в знаниях обучаемых и находить соответствующие средства для их ликвидации. Кроме того, они планируют акт общения с учеником в зависимости от успехов ученика с целью передачи знаний.
Пример 16.11:
обучение языку программирования Лисп в системе «Учитель Лиспа»;
система PROUST – обучение языку Паскаль и др.
В общем случае все системы, основанные на знаниях, можно подразделить на системы, решающие задачи анализа, и на системы, решающие задачи синтеза. Основное отличие задач анализа от задач синтеза заключается в следующем: если в задачах анализа множество решений может быть перечислено и включено в систему, то в задачах синтеза множество решений потенциально строится из решений компонентов или подпроблем. Задача анализа – это интерпретация данных, диагностика; к задачам синтеза относятся проектирование, планирование. Комбинированные задачи: обучение, мониторинг, прогнозирование.
Классификация по связи с реальным временем
Статические ЭС разрабатываются в предметных областях, в которых база знаний и интерпретируемые данные не меняются во времени. Они стабильны.
Пример 16.12. Диагностика неисправностей в автомобиле.
Квазидинамические ЭС интерпретируют ситуацию, которая меняется с некоторым фиксированным интервалом времени.
Пример 16.13. Микробиологические ЭС, в которых снимаются лабораторные измерения с технологического процесса один раз в 4 — 5 ч (производство лизина, например) и анализируется динамика полученных показателей по отношению к предыдущему измерению.
Динамические ЭС работают в сопряжении с датчиками объектов в режиме реального времени с непрерывной интерпретацией поступаемых данных.
Пример 16.14. Управление гибкими производственными комплексами, мониторинг в реанимационных палатах и т.д. Пример инструментария для разработки динамических систем – G2[5].
Классификация по типу ЭВМ
На сегодняшний день существуют:
ЭС для уникальных стратегически важных задач на суперЭВМ (Эльбрус, CRAY, CONVEX и др.);
ЭС на ЭВМ средней производительности (типа ЕС ЭВМ, mainframe);
ЭС на символьных процессорах и рабочих станциях (SUN, APOLLO);
ЭС на мини- и супермини-ЭВМ (VAX, micro-VAX и др.);
ЭС на персональных компьютерах (IBM PC, MAC II и подобные).
Классификация по степени интеграции с другими программами
Автономные ЭС работают непосредственно в режиме консультаций с пользователем для специфически «экспертных» задач, для решения которых не требуется привлекать традиционные методы обработки данных (расчеты, моделирование и т.д.).
Гибридные ЭС представляют программный комплекс, агрегирующий стандартные пакеты прикладных программ (например, математическую статистику, линейное программирование или системы управления базами данных) и средства манипулирования знаниями. Это может быть интеллектуальная надстройка над ППП или интегрированная среда для решения сложной задачи с элементами экспертных знаний.
Несмотря на внешнюю привлекательность гибридного подхода, следует отметить, что разработка таких систем являет собой задачу, на порядок более сложную, чем разработка автономной ЭС. Стыковка не просто разных пакетов, а разных методологий (что происходит в гибридных системах) порождает целый комплекс теоретических и практических трудностей.
Источник: studopedia.su
Экспертные системы и базы знаний
Экспертные системы (ЭС) — это сложные программные комплексы, 1 аккумулирующие знания специалистов в конкретных предметных областях и тиражирующие этот опыт для консультаций менее квалифицированных пользователей [52].
Обобщенная структура экспертной системы представлена на рисунке 1. Блоки, изображенные на рисунке, присутствуют в любой экспертной системе.
В целом процесс функционирования ЭС можно представить следующим образом; пользователь, желающий получить необходимую информацию, через пользовательский интерфейс посылает запрос к ЭС. Решатель, на основе базы знаний, генерирует и выдает пользователю подходящую рекомендацию, объясняя ход своих рассуждений при помощи подсистемы объяснений.
Рис.1. Структура экспертной системы
Приведем ряд определений [9, 52].
Пользователь — специалист предметной области, для которого вред- назначена система. Обычно его квалификация недостаточно высока, и поэтому он нуждается в помощи экспертной системы.
Инженер по знаниям — специалист в области искусственного интеллекта, выступающий в роли посредника между экспертом и базой знаний.
Интерфейс пользователя — комплекс программ реализующих диалог пользователя с ЭС как на стадии ввода информации, так и при получении результатов.
База знаний (БЗ) — ядро ЭС, совокупность знаний предметной области, реализованная на основе выбранной модели представления знаний и записанная на машинный носитель в форме, понятной эксперту и пользователю.
Решатель — программа, моделирующая ход рассуждений эксперта на основании знаний, имеющихся в БЗ.
Подсистема объяснений — программа, позволяющая пользователю получить ответы на вопросы; «Как была получена та или иная рекомендация?» и «Почему система приняла такое решение?» [52].
Интеллектуальный редактор БЗ — программа, предоставляющая инженеру по знаниям возможность создавать БЗ в диалоговом режиме. Включает в себя систему вложенных меню, шаблонов языка представления знаний, подсказок и других сервисных средств, облегчающих работу с базой.
В настоящее время существует несколько тысяч программных комплексов, называемых экспертными системами. ЭС можно классифицировать по следующим признакам (рисунок 2). Автономные ЭС работают непосредственно в режиме консультаций с пользователем для специфически «экспертных» задач, решение которых не требует привлечения традиционных методов обработки данных (расчеты, моделирование и т. д.).
В таблице 1 приведены примеры задач, для решения которых используются экспертные системы [9].
Все системы, основанные на знаниях, можно разделить на системы, решающие задачи анализа, и системы, решающие задачи синтеза. Основное отличие задач анализа от задач синтеза заключается в том, что если в задачах анализа множество решений может быть перечислено и включено в систему, то в задачах синтеза множество решений потенциально не ограничено и строится из решений подпроблем. Задачами анализа являются интерпретация данных, диагностика, поддержка принятия решения; к задачам синтеза относятся проектирование, планирование, управление [9].
Статические ЭС разрабатываются в предметных областях, в которых база знаний и интерпретируемые данные не меняются во времени.
Квазидинамические ЭС интерпретируют ситуацию, которая меняется с некоторым фиксированным интервалом времени.
Динамические ЭС работают режиме реального времени, обеспечивая непрерывную интерпретацию поступающих в систему данных.
Рис. 2. Классификация экспертных систем
Гибридные ЭС представляют программный комплекс, включающий стандартные пакеты прикладных программ и средства манипулирования знаниями.
Под коллективом разработчиков (КР) будем понимать группу специалистов, ответственных за создание ЭС.
В состав КР входят пользователь, эксперт, инженер по знаниям и программист. Обычно КР насчитывает 8-10 человек [9].
При формировании КР должны учитываться психологические свойства участников.
От пользователя зависит, будет ли применяться разработанная ЭС.
Необходимо, чтобы пользователь имел некоторый базовый уровень квалификации, который позволит ему правильно истолковать рекомендации ЭС. Обычно требования к квалификации пользователя не очень велики, иначе оп переходит в разряд экспертов и не нуждается в ЭС.
Таблица 1 — Задачи, для решения которых используются экспертные системы
Класс задач | Примеры задач |
Интерпретация данных (процесс определения смысла данных) | — обнаружение и идентификация различных типов океанских судов по результатам аэрокосмического сканирования; — определение основных свойств личности по результатам психодиагностического тестирования |
Диагностика | — диагностика в медицине; — диагностика ошибок в аппаратуре и математическом обеспечении ЭВМ |
Мониторинг | — контроль работы электростанций; — контроль аварийных датчиков на химическом заводе |
Проектирование | — проектирование конфигураций ЭВМ; — проектирование БИС; — синтез электрических цепей |
Прогнозирование | — предсказание погоды; — прогнозирование урожая; — прогнозирование экономики |
Планирование | — планирование поведения робота; — планирование заказов; — планирование эксперимента |
Обучение | — обучение языку программирования ЛИСП; — обучение языку Паскаль |
Управление | — управление предприятием; — управление проектами |
Поддержка принятия решений | — выбор стратегии выхода фирмы из кризисной ситуации; — помощь в выборе страховой компании или инвестора |
Эксперт — важная фигура в группе КР. В конечном счете, его подготовка определяет уровень компетенции базы знаний. Желательные качества характера эксперта [33]:
• готовность поделиться своим опытом;
• умение объяснить (педагогические навыки);
• заинтересованность в успешности разработки.
Часто встает вопрос о количестве экспертов. Поскольку проблема совмещения подчас противоречивых знаний остается открытой, обычно с каждым из экспертов работают индивидуально, иногда создавая альтернативные базы [33].
Инженер по знаниям ведет диалог с экспертом, обеспечивая получение знаний для ЭС. От инженера зависит продуктивность этого процесса.
Системы, основанные на знаниях, обладают следующими специфическими свойствами [33];
• экспертиза может проводиться только в одной конкретной области;
• база знаний и механизм вывода являются различными компонентами;
• наиболее подходящая область применения — решение задач дедуктивным методом, т. е. правила или эвристики выражаются в виде пар посылок и заключений типа «если—то»;
• эти системы могут объяснять ход решения задачи понятным пользователю способом;
• выходные результаты являются качественными (а не количественными);
• системы, основанные на знаниях, строятся по модульному принципу, что позволяет постепенно наращивать их базы знаний.
При определении целесообразности применения ЭС нужно руководствоваться следующими критериями [33]:
• данные и знания надежны и не меняются со временем;
• пространство (или область) возможных решений относительно невелико;
• в процессе решения задачи должны использоваться формальные рассуждения;
• должен быть по крайней мере один эксперт, способный явно сформулировать свои знания и объяснить методы применения этих знаний для решения задач.
Но даже лучшие из экспертных систем имеют определенные ограничения по сравнению с человеком-экспертом, которые сводятся к следующему [33]:
• большинство экспертных систем непригодны для применения конечным пользователем. Если пользователь не имеет некоторого опыта работы с такими системами, у него могут возникнуть серьезные трудности;
• навыки системы не всегда возрастают после сеанса экспертизы;
• все еще остается проблемой приведение знаний, полученных от эксперта, к виду, обеспечивающему их эффективную машинную реализацию;
• человек-эксперт при решении задач обычно обращается к своей интуиции, здравому смыслу, опыту, аналогии, если отсутствуют формальные методы решения или аналоги задач;
• экспертные системы редко применяются в больших предметных областях;
• считается, что в тех предметных областях, где отсутствуют эксперты, применение экспертных систем оказывается невозможным;
• имеет смысл привлекать экспертные системы только для решения когнитивных задач;
• системы, основанные на знаниях, оказываются неэффективными при необходимости проведения скрупулезного анализа, когда число решений зависит от тысяч различных возможностей и многих переменных, которые изменяются во времени.
Однако системы, основанные на знаниях, имеют определенные преимущества перед человеком-экспертом [33]:
• у них нет предубеждений;
• они не делают поспешных выводов;
• они работают систематизировано, рассматривая все детали, часто выбирая наилучшую альтернативу из всех возможных;
• база знаний может быть большой и достаточно стабильной. Будучи введенными в машину один раз, знания сохраняются навсегда;
• системы, основанные на знаниях, устойчивы к «помехам».
Эксперт же пользуется побочными званиями и легко поддается влиянию внешних факторов, которые непосредственно не связаны с решаемой задачей.
Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:
Источник: studopedia.ru