2. Основные принципы построения эс
Принцип 1. Мощность ЭС обуславливается в первую очередь мощностью базы знаний и возможностью ее пополнения и только во вторую очередь - механизмом обработки этой базы. Опыт показал, что важнее иметь разнообразные специальные знания, а не мощные процедуры их преобразования #
Принцип 2. Природа знания, позволяющая получить качественные и эффективные решения, в основном эвристическая, экспериментальная, вербально неопределимая. Причиной этому является слабая формализация решаемых задач. Кроме того, знания экспертов носят отпечаток индивидуальности, т.е. свойственны конкретному человеку.
Принцип 3. Пользователь и эксперт должны иметь возможность непосредственного взаимодействия с ЭС в диалоговом режиме.
Назначение ЭС - решение неформальных задач, которые обладают одной или несколькими характеристиками:
х исходные данные не могут быть заданы в числовой форме;
ж цели не могут быть выражены в терминах точно определенной целевой функции; х не существует алгоритмического решения задачи;
л алгоритм есть, но неприемлем из-за различных ограничений (ресурсы ЭВМ...).
Неформальные задачи представляют большой и очень важный класс задач, для которых оправдано использование ЭВМ.
Неформальные задачи обладают следующими особенностями:
А нечеткость, неоднозначность, неполнота, противоречивость исходных данных;
х нечеткость, неоднозначность, неполнота, противоречивость знаний о предметной области;
х большая размерность пространства решения;
х динамически изменяющиеся данные и знания (работа в реальном времени при управлении динамическими процессами).
Разработчики ЭС и круг их обязанностей
В разработке ЭС участвуют следующие специалисты: ж эксперт в предметной области, задачи из которой будет решать создаваемая ЭС; А инженер по знаниям - специалист по разработке ЭС (применяемую им технологию
называют инженерия знаний); х программист - специалист по программированию в выбранном для реализации ЭС инструментальном средстве (универсальный или специальный язык программирования, инструментальное средство или программа-оболочка для создания ЭС).
Эксперт (Э) - это человек, который благодаря обучению и приобретенному опыту может делать в некоторой предметной области то, что остальные делать не умеют.
Эксперты работают уверенно, эффективно, обладают огромными познаниями, пользуются различными приемами для примененя своих знаний к конкретным задачам. Эксперт определяет данные и правила, характеризующие предметную область, обеспечивает полноту и правильность фиксации знаний в ЭС.
Инженер по знаниям (ИЗ) - специалист, основной задачей которого является проектирование баз знаний (БЗ) и наполнение их знаниями из конкретной предметной области.
В процессе этой деятельности ИЗ выбирает форму представления знаний, удобную для предметной области, организует приобретение знаний из различных источников (официальные документы, учебники, монографии, и т.п.), а также в результате общения с экспертами в данной предметной области. Инженер по знаниям, используя специальные технологии, помогает эксперту выявить и структурировать знания, осуществляет выбор того инструментального средства, которое наиболее подходит к данной предметной области, и определяет способ представления знаний в этом инструментальном средстве, выделяет для программирования стандартные функции, которые будут использоваться экспертом в правилах.
Программист (П) реализует все компоненты ЭС в выбранном инструментальном средстве, обеспечивает их взаимодействие и осуществляет сопряжение ЭС с операционной средой.
Замена инженера по знаниям программистом может вообще привести к неудаче в создании ЭС и уж точно существенно удлинит процесс создания ЭС.
На рисунке 8.1 приведена схема взаимодействия между разработчиками ЭС
(первый уровень детализации) Рис. 1 - Схема разработки экспертной системы 2. Архитектура ЭС и ее компоненты Статические экспертные системы
На рисунке 8.2 представлены основные компоненты статической ЭС и их взаимодействие
между собой
БД хранит исходные и промежуточные данные решаемой в текущий момент задачи (не
путать с БД в СУБД);
БЗ хранит долгосрочные данные, описывающие предметную область и правила преобразования этих данных;
Решатель использует данные из БД и БЗ и формирует такую последовательность правил, которые приводят к решению задачи;
Рис.
2 - Основные компоненты статической ЭС
Компонент приобретения знаний автоматизирует процесс наполнения БЗ (основную работу выполняет ИЗ, в ряде случаев - пользователь);
Объяснительный компонент объясняет пользователю, почему решение именно такое или решения вообще нет и какие знания в процессе вывода использовались (облегчает ИЗ и эксперту тестирование системы, повышает доверие пользователя к полученному результату);
Диалоговый компонент обеспечивает дружественное общение с пользователем в ходе решения задачи, приобретения знаний, объяснения результатов.
Динамические экспертные системы
Существует огромный класс задач, в которых необходимо учитывать временную компоненту (время влияет на входные данные) - управление реальными производственными, технологическими процессами, наблюдение, управление техническими устройствами и т.д. ЭС для решения таких задач
имеют более сложную структуру, в которую статическая ЭС входит как элемент. На рис.
На рисунке 3 представлена архитектура динамической ЭС
Система I содержит все компоненты статической ЭС. База знаний и решатель изменены таким образом, чтобы отображать временную логику.
Подсистема моделирования внешнего мира предназначена для выдачи расчетных значений, которые используются для сравнения с реальными значениями, поступающими от датчиков, и в случае выхода датчиков из строя их данные заменяются расчетными. Подсистема сопряжения с внешним миром:
а) преобразует информацию ЭС в управляющие сигналы для объекта управления;
б) преобразует информацию датчиков в данные для ЭС.
Приведенные здесь схемы структур статической и динамической ЭС отражают только основные их компоненты и функции и не отражают, к примеру, возможности интегрирования ЭС с другими системами.
Преимущества разработок ЭС в конкретных предметных областях следующие:
А существенное расширение круга практически значимых задач, которые можно решать с помощью компьютера;
Л решение глобальной проблемы традиционного программирования (высокая стоимость разработки и сопровождения сложных приложений при низком уровне повторного
использования);
х при объединении с традиционным программированием добавляет новые качества программному продукту (возможность модификации пользователем, прозрачность получения решения, доступ к высококачественным знаниям, обучение).