История развития экспертных систем
ЭС для названия своей дисциплины часто используют также термин "инженерия знаний", введенный Е.Фейгенбаумом как "привнесение принципов и инструментария исследований из области искусственного интеллекта в решение трудных прикладных проблем, требующих знаний экспертов".
Программные средства (ПС), базирующиеся на технологии экспертных систем, или инженерии знаний (в дальнейшем будем использовать их как синонимы), получили значительное распространение в мире.
По мнению ведущих специалистов , в недалекой перспективе ЭС найдут следующее применение:
ЭС будут играть ведущую роль во всех фазах проектирования, разработки, производства, распределения, продажи, поддержки и оказания услуг;
технология ЭС, получившая коммерческое распространение, обеспечит революционный прорыв в интеграции приложений из готовых интеллектуально-взаимодействующих модулей.
ЭС предназначены для так называемых неформализованных задач, т.е. ЭС не отвергают и не заменяют традиционного подхода к разработке программ, ориентированного на решение формализованных задач.
Неформализованные задачи обычно обладают следующими особенностями:
ошибочностью, неоднозначностью, неполнотой и противоречивостью исходных данных;
ошибочностью, неоднозначностью, неполнотой и противоречивостью знаний о проблемной области и решаемой задаче;
большой размерностью пространства решения, т.е. перебор при поиске решения весьма велик;
динамически изменяющимися данными и знаниями.
Особенности режима работы экспертных систем.
Экспертные системы – это интеллектуальные вычислительные системы, ориентированные на сравнительно узкую область знаний, для решения возникающих проблем подобно тому, как это делает эксперт, т.е. в процессе диалога с заинтересованным лицом, которое предоставляет сведения по конкретным вопросам. Знания экспертов зачастую слабо формализованы и противоречивы.
Назначение ЭС – помощь конкретному пользователю в принятии решения, сохранении распространении знаний и рассуждений специалистов в определенной области.
Особенность ЭС –
5. возможность решения задачи при неполных данных;
6. использование эвристических правил специалистов-экспертов для принятия решения, которые позволяют сократить пространство поиска решений, исключая полный перебор вариантов;
7. диалог системы с пользователем с целью выработки требуемого решения;
8. введение оценок эксперта в правила БЗ.
Эвристика – знания, отражающие опыт и практику человека в решении задач. Совершенствование определенных процедур, на основе опыта решения проблем в некоторой области – суть эвристики. В этих процедурах, которые оформляются в виде правил вывода, учитывают информацию о лучших вариантах применения тех или иных стратегий или методов решения задач.
Режимы работы ЭС:
- решение задачи и получение вывода,
- оценка выбора цели и объяснение вывода,
- обучение пользователя,
- обучение системы.
Кроме того, диалоговый режим работы обеспечивает получение информации от пользователя в процессе, порождаемом логическим выводом с одной стороны, и получение информации пользователем о ходе вывода – с другой. Пользователь имеет доступ к формализованным знаниям системы.
Области использование ЭС – задачи технической и медицинской диагностики, обучения, выбора решения при проектировании, планирования и другие.
Составные части ЭС.
Архитектура ЭС ориентирована в любом случае на образцы. Образец – фрагмент знаний, оформленный как отдельное правило, модуль, запускаемый своим образцом. От обычных программ ЭС отличаются механизмом запуска программных модулей. Модули запускаются конфигурациями, возникающими в их информационной среде, связь их с базой знаний значительно сильнее, чем друг с другом.
Достоинство такой архитектуры – не требуется заранее продумывать и определять все связи между модулями.
Основные компоненты экспертной системы:
- база знаний предметной области (БЗ),
- машина логического вывода (МЛВ),
- блок объяснения действий системы,
- интерфейс с пользователем ( диалоговый),
- блок обучения системы.
Структура ЭС приведена на рис.2.1
рис.2.1
Основу ЭС системы составляет база знаний БЗ проблемной области. В БЗ содержатся факты и эмпирические правила (эвристики). В каждом правиле есть посылка и заключение. Если машина логического вывода признает посылку верной, то и заключения будут действительными. Кроме того, в БЗ хранятся модели предметной области, фактографические и процедурные знания, аксиомы. Заполнение баз требует предварительной кропотливой работы, связанной с формализацией структур реальных знаний, которые могут включать и графическую информацию.
Чаще всего для отображения неформальных знаний используют системы продукций, которые служат данными для машин логического вывода.
МАШИНА ЛОГИЧЕСКОГО ВЫВОДА – это программное обеспечение, которое решает задачи путем аргументации. Для этого она использует результат экспертизы по проблеме и выдает заключение. С МЛВ взаимодействует блок формирования объяснения действий системы, чтобы прокомментировать пользователю свой процесс аргументации.
ИНТЕРФЕЙС С ПОЛЬЗОВАТЕЛЕМ описывает отношение между пользователем и системой: пользователь ставит задачу и в дальнейшем взаимодействует с системой в процессе аргументации. Интерфейс должен обеспечивать простой и удобный способ взаимодействия с пользователем. В настоящее время значительные усилия прилагаются к созданию естественно – языковых диалоговых интерфейсов.
МОДУЛЬ ОБУЧЕНИЯ СИСТЕМЫ обеспечивает формализацию знаний эксперта и форматирование экспертиз для их размещения и хранения в БЗ.
Вычислительной средой для создания ЭС целесообразно брать языки представления знаний и так называемые оболочки для ЭС. Среди языков представления знаний широкую поддержку имеет Пролог, являющийся подмножеством языков программирования, основанных на исчислении предикатов. В дальнейшем для иллюстрации примеров выбран этот язык.
Вопросы проектирования ЭС.
В качестве источников знаний могут использоваться:
- книги,
- методики и знания экспертов,
- аналогичные разрабатываемой экспертной системе,
- цели,
- классы решаемых задач.
Извлечение знаний из источников (и экспертов), связано с анализом проблемы (текстов, схем, рисунков), умением вести диалог с экспертом, развернуть дискуссию среди экспертов, умением брать интервью. В результате должно быть создана или воссоздана модель предметной области. Может потребоваться дополнительно анализировать данные с целью получения закономерностей и правил. В свою очередь, получая какие-то знания от экспертов необходимо их обобщать, классифицировать, находить ассоциативные связи.
При разработке ЭС необходимо обратить внимание на:
- ввод данных пользователя и выбор вариантов. Можно разработать правила, которые будут обращаться к пользователю ЭС, используя построчные подсказки, меню, естественный язык.
- использование многочисленных недостоверных фактов. На каждый вопрос можно дать несколько потенциально - правильных ответов и указать уровни достоверности для каждого возможного ответа.
- составление правил. Можно написать правила, используя непосредственные команды, текстовый процессор и составитель набора правил, используя меню, гипертекст.
- редактирование набора правил в режиме ON LINE.
Приступая к разработке ЭС необходимо:
1. Обосновать создание ЭС по заданной проблеме.
2. Выполнить постановка задачи и формализацию ее (узкая область).
3. Собрать и структурировать знания, провести экспертизу, согласовать оценки экспертов, эвристики экспертов.
4. Разработать и проанализировать сценарий диалога пользователя с системой.
5. Далее приступаем к проектированию ЭС:
- Выбрать архитектуру ЭС.
- Спроектировать БЗ, выбрать форматы представления знаний.
- Разработать удобный интерфейс пользователя и блок объяснения действий системы.
- Синтезировать машину логического вывода
- Написать модуль интеграции ЭС в глобальную сеть.
15. Что такое эвристика?
Эвристика – знания, отражающие опыт и практику человека в решении задач. Совершенствование определенных процедур, на основе опыта решения проблем в некоторой области – суть эвристики. В этих процедурах, которые оформляются в виде правил вывода, учитывают информацию о лучших вариантах применения тех или иных стратегий или методов решения задач.
Эвристические правила, которые используются в ЭС, ориентированы на сбор информации, необходимой для получения требуемого решения. Эту информацию система получает от пользователя в процессе диалога с ним. Сценарии диалога хранятся в базе знаний.